4 Segmentierung mit Bridges / Switches
4.1 Funktionsweise einer Bridge / eines Switch:
4.4.4 Wahl des Designated Port
4.4.5 Designvorgaben beim Spanning Tree
4.5.1 Verbindung mehrerer Switches für die Erstellung von VLANs
4.5.2 Zuweisen eines PCs zu einem VLAN:
4.5.2 Konfiguration eines VLAN (hier im Beispiel auf einem CISCO LSW2950):
Mit zunehmender Anzahl von Clients in einer Collision Domain steigt die Anzahl der Kollisionen und damit sinkt die Effizienz des Netzwerks.
Lösung: Segmentierung des Netzwerks in kleinere Collision Domains. Dadurch steigt auch die verfügbare Bandbreite pro Station.
Switches/Bridges führen eine Tabelle mit MAC - Adressen und der Nummer des dazugehörigen Ports.
Forwarding-Modus (Filter-Modus):
Zuerst werden Pakete auf Gültigkeit geprüft (Fehlerhafte Pakete werden weggeworfen).
Dann wird auf die Zieladresse (MAC Adresse) überprüft und das Paket weitergeleitet, falls es auf einen anderen Port gehört (sonst ist das Paket bereits in der richtigen Domain).
Falls die Zieladresse nicht bekannt ist, wird das Paket an alle Ports außer dem Quellport weitergesandt.
Wenn die Sendeadresse nicht bekannt ist, wird sie in die Tabelle aufgenommen.
Der Switch ist eine Weiterentwicklung der Bridge und wird daher auch als Multiport-Bridge bezeichnet. Switches funktionieren auf Basis der Hardware und sind dadurch schneller. Die Backplain (der interne Bus) ist leistungsfähiger als bei der Bridge und dadurch sind mehr Ports möglich. Der Switch ermöglicht auf Grund der Portanzahl einen Full-Duplex Betrieb.
Die Backplain muss sehr schnell sein – bei 96 Ports mit je 100MBit/s benötigen wir einen Backplain mit einer Bandbreite von 9,6 GBit/s.
Das Paket wird angenommen, gespeichert und dann weitergesandt. Während das Paket gespeichert ist, ist eine Fehlererkennung möglich.
Nachteil: Verzögerung (bei 1500Byte Packetgröße ca. 0,12ms).
Nach Empfang des Headers wird das Datenpaket sofort weitergeleitet. Dadurch ist dieser Modus schneller als der Store & Forward Modus (siehe 4.2.1).
Nachteile des Cut-Through Modus:
Die ersten 64 Byte werden abgewartet und erst dann weitergeleitet. Da eine Kollision immer nur vor 64 Byte auftreten kann, werden somit Fragmente (= durch Kollisionen zerstörte Pakete) ausgefiltert.
Moderne Switches verwenden einen „Adaptive Mode“. Das heißt, der Switch beginnt die Datenübertragung im Store & Forward Mode. Die Anzahl der fehlerhaften Pakete wird protokolliert und beim Unterschreiten eines Grenzwertes wird automatisch in den Cut-Through Modus geschalten. Während dieser Betriebsart wird laufend eine Überprüfung der Fehlerrate durchgenommen (jedes x. paket wird in einem buffer gespeichert und nachher überprüft ob ein Fehler aufgetreten ist).
Ein vollgeswitchtes Netz. Pro Port 1 PC.
Beschreibung:
PC’s sind mit 100MBit Kabel an die Switches in der Access-Schicht angeschlossen. Die Switches hängen an einem weiteren Switch, verbunden mit 1GBit Kabel. Die Server hängen am Backbone-Switch.
Probleme:
Falls eine der Backbone-Leitungen ausfällt, steht das ganze Teilnetz.
Lösung:
Redundante Leitungen. Dadurch wird jedes Paket 2 mal zugestellt. Auf Layer 4
wird das doppelte Paket anhand der Sequence Number erkannt und weggeworfen.
Problem damit: Broadcasts werden im Netz vervielfältigt und legen das Netz lahm! Diesen Effekt nennt man Broadcast-Storm. Abhilfe: Eine Schleife wird dynamisch erkannt und ein Port wird geblockt. Das Erkennen der Schleife erfolgt mit dem Spanning Tree Algorithmus.
Spanning Tree ist ein Algorithmus, der dazu dient, Schleifen in einem Netz zu erkennen. Das Erkennen solcher Schleifen erfolgt über die so genannten BPDU-Pakete (Bridge Packet Data Unit). Diese Pakete werden alle 2 Sekunden ausgesandt und dienen zum Aufbau eines logischen Baums (Spanning Tree). An der Wurzel dieses logischen Baumes steht die Root Bridge. Der Port an der von der Root Bridge am „weitesten entfernten“ Stelle geht in den Blocking Zustand.
Jeder Leitung werden dazu „Kosten“ zugeteilt. Diese Kosten sollen repräsentieren, wie schnell oder langsam eine Leitung ist. Hohe Kosten = langsamere Leitung. Dadurch wird verhindert, dass z.b. eine 1Gbit/s Leitung geblockt wird und der gesamte Verkehr über eine 100Mbit/s abgefertigt werden muss. Wenn wir also sagen dass jener Port, der am „weitesten“ von der Root Bridge entfernt ist geblockt wird, meinen wird dass der Port von den Kosten her gesehen „teuersten“ Stelle des Netzwerks gesperrt wird.
Wir sprechen in diesem Zusammenhang immer von Bridges. Alles gilt natürlich genauso für Switches.
BPDU steht für Bridge Packet Data Unit. BPDU Pakete enthalten folgende Informationen:
Es wird jene Bridge Root Bridge, die die geringste Bridge-ID hat. Die Bridge-ID setzt sich zusammen aus:
Priorität (konfigurierbar) + MAC-Adresse
Default-Wert für die Priorität ist 32767. Eine geringere Zahl repräsentiert eine höhere Priorität.
Die Kosten werden für jeden Port an den Bridges einzeln geführt. Eine 100MBit Leitung hat per Standard Kosten von 100, eine 1GBit Leitung Kosten von 10. Die Leitung mit den höchsten Kosten wird am Ende geblockt.
Beim Start bestimmt sich jede Bridge selbst als Root-Bridge und sendet mit diesen Informationen BPDU-Pakete aus. Empfängt die Bridge ein Paket von einer anderen Bridge, die eine höhere Priorität hat, so stoppt die Bridge die Aussendung der eigenen BPDU-Pakete und sendet die empfangenen Pakete weiter. Vor der Aussendung der Pakete werden die konfigurierten Kosten am Eingangsport zu denen im Paket addiert (Damit zeichnet das Paket die gesamten Leitungskosten von der Rootbridge zur aktuellen Position auf). Am Ende der Wahl bleibt nur eine Root-Bridge übrig und nur diese erstellt neue BPDU-Pakete.
Jede Nicht-Root-Bridge empfängt mehrere verschiedene BPDU-Pakete an Ihren Eingängen. Der Eingang mit den geringeren Kosten zur Root-Bridge wird Root-Port. Die Bridge sendet nun nur mehr jene Pakete weiter, die am Root-Port empfangen wurden. Der Root-Port selbst ist immer im forwarding-Zustand. Damit werden nach Abschluss der Konfiguration nur mehr Pakete von der Root-Bridge verschickt und nur mehr in eine Richtung weitergeleitet. Es gibt immer 1 Segment in einem Netzwerk, an dem 2 Pakete existieren. Es wird aber nur eines dieser beiden Pakete weitergeleitet (und zwar jenes mit den geringeren Kosten).
Es gibt nun 2 Bridges, die an dem Segment, in dem 2 Pakete existieren, hängen. Die Bridge sendet und empfängt BPDU-Pakete am gleichen Port. Es wird jener Port der „Designated Port“, an dem die Pakete mit den geringeren Kosten ausgesandt werden.
Der Port mit den höheren Kosten geht in den Blocking Zustand. Dies bedeutet, dass keine Daten empfangen oder ausgesandt werden – mit Ausnahme der BPDU Pakete.
Als Administrator kann man mit der Konfiguration den Blocking Port beeinflussen. Folgende Vorgaben sind zu berücksichtigen:
1) Der CORE Switch sollte auch Root-Bridge werden (damit die physikalische der logischen Struktur ähnelt)
2) Die Kosten sollten so vergeben werden, dass die langsamste Verbindung in den Blocking Zustand geht
Eine schlechte Konfiguration kann zum Blocken einer falschen Leitung führen und das Netzwerk erheblich verlangsamen!
Beispiel:
Der Schritt von Blocking auf Freischalten erfolgt in 4 Teilschritten:
Diese langen Pausen lassen sich auch abschalten (Fast-Forwarding Modus), dies ist jedoch auch mit Nachteilen verbunden.
SpanningTree Protokoll:
802.1d
Konfiguration von Bridge Priority und Kosten
Pro Netzwerk 1 Root Bridge
Pro Bridge 1 Root Port
Pro Segment 1 Designated Port

