Ein Switch ist eigentlich nichts anderes, als eine Bridge mit mehreren Ports. Der entscheidende
Unterschied liegt darin, dass ein Switch Verbindungen zwischen seinen Ports parallel schalten, also dedizierte Verbindungen aufbauen kann.
Diese Punkt-zu-Punkt-Verbindungen bilden ein eigenes Netzsegment.
Genau wie die Bridge arbeitet er in der Schicht 2 des OSI Referenzmodells (Sicherung) und ist protokolltransparent.
Dadurch ist es ihm möglich Netze unterschiedlicher Topologie zu verbinden (z.B. Koaxialkabel <-> Twisted Pair). Mit entsprechender Übersetzungsintelligenz kann er auch zwischen unterschiedlichen Rahmentypen
(Token Ring mit Ethernet) vermitteln. Vorraussetzung ist jedoch, dass die Protokolle der Schichten 3-7 des OSI-Modells identisch sind.
Wie die Bridge arbeitet er mit den MAC-Adressen, um Absender und Empfänger von Paketen zu identifizieren. Als Verwandter der Bridge kann ein Switch
ebenfalls die Weiterleitung lokalen Datenverkehrs verhindern. Er benutzt Adresstabellen, um sich ein Bild der
herrschenden Netzwerktopologie zu verschaffen.
Seine Eigenschaft, die Ports direkt verschalten zu können, fordert entsprechend leistungsfähige Hardware. Denn im Extremfall muss er in der
Lage sein, einen Datenverkehr in der Grösse Anzahl Ports x Bandbreite Gesamtnetz zu bewältigen. Schafft er es nicht, ein Paket
mit der eigentlichen Verbindungsgeschwindigkeit an die Zielstation zu leiten (= wire speed), würde der Switch selbst einen Flaschenhals
darstellen.
Grundsätzlich kann man Switches nach folgenden Kriterien unterteilen:
Switches | |
---|---|
Port-Switches:
|
Segment-Switches:
|
Matrix-Switches:
|
Backplane-Switches:
|
Frame-Switches:
|
Cell-Switches:
|
=> die interne Switching-Engine muss in der Lage sein, auch grosse Frames ausreichend schnell weiterzuleiten (Ethernet-Frame = 64-1518 Byte Grösse) | => der Switch muss eine Switching-Engine besitzen, die die Frames ausreichend schnell Zerlegen und Zusammensetzen kann, damit der Vorteil der festen Zellengrösse bei der internen Übertragung ausgenutzt werden kann |
Darüberhinaus haben sich zwei wesentliche Varianten der internen Vermittlung entwickelt, das Cut-Through-Switching und das Store-and-Forward-Switching:
Switches, die nach diesem Verfahren arbeiten, lesen nur die ersten 14Byte eines Frames aus. Darin sind alle Informationen
enthalten, die benötigt werden, um das Frame weiterleiten zu können. Da nur ein kleiner Teil des Frames
gelesen wird, ist die Weiterleitung extrem schnell, bei einem Fast Ethernet-Netzwerk beträgt die Verzögerung
unter 11 Mikrosekunden. Der Nachteil liegt u.a. darin, dass keine Filterung fehlerhafter Frames möglich ist, da der
CRC-Teil des Frames ausserhalb der ersten 14 Byte liegt. Es ist bestenfalls eine nachträgliche Kontrolle möglich.
Damit kann ein defektes Paket zwar nicht mehr aufgehalten werden, es kann aber für den Administrator ein
Fehlerbericht erstellt werden, aus dem dieser Rückschlüsse auf die Fehlerursache ziehen kann.
Da diese Switches keine Zwischenspeicherung der Frames durchführen, können sie auch nicht zwischen verschiedenen
Bandbreiten oder Rahmentypen vermitteln.
Eine neuere Variante der Cut-Through-Switches sind die sogenannten Fragment-Tree-Switches. im Gegensatz zu
herkömmlichen Modellen lesen solche Switches die ersten 64Byte eines Frames aus. Damit lassen sich Kollisionsfragmente
herausfiltern. Diese Reste eines kollidierten Frames (Rents) haben eine charakteristische Grösse von weniger als 64Byte.
Fragment-Tree-Switches erreichen eine Verzögerung von weniger als 60 Mikrosekunden. Im Gegensatz zu herkömmlichen Cut-Through-Switches
stellen die angeschlossenen Segmente Kollisionsdomänen dar.
Allerdings haben sich die Fragment-Tree-Switches nicht durchgesetzt. Dies liegt vor allem daran, dass viele moderne
Netzwerke Vollduplexverbindungen nutzen, um Kollisionen zu vermeiden.
Store-and-Forward-Switches werden gegenüber ihren Cut-Through-Kollegen wesentlich häufiger eingesetzt.
Sie lesen einen Frame komplett ein, speichern ihn zwischen und
interpretieren ihn. Deshalb ist ihre Verzögerung auch deutlich höher. Je nach Framegrösse
bis zu 100 Mikrosekunden. Ihr Vorteil liegt darin, dass sie fehlerhafte Frames herausfiltern können, dass die
angeschlossenen Segmente Kollisionsdomänen werden, dass sie mit einer ausreichend grossen Pufferung zwischen
unterschiedlichen Bandbreiten (10BaseX <-> 100BaseX) und mit entsprechender Übersetzungslogik auch
zwischen unterschiedlichen Rahmentypen vermitteln können.
Cut-Through | Store-and-Forward | |
---|---|---|
Vorteile |
|
|
Nachteile |
|
|
Auch bei Switches kann es zu dem Problem der Endlosschleifen kommen. Deshalb kommt auch in Switches normalerweise
der Spanning Tree Algorithmus zum Einsatz.
Bei einem schlecht geplanten Netzwerk kann es passieren, dass einzelne Ports überlastet sind. Man stelle sich
z.B. ein Ethernet vor, bei dem eine grosse Anzahl Stationen auf einen Server zugreifen möchten, der einzeln an
einem Port angeschlossen ist. Es kann dazu kommen, dass der Server das Netz blockiert, da der Port überlastet ist.
Schliesslich muss der Port, an dem der Server angeschlossen ist alle Pakete empfangen und zusätzlich noch die
Antworten des Servers weiterleiten.
Überlastete Ports können im Extremfall dazu führen, dass ein Rechner im Netz
nicht mehr gefunden wird, weil der ARP-Request nicht beantwortet werden konnte.
Um solche Probleme zu mildern, gibt es bei modernen Switches häufig einen Flow-Control-Mechanismus.
Dieser erhält von einem Port die Meldung, dass dieser überlastet ist, und reagiert darauf, indem er die
Bandbreite zu diesem Port herabsetzt.