Aller au contenu principal

ARP, la résolution des adresses IPv4 en adresses MAC

CCNA — IP Connectivity

ARP, la résolution des adresses IPv4 en adresses MAC

Définition

ARP (Address Resolution Protocol, RFC 826) sert à trouver l'adresse MAC (couche 2) associée à une adresse IPv4 (couche 3) sur le même segment local. Le protocole fonctionne par requête broadcast « Qui a 10.1.1.1 ? » et réponse unicast « 10.1.1.1 est en 001c.b3a1.2d44 ». ARP est indispensable au routage IPv4 sur Ethernet, car un frame ne peut être livré qu'avec une destination MAC.

Le mécanisme pas à pas

Quand un hôte veut envoyer un paquet vers une IP, il consulte d'abord sa table de routage pour identifier l'interface de sortie et le next-hop. Si la destination est sur le même sous-réseau, le next-hop est la destination elle-même. Sinon le paquet part vers la passerelle par défaut. Dans les deux cas, la résolution ARP porte toujours sur l'adresse IPv4 du next-hop, pas sur la destination finale.

  1. L'hôte vérifie sa table ARP locale.
  2. En cas d'échec, il envoie une requête ARP broadcast (destination MAC ff:ff:ff:ff:ff:ff, opcode 1).
  3. Tous les hôtes du domaine de broadcast reçoivent la requête, seul le propriétaire de l'IP répond.
  4. La réponse est unicast (opcode 2) et l'entrée est ajoutée à la table ARP.
  5. L'hôte encapsule alors son paquet IP dans un frame Ethernet à destination de la MAC résolue.

La table ARP

Sur un routeur ou un switch Cisco IOS :

R1# show arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  10.1.1.1                1   001c.b3a1.2d44  ARPA   GigabitEthernet0/0
Internet  10.1.1.2              138   aabb.cc00.0100  ARPA   GigabitEthernet0/0

Points à connaître pour l'examen 200-301 :

Élément Valeur Cisco IOS
Durée de vie par défaut d'une entrée 4 heures (240 min)
Rafraîchissement Une entrée utilisée est maintenue, le compteur se remet à zéro tant que le trafic passe
Suppression manuelle clear arp-cache ou clear arp interface GigabitEthernet0/0

Une entrée peut être dynamique (apprise par trafic), statique (arp 10.1.1.5 aabb.cc00.0200 arpa) ou complète (-i pour une interface).

ARP ne traverse pas les routeurs

ARP ne franchit jamais un routeur : la requête est broadcast layer 2 et les routeurs isolent les domaines de broadcast. Pour joindre une IP hors sous-réseau, le PC résout la MAC de sa passerelle, pas celle du serveur distant. Chaque tronçon refait sa propre résolution ARP. C'est ce qui permet le changement d'en-tête Ethernet hop par hop alors que les adresses IP source/destination restent constantes.

Deux variantes utiles :

  • Gratuitous ARP : l'hôte s'annonce lui-même (requête pour sa propre IP). Utilisé par HSRP/VRRP pour mettre à jour les tables ARP des switchs lors d'un basculement, et par certains protocoles de détection de doublon.
  • Proxy ARP : un routeur répond aux requêtes ARP d'une IP qui n'est pas la sienne. Historiquement utilisé pour masquer un sous-réseau, aujourd'hui déconseillé car il crée des tables ARP énormes sur les hôtes. Désactivable avec no ip proxy-arp sur l'interface.

ARP et IPv6 : NDP

IPv6 n'utilise pas ARP. La résolution passe par le Neighbor Discovery Protocol (RFC 4861), basé sur ICMPv6 : Neighbor Solicitation (type 135) et Neighbor Advertisement (type 136). Les messages NS sont envoyés vers une adresse multicast solicited-node, pas en broadcast, ce qui réduit la charge sur les hôtes.

Exemple concret

Un PC (10.1.1.10, masque /24, passerelle 10.1.1.1) veut ping 8.8.8.8. La table de routage du PC lui dit que 8.8.8.8 sort par la passerelle. Le PC émet Qui a 10.1.1.1 ? Dites-le à 10.1.1.10. Le routeur répond avec la MAC de son interface G0/0. Le frame part vers cette MAC, l'IP destination reste 8.8.8.8. Le routeur, côté liaison vers l'ISP, refait un ARP vers le next-hop suivant. Sur le PC, arp -a montre l'entrée du routeur ; sur le routeur, show arp montre les deux entrées.

Pièges et sécurité

  • ARP spoofing / cache poisoning : un attaquant envoie de fausses réponses ARP gratuitées pour se placer en man-in-the-middle. Contre-mesures : arp inspection sur switch, entrées ARP statiques, port security.
  • IP en doublon : deux machines avec la même IP se renvoient des réponses ARP différentes ; la MAC apprise par le switch change en permanence.
  • Sous-réseau mal masqué : un /25 configuré en /24 fait croire à l'hôte que des hôtes sont locaux ; l'ARP échoue et le trafic ne sort jamais.