Plusieurs commutateurs - comment ça marche?

14

Il y a quelque temps, je lisais des informations sur le matériel réseau et trouvai une explication sur le fonctionnement des commutateurs réseau. En gros, un commutateur conserve une base de données interne indiquant l'adresse MAC connectée à chaque port et, lorsqu'il reçoit un paquet, recherchez le MAC de destination dans sa base de données et transmettez le paquet au bon port.

Cela m'a amené à me demander ce qui se passe si vous avez des commutateurs connectés à des commutateurs, comme ceci:

Computer A
    |
 Switch 1
    |
 Switch 2
    |
Computer B

Une partie de mon réseau domestique est ainsi configurée, de sorte que cela fonctionne toujours. Mais si l'ordinateur A veut envoyer un paquet à l'ordinateur B, comment le commutateur 1 sait-il que le paquet est transféré vers le commutateur 2? Le commutateur 1 n'étant pas directement connecté à l'ordinateur B, comment peut-il avoir l'adresse MAC de l'ordinateur B dans sa base de données, si le commutateur 2 ne fournit pas cette information au commutateur 1?

tlng05
la source
1
En supposant qu'une trame Ethernet allant de l'ordinateur A à l'ordinateur B, les commutateurs 1 et 2 auront à terme une entrée de table CAM pour l'adresse MAC de l'ordinateur B. Le commutateur ne s’intéresse pas à ce qui se passe réellement de l’autre côté, mais à quelle adresse MAC correspondent les trames Ethernet.
LawrenceC

Réponses:

23

Si le commutateur 1 ne sait pas à quel port la trame (pas le paquet!) Est destiné, il inondera tous les ports (à l'exception du port d'où provient la trame). L'un de ces ports sera connecté au commutateur 2, ce qui signifie que le commutateur 2 obtient le cadre.

Si le commutateur 2 ne sait pas sur quel port le cadre est destiné, il inondera tous les ports (à l'exception du port d'où provient le cadre). L'un de ces ports sera connecté à l'ordinateur B.

Donc, l'ordinateur B finit par obtenir le cadre, alors que tous les autres appareils l'ignorent.

Maintenant, vous pouvez connecter les points. Lorsque l'ordinateur B répond, le commutateur 2 apprend que les trames destinées à l'ordinateur A se rendent sur le port auquel le commutateur 1 est connecté, et le commutateur 1 apprend que les trames destinées à l'ordinateur B se rendent sur le port auquel le commutateur 2 est connecté.

Misha256
la source
7
Donc, fondamentalement, les commutateurs agissent un peu comme des hubs old-school pour des trames inconnues.
Sirex
2
Exactement, cela signifie qu'il y aura toujours des inondations, mais pas beaucoup ou souvent. Ha, les vieux centres scolaires. Cela me rappelle Internet par satellite dans les années 90, où le récepteur installé sur votre PC devait ignorer tous les paquets qui ne vous étaient pas destinés. Parler d'inondation!
Misha256
2
Que se passe-t-il si nous envoyons une pingdemande? Chaque périphérique connecté au commutateur répondra-t-il ou le commutateur lui-même répondra-t-il à ICMP ping?
AStopher
@ misha256 En fait, tous les services Internet par câble modernes et de nombreux services Internet par fibre optique continuent d'envoyer tous les paquets destinés à votre voisinage (ou peut-être simplement à votre bloc ou à deux) et votre modem doit filtrer ceux qui ne vous appartiennent pas.
Moshe Katz
6

Le port physique sur un commutateur compte comme couche OSI 1. Toutes les adresses MAC qui arrivent dans ce port particulier représentent les adresses physiques des périphériques réseau (couche OSI 2). Sur chaque port actif, il peut y avoir 0, 1 ou plusieurs adresses MAC (ou CAM ou quel que soit le nom du fournisseur du commutateur). En fait, Switch n'a pas la moindre idée du type de périphérique connecté sans informations supplémentaires (l'administrateur ou un protocole spécialement conçu en informe davantage).

Ainsi, en connectant un commutateur à un autre commutateur, toutes les adresses MAC connues d’un commutateur peuvent être répliquées sur un autre commutateur. S'il s'agit d'un commutateur factice, toutes les adresses MAC contribuent au même réseau local sans nom. S'il en existe un meilleur, il peut avoir configuré plusieurs réseaux locaux virtuels (VLAN) et chaque VLAN possède son propre ensemble d'adresses MAC. Ils peuvent être répétés dans plusieurs VLAN.

Si un commutateur reçoit la même adresse physique via plusieurs interfaces, il est généralement détecté et compté comme un "battement MAC". Cela signifie que le commutateur ne peut pas être sûr par quel port un paquet avec une certaine adresse MAC doit être envoyé.

Les commutateurs oublient généralement l'adresse MAC d'un port si elle n'apparaît pas dans les dernières minutes. C'est bon; sinon, les commutateurs peuvent recevoir trop d’informations qui peuvent être contradictoires au fil du temps.

Parfois, en raison d’une erreur réseau ou d’une attaque de pirates informatiques au sein d’un même réseau, certains périphériques peuvent générer de nombreuses annonces MAC. Si le nombre d'adresses MAC annoncées est trop élevé pour que le commutateur s'en souvienne, il peut décider d'oublier la livraison optimale des paquets. En cas de doute, sur quel port une adresse MAC réside, un paquet peut être transmis à tous les ports comme une diffusion (une attaque avec le nom arp-spoofing a réussi).

Si l'administrateur est conscient des risques potentiels, le nombre d'adresses MAC différentes pouvant apparaître sur chaque port peut être limité. S'il est connu qu'un seul ordinateur à la fois est connecté via un port, vous pouvez le configurer en tant que "nous ne pouvons avoir qu'un seul Mac" (type de port sur votre esquisse de l'ordinateur A au commutateur 1). Si on ne le sait pas ou si un autre commutateur est connecté à un port, la limite peut être raisonnablement augmentée ou même laissée comme illimitée (sur un commutateur moyen, illimité est en fait de plusieurs milliers).

J'espère que ça aide.

Martin
la source