Switch/Funktionsweise
Funktionsweise
Im Folgenden wird, sofern nicht anders gekennzeichnet, von Layer-2-Switches ausgegangen
- Die einzelnen Ein-/Ausgänge, die sogenannten „Ports“, eines Switches können unabhängig voneinander Daten empfangen und senden
- Diese sind entweder über einen internen Hochgeschwindigkeitsbus (Backplane-Switch) oder kreuzweise miteinander verbunden (Matrix Switch)
- Datenpuffer sorgen dafür, dass nach Möglichkeit keine Frames verlorengehen
Überbrückung (Bridging)
- Moderne Switches verwenden hauptsächlich Ethernet-Schnittstellen
- Die Kernfunktion eines Ethernet-Switches besteht darin, eine Multiport-Layer-2-Überbrückung bereitzustellen
- Layer-1-Funktionalität ist in allen Switches zur Unterstützung der höheren Schichten erforderlich
- Viele Switches führen auch Operationen auf anderen Ebenen aus
- Ein Gerät, das mehr als nur überbrücken kann, wird als Multilayer-Switch bezeichnet
- Ein Schicht-2-Netzwerkgerät ist ein Multiport-Gerät, das Hardwareadressen und MAC-Adressen verwendet, um Daten auf der Datenverbindungsschicht (Schicht 2) zu verarbeiten und weiterzuleiten
Source Address Table
- Ein Switch muss im Regelfall nicht konfiguriert werden
Empfängt er ein Frame nach dem Einschalten, speichert er die MAC-Adresse des Senders und die zugehörige Schnittstelle in der Source Address Table (SAT)
Wird die Zieladresse in der SAT gefunden, so befindet sich der Empfänger im Segment, das an der zugehörigen Schnittstelle angeschlossen ist
- Das Frame wird dann an diese Schnittstelle weitergeleitet
- Sind Empfangs- und Zielsegment identisch, muss das Frame nicht weitergeleitet werden, da die Kommunikation ohne Switch im Segment selbst stattfinden kann
Falls die Zieladresse (noch) nicht in der SAT ist, muss das Frame an alle anderen Schnittstellen weitergeleitet werden
- In einem IPv4-Netz wird der SAT-Eintrag meist bereits während der sowieso nötigen ARP-Adressenanfragen vorgenommen
- Zunächst wird aus der ARP-Adressenanfrage eine Zuordnung der Absender-MAC-Adresse möglich, aus dem Antwort-Frame erhält man dann die Empfänger-MAC-Adresse
- Da es sich bei den ARP-Anfragen um Broadcasts handelt und die Antworten immer an bereits erlernte MAC-Adressen gehen, wird kein unnötiger Verkehr erzeugt. Broadcast-Adressen werden niemals in die SAT eingetragen und daher stets an alle Segmente weitergeleitet
- Frames an Multicast-Adressen werden von einfachen Geräten wie Broadcasts verarbeitet
- Höher entwickelte Switches beherrschen häufig den Umgang mit Multicasts und senden Multicast-Frames dann nur an die registrierten Multicast-Adress-Empfänger
Switches lernen also gewissermaßen die MAC-Adressen der Geräte in den angeschlossenen Segmenten automatisch
Switched LANs – Mechanismen
- Ein Ethernet-Frame enthält die Zieladresse nach der so genannten Datenpräambel in den ersten 48 Bit (6 Bytes)
- Mit der Weiterleitung an das Zielsegment kann also schon nach Empfang der ersten sechs Bytes begonnen werden, noch während das Frame empfangen wird
- Ein Frame ist 64 bis 1518 Bytes lang, in den letzten vier Bytes befindet sich zur Erkennung von fehlerhaften Frames eine CRC-Prüfsumme (zyklische Redundanzprüfung)
- Datenfehler in Frames können erst erkannt werden, nachdem das gesamte Frame eingelesen wurde
- Je nach den Anforderungen an die Verzögerungszeit und Fehlererkennung kann man daher Switches unterschiedlich betreiben
Option | Beschreibung |
---|---|
Cut-through |
|
Store and Forward |
|
Hybrides Switching |
|
Predictive Switching |
|
Ausprägungen
Option | Beschreibung |
---|---|
Port-Switching |
|
Segment-Switching |
|
Bank-Switching |
|
Weitere Switching-Verfahren
Option | Beschreibung |
---|---|
Layer-3-Switching |
|
Layer-4-Switching |
|
IP Switching |
|
- Ein Ethernet-Frame enthält die Zieladresse in den ersten 48 Bit (6 Bytes)
- Mit der Weiterleitung an das Zielsegment kann also schon nach Empfang der ersten sechs Bytes begonnen werden, noch während das Frame empfangen wird
- Ein Frame ist 64 bis 1518 Bytes lang, in den letzten vier Bytes befindet sich zur Erkennung von fehlerhaften Frames eine CRC-Prüfsumme
- Datenfehler in Frames können erst erkannt werden, nachdem das gesamte Frame eingelesen wurde
Je nach den Anforderungen an die Verzögerungszeit und Fehlererkennung kann man daher Switches unterschiedlich betreiben:
Cut-through
- Fast-Forward-Switching
Eine schnelle Methode
- Hauptsächlich von besseren Switches implementiert
- Hierbei trifft der Switch beim eintreffenden Frame direkt nach der Ziel-MAC-Adresse eine Weiterleitungsentscheidung und schickt das Frame entsprechend weiter, während es noch empfangen wird
- Die Latenzzeit setzt sich zusammen aus lediglich den Längen der Präambel (8 Byte), der Ziel-MAC-Adresse (6 Byte) und der Reaktionszeit des Switches
- Durch die frühestmögliche Weiterleitung kann das Frame aber nicht auf Fehlerfreiheit geprüft werden, und der Switch leitet auch eventuell beschädigte Frames weiter
- Da eine Fehlerkorrektur in der Schicht 2 aber nicht existiert, belasten fehlerhafte Frames lediglich die betreffende Verbindung. (Eine Korrektur kann nur in höheren Netzwerkschichten stattfinden.) Manche Switches schalten bei zu häufigen Fehlern auch auf die langsamere, aber fehlerfreie Weiterleitung mit Store-and-Forward um bzw
- herunter (s. u.)
- Fragment-Free
Schneller als Store-and-Forward-, aber langsamer als Fast-Forward-Switching, anzutreffen vor allem bei besseren Switches
- Bei dieser Methode prüft der Switch, ob ein Frame die im Ethernet-Standard geforderte minimale Länge von 64 Bytes (512 Bit) erreicht, und schickt es erst dann weiter zum Zielport, ohne eine CRC-Prüfung durchzuführen
- Fragmente unter 64 Byte sind meist Trümmer einer Kollision, die kein sinnvolles Frame mehr ergeben
Store-and-Forward
- Sicherste, aber auch langsamste Switch-Methode
- Größten Latenzzeit
- Wird von jedem Switch beherrscht
- Der Switch empfängt zunächst das ganze Frame (speichert dieses; „Store“), berechnet die Prüfsumme über das Frame und trifft dann seine Weiterleitungsentscheidung anhand der Ziel-MAC-Adresse
- Sollten sich Differenzen zwischen der berechneten Prüfsumme und dem am Ende des Frames gespeicherten CRC-Wert ergeben, wird das Frame verworfen
- Auf diese Weise verbreiten sich keine fehlerhaften Frames im lokalen Netzwerk
- Store-and-Forward war lange die einzig mögliche Arbeitsweise, wenn Sender und Empfänger mit unterschiedlichen Übertragungsgeschwindigkeiten oder Duplex-Modi arbeiteten oder verschiedene Übertragungsmedien nutzten
- Die Latenzzeit in Bit ist hier identisch mit der gesamten Paketlänge – bei Ethernet, Fast Ethernet und Gigabit Ethernet im Vollduplex-Modus sind das mindestens 576 Bit, Obergrenze ist die maximale Paketgröße (12.208 Bit) – plus der Reaktionszeit des Switches
- Hybridmodus
Heute gibt es Switches, die einen Cut-and-Store-Hybridmodus beherrschen
- der auch beim Übertragen der Daten zwischen langsamen und schnellen Verbindungen die Latenz senkt.
Error-Free-Cut-Through/Adaptive Switching
- Mischung aus mehreren der obigen Methoden
- Nur von teureren Switches implementiert
- Der Switch arbeitet zunächst im Modus „Cut through“ und schickt das Frame auf dem korrekten Port weiter ins LAN
- Es wird jedoch eine Kopie des Frames im Speicher behalten, über die dann eine Prüfsumme berechnet wird
- Stimmt sie nicht mit dem im Frame gespeicherten CRC-Wert überein, so kann der Switch dem defekten Frame zwar nicht mehr direkt signalisieren, dass er fehlerhaft ist, aber er kann einen internen Zähler mit der Fehlerrate hochzählen
- Wenn zu viele Fehler in kurzer Zeit auftreten, fällt der Switch in den Store-and-Forward-Modus zurück
- Sinkt die Fehlerrate wieder tief genug, schaltet der Switch in den Cut-Through-Modus um
- Ebenso kann er temporär in den Fragment-Free-Modus schalten, wenn zu viele Fragmente mit weniger als 64 Byte Länge ankommen
- Besitzen Sender und Empfänger unterschiedliche Übertragungsgeschwindigkeiten oder Duplex-Modi bzw
- Nutzen sie andere Übertragungsmedien (Glasfaser auf Kupfer), so müssen die Daten ebenfalls mit Store-and-Forward-Technik übertragen werden
- Symmetrisches und asymmetrisches Switching
Heutige Netzwerke unterscheiden zwei Architekturen
- Symmetrisches und asymmetrisches Switching gemäß der Gleichförmigkeit der Anschlussgeschwindigkeit der Ports
- Im Falle eines asymmetrischen Switchings, d. h
- wenn Sende- und Empfangsports unterschiedliche Geschwindigkeiten aufweisen, kommt das Store-and-Forward-Prinzip zum Einsatz
- Bei symmetrischem Switching, also der Kopplung gleicher Ethernetgeschwindigkeiten, wird nach dem Cut-Through-Konzept verfahren
Port-Switching, Segment-Switching
- In den Anfangszeiten der Switching-Technik gab es die zwei Varianten
- Port-Switching
- Segment-Switching
Diese Differenzierung spielt in modernen Netzwerken nur noch eine untergeordnete Rolle, da alle handelsüblichen Switches Segment-Switching an allen Ports beherrschen
- Ein Port-Switch verwaltet pro Port nur einen SAT-Eintrag für eine MAC-Adresse
- An solch einem Anschluss dürfen folglich nur Endgeräte (Server, Router, Workstation) und keine weiteren Segmente, also keine Bridges, Hubs oder Switches (hinter denen sich mehrere MAC-Adressen befinden) angeschlossen werden (siehe MAC-Flooding)
- Zusätzlich gab es oft einen sogenannten „Uplink-Port“, der die lokalen Geräte quasi „nach außen“ verbindet und für den diese Einschränkung nicht galt
- Dieser Port hatte oft keine SAT, sondern wurde einfach für alle MAC-Adressen benutzt, die nicht einem anderen lokalen Port zugeordnet waren
- Solche Switches arbeiteten in der Regel nach dem Cut-Through-Verfahren
- Trotz dieser scheinbar nachteiligen Einschränkungen existierten auch Vorteile
- Die Switches kamen mit extrem wenig Speicher aus (geringere Kosten) und aufgrund der Minimalgröße der SAT konnte auch die Switching-Entscheidung schnell getroffen werden
- Alle neueren Switches sind Segment-Switches und können an jedem Port zahlreiche MAC-Adressen verwalten, d. h
- weitere Netz-Segmente anschließen
- SAT-Anordnungen
- Entweder jeder Port hat eine eigene Tabelle von beispielsweise max. 250 Adressen
- Es gibt eine gemeinsame SAT für alle Ports – mit beispielsweise maximal 2000 Einträgen
- Vorsicht
- Manche Hersteller geben 2000 Adresseinträge an, meinen aber 8 Ports mit jeweils maximal 250 Einträgen pro Port