R6.2 – Couche Réseau : protocoles IP, ICMP et ARP
Ce protocole est spécifié principalement dans la RFC 791 et complété (ou mis à jour) dans de nombreuses autres RFCs (« Request For Comments » : documents définissant les standards Internet).
Il assure un service de transfert de datagrammes reçus de la couche « Transport » (N4) :
➢sans garantie d'acheminement (ni en séquence ni en contenu)
➢sans contrôle de flux.
![]() |
Pour s’adapter à la taille maximale des blocs de données transportables par la couche Liaison ( M.T.U ), les datagrammes peuvent être fragmentés en plusieurs morceaux :
➢Le séquencement des fragments est assuré de bout en bout.
➢Le MTU doit être supérieur à la taille totale du paquet IP (en-tête + données).
![]() |
MTU réseau #2 < MTU réseau #1 |
L'interconnexion de 2 (ou plus) réseaux (ou sous-réseaux) physiques est assurée par un équipement appelé routeur.
Si ces réseaux ne possèdent pas le même MTU, le routeur doit fragmenter et défragmenter les datagrammes en fonction des besoins.
La perte d'un fragment entraîne la perte du datagramme complet. Un fragment est considéré comme perdu s'il n'est pas transmis à la suite du précédent au bout d'une temporisation pré-définie.
![]() |
La figure 1 page 7 fournit le format d'un paquet IP. Il est composé des champs suivants :
➢Version (4 bits) : valeurs possibles : 4 (IPv4) et 6 (Ipv6)
➢Longueur en-tête (4 bits) : en nombre de long mots (5 par défaut, plus si champ « options »présent).
➢Type de service (QoS) (8 bits) : indique le type d'acheminement attendu.
➢Longueur totale du paquet (16 bits) : en-tête + données en nombre d'octets.
➢Durée de vie (TTL) (8 bits) : nombre de sauts (passage par un routeur) autorisés. Généralement initialisé à 32 ou 64.
➢Protocole (8 bits) : indique le numéro de protocole de la couche Transport (N4) qui traite le champ « données ».
➢Checksum (16 bits) : somme de contrôle calculée uniquement sur l'en-tête du paquet.
➢Adresses émetteur et récepteur (32 bits) : adresses IP de l'émetteur et du destinataire du paquet.
➢Options (...) : informations protocolaires optionnelles rajoutées au paquet.
➢Bourrage (...) : octets non significatifs rajoutés au champ « options » de manière à ce que l'ensemble « options + bourrage » comporte un nombre entier de longs mots.
Le contrôle de la fragmentation est réalisé par les champs : identification, drapeaux et place du fragment.
➢Identification (16 bits) : numéro choisi par l'émetteur du paquet. Tous les fragments d'un même paquet sont identifiés par des champs « identification » de valeurs identiques.
1.Le 1er bit vaut toujours 0.
2.Le bit « DF » à 1 indique que le datagramme transporté par le paquet ne DOIT PAS être fragmenté par les routeurs intermédiaires.
3.Le bit « MF » est à 1 dans tous les fragments sauf le dernier.
➢Place du fragment (13 bits) : Indique par multiple de 8 octets la position du fragment courant dans le datagramme d'origine. Tous les fragments transportent donc un nombre d'octets multiple de 8 ; le dernier fragment peut cependant en transporter moins.
Exemple : voir figure 4 page 8
Ce protocole est spécifié principalement dans la RFC 792. Il est identifié par le champ « protocole » valant 1 dans l'en-tête IP.
➢Un paquet ICMP est transporté dans le champ données d'un paquet IP. Le format d'un paquet ICMP est donné figure 2 page 7.
➢La fonction de ce protocole est de permettre de retourner à l''émetteur d'un paquet différentes informations concernant l'acheminement de ce paquet. L'émetteur d'un paquet ICMP peut être le destinataire d'un paquet OU un routeur intermédiaire.
Les champs d'un paquet ICMP sont les suivants :
➢Type : type du paquet ICMP (voir tableau)
➢Code : informations complémentaires dépendant de la valeur du champ type.
➢Checksum : somme de contrôle effectuée sur tous les mots du paquet.
Quelques valeurs de « type » | Signification du paquet | Remarques |
8 | Envoi d'un message « echo » | Utilisé par l'utilitaire « ping » |
0 | Réponse à un message « echo » | Idem |
3 | Destination non atteignable | |
4 | Demande de ralentissement de l'envoi des paquets | |
11 | Indication d'élimination d'un paquet |
L'identificateur et le numéro de séquence sont utilisés pour permettre une double identification de l'émetteur dans le cas ou la requête doit passer au travers d'un routeur de type « NAPT ».
Note : le « NAPT » est un mécanisme permettant à un routeur ne disposant que d'une adresse publique de donner accès à Internet à toutes les machines de son réseau « privé ». Ce mécanisme est détaillé dans le polycopié « Interconnexion des réseaux locaux ».
Ce protocole est spécifié dans la RFC 826. Il s'agit d'un « vrai » protocole de niveau 3 à la différence de ICMP.
La fonction de ce protocole est de permettre d'obtenir dynamiquement l'adresse de Niveau 2 (N2) d'une station lorsqu'on connaît son adresse de Niveau 3 (N3).
Note : pour un réseau Ethernet/TCP/IP il permet d’obtenir une adresse Ethernet à partir d’une adresse IP.
1.A connaît l'adresse IP de B (R2) et sa propre adresse MAC (L1).
2.Pour envoyer un paquet IP à B, A doit fournir ce paquet à sa couche Liaison.
3.La couche Liaison de A ne possède pas l'adresse MAC de B : elle ne peut donc pas transmettre le paquet !
![]() |
ð A doit donc obtenir l'adresse MAC de B pour pouvoir lui envoyer des données.
Le protocole ARP utilise le mécanisme de diffusion de niveau 2 pour permettre à B de retourner son adresse de N2 à A. L'opération s'effectue en deux étapes :
A envoie en diffusion de niveau 2 un paquet de requête ARP à toutes les machines du réseau local. Ce paquet demande à qui appartient l'adresse IP de B, il contient également l'adresse MAC de A pour que B lui réponde s'il existe.
![]() |
B reçoit la trame de A et construit un paquet de réponse ARP dans lequel il dépose son adresse MAC. Comme il connaît l'adresse MAC de A, il lui renvoie directement le paquet de réponse.
![]() |
Le format d'un paquet ARP est donné figure 3 page 8. Il est composé des champs suivants :
➢Espace d'adresse physique (16 bits) : désignation du type d'adresse de N2 utilisé (1 pour Ethernet).
➢Espace d'adresse logique (16 bits) : désignation du type d'adresse de N3 utilisé (0x800 pour IP).
➢Longueur adresse physique (8 bits) : vaut 6 pour Ethernet.
➢Longueur adresse logique (8 bits) : vaut 4 pour Ipv4.
➢Code (16 bits) :
•vaut 1 pour un paquet de requête
•vaut 2 pour un paquet de réponse
➢Adresse logique émetteur (32 bits) : champ positionné par l'émetteur d'un paquet de requête ou de réponse avec sa propre adresse IP.
➢Adresse logique récepteur (32 bits) : champ positionné par l'émetteur d'un paquet de requête ou de réponse avec l'adresse IP du destinataire.
➢Adresse physique émetteur (48 bits) : champ positionné par l'émetteur d'un paquet de requête (ou de réponse) avec sa propre adresse MAC.
●Adresse physique récepteur (48 bits) : champ positionné avec :
•0:0:0:0:0:0 par l'émetteur dans le paquet de requête
•l'adresse MAC de l'émetteur du paquet de requête par le récepteur dans le paquet de réponse.
Une version approchante de ce Quizz est également disponible sur le site « www.evalbox.com ».
Après avoir bien relu votre cours répondez de mémoire aux questions suivantes :
1.Le protocole IP assure-t-il le séquencement des datagrammes ?
2.Quelle est la taille en nombre de longs mots d'un en-tête IP ne comprenant pas d'options ?
3.Pourquoi le protocole IP doit-il fragmenter les datagrammes reçus de la couche Transport ?
4.Quel champ (et quel bit dans ce champ) de l'en-tête IP indique si le fragment transporté par le paquet est le dernier ?
5.Le nombre d'octets transportés dans un fragment est-il un multiple de 4 de 6 ou de 8 ?
6.A quoi sert le protocole ARP ?
7.Le mode d'adressage de diffusion utilisé par ARP est-il utilisé au niveau Liaison ou au niveau Réseau ? Précisez les différents cas.
![]() |
![]() |
![]() |
![]() |
Figure 4 : Fragmentation opérée entre 2 réseaux par un routeur en IP v4 |