Comment fonctionne l'ARP gratuit?

36

L'ARP gratuit fonctionne-t-il comme une demande ARP normale?

Pourquoi l'ARP gratuit est-il utilisé pour HSRP?

troyen
la source
3
Avez-vous lu quelque part sur ce sujet? Si vous ne l'avez pas fait, vous devriez. Si vous l'avez fait et que quelque chose n'est pas clair, veuillez être plus précis dans votre question.
Gerben
@ Gerben, je comprends bien le fonctionnement d'ARP, mais ce concept est pour moi une source de confusion, en particulier dans HSRP. Comment cet ARP fonctionne-t-il?
Cheval de Troie
L'un dit Grauitous ARP est une requête alors que l'autre montre un schéma Wireshark disant qu'il s'agit d'une réponse. Est-ce une sorte de comportement aléatoire? Dans mon ordinateur, un paquet ARS gratuit reniflé a également été noté en tant que demande (Opcode: 1).
VITOR FERNANDES DE BARROS Le

Réponses:

42

ARP gratuit est une sorte de "notification préalable", il met à jour le cache ARP des autres systèmes avant qu'ils ne le demandent (pas de demande ARP) ou pour mettre à jour des informations obsolètes.

Lorsqu'on parle d'ARP gratuit, les paquets sont en réalité des paquets de demandes ARP spéciaux, et non des paquets de réponse ARP comme on pourrait s'y attendre. Certaines raisons à cela sont expliquées dans la RFC 5227 .

Le paquet ARP gratuit présente les caractéristiques suivantes:

  • Les adresses IP source et de destination du paquet sont l’adresse IP de l’hôte émettant le message ARP gratuit.
  • L'adresse MAC de destination est l'adresse MAC de diffusion ( ff:ff:ff:ff:ff:ff)
    • Cela signifie que le paquet sera envoyé à tous les ports d'un commutateur
  • Aucune réponse n'est attendue

ARP gratuit est utilisé pour certaines raisons:

  • Mettre à jour les tables ARP après une adresse MAC pour une adresse IP modifiée (basculement, nouvelle carte réseau, etc.)
  • Mettre à jour les tables d'adresses MAC sur les périphériques L2 (commutateurs) indiquant qu'une adresse MAC se trouve maintenant sur un autre port
  • Envoyez un ARP gratuit lorsque l'interface est activée pour informer les autres hôtes des nouvelles liaisons MAC / IP à l'avance afin qu'ils n'aient pas à utiliser les requêtes ARP pour le savoir.
  • Lorsqu'une réponse à une demande ARP gratuite est reçue, vous savez que vous avez un conflit d'adresses IP sur votre réseau.

En ce qui concerne la deuxième partie de votre question, HSRP , VRRP, etc. utilisent gratuitement ARP pour mettre à jour les tableaux d'adresses MAC sur les périphériques L2 (commutateurs). Il existe également la possibilité d'utiliser l'adresse MAC gravée pour HSRP au lieu de l'adresse "virtuelle". Dans ce cas, l'ARP gratuit mettrait également à jour les tables ARP sur les périphériques / hôtes de niveau 3.

Sebastian Wiesinger
la source
Comment afficher les paquets ARP gratuits?
Trojan
Utilisez un renifleur de réseau comme Wireshark
Sebastian Wiesinger
existe-t-il des captures de Weashark pour une ARP gratuite?
Trojan
1
Vous pouvez voir un exemple de paquet sur la page d'accueil de Wireshark
Sebastian Wiesinger,
1
Parce que vous recevez une réponse pour une demande ARP contenant votre propre adresse IP. Donc, quelqu'un d'autre a cette adresse IP et répond en conséquence.
Sebastian Wiesinger
14

Un ARP gratuit est une réponse ARP qui n'a pas été invitée par une demande ARP. L'ARP gratuitous est envoyé en tant que trame de diffusion, permettant à un nœud d'annoncer ou de mettre à jour son mappage IP à MAC sur l'ensemble du réseau.

Un paquet ARP contient un champ " Opcode " qui indique si le paquet est une demande ou une réponse. Dans l' ARP gratuitous , le champ Opcode est défini sur 2, ce qui indique une réponse:

entrez la description de l'image ici

Il existe de nombreux cas d'utilisation d'ARP gratuits , tous liés à la nécessité de mettre à jour les tables d'adresses ARP Mapping ou Switchport MAC.

HSRP (et de nombreux autres protocoles de redondance) utilisent fréquemment ARP gratuit. Cette animation illustrera comment:

entrez la description de l'image ici

Avis RouterA et RouterB partagent l'adresse IP 10.0.0.1et l'adresse MAC 0053.ffff.1111. Les hôtes sont configurés avec une passerelle par défaut 10.0.0.1et ont chacun un mappage ARP indiquant l' 10.0.0.1adresse IP mappée sur l' 0053.ffff.1111adresse MAC. Etant donné que l'adresse MAC et l'adresse IP sont partagées par les deux routeurs, ce mappage ARP ne devra jamais être mis à jour.

Cependant , lorsque RouterA est le routeur HSRP actif, l'adresse MAC est desservie par le périphérique connecté au switchport 1. Si RouterA échoue, RouterB envoie un ARP gratuit pour mettre à jour la table d'adresses MAC du commutateur que l'adresse MAC 0053.ffff.1111est maintenant desservie. l'appareil connecté au switchport 2.

Le processus se répète si RouterB échoue et que RouterA doit reprendre le service IP / MAC 10.0.0.1/0053.ffff.1111

La capture de paquets des transitions HSRP et les paquets GARP dans l'animation ci-dessus peuvent être téléchargés et étudiés dans Wireshark .


Bien que ce ne soit pas strictement une question à propos de laquelle vous avez posé des questions, compte tenu des commentaires formulés dans ce Q & R, j’ai jugé sage de mentionner quelque chose au sujet de la détection d’adresses en double:

Il y a un point souvent confus concernant la détection d'adresses en double et l'ARP gratuit. Lorsqu'un ordinateur essaie de voir si un autre hôte du réseau utilise une adresse IP particulière, il n'envoie pas d'ARP gratuit .

La raison en est, par définition, qu'un ARP gratuitous est destiné à mettre à jour les mappages ARP d'autres périphériques sur le réseau. Si une adresse IP n'est pas unique, nous ne voudrions pas que le "test d'unicité" provoque la mise à jour d'une entrée ARP incorrecte.

En réalité, un ensemble spécifique de messages ARP est utilisé dans la détection d'adresses en double: une sonde ARP et une annonce ARP .

La différence cruciale entre ces deux paquets et un véritable ARP gratuit est que la sonde ARP ne dispose pas d'un mappage IP / MAC complet. Il est donc impossible pour une sonde ARP de mettre à jour par erreur un cache ARP.

Le processus général est l'envoi de la sonde ARP à quelques reprises, ce qui inciterait le propriétaire de l'adresse IP en question à envoyer un ARP gratuit si l'adresse IP est déjà utilisée. Si aucune réponse n'est reçue, l'expéditeur envoie une annonce ARP pour réclamer officiellement l'adresse IP sur le réseau.

L'annonce ARP est encore plus similaire à une ARP gratuite, mais elle (techniquement) n'est pas techniquement identique car l' annonce ARP a un code d'opération de1 , indiquant une demande (alors que comme ARP gratuite aura un code d'opération de2 ).

Eddie
la source