Wie verwalten verwaltete Switches Broadcast Multicast und Unicast?

8

In typischen Szenarien muss ein Netzwerk-Switch Broadcast-, Multicast- und Unicast-Nachrichten gleichzeitig verarbeiten.

Ich würde gerne verstehen

Auf einem typischen verwalteten Switch (1 Gbit Ethernet / 10 Gbit Ethernet)

a) Wie werden Broadcast- / Multicast- / Unicast-Nachrichten unterschiedlich behandelt?

b) Wie groß ist die Bandbreite und Latenz bei der Verarbeitung von Broadcast- / Multicast- / Unicast-Nachrichten?

c) Wie wirkt sich das Laden verschiedener Nachrichtentypen gegenseitig aus?

d) Warum wird der Wechsel von Broadcast zu Multicast (oder ist wahrscheinlich, wenn dies richtig gemacht wird) die Belastung des Switches verringern?

Anthony S.
quelle

Antworten:

5

Dies hängt stark von der Architektur des jeweiligen Switches ab. Die breite Preisspanne für einen "verwalteten Switch" mit 48 Ports (z. B. unter 300 bis weit über 10.000 US-Dollar) sollte Ihnen sagen, dass im Inneren etwas grundlegend anderes vor sich geht. Wenn Sie nicht viel für Ihren Switch bezahlt haben (und ich hoffe, Sie haben es nicht getan), ist es sehr wahrscheinlich, dass Multicast (und andere "Unternehmens" -Funktionen) auf Software ausgelagert werden (sofern sie überhaupt unterstützt werden).

Grundlegende Unicast-Weiterleitung ist in der Hardware relativ kostengünstig geworden, daher würde ich erwarten, dass jeder moderne Ethernet-Switch bei grundlegender Unicast-Weiterleitung unter geringer Last eine recht gute Leistung erbringt.

Wenn Sie der Hardware weitere Funktionen hinzufügen, steigen die Kosten erheblich. Das Weiterleiten von Unicast-Frames unterscheidet sich beispielsweise stark von der Paketreplikation basierend auf dem dynamischen Multicast-Status. Das sind beide sehr spezielle Aufgaben. Es sind bestimmte Teile der Hardware erforderlich, um eine der beiden Funktionen gut auszuführen. Die meisten Benutzer von Low-End-Switches haben keine großen Multicast-Anforderungen. Das Bezahlen von Multicast-spezifischer Hardware ist für diese Benutzer eine Verschwendung.

Die meisten Netzwerke verwenden jedoch ein wenig Multicast. Folglich ist es für Hersteller üblich, Multicast- und andere weniger häufig verwendete Funktionen in Software zu implementieren. Beispielsweise würde die Unicast-Weiterleitungshardware angewiesen, alles mit einer Multicast-MAC-Adresse an einen internen Port weiterzuleiten, wo sie von einem CPU-Subsystem (oder zumindest einem Mikrocontroller) empfangen werden. Anschließend kann ein Softwareprozess den Frame anzeigen, die Multicast-Weiterleitungstabelle konsultieren, den Frame replizieren und mehrere Kopien an die Hardware zurückgeben, eine pro weiterzuleitendem Port. Offensichtlich können an dieser Stelle in der Software viele Funktionen hinzugefügt werden, ohne die Kosten des Switches wesentlich zu beeinflussen.

In einem solchen System wird die Leistung niemals annähernd so hoch sein wie bei Unicast. Die Leistung der CPU wird natürlich einige Auswirkungen haben, aber wenn Sie so viel "Ausnahme" -Verkehr senden, der nicht in Hardware weitergeleitet werden kann, machen Sie es falsch . Sie müssen einen anderen Schalter kaufen.

Im schlimmsten Fall hat ein wirklich Low-End-Switch keinen Ressourcenschutz, sodass dieselbe CPU, die mit Multicast-Verkehr belegt ist, vergisst, dass sie auch für die Pflege und Versorgung aller anderen Switches verantwortlich ist. Wenn die CPU zu beschäftigt ist, Multicast-Verkehr zu replizieren, um die Unicast-Tabellen in der Hardware auf dem neuesten Stand zu halten (oder was auch immer die CPU sonst tun soll), treten alle möglichen Probleme auf.

Esser
quelle
2
  1. Das gleiche wie bei nicht verwalteten Switches. möglicherweise mit der zusätzlichen Komplexität von vLANs und ähnlichem.
  2. Dies ist implementierungsspezifisch, aber im Allgemeinen gibt es keinen Unterschied. Paketstürme können zu Latenz führen, dies hängt jedoch nicht speziell mit dem Pakettyp zusammen.
  3. Gleich wie # 2: Implementierungsspezifisch und im Allgemeinen kein Unterschied.
  4. "Load" ist kein genau definierter Begriff. Ich denke, Sie meinen die Portauslastung. Multicast wird nur an die Ports weitergeleitet, die der Gruppe zugeordnet sind, an der Broadcast an jeden Port gesendet wird (vorbehaltlich zusätzlicher Komplexitäten wie vLANs).
Chris S.
quelle
Vielen Dank, Chris. Ich sehe eine Anwendung, die einen Broadcast-Sturm verursacht, der durch eine große Menge an Broadcast-Nachrichten generiert wird. Nach einigen Recherchen habe ich herausgefunden, dass Broadcast- und Multicast-Nachrichten eher nach Software als nach Hardware verarbeitet werden. Die hohe CPU-Auslastung führt zu Paketverlusten. Aus diesem Grund möchte ich wissen, wie ein Switch (verwaltet / nicht verwaltet) mit den einzelnen Nachrichtentypen umgeht.
Anthony S.
Ich beziehe mich auf die CPU-Auslastung eines Switches.
Anthony S.
Auf einem typischen Switch befindet sich keine CPU. Es gibt Switching-Prozessoren, einige verwaltete Switches verfügen über einen dedizierten Management-Prozessor, der jedoch größtenteils integriert ist.
Chris S