Fonctionnement d'un commutateur lorsqu'il connaît l'adresse MAC mais que le PC expéditeur ne connaît pas le MAC du MAC de destination

12

4 PC sont connectés à un commutateur et ce commutateur connaît leurs adresses MAC (les 4 PC). L'ordinateur A et l'ordinateur D n'ont pas communiqué plus tôt, donc leur table ARP n'a pas été mise à jour avec l'adresse MAC de l'autre.

L'ordinateur A souhaite communiquer avec l'ordinateur D, il envoie donc une demande ARP pour l'adresse MAC de l'ordinateur D. Cet ARP serait un message de diffusion (avec FF: FF: FF: FF: FF: FF comme MAC de destination dans le paquet ARP).

Je voudrais comprendre comment le commutateur va le prendre car il est déjà au courant du MAC de l'ordinateur D, mais pas de l'ordinateur A. Le commutateur permettra-t-il à l'ordinateur D de répondre au message ARP (la diffusion) ou de supprimer cette demande ARP et d'acheminer directement le paquet de l'ordinateur A vers l'ordinateur D (car le commutateur connaît déjà le MAC de l'ordinateur D)?

Aniruddha
la source
2
En plus des réponses, tous les systèmes d'exploitation que je connais aujourd'hui émettent un ARP gratuit lorsque le lien est établi.
AbraCadaver
@AbraCadaver Ce n'est pas vraiment pertinent. L'ARP gratuit ne devrait que les entrées de cache ARP existantes, pas en créer de nouvelles. Il est destiné à forcer les entrées obsolètes lorsqu'un IP se déplace ou qu'une carte réseau est remplacée, et non à précharger les caches.
Barmar
@Barmar: Non. Le pont / commutateur voit la trame, enregistre la source MAC et le port. Voilà comment ça fonctionne.
AbraCadaver
@AbraCadaver Qu'est-ce que cela a à voir avec le traitement de l'ARP gratuit?
Barmar
@Barmar: L'ARP gratuit n'est pas traité par un commutateur. Il voit une trame Ethernet avec un MAC source arriver sur un port particulier, c'est tout ...
AbraCadaver

Réponses:

24

La demande ARP sera bien sûr traitée.

Le commutateur ne connaît pas ARP. Il ne connaît que Ethernet (c'est-à-dire les adresses MAC sur les trames Ethernet), pas les protocoles par-dessus. (Certains commutateurs offrent des fonctionnalités avancées telles que la surveillance IGMP, mais ce n'est pas pertinent ici.)

Parce que c'est un message de diffusion, il doit être livré à tous les ports (connectés). C'est tout ce dont le commutateur se soucie. Il ne peut pas savoir qu'il est vraiment destiné à l'ordinateur D.

Daniel B
la source
Eh bien, Ethernet est un protocole. Cependant, un simple commutateur ne fait que prêter attention à certains protocoles (comme Ethernet) et pas à d'autres (comme Internet Protocol version 4 ou Transmission Control Protocol).
TOOGAM
2
La demande ARP demande: "Où est 192.168.0.1?" Le commutateur n'a aucune idée à ce sujet.
Michael Hampton
11

Une demande ARP est simplement un message qui dit "Vous êtes là sur IP quoi que ce soit ! Quelle est votre adresse MAC?" Même si ARP traite de la découverte des adresses de couche 2, il s'agit intrinsèquement d'une demande de couche 3 car elle est envoyée à une adresse IP. Les commutateurs ne fonctionnent pas au niveau 3.

Dans l'exemple que vous avez donné, vous savez quelque chose que le commutateur ne sait pas; que l'adresse IP dans la demande ARP appartient à l'ordinateur D. L'adresse MAC de destination est une diffusion et c'est tout ce que le commutateur sait ou se soucie. Si le commutateur voit un MAC de diffusion, il diffusera ce paquet en clair et simple.

Oui, il existe des commutateurs de couche 3, et les pédants soulignent que l'ARP n'est techniquement pas un protocole de couche 3, mais rien de tout cela n'a d'importance pour cet exemple.

Wes Sayeed
la source