Vous êtes sur la page 1sur 5

Leçon 

: Protocoles ARP et ICMP


1. Introduction
1.1. ARP, ICMP

IPv4 est aidé par deux protocoles pour la résolution d’adresses et le contrôle : ARP et ICMP.

Couche Internet du modèle TCP/IP

1.2. Protocoles de résolution d’adresses

 Afin d’encapsuler un paquet IP dans une trame, l’hôte d’origine a besoin de connaître l’adresse
physique (MAC) de la destination.
 En IPv4, c’est le protocole ARP (Address Resolution Protocol) qui remplit cette fonction. Les hôtes
IPv4 maintiennent une table de correspondance entre les adresses IPv4 à joindre et leur adresse
physique (MAC). Cette table est appelée “cache ARP”.

Commandes utiles

Table ARP sous Windows et Linux

 arp -a

2. Résolution d’adresse ARP


La résolution d’adresse est utile dans les réseaux IPv4 pour obtenir l’adresse physique à laquelle une adresse
IP correspond.

On peut obtenir le cache ARP sur un système avec la commande :

arp -a

Ce processus permet à l’hôte émetteur de trouver l’adresse de livraison physique du trafic.


Il permet à l’hôte d’encapsuler le trafic au niveau de la couche Accès Réseau (Liaison de données) en
ajoutant l’adresse MAC du destinataire dans l’en-tête de la trame.

2.1. Address Resolution Protocol

ARP est le protocole de résolution d’adresse utilisé par IPv4.

 Il est directement encapsulé par la couche 2.


 Il est donc indépendant d’IP.

2.2. Résolution d’adresses en IPv4

Au moment de l’encapsulation d’un paquet IPv4 dans une trame Ethernet, l’hôte émetteur connaît d’avance
l’adresse IP de destination. Mais comment peut-il connaître son adresse physique correspondante (l’adresse
MAC de destination par exemple) afin de placer le trafic sur le support ?

Dans le but de maintenir une correspondance entre des adresses IP à joindre et leur adresse physique de
destination, les hôtes TCP/IP entretiennent une “table ARP” .

ARP est un protocole indépendant d’IPv4 qui offre ce service de résolution d’adresses.

La requête ARP émane en Broadcast et la réponse est envoyée en unicast. .

Résolution d'adresse par ARP

On trouvera une capture de trafic de ce processus de résolution d’adresse par ARP :

Ce trafic émane en Broadcast et se termine en Unicast.

Notez que :
 en l’absence d’une réponse à une requête, la machine source va réémettre plusieurs fois sa requête ;
 la réponse va être stockée de façon temporaire dans une mémoire locale à la machine source, que
l’on appelle un cache. Ainsi, si un nouveau paquet doit être transmis vers la même machine, la
correspondance entre adresse MAC et adresse IP sera déjà connue.

 Il est important de noter que la portée d’un protocole ARP est le lien local ; autrement dit, uniquement le
réseau local où se situe la machine source.

Quand la machine destination est sur le même réseau local, c’est elle qui répond à la requête ARP. Quand la
machine destination n’est pas sur le même réseau local, c’est le routeur qui peut acheminer le paquet qui va
répondre. Cette information est connue grâce à la table de routage que nous verrons plus tard.
3. ICMP

En IPv4, ICMP “aide” IP par des messages de contrôle et d’erreur.

Communément, il y a deux classes de messages ICMP :

 Les messages d’erreur dont le type est de 0 à 127.


 Les messages d’information dont le type est de 128 à 255.

Les différents types ICMP sont précisés par des codes.

3.1. Liste de messages ICMP

Voici une liste non exhaustive des types de messages ICMP :

Type Message
Type 0 réponse d’écho
Type 1 et 2 réservés
Type 3 destinataire inaccessible
Type 4 extinction de la source
Type 5 redirection
Type 8 écho
Type 11 temps dépassé
Type 12 en-tête erroné
Type 13 demande heure
Type 14 réponse heure
Type 15 demande adresse IP
Type 16 réponse adresse IP
Type 17 demande masque sous-réseau
Type 18 réponse masque sous-réseau

Parmi tous les cas d’utilisation d’ICMP, nous allons nous attarder sur trois cas particuliers :

 premier cas type 3: le destinataire est inaccessible.

la source ne vérifie pas la disponibilité de la destination lors de l’envoi de paquets, il arrive que le
destinataire ne puisse pas recevoir de paquet parce que la machine n’est pas accessible, ou bien que
le port destination n’est pas disponible... Au total, il existe 16 raisons possibles. Le dernier routeur
informe alors la machine source avec un paquet ICMP indiquant les causes de l’erreur.

 deuxième cas type 11: TIME OUT

 Dans l’en-tête IP le champ TTL, pour Time To Live. Ce champ permet de limiter la durée de vie
d’un paquet dans le réseau (est généralement fixé à 255 ) car ce champ est décrémenté de 1 à
chaque fois qu’il est traité par un routeur. Lorsque le champ atteint la valeur zéro, le paquet est
détruit. Le routeur détruisant le paquet, crée alors un paquet IP dont l’adresse source est sa propre
adresse, et l’adresse destination, l’adresse IP de la machine ayant envoyé le paquet détruit. Puis le
routeur encapsule un paquet ICMP de type 11, qui indique que le paquet a été détruit car sa
durée de vie a été atteinte. Dans le champ Données du paquet ICMP, le routeur recopie l’en-tête du
paquet détruit.
 troisième cas type 0 et 8 : la commande Ping. Enfin, le dernier cas d’utilisation d’ICMP que nous
allons regarder permet de réaliser le test d’accessibilité. Ping est une commande présente sur la
plupart des systèmes. Ping prend en paramètre une adresse IP destination et vérifie la disponibilité de
la machine correspondante. Pour cela, la commande Ping envoie un message ICMP de type 8
(echo request). La machine recevant la requête répond avec un message ICMP echo reply (type 0).
Outre la disponibilité de la machine distante, Ping permet de mesurer le temps aller-retour.

3.5. Conclusions

 Quand du trafic TCP/IP doit être envoyé, l’hôte encapsule le trafic à destination de l’adresse MAC
apprise par ARP.
 ICMP complète IPv4 en termes de contrôle et de messages d’erreurs.

Vous aimerez peut-être aussi