Protocole ARP
ARP (Address Resolution Protocol) est un protocole utilisé pour connaître l’adresse matérielle (MAC) d’un périphérique à partir d’une adresse IP. Il est utilisé lorsqu’un périphérique souhaite communiquer avec un autre périphérique sur un réseau local (par exemple, sur un réseau Ethernet qui requiert la connaissance des adresses physiques avant l’envoi de paquets).
Le périphérique émetteur utilise ARP pour traduire les adresses IP en adresse MAC. Le périphérique envoie le message « ARP request » contenant l’adresse IP du périphérique destinataire. Le message est affiché sur tous les périphériques d’un segment de réseau local, mais seul le périphérique portant cette adresse IP répond avec le message « ARP reply » contenant son adresse MAC. Le périphérique émetteur a maintenant suffisamment d’informations pour envoyer le paquet au périphérique récepteur.
Les paquets « ARP request » sont envoyés à une adresse de diffusion (FF:FF:FF:FF:FF:FF pour l’adresse MAC de diffusion et 255.255.255.255 pour l’adresse IP de diffusion).
Voici l’explication du processus ARP:
Supposons que l’hôte A souhaite communiquer avec l’hôte B. L’hôte A connaît l’adresse IP de l’hôte B, mais ne connaît pas l’adresse MAC de celui-ci. Afin de connaître l’adresse MAC de l’hôte B, l’hôte A envoie « ARP request », affichant l’adresse IP de l’hôte B comme adresse IP de destination et l’adresse MAC de FF:FF:FF:FF:FF:FF. Le Switch transmettra la trame à toutes les interfaces (sauf l’interface entrante). Chaque appareil du segment recevra le paquet, mais comme l’adresse IP de destination est l’adresse IP de l’hôte B, seul l’hôte B répond avec le paquet « ARP Reply », en indiquant son adresse MAC. L’hôte A a maintenant assez d’informations pour envoyer le trafic à l’hôte B.
Pour réduire le nombre de requêtes de résolution d’adresses, un client met normalement en cache les adresses résolues pendant une période (courte). Le cache arp a une taille finie. Il est donc périodiquement vidé de toutes les entrées. Cela supprime les entrées inutilisées et libère de l’espace dans le cache. Il supprime également toutes les tentatives infructueuses de contacter des ordinateurs qui ne sont pas en cours d’exécution.
Si un hôte modifie l’adresse MAC qu’il utilise, celle-ci peut être détectée par d’autres hôtes lorsque l’entrée en cache est supprimée et qu’un nouveau message ARP est envoyé pour établir une nouvelle connexion.
Vous pouvez afficher les entrées ARP sous Windows à l’aide de la commande > arp -a
:
Sous Linux :
Le format d’un message ARP
Format d’un message arp utilisé pour résoudre l’adresse matérielle MAC (HA) distante
Vous trouverez ci-dessous les champs du format de message ARP.
- Hardware Type: Ce champ spécifie le type de matériel utilisé pour le réseau local transmettant le message ARP. Ethernet est le type de matériel commun et sa valeur pour Ethernet est 1. La taille de ce champ est de 2 octets.
- Protocol Type: Chaque protocole se voit attribuer un numéro utilisé dans ce champ. IPv4 est 2048 (0x0800 en hexa).
- Hardware Address Length: La longueur en octets de l’adresse matérielle (MAC). Les adresses MAC Ethernet ont une longueur de 6 octets.
- Protocol Address Length: longueur en octets d’une adresse logique (adresse IPv4). Les adresses IPv4 ont une longueur de 4 octets.
- Operation: Le champ Operation dans le message ARP spécifie la nature du message ARP. 1 pour « ARP request » et 2 pour « ARP reply ».
- Sender Hardware Address: Adresses MAC du périphérique envoyant le message.
- Sender Protocol Address: Adresse IPv4 du périphérique envoyant le message.
- Target Hardware Address: Adresses MAC du récepteur prévu. Ce champ est ignoré dans les requêtes arp.
- Target Protocol Address: Adresse IPv4 du destinataire.