Netzwerktopologie_Stern.png.]]
Switch.jpg | Smartswitch6000.jpg
Ein Switch (engl. Weiche) ist ein elektronisches Gerät zur Verbindung mehrerer Computer bzw. Netz-Segmente in einem lokalen Netz (LAN) ähnlich einem Hub. Man spricht bei einem Switch auch von einem intelligenten Hub. Der Switch arbeitet in seiner ursprünglichen Form auf der Schicht 2 (Sicherungsschicht) des OSI-Modells.
Der Switch verarbeitet 48 Bit MAC-Adressen und legt dazu eine SAT (Source Address Table) an.
Ein Switch wird wegen der ähnlichen Eigenschaften zur Bridge oft auch als Multi-Port-Bridge bezeichnet. Der Begriff Switch für einen Ethernet-Switch ist dabei die Kurzform von Switching Hub und bezeichnet die Fähigkeit, ein Switched Ethernet zu betreiben.
Für die angeschlossenen Geräte ist ein Switch nahezu unsichtbar. Aus Netzwerksicht wird die Paketanzahl in den Segmenten drastisch reduziert, wenn die Kommunikation vorwiegend zwischen den Geräten innerhalb eines Segments stattfindet. Muss ein Switch Pakete auf andere Segmente weiterleiten, verzögert er dagegen die Kommunikation (sog. Latenz). Bei Überlastung der Kapazität eines Segments oder zu wenig Pufferspeicher im Switch kann auch das Verwerfen von Paketen nötig sein. Dies wird durch die Protokolle in höheren Schichten, etwa TCP, ausgeglichen.
Funktionsweise
Die einzelnen 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 Datenframes verloren gehen.
Ein Switch braucht nicht konfiguriert zu werden. Empfängt er ein Paket 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 an der zugehörigen Schnittstelle angeschlossenen Segment. Das Paket wird dann an diese Schnittstelle weitergeleitet. Sind Empfangs- und Zielsegment identisch, muss das Paket nicht weitergeleitet werden, da die Kommunikation ohne Switch im Segment selbst stattfinden kann.
Falls die Zieladresse (noch) nicht in der SAT ist, muss das Paket an alle anderen Schnittstellen weitergeleitet werden. In einem IPv4-Netzwerk wird jedoch der SAT-Eintrag meist während der sowieso nötigen Antwort auf eine ARP-Adressenanfrage vorgenommen, so dass dieser Fall selten auftritt und keinerlei unnötige Pakete erzeugt. Broadcast- und Multicast-Adressen werden niemals in die SAT eingetragen und daher stets an alle Segmente weitergeleitet.
Switche lernen also gewissermaßen die MAC-Adressen der Geräte in den angeschlossenen Segmenten automatisch.
Unterschiede
Ein Ethernet-Paket (sog. Frame) enthält die Zieladresse in den ersten 48 Bits (6 Bytes) nach der Präambel. Mit der Weiterleitung an das Zielsegment kann also schon nach Empfang der ersten sechs Bytes begonnen werden, noch während der Frame empfangen wird. Ein Paket ist 64 bis 1500 Bytes lang, in den letzten vier Bytes befindet sich zur Erkennung von fehlerhaften Paketen eine CRC-Prüfsumme (→ Zyklische Redundanzprüfung). Datenfehler in Paketen können also erst erkannt werden, wenn das ganze Paket eingelesen wurde.
Je nach den Anforderungen an die Verzögerungszeit und Fehlererkennung kann man daher Switches unterschiedlich betreiben:
- Cut-Through – Eine sehr schnelle Methode, wird hauptsächlich von besseren Switches implementiert. Hierbei schaut der Switch beim eingetroffenen Frame nur auf die Ziel-MAC-Adresse, trifft eine Forwarding-Entscheidung und schickt den Frame entsprechend weiter. Das Frame wird nicht auf Fehlerfreiheit geprüft, um Zeit zu sparen. Der Switch leitet deshalb auch beschädigte Frames weiter, diese müssen dann durch andere Schicht-2-Geräte oder höhere Netzwerkschichten aufgefangen werden. Die Latenzzeit in Bit beträgt hier 112. Sie setzt sich aus der Präambel (8 Byte) und der „Destination-MAC-Adresse“ (6 Byte) zusammen.
- Store-and-Forward – Die grundlegendste, aber auch langsamste Switching-Methode mit der größten Latenzzeit (Verzögerungszeit). Sie wird von jedem Switch beherrscht. Der Switch empfängt zunächst den ganzen Frame (speichert diesen; "Store"), trifft wie gehabt seine Forwarding-Entscheidung anhand der Ziel-MAC-Adresse und berechnet dann eine Prüfsumme über den Frame, die er mit dem am Ende des Pakets gespeicherten CRC-Wert vergleicht. Sollten sich Differenzen ergeben, wird das Frame verworfen. Auf diese Weise verbreiten sich keine fehlerhaften Frames im lokalen Netzwerk. Store-and-Forward ist die einzig mögliche Methode zu switchen, wenn Sender und Empfänger mit verschiedenen Übertragungsgeschwindigkeiten oder Duplex-Modi arbeiten oder sie verschiedene Übertragungsmedien nutzen.
- Fragment-Free – Schneller als Store-and-Forward, aber langsamer als Cut-Through. Anzutreffen vor allem bei besseren Switches. Prüft, ob ein Frame die im Ethernet-Standard geforderte minimale Länge von 64 Bytes erreicht und schickt es dann sofort auf den Zielport, ohne eine CRC-Prüfung durchzuführen. Fragmente unter 64 Byte sind meist „Trümmer“ einer Kollision, die kein sinnvolles Paket mehr ergeben.
- Error-Free-Cut-Through / Adaptive Switching – Eine Mischung aus mehreren der obigen Methoden. Wird ebenfalls meist nur von teureren Switches implementiert. Der Switch arbeitet zunächst im „Cut through“-Modus und schickt das Frame auf dem korrekten Port weiter ins LAN. Es wird jedoch eine Kopie des Frames im Speicher behalten, über das dann eine Prüfsumme berechnet wird. Sollte sie nicht mit der im Frame übereinstimmen, so kann der Switch dem defekten Frame zwar nicht mehr hinterhersignalisieren, dass es falsch ist, aber er kann einen internen Counter mit der Fehlerrate pro Zeiteinheit hochzählen. Wenn zu viele Fehler in kurzer Zeit auftreten, fällt der Switch in den Store and Forward-Modus zurück. Wenn die Fehlerrate wieder niedrig genug ist, schaltet er in den Cut through-Modus um. Ebenso kann der Switch temporär in den Fragment-Free-Modus schalten, wenn zuviele Fragmente mit weniger als 64 Byte Länge ankommen. Besitzen Sender und Empfänger unterschiedliche Übertragungsgeschwindigkeiten oder Duplex-Modi bzw. nutzen andere Übertragungsmedien (Glasfaser auf Kupfer), so muss ebenfalls mit Store-and-Forward Technik geswitcht werden.
Mehrere Switches in einem Netzwerk
Um mehrere Switches in einem Netzwerk zu verwenden, werden die beiden Switches über einen Uplinkport miteinander verbunden. Um die Geschwindigkeit zu steigern wird zwischen Switches auch häufig das Trunken von 2 oder mehreren Leitungen für die Verbindung von Switches verwendet.
Auch kann zur Steigerung der Ausfallsicherheit eine redundante Verbindung aufgebaut werden, dazu wird jedoch noch das Spanning Tree Protocol benötigt um Schleifen im Netzwerk auszuschließen.
Desweiteren wird, um aus mehreren kleinen Switches einen Switch mit höherer Portdichte zu erstellen, oft Stacking verwendet. Hierbei werden die Switches mit einem speziellen Stack Kabel miteinander verbunden. Eine Stackingverbindung ist die schnellste Verbindung zwischen mehreren Switches, allerdings kann diese auch teurer sein als gewöhnliche Uplinks und es unterstützen nicht alle Switches das Stacking.
Vorteile
Switches haben folgende Vorteile:
- Wenn zwei Netzteilnehmer gleichzeitig senden, gibt es keine Datenkollision (vgl. CSMA/CD), da der Switch intern über die Backplane beide Sendungen gleichzeitig übermitteln kann. Sollten an einem Port die Daten schneller ankommen, als sie über das Netz weitergesendet werden können, werden die Daten gepuffert. Wenn möglich wird Flow Control benutzt, um den/die Sender zu einem langsameren Verschicken der Daten aufzufordern. Hat man 8 Rechner über ein 8-Port Switch verbunden und jeweils zwei senden untereinander mit voller Geschwindigkeit Daten, so dass 4 Full-Duplex Verbindungen zustande kommen, so hat man rechnerisch die 8 fache Geschwindigkeit eines entsprechenden Hubs, bei dem sich alle Geräte die maximale Bandbreite teilen. Nämlich 4 × 200 Mbit/s im Gegensatz zu 100 Mbit/s. Zwei Aspekte sprechen jedoch gegen diese Rechnung: Zum einen sind die internen Prozessoren nicht darauf ausgelegt, alle Ports mit voller Geschwindigkeit zu bedienen, zum anderen wird auch ein Hub mit mehreren Rechnern nie 100 Mbit/s erreichen, da umso mehr Kollisionen entstehen, je mehr das Netzwerk ausgelastet ist, was die Bandbreite wiederum drosselt.
- Der Switch zeichnet in einer Tabelle auf, welche Station über welchen Port erreicht werden kann. Hierzu werden im laufenden Betrieb die Absender-MAC-Adressen der durchgeleiteten Frames gespeichert. So werden Daten nur an den Port weitergeleitet, an dem sich tatsächlich der Empfänger befindet. Pakete mit unbekannter Ziel-MAC-Adresse werden wie Broadcasts behandelt und an alle Ports mit Ausnahme des Quellport weitergeleitet.
- Der Voll-Duplex-Modus kann benutzt werden, so dass an einem Port gleichzeitig Daten gesendet und empfangen werden können, wodurch die Übertragungsrate verdoppelt wird. Da in diesem Fall auch Kollisionen nicht mehr möglich sind, wird die Übertragungsrate jedoch nochmals erhöht.
- An jedem Port kann unabhängig die Geschwindigkeit und der Duplex-Modus ausgehandelt werden.
- Zwei oder mehr physikalische Ports können zu einem logischen Port (HP: Trunk, Cisco: Etherchannel) zusammengefasst werden um die Bandbreite zu steigern, dies kann über statische oder dynamische Verfahren, z. B. LACP oder PAgP, erfolgen.
- Ein physikalischer Switch kann durch VLANs in mehrere logische Switches unterteilt werden. VLANs können über mehrere Switches hinweg aufgespannt werden (IEEE 802.1q).
Nachteile
- Ein Nachteil von Switches ist, dass ein Netz nicht mehr so einfach zu debuggen ist, da Pakete nicht mehr auf allen Strängen im Netz sichtbar sind, sondern im Idealfall nur auf denjenigen, die tatsächlich zum Ziel führen. Um dem Administrator trotzdem die Beobachtung von Traffic zu ermöglichen, beherrschen bessere Switches Port Mirroring. Der Administrator loggt sich dazu auf dem (verwaltbaren) Switch ein und teilt diesem mit, welche Ports er beobachten möchte. Der Switch schickt dann Kopien von Paketen der beobachteten Ports an den Rechner des Beobachters, wo sie z. B. von einem Sniffer aufgezeichnet werden können. Um das Port Mirroring zu standardisieren, wurde das SMON-Protokoll entwickelt, das in RFC 2613 beschrieben ist.
- Ein weiterer Nachteil liegt in der Latenzzeit, die bei Switches weitaus höher ist als bei Hubs. Wo bei einem Hub ein einkommendes Signal einfach an alle Netzteilnehmer weitergeleitet wird, muss der Switch erst anhand seiner MAC-Adress-Tabelle den richtigen Ausgangsport finden; dies spart zwar Bandbreite, kostet aber Zeit.
Sicherheit
Es gibt jedoch auch Methoden, um den Datenverkehr anderer Leute mitzuschneiden, ohne dass der Switch kooperiert:
- MAC-Flooding – der Speicherplatz, in dem sich der Switch die am jeweiligen Port hängenden MAC-Adressen merkt, ist begrenzt. Dies macht man sich beim MAC-Flooding zu Nutze, indem man den Switch mit gefälschten MAC-Adressen überlädt, bis dessen Speicher voll ist. In diesem Fall schaltet der Switch in einen Failopen-Modus, wobei er sich wieder wie ein Hub verhält und alle Pakete an alle Ports weiterleitet. Verschiedene Hersteller haben – wieder fast ausschließlich bei Switches der mittleren bis hohen Preisklasse – Schutzmaßnahmen gegen MAC-Flooding implementiert. Als weitere Sicherheitsmaßnahme kann für einen Port eine Liste mit zugelassenen Absender-MAC-Adressen angelegt werden. Datenpakete mit nicht zugelassener Absender-MAC-Adresse werden nicht weitergeleitet und können das Abschalten des betreffenden Ports bewirken.
- ARP-Spoofing – hierbei macht sich der Angreifer eine Schwäche im Design des ARP-Protokolls zu Nutze, welches zur Auflösung von IP-Adressen zu Ethernet-Adressen verwendet wird. Ein Rechner, der ein Paket via Ethernet versenden möchte, muss die Ziel MAC-Adresse kennen. Diese wird mittels ARP erfragt (ARP-Request Broadcast). Antwortet der Angreifer nun mit einer gefälschten MAC-Adresse (nicht mit seiner eigenen, daher die Bezeichnung Spoofing) zur erfragten IP, so wird das Opfer seine Netzwerkpakete an den Angreifer senden, welcher sie nun lesen und gegebenenfalls an die ursprüngliche Zielstation weiterleiten kann. Hierbei handelt es sich zwar nicht um einen Fehler des Switches, doch die Methode setzt die Sicherheitseigenschaft des Switches, nur eigene Pakete zu sehen, außer Kraft.
- Der Switch gliedert sich der sternförmigen Netzwerktopologie unter, für ein Netzwerk stellt er einen zentralen Zusammenschluss eines (Sub)Netzes dar. Fällt ein Switch aus, ist die Kommunikation zwischen allen Teilnehmern im (Sub)Netz unterbrochen.(Der Switch ist hier der Single-Point of Failure)
Siehe auch: Spanning Tree Protocol, VLAN (Virtual Local Area Network), Router, Brouter, Bridge, Repeater, Hub, Layer-3 Switch
Kenngrößen
- Forwarding Rate (Durchleitrate): gibt an, wie viele Pakete pro Sekunde eingelesen, bearbeitet und weitergeleitet werden können
- Filter Rate (Filterrate): Anzahl der Pakete die pro Sekunde bearbeitet werden
- Anzahl der verwaltbaren MAC-Adressen
- Backplanedurchsatz (Switching fabric): Kapazität der Busse innerhalb des Switches
Weblinks
- RFC 2613 – Remote Network Monitoring MIB Extensions for Switched Networks Version 1.0
Netzwerkgerät
Switch | Commutador | Switch | Netværksswitch | Network switch | Switch | Kytkin (tietoliikenne) | Commutateur réseau | מיתוג | Switch | スイッチングハブ | Switch (hardware) | Switch | Switch | Comutador (redes) | Сетевой коммутатор | Omrežno stikalo | Switch | Switch