ARP et résolution d'adresses
Définition
Le protocole ARP (Address Resolution Protocol) permet de résoudre une adresse IP (couche 3) en une adresse MAC (couche 2) sur un réseau local. Quand un hôte veut communiquer avec un autre sur le même sous-réseau, il doit connaître l'adresse MAC de destination pour construire la trame Ethernet.
Contexte
ARP est un protocole fondamental du fonctionnement d'Ethernet/IP. La certification CCST couvre le processus ARP, la table ARP et les implications de sécurité (ARP spoofing). Comprendre ARP est essentiel pour diagnostiquer les problèmes de connectivité de couche 2/3.
Détails techniques
Processus ARP en 4 étapes
- L'hôte A veut envoyer un paquet à l'hôte B (même sous-réseau)
- L'hôte A consulte sa table ARP locale (cache)
- Si l'adresse MAC de B est absente, A envoie un ARP Request en broadcast (FF:FF:FF:FF:FF:FF) : « Qui a l'IP x.x.x.x ? »
- L'hôte B répond avec un ARP Reply en unicast : « C'est moi, voici ma MAC »
- L'hôte A ajoute l'entrée dans son cache ARP et envoie la trame
Format du message ARP
| Champ | ARP Request | ARP Reply |
|---|---|---|
| MAC source | MAC de A | MAC de B |
| MAC destination | FF:FF:FF:FF:FF:FF (broadcast) | MAC de A (unicast) |
| IP source | IP de A | IP de B |
| IP cible | IP de B | IP de A |
| Opcode | 1 (Request) | 2 (Reply) |
Commandes de vérification
| OS / Plateforme | Commande | Description |
|---|---|---|
| Windows | arp -a |
Affiche la table ARP |
| Linux/macOS | arp -n ou ip neigh |
Affiche la table ARP |
| Cisco IOS | show ip arp |
Table ARP du routeur/switch |
| Cisco IOS | clear ip arp |
Vide le cache ARP |
Proxy ARP
Un routeur peut répondre aux requêtes ARP au nom d'un hôte distant (sur un autre sous-réseau). Ce comportement, appelé Proxy ARP, est activé par défaut sur les interfaces Cisco :
Router(config-if)# ip proxy-arp ! Activé par défaut
Router(config-if)# no ip proxy-arp ! Désactivation recommandée
ARP gratuit (Gratuitous ARP)
Un hôte peut envoyer un ARP Request pour sa propre adresse IP. Cela sert à :
- Détecter un conflit d'adresse IP
- Mettre à jour les caches ARP des voisins (après changement de MAC)
- Basculement HSRP/VRRP
Exemple concret
Le PC 192.168.1.10 veut joindre le serveur 192.168.1.50. Son cache ARP est vide. Il envoie un ARP Request broadcast sur le VLAN. Le serveur répond avec sa MAC 00:1A:2B:3C:4D:5E. Le PC stocke cette entrée (TTL ~300 s) et encapsule le paquet IP dans une trame Ethernet vers cette MAC.