Comment les commutateurs gérés gèrent-ils la multidiffusion et la monodiffusion?

8

Dans des scénarios typiques, un commutateur réseau doit gérer simultanément les messages de diffusion, de multidiffusion et de monodiffusion.

J'aimerais comprendre

Sur un commutateur géré typique (Ethernet 1 Gbit / Ethernet 10 Gb),

a) comment les messages de diffusion / multidiffusion / unicast sont-ils traités différemment?

b) quelle est la bande passante et la latence de traitement des messages de diffusion / multidiffusion / unicast?

c) comment le chargement de différents types de messages s’affecte-t-il les uns les autres?

d) Pourquoi le passage de la diffusion à la multidiffusion réduira (ou est probable, s'il est fait correctement) la charge du commutateur?

Anthony S.
la source

Réponses:

5

Cela dépend fortement de l'architecture du commutateur particulier en question. La large gamme de prix pour un «commutateur géré» à 48 ports (par exemple, de moins de 300 $ à bien plus de 10 000 $) devrait vous dire qu'il se passe quelque chose de fondamentalement différent à l'intérieur. Si vous n'avez pas payé beaucoup pour votre commutateur (et j'espère que vous ne l'avez pas fait), il est fort probable que la multidiffusion (et d'autres fonctionnalités "d'entreprise") soient déchargées sur le logiciel (si elles sont prises en charge).

Le transfert unicast de base est devenu plutôt peu coûteux à faire dans le matériel, donc je m'attendrais à ce que tout commutateur Ethernet moderne fonctionne raisonnablement bien au transfert unicast de base sous de faibles charges.

Lorsque vous commencez à ajouter plus de fonctionnalités au matériel, le coût augmente considérablement. Par exemple, le transfert de trames unicast est très différent de la réplication de paquets basée sur un état multicast dynamique. Ce sont deux tâches très spécialisées. Il faut des morceaux de matériel spécifiques pour bien faire l'un ou l'autre. La plupart des utilisateurs de commutateurs bas de gamme n'ont pas d'énormes besoins de multidiffusion. Payer pour du matériel spécifique à la multidiffusion est un gaspillage pour ces utilisateurs.

Mais la plupart des réseaux utilisent un peu de multidiffusion. Par conséquent, il est courant pour les fabricants d'implémenter la multidiffusion et d'autres fonctionnalités moins couramment utilisées dans les logiciels. Par exemple, le matériel de retransmission unicast serait chargé de transmettre tout ce qui a une adresse MAC multicast à un port interne où ils sont reçus par un sous-système CPU (ou au moins un microcontrôleur quelconque). Ensuite, un processus logiciel peut regarder la trame, consulter la table de transfert multidiffusion, répliquer la trame et remettre plusieurs copies au matériel, une par port à transmettre. De toute évidence, de nombreuses fonctionnalités peuvent être ajoutées à ce stade dans le logiciel sans affecter le coût du commutateur de manière significative.

Dans un tel système, les performances ne seront jamais proches de ce qu'elles sont pour la monodiffusion. Les performances du processeur auront évidemment un certain impact, mais si vous envoyez autant de trafic "d'exception" qui ne peut pas être transféré dans le matériel, vous le faites mal . Vous devez acheter un interrupteur différent.

Dans le pire des cas, un commutateur vraiment bas de gamme n'aura aucune protection des ressources, de sorte que le même processeur critiqué par le trafic de multidiffusion oubliera qu'il est également responsable de l'entretien et de l'alimentation de tout le reste du commutateur. Si le CPU est trop occupé à répliquer le trafic de multidiffusion pour garder les tables de monodiffusion mises à jour dans le matériel (ou quoi que ce soit d'autre que le CPU est censé faire), vous aurez toutes sortes de problèmes.

mangeur
la source
2
  1. Identique aux commutateurs non gérés; éventuellement avec la complexité supplémentaire des vLAN et similaires.
  2. Ceci est spécifique à l'implémentation, mais il n'y a généralement aucune différence. Les tempêtes de paquets peuvent provoquer une latence, mais cela n'est pas lié spécifiquement au type de paquet.
  3. Identique à # 2: spécifique à l'implémentation et généralement aucune différence.
  4. "Charger" n'est pas un terme bien défini, je pense que vous voulez dire l'utilisation du port. La multidiffusion est uniquement transmise aux ports abonnés au groupe où la diffusion est envoyée à chaque port (sous réserve encore de complexités supplémentaires comme les vLAN).
Chris S
la source
Merci Chris, je vois une application provoquant une tempête de diffusion, générée par une grande quantité de messages diffusés. Après quelques recherches, j'ai découvert que les messages de diffusion et de multidiffusion sont gérés par le niveau logiciel plutôt que par le matériel, la charge élevée du processeur provoque des chutes de paquets. C'est pourquoi j'aimerais savoir comment un commutateur (géré / non géré) gère chacun des types de messages.
Anthony S.
Je fais référence à la charge du processeur sur un commutateur.
Anthony S.
Il n'y a pas de CPU sur un commutateur typique. Il existe des processeurs de commutation, certains commutateurs gérés ont un processeur de gestion dédié mais sur la plupart il est intégré.
Chris S