Protocoles IP (2/2) M. Berthet. Les illustrations sont tirées de l ouvrage de Guy Pujolle, Cours réseaux et Télécom Contributions : S Lohier
Plan 1. ARP 2. DHCP 3. ICMP et ping 4. DNS 5.Paquet IPv4
1. Rappel sur l'encapsulation Routeur Pour voyager sur une liaison, le paquet IP doit être placé dans une trame. Cette trame doit contenir l adresse de niveau 2 du destinataire. l émetteur utilise le protocole ARP pour obtenir cette adresse. 3
1. ARP : Adress Resolution Protocole 4
1. Cache ARP Les machines qui utilisent ARP stockent de façon dynamique dans leur cache arp l'association adresse IP et adresse physique des machines cibles. Le stockage des associations d'adresses évite l'encombrement supplémentaire du réseau par des requêtes ARP répétitives. Le stockage est temporaire, une entrée ARP disparaît du cache au bout de qques min, afin d'avoir une configuration toujours à jour. 5
1. Exemple ARP C:\Documents and Settings\berthet>ping 193.51.29.99 Envoi d'une requête 'ping' sur 193.51.29.99 avec 32 octets de données : Réponse de 193.51.29.99 : octets=32 temps=6 ms TTL=64 Réponse de 193.51.29.99 : octets=32 temps=6 ms TTL=64 Réponse de 193.51.29.99 : octets=32 temps=6 ms TTL=64 Réponse de 193.51.29.99 : octets=32 temps=6 ms TTL=64 C:\Documents and Settings\berthet>arp -a Interface : 193.51.29.57 --- 0x2 Adresse Internet Adresse physique Type 193.51.29.6 00-0f-1f-f8-d2-a9 dynamique 193.51.29.99 00-01-e6-e1-9e-31 dynamique 193.51.29.254 00-0e-38-f4-a5-c1 dynamique Résultat de la capture des trames Ethernet : Source Destination Protocol Info 45:87:b5 :a9:23:0c Broadcast ARP Who has 193.51.29.99? Tell 193.51.29.57 00:01:e6:e1:9e:31 45:87:b5 :a9:23:0c ARP 193.51.29.99 is at 00:01:e6:e1:9e:31 6
Plan 1. ARP 2. DHCP 3. ICMP et ping 4. DNS 5.Paquet IPv4
2. Obtenir une adresse IP : Statique : l administrateur configure manuellement chaque hôte du réseau Dans un réseau de grande taille, attribuer une adresse IP à chaque station en respectant l unicité de valeur peut rapidement devenir une tâche très lourde! Dynamique : l attribution est réalisée automatiquement par un serveur DHCP (Dynamique Host Configuration Protocole ) AutoIP : autoconfiguration d adresses IP prises dans la plage 169.254.1.0 à 169.254.254.255 pour constituer une liaison ( wifi ad hoc; lan ) 8
2. DHCP Protocole client serveur. Niveau Application, au dessus de UDP, port 67 et 68. Le serveur DHCP attribue une adresse : Parmi un pool d adresses à sa disposition. A chaque requête l hôte reçoit une adresse, pas forcément la même, en fonction des disponibilités. A chaque Hôte en fonction de son adresse MAC ( Ethernet souvent). Une machine non référencée sur le serveur ne peut obtenir d adresse. 9
2. Dialogue DHCP 4 étapes pour obtenir une adresse Plusieurs serveurs peuvent répondre. Le client fait son choix et confirme au serveur. 10
2. Messages et requêtes DHCP Le serveur annonce au client que l'adresse est déjà utilisée 11
2. Options DHCP Il y en a environ 60 définies dans la RFC, mais le serveur peut en gérer jusqu'à 254. Les noms des options peuvent varier d'une version de serveur à une autre. Options typique : subnet-mask (option 1) indique le masque de sous-réseau pour la configuration IP routers (option 3) indique les routeurs à utiliser. domain-name-servers (option 6) indique les DNS à utiliser. On peut aussi bien donner le nom que l'adresse IP (!) host-name (option 12) indique au client quel nom d'hôte il doit prendre, domain-name (option 15) fournit au client le nom du domaine arpa dans lequel il se trouve, broadcast-address (option 28) indique l'adresse de broadcast en vigueur sur le réseau, dhcp-lease-time (option 51) indique au client la durée de validité du bail. 12
2. Baux DHCP Pour des raisons d'optimisation des ressources réseau, les adresses IP sont délivrées pour une durée limitée. C'est ce qu'on appelle un bail (lease en anglais). Un client qui voit son bail arriver à terme peut demander au serveur un renouvellement du bail. De même, lorsque le serveur verra un bail arrivé à terme, il émettra un paquet pour demander au client s'il veut prolonger son bail. Si le serveur ne reçoit pas de réponse valide, il rend disponible l'adresse IP. 13
2. Exemple sous windows C:\Documents and Settings\berthet>ipconfig /renew Configuration IP de Windows Carte Ethernet Connexion au réseau local: Suffixe DNS propre à la connexion : iut-velizy.uvsq.fr Adresse IP............ : 193.51.29.57 Masque de sous-réseau...... : 255.255.255.0 Passerelle par défaut...... : 193.51.29.254 Capture des trames correspondantes avec «ethereal» : Source Destination Protocol Info 0.0.0.0 255.255.255.255 DHCP DHCP Discover - ID 0xa434d71 193.51.29.1 255.255.255.255 DHCP DHCP Offer- ID 0xa434d71 0.0.0.0 255.255.255.255 DHCP DHCP Request - ID 0xa434d71 193.51.29.1 255.255.255.255 DHCP DHCP ACK - ID 0xa434d71 14
2. Exemple suite C:\Documents and Settings\berthet>ipconfig /all Configuration IP de Windows Nom de l'hôte.......... : smogogo Suffixe DNS principal...... : iut-velizy.uvsq.fr Carte Ethernet Connexion au réseau local: Suffixe DNS propre à la connexion : iut-velizy.uvsq.fr Description : Broadcom 570x Gigabit Integrated Con troller Adresse physique.........: 00-0D-56-A9-23-0C DHCP activé........... : Oui Configuration automatique activée.... : Oui Paramètres obtenus Adresse IP............ : 193.51.29.57 Masque de sous-réseau...... : 255.255.255.0 Passerelle par défaut...... : 193.51.29.254 Serveur DHCP........... : 193.51.29.1 Serveurs DNS.......... : 10.0.0.1 193.51.29.1 212.198.2.51 Serveur WINS principal...... : 193.51.29.6 Bail obtenu........... : jeudi 29 septembre 2005 10:53:19 Bail expirant.......... : jeudi 29 septembre 2005 22:53:19 15
Plan 1. ARP 2. DHCP 3. ICMP et ping 4. DNS 5.Paquet IPv4
3. ICMP (Internet Control Message Protocol) Gère les informations relatives aux erreurs du protocole IP. Ne permet pas de corriger ces erreurs, mais d'informer les différents émetteurs, des Datagrammes en erreurs. Chaque pile IP, que ce soit dans les routeurs ou dans les stations de travail, gèrent ICMP par défaut. Il se situe en couche 3 et donc, il est encapsulé dans IP. 17
3. ICMP Les messages d'erreur ICMP sont transportés sur le réseau sous forme de Datagrammes, comme n'importe quelle donnée. Les messages d'erreurs peuvent eux-mêmes être sujet aux erreurs. En cas d'erreur sur un message ICMP, aucune trame d'erreur n'est délivrée pour éviter un effet "boule de neige". 18
3. Type et Code ICMP Chaque paquet ICMP a un code et un type. Ceux-ci établissent une correspondance exacte sur le "but " du paquet. Exemples : type 0 Réponse Echo code 0 = réponse à une demande d écho type 3 Destination non accessible code 0 = réseau inaccessible code 1 = hôte inaccessible code 2 = protocole non disponible code 3 = port non accessible code 4 = fragmentation nécessaire mais interdite code 5 = échec d'acheminement source type 11 Durée de vie écoulée code 0 = durée de vie écoulée avant arrivée à destination code 1 = temps limite de réassemblage du fragment dépassé. 19
3. Exemple : paquet ICMP Type 3 code 3 : destination inaccessible car le port demandé ne répond pas Le paquet d'erreur retourne alors une copie du paquet émis 20
3. PING (Packet INternet Groper ) L'outil ping permet de diagnostiquer la connectivité réseau grâce à une commande du type ping nom.de.la.machine Ping s'appuie sur le protocole ICMP Il utilise deux types de messages du protocole : Le type 8, code 0 : correspondant à une commande "echo request", émis par la machine source ; Le type 0, code 0 : correspondant à une commande "echo reply", émise par la machine destinatrice du ping 21
3. Exemple de Ping 22
Plan 1. ARP 2. DHCP 3. ICMP et ping 4. DNS 5.Paquet IPv4
4. Allocation des adresses IP (1) L ICANN (Internet Corporation for Assigned Names and Numbers) www.icann.org est chargé de la gestion de l espace d adressage IP au niveau mondial. L ICANN définit les procédures d attribution et de résolution de conflits dans l attribution des adresses mais délègue la gestion pure de ces ressources à des instances régionales puis locales, dans chaque pays, appelées " Internet Registries ". Il y a 5 " Regional Internet Registries " (RIR) : L APNIC www.apnic.net pour la région Asie-Pacifique ; L ARIN www.arin.net pour l Amérique ; Le RIPE NCC (Réseaux IP Européen Network Coordination Center) www.ripe.net pour l Europe L AfriNIC www.afrinic.net pour l Afrique L ACNIC www.acnic.net pour l Amérique Latine. 24
4. Allocation des adresses IP (2) Les adresses IP sont finalement allouées à l utilisateur final qui en fait la demande par un Local Internet Registry (LIR) autorisé en Europe par le RIPE NCC. Un LIR est généralement un FAI ou une grande organisation (multinationale). Le LIR est sous l autorité de l instance régionale de gestion de l adressage. La liste des LIR pour l'europe est disponible sur https://www.ripe.net/membership/indices/fr.html 25
4. Nommage des machines Pour faciliter l'accès aux ressources chaque Hôte sur Internet se voit affecter un nom. Connectés au réseau Internet, des ordinateurs disposent de tables établissant la correspondance entre adresse IP et nom d'hôte. Ce sont des serveurs DNS. Pour joindre un Hôte par son Nom, il faut résoudre son Nom c'est à dire obtenir son adresse IP pour pouvoir lui envoyer des paquets Le protocole DNS permet d'établir ce dialogue. Client www.cisco.com? Serveur DNS 198.133.219.25 table n IP/nom 26
4. Exemples de correspondances : Nom de domaine : iut.univ-mlv.fr Serveur ftp du domaine : ftp.iut.univ-mlv.fr adresse ip 193.51.29.4 Serveur mail du domaine : mail.iut.univ-mlv.fr adresse ip 193.51.29.6 Serveur web : www.iut.univ-mlv.fr adresse ip 193.51.29.5 Serveur webmail : webmail.iut.univ-mlv.fr adresse ip 193.51.29.5 Adresse IP : 193.51.29.5 www.iut.univ-mlv.fr webmail.iut.univ-mlv.fr Une machine peut avoir plusieurs noms Une machine peut aussi avoir plusieurs adresses IP répondant au même nom.
4. Résolution de nom, étape no1 d'un dialogue Soit un nom de domaine : abcd.fr Url de site web : http://www.abcd.fr/doc/index.html Pour obtenir la page web, il faut résoudre le nom : obtenir l'ip de www.abcd.fr Adresse de messagerie électronique : isabelle@abcd.fr pour envoyer un message à Isabelle il faut interroger le serveur DNS du domaine abcd.fr pour connaître l'adresse IP du serveur de mail
4. L espace des noms DNS La responsabilité de la gestion des noms d'hôtes est déléguée à tous les participants au réseau : FAI, institutions, entreprises.. Internet est divisé en plusieurs centaines de domaines de haut niveau Les domaines sont divisés en sous-domaines, eux mêmes divisés en sous-domaines, etc. Un serveur de Nom gère une zone composée d'un ou de plusieurs domaines et sous domaines. 29
4.Extrait de l architecture arborescente Domaines de haut niveau génériques Domaines de haut niveau géographiques 30
4. Fonctionnement Une application (ex. : messagerie) a besoin de connaître une adresse IP : Elle appelle une procédure (un «programme») appelée solveur (ou resolver) et lui passe le nom en paramètre. Le solveur envoie au DNS local (celui de sa zone configuré dans l'os ) une requête DNS. Le serveur de DNS cherche le nom dans sa table locale et renvoie l adresse IP au solveur, qui la transmet à son tour à l application. Si la table du serveur local ne contient pas le nom recherché celui ci peut alors transmettre la requête au serveur de la zone racine, qui peut à son tour être amené à passer la requête au serveur de la zone suivante. 31
4. Résolution DNS distante Itérative Si le nom ne peut être résolu localement (zone distante ou nom absent du cache), le serveur primaire transmet à un serveur distant ayant autorité sur le domaine racine concerné (.fr,.com,.net ). En mode itératif, un serveur qui ne peut répondre à une requête transmet au serveur d où provient la requête, l adresse d un autre serveur qui lui semble plus approprié. Le serveur de nom local peut ainsi interroger un certain nombre de DNS avant d avoir la réponse. 32
4. Requêtes récursives Le serveur DNS local (A) envoie une demande au serveur DNS (B) qui la prend en charge, et interroge C, qui à son tour prend la requête en charge etc. La réponse reviendra à A Une requête complète peut être un combinaison de requêtes récursives et itératives. 33
4. Les Caches DNS Toutes les applications (ftp, smtp, http) utilisent le DNS pour la résolution de noms Le temps de réponse de l application est augmenté du temps de résolution (interrogations successives des serveurs) Quand un serveur connaît une résolution (après avoir interrogé les autres serveurs), il la stocke dans un cache (mémoire locale) Une entrée du cache est supprimée après un certain temps Lors d une demande de résolution, le serveur DNS commence par regarder son cache Sous Windows : ipconfig /displaydns : montre le cache dns ipconfig /flushdns : vide le cache Sous Linux : dnsmasq ou dns-clean 34
4. DNS en pratique Programme nslookup sous windows permet de dialoguer directement avec un serveur DNS, idem avec la commande Host sous linux. C:\Documents and Settings\berthet>nslookup Serveur par dúfaut : pluton.src.iut-velizy.uvsq.fr Address: 10.0.0.1 > venus Serveur : pluton.src.iut-velizy.uvsq.fr Address: 10.0.0.1 Nom : venus.src.iut-velizy.uvsq.fr Address: 10.0.0.123 35
Plan 1. ARP 2. DHCP 3. ICMP et ping 4. DNS 5.Paquet IPv4
5. Fonctions d IP Transmission de données en mode sans connexion. Chaque datagramme est traité indépendamment des autres Adressage et routage des paquets entre stations par l intermédiaire de routeurs, sans garanties de résultats ( Best effort ) Fragmentation des données. Réassemblage par la machine réceptrice. 37
5. Pourquoi fragmenter un paquet IP? La figure montre une interconnexion de deux réseaux IP, A et B, au niveau paquet. Les paquets IP sont encapsulés dans la trame du réseau A puis dans la trame du réseau B. 38
5. Fragmentation des datagrammes 39
5. Paquet IPV4 L en tête contient les informations permettant au paquet de retrouver sa place dans le message, des éléments de contrôle, les adresses émetteur et récepteur et des informations optionnelles. Soit 20 octets au minimum 40
5. En tête paquet IPv4 Version (4bits) Indique le numéro de version du protocole IP Longueur de l en-tête (Internet Header Lengh) (4 bits) Indique la longueur de l en-tête par multiple de 32 bits Longueur totale (16 bits) Longueur en octets du paquet comportant les données de l entête. Taille maximale d un datagramme est donc de 65 535 octets. 41
5. En tête paquet IPv4 Le type de service (Type Of Service) (8 bits mais 4 effectifs ) Minimisation du delai. Maximalisation du débit. Maximalise la fiablité Minimise le coût monétaire. Ex : telnet 1 0 0 0 Ftp data 0 1 0 0 42
5. En tête paquet IPv4 Identifiant (16 bits) Numéro qui permet d identifier de manière unique les fragments d un même paquet Drapeau (3bits) Le premier bit (M pour More) indique que le fragment est le dernier (M=0) ou non (M=1) d un paquet. Le second bit (D Don't ) D=1 désactive le mécanisme de fragmentation. Le troisième bit n est pas utilisé. Déplacement de fragment (13 bits) Indique le numéro de fragment d un paquet fragmenté. 43
5. En tête paquet IPv4 Le temps de vie (Time To Live) (8 bits) Initialisé à une certaine valeur, il est décrémenté de 1 à chaque passage du paquet dans un routeur. Le routeur qui annule cette valeur détruit aussi le datagramme Numéro de protocole (8 bits) Indique le type de service de la couche supérieure (6:TCP, 17:UDP, 1:ICMP...) Zone de contrôle d erreur (16 bits) Destinée à protéger l'en-tête. Si une erreur est détectée, le datagramme est abandonné. La détection d erreurs sur les données est laissée à la couche supérieure. 44
Conclusion Nous avons vu comment sont définis les adresses IPv4 et qui les attribuent Le rôle de la partie réseau et de la partie machine dans le routage des paquets L intérêt du découpage en sous réseau ou de l agrégation CIDR pour la planification de réseaux IP. Nous avons vu le mécanisme de segmentation des datagrammes pour pouvoir emprunter une liaison, et le rôle d ARP pour encapsuler le paquet dans une trame (couche3 vers couche2) Le rôle des champs de l en tête d IP pour permettre au datagramme d atteindre sa destination. Nous avons vu le rôle du DNS et de la passerelle Nous savons comment configurer un hôte avec les 4 adresses IP : adresse de l hôte, masque, adresse de DNS et de passerelle 45