Die Abkürzung VLAN steht für Virtuelles LAN. An einem Switch lassen sich mehrere VLANs einrichten – also praktisch das Netzwerk weiter unterteilen. Jedes VLAN ist eine eigene Broadcast Domain.
Vorteile:
Wie erstellt man VLANs, die sich über mehrere Switches erstrecken?
<<ILLUSTRATION>>
Dafür gibt es grundsätzlich 2 Varianten:
Für jedes VLAN wird zwischen den beteiligten Switches eine Verbindung gelegt. Dadurch ergibt sich ein schnelles und vom Konzept her einfaches Netzwerk. Allerdings benötigen wir für jedes VLAN auf jedem Switch einen Port – und das ist sehr kostenintensiv.
Die Switches werden untereinander verbunden und die Kommunikation erfolgt via Trunk Protokoll. Die Aufgabe des Trunk Protokolls ist es, jedem Datenpaket eine zusätzliche Information anzuhängen: Nämlich eine VLAN-ID, die angibt, zu welchem VLAN das Paket gehört. Diese Information wird vom sendenden Switch (in Abb. 2.3.5.1.2a der Switch A) an das Paket angefügt und vom Empfänger (in Abb. 2.3.5.1.2b der Switch B) wieder entfernt. Die PCs in den VLANs sehen diese Information selbstverständlich nie.
Der Switch verwaltet pro VLAN eine Tabelle mit MAC Adressen, sowie einen Spanning Tree Algorithmus.
<<ILLUSTRATION>>
Dazu wird ISL Encupsulation verwendet. Der Header hat 26 Byte, dann kommt das Ethernet frame und danach eine 4 Byte große Checksumme (CRC). ISL ist CISCO-proprietär!
<<ILLUSTRATION>>
Alternativ dazu gibt es einen Standard, den IEEE 802.1q, bei dem die Information für das VLAN auf Layer 2 eingefügt werden. Das sieht dann so aus:


