
|
|
Ethernet - Bridges und Switches
Bridges:
Bridges werden hauptsächlich bei 10Base2 eingesetzt. Eine Bridge hat mindestens
zwei Anschlüsse. Ein Datenpaket, das auf einem Anschluss empfangen wird, speichert
die Bridge zunächst vollständig ab und sendet es anschließend unverändert auf
allen anderen Anschlüssen wieder ab. Fehlerhafte Pakete oder Kollisionen werden
dabei ausgefiltert. Dadurch durchbricht man die Größenlimitierung von
10Base2-Netzen, transportiert aber die Netzlast jedes Segments auch in die
anderen Segmente.
Durch die Zwischenspeicherung kann eine Bridge auch Netze unterschiedlicher
Bandbreite koppeln, z.B. 10 und 100Mbit Ethernet. Deswegen steckt in jedem
Dual-Speed-Hub eine Bridge zur Koppelung der 100Mbit-Anschlüsse mit den
10Mbit-Anschlüssen.
Switches:
Ein Switch arbeitet zunächst genau wie eine Bridge. Er achtet aber bei jedem Paket
auf die Absenderadresse und auf welchem Anschluss das Paket hereinkam. Diese
Informationen speichert er ab. Nun kann er Pakete, deren Zieladresse er bereits
kennt, gezielt auf den richtigen Anschluss weiterleiten. Netzwerksegmente an
anderen Anschlüssen bekommen von dem Paket nichts mehr mit. So kann die Netzlast
bei intelligenter Platzierung von Switches signifikant gesenkt werden. Im
Gegensatz zu einer Bridge kann ein Switch gleichzeitig mehrere Pakete
verarbeiten (z.B. eines von Port 1 nach 6 leiten und eines von Port 5 nach 4).
Ein Switch kann zudem eine Umsetzung verschiedener Anschlussgeschwindigkeiten
vornehmen. Damit können in einem LAN Endgeräte mit 10Mbit-Ethernet und Fast
Ethernet miteinander kommunizieren. An einem Hub können immer nur Geräte mit
derselben Geschwindigkeit angeschlossen werden.
Für Switches gibt es verschiedene Arbeitsweisen:
- Cut through: Nach den ersten 12 Byte (Quell- und Zieladresse) wird
entschieden, auf welchen Port das Paket weitergeleitt wird. Während auf dem
Eingangsport noch der Empfang läuft, wird bereits gesendet. Das führt zu
einer sehr geringen Paketverzögerung (30 - 40 Mikrosekunden bei 10Mbit-Ethernet).
Allerdings werden auch Pakete übertragen, die sich später als fehlerhaft
(anhand des CRC-Codes) oder als Kollision erweisen.
- Modify cut through: Die Entscheidung fällt erst nach 64 Bytes. Dann sind
Kollisionen normalerweise bereits erkannt worden und können ausgefiltert
werden. Die Verzögerung steigt jedoch auf 500 Mikrosekunden und fehlerhafte Pakete
werden trotzdem übertragen.
- Store and forward: Die Entscheidung fällt nach dem Empfang des kompletten
Pakets. Dadurch entsteht eine paketlängenabhängige Verzögerung von 500 -
8000 Mikrosekunden. Dafür werden fehlerhafte Pakete erkannt. Diese Arbeitsweise
entspricht der einer Bridge.
- Intelligent switching: Der Switch schaltet automatisch je nach Netzlast
und Fehlerhäufigkeit zwischen Modify cut through und Store and forward hin
und her.
Der Einsatz von Switchen ist kein Allheilmittel für Performanceprobleme im Netz.
Ihrem Einsatz muss immer eine Analyse der Datenströme im Netz vorausgehen. Man
muss also wissen, wer vor allem mit wem kommuniziert und wo der Flaschenhals
sitzt. Mittlerweile sind Switches allerdings so preiswert geworden (16 Port Hub
ca. 300 Euro, 16 Port Switch ca. 600 Euro, Markengeräte), dass sie oftmals
schlicht als Ersatz für Hubs verwendet werden. Das bringt in fast allen Fällen
auch Vorteile.
Beispiel:
Angenommen, das obige Netz sei sehr stark ausgelastet, es finde aber kaum
Datenverkehr zwischen den beiden Sternen statt. Die Hubs transportieren die Last
des linken Sterns jedoch nach rechts und umgekehrt. Ein Switch zwischen den beiden
Sternnetzen trennt diese Lasten voneinander, die Auslastung sinkt in beiden
Teilnetzen fast auf die Hälfte:
Angenommen, im selben Netz liefe der größte Teil des Datenverkehrs zwischen den
Endgeräten und dem Server (ganz rechts im Bild) ab. Dann brächte dieser
Lösungsvorschlag nur der linken Hälfte des Netzes Erleichterung.
Um beide Sternnetze zu entlasten müsste der Server über eine schnelle Leitung
(Fast Ethernet oder Gigabit Ethernet) direkt am Switch angebunden werden:
Spanning Tree Algorithmus:
Das abgebildete Netzwerk aus miteinander verbundenen Switches erlaubt jeweils
mehrere Wege vom Sender zum Empfänger. Ohne weitere Maßnahmen würde jedes Paket
über jeden möglichen Weg übertragen, käme beim Empfänger also mehrfach an. Es
könnte sogar passieren, dass Datenpakete ewig im Kreis laufen. Die Auslegung mit
redundanten Verbindungen ist jedoch im Hinblick auf die Ausfallsicherheit des
Gesamtnetzes wünschenswert.
Zur Lösung dieses Problems kommunizieren die Switches miteinander. Zunächst wird
nach bestimmten Kriterien einer ausgewählt. Von diesem ausgehend werden zunächst
alle Verbindungen bestimmt, die direkt zu weiteren Switches führen. Von
diesen aus werden wiederum die direkten Wege zu jenen Switches gesucht, die im
ersten Durchgang noch nicht erfasst wurden. Dies setzt sich so lange fort, bis
zu jedem Switch ein Weg gefunden wurde. Alle Verbindungen, die hierbei nicht
benötigt wurden, werden nun softwareseitig abgeschaltet. Es entsteht so eine
baumförmige Netzstruktur mit dem zuerst ausgewählten Switch als Wurzel. Das
Netz hat nun keine redundanten Wege mehr, sprich keine Maschen. Dieser
Algorithmus heißt "Spanning Tree".
Auch wenn der Baum steht, kommunizieren die Switches weiterhin miteinander, um
Ausfälle oder neu hinzugekommene Switches erkennen zu können. Dann wird der
Algorithmus neu angestoßen und das Netz so rekonfiguriert. Das kann bei sehr
komplexen Netzen durchaus eine Minute dauern.
|
|