Man erspart sich damit die zusätzliche Checksumme.
Laut CISCO ist die Latency bei der ISL Encapsulation geringer, weil der Zugriff auf die VLAN Info schneller gegeben ist.
Es gibt 2 Möglichkeiten, einen PC einem VLAN zuzuordnen:
Man weist einem Port fix ein VLAN zu.
Die Zuordnung wird mittels VLAN Membership Server durchgeführt. Dieser Server verwaltet eine Tabelle, in der MAC-Adressen mit VLANs verknüpft sind.
<<ILLUSTRATION>>
i.
Trunk:
SW(conf_if)#switchport mode trunk
ii.
Zugangsport:
SW(conf_if)#switchport mode access
Um auch zwischen den VLANs kommunzieren zu können, benötigen wir einen Router. Anstatt für jedes VLAN eine Verbindung zu einem Router aufzubauen (sehr teuer), legen wir wieder eine einzige Verbindung und arbeiten dort mit dem TRUNK-Protokoll. Ein so verbundener Router wird auch „Router on a stick“ genannt.
Am Router wird dann ein physikalisches Interface in mehrere logische aufgeteilt.
<<ILLUSTRATION>>
Um am Router ein logisches Interface zu definieren, verwenden wir folgenden Befehl:
R(config)#interface fa0/0.1
R(config-subif)#encapsulation <dot1q oder isl>
R(config-subif)#ip address <ADDRESS> <SUBNET>
Damit man in einem großen Netzwerk die VLAN’s nicht auf jedem Switch manuell konfigurieren muss, gibt es VTP. Ein Switch wird als VTP Server definiert. Dieser Switch sendet periodisch (alle 5 Minuten) oder bei einer Änderung die Informationen über die VLAN’s über die Trunkports an die anderen Switches.
Switches, die als VTP Client konfiguriert sind, empfangen die VTP Pakete und übernehmen die empfangene Konfiguration. An den VTP Clients lassen sich keine VLAN’s erstellen.
Switches im VTP Transparent Mode übernehmen die empfangene Konfiguration, hier lassen sich aber auch neue VLAN’s erstellen. Die hier erstellten VLAN’s werden nicht an die anderen Switches weitergeleitet.
Beim VTP Prunning wird die verfügbare Bandbreite erhöht, indem der nichtbenötigter Datenverkehr reduziert wird.
Das funktioniert wie folgt:
Ein Switch höherer Ebene weiß welche VLAN’s der untergeordnete Switch kennt. Beispiel: Der Switch ganz oben kennt die VLANs 2, 4, 6 und 8. Ein Switch darunter kennt nur die VLANs 4 und 8. Traffic für die VLANs 2 und 6 wird also vom untergeordneten Switch nicht benötigt und wird deshalb vom oberen Switch gar nicht an in versandt.
Auch Broadcasts werden dabei nicht weitergesendet!
PRRU Skriptum – Kapitel 4
Dies ist ein Teil des PRRU Skriptums von Markus Wilthaner und anderen Autoren. Bitte die Hinweise zum Copyright unter http://school.wilth.net/prru/ beachten.
E-Mail: contact@wilth.net