Networking ohne "Switching Loops": So bauen Sie skalierbare Topologien

Beim Design von reinen Layer2-Netzwerken, wie sie weitläufig im Einsatz sind, steht man grundsätzlich vor ein und demselben Problem. Zum einen muss man – um dem Effekt eines „Switching Loops“ und damit einer Überlastung des Netzwerks vorzubeugen – zwingend darauf achten, dass zwei LAN-Switches mit nur einem Link untereinander verbunden sind. Zum anderen ist es erstrebenswert, auch mehrere redundante Links untereinander zu haben, um die Ausfallwahrscheinlichkeit zu verringern. Um diese Aufgabe zu bewältigen, gibt es verschiedene Lösungsansätze.
Zum Vergleich der Lösungsansätze soll dieses Topologieschema dienen:

Spanning Tree

Das in den 80er Jahren von der amerikanischen Softwareentwicklerin Radia Perlman entworfene Verfahren „Spanning Tree“ gehört wohl zu den bekanntesten Protokollen im Netzwerk-Umfeld. Spanning Tree nutzt ein Verfahren, mittels dem in einem vollvermaschten Netzwerk redundante Links erkannt und deaktiviert werden. So entsteht aus einem vollvermaschten Netzwerk eine logische Stern- oder Baumarchitektur. Hier wird auf Basis von „Kosten“ entschieden, welche Links bevorzugt deaktiviert werden. Diese „Kosten“ beziehen sich üblicherweise auf die Geschwindigkeit des Links. Der Sternmittelpunkt – bzw. die Wurzel des Baumes – ist die sogenannte „Root Bridge“. Im Rahmen der Root Bridge sind alle Links aktiv und keine Ports geblockt.

In unserem Beispiel ist der Switch 1 die Root Bridge. Die Links zwischen den Switches 2 und 5 sowie 3 und 4 sind im Spanning-Tree blockiert und werden nicht genutzt.
Auch wenn in den allermeisten LAN-Strukturen weltweit Spanning-Tree zum Einsatz kommt, hat dieses Verfahren entscheidende Nachteile. Dieses Protokoll ist selbst mit modernen Erweiterungen wie Rapid-Spanning-Tree nicht sehr schnell und anfällig für häufige Topologieänderungen wie sie beispielsweise bei „flappenden“ Links entstehen. Zudem sind Links immer nur entweder nutzbar oder geblockt, wodurch vorhandene Leitungskapazitäten für den Großteil der Zeit ungenutzt bleiben.
 

„Link-Bundeling“ nach 802.1ad

Ein gerade bei Campus-Netzwerken sehr beliebtes Verfahren ist das sogenannte „Link-Bundeling“. Hier werden zwei oder mehrere physikalische Links zu einem logischen Link zusammengefasst. Dieses Verfahren ist auch unter den Begriffen „Ether Channel“, „Link Aggregation“, oder „Trunking“ bekannt. Da sich das MAC-Address-Learning immer auf den logischen Link bezieht, kommt es bei solch einem Link-Bundle zu keinem Switching Loop. Weiterhin ergibt sich der Vorteil, dass alle physikalischen Links gleichzeitig genutzt werden können. Es findet also ein „Load-Sharing“ statt. Viele Switch-Hersteller bieten mittlerweile bereits bei Geräten im Einstiegsbereich – z.B. bei den im vergangenen Newsletter vorgestellten „Cisco Small Business“ Produkten – die Möglichkeit, einzelne Komponenten zu einem Switchverbund zu kombinieren, was auch als „Stacking“ bezeichnet wird. So kann ein Link-Bundle auf mehrere physikalische Switches bzw. ein Switch in einem Etagenverteiler auf zwei unterschiedliche Geräte im zentralen Serverraum verteilt werden, wodurch man auch für den Fall eines zentralen Switch-Ausfalls gewappnet ist und im Normalfall die gesamten zur Verfügung stehenden Portkapazitäten nutzen kann.

In diesem Bild befinden sich die Switches 1 und 2 in einem logischen „Stack“, die Switches 3, 4 und 5 sind jeweils mit zwei redundanten Verbindungen an diesen Stack angebunden.
Auch wenn dies eine elegante Variante ist, ein Netzwerk aufzubauen, unterliegt dieses Verfahren gewissen Einschränkungen. Der optimale Netzaufbau sieht hier vor, dass jeder einzelne Access Switch mit mindestens zwei Links an einen zentralen Switch-Stack herangeführt wird. Gerade im Rahmen von weitläufigen Firmenkomplexen oder in verwinkelten Büroräumen ist dies nicht immer oder nur mit einem unverhältnismäßigen Aufwand möglich. Eine Mischform aus einem Netz mit Link-Bundeling und einzelnen Spanning-Tree-Zweigen ist nicht unüblich, bringt jedoch wieder die Nachteile des Spanning-Tree-Verfahrens in diesen Netzaufbau.
 

VPLS, VXLAN und TRILL

Gerade in großen Rechenzentrums- und Providernetzen kommt Spanning-Tree als Mechanismus kaum zum Einsatz. Selbst mit angepassten Methoden wie dem Rapid-Spanning-Tree kann es mehrere Sekunden dauern, bis ein Ausfall erkannt und alle Wege neu gelernt werden. Im Vergleich zu hochkonvergenten Layer3-Strukturen, die einen Link mit Hilfe von Mechanismen wie „BFD“ und „FastReroute“ innerhalb von 50ms ersetzen können, besitzen Unterbrechungen im Sekundenbereich natürlich eine deutlich höhere Auswirkung auf die im Netz bereitgestellten Applikationen.
Ein besonders bei Service-Providern beliebter Ansatz, ein Netz zu strukturieren, ist der Transport von Ethernet-Paketen über ein meist schon vorhandenes MPLS-Netz. MPLS ermöglicht Punkt-zu-Punkt- oder Punkt-zu-Mehrpunkt-Verbindungen für Ethernet-Pakete. Man spricht hier von „VPLS“ oder „Virtual Private LAN Services“. Die Wegewahl wird hier entweder durch das dem MPLS zugrunde liegenden Routingprotokoll (z.B. OSPF), oder durch MPLS-„Traffic-Engineering“-Mechanismen bestimmt. Dieses Verfahren ist ein technologisch weit verbreiteter und ausgereifter Mechanismus, den viele Serviceprovider seit etlichen Jahren zur Abbildung von Layer2-Services verwenden. Auch große Internetknoten wie die DE-CIX Apollon Plattform oder das AMS-IX nutzen VPLS als Grundlage für die Kommunikation zwischen den einzelnen Edge-Switches ihrer Infrastruktur. Dieses Verfahren besitzt die wohl höchste Kompatibilität unter den einzelnen Herstellern.
Einen ähnlichen Ansatz verfolgt das federführend durch den bekannten Softwarekonzern „VMware“ entwickelte VXLAN. VMware benutzt VXLAN unter anderem als Protokoll für die Virtualisierung von Netzwerken in ihrer „NSX“-Produktfamilie. Hier wird auf die MPLS Ebene verzichtet; das Ethernet-Frame wird in einem UDP-Datagramm mit dem Port 4789 verpackt. Das macht den Aufbau grundsätzlich einfacher, da auf die Impementierung von MPLS verzichtet werden kann. Auch muss die zum Einsatz kommende Switch-Hardware kein MPLS unterstützen, wodurch VXLAN oft bereits in einfachen Layer3-Switchen ein verfügbares Feature ist. Neben vielen anderen Herstellern unterstützt auch der Hersteller Cisco Systems VXLAN bereits schon auf Layer3-fähigen Campus-Access-Switches der Catalyst-Serie (wie beispielsweise beim Modell C3850).
Einen anderen und deutlich vereinfachten Ansatz verfolgt das nach IETF standardisierte „TRILL“ (TRansparent Interconnection of Lots of Links) oder das beim IEEE standardisierte „SPB“ (Shortest Path Bridging) 802.1aq. Ersteres wurde unter anderem ebenfalls von der bereits benannten Entwicklerin Radia Perlman entwickelt, die TRILL als Nachfolger des angestaubten Spanning-Tree-Protokolls sieht. Diese Netze sind auf Transportebene reine Ethernet-Strukturen, die ohne eine Virtualisierungsebene wie MPLS funktionieren und somit keinen Overhead besitzen. Im vergleich zu VPLS oder VXLAN werden die Ethernet-Frames also nicht in anderen Protokollen verpackt; es steht somit grundsätzlich eine höhere MTU zur Verfügung. Der wesentliche Unterschied liegt darin, dass die MAC-Address-Tabelle eines Switches nicht rein passiv auf der Data-Plane gelernt und gefüllt wird, sondern dass diese Aufgabe einem Link-State-Routingprotokoll überlassen wird. In beiden fällen kommt hier „IS-IS“ zum Einsatz. IS-IS berechnet, ähnlich wie das bekanntere OSPF, die kürzesten Wege zwischen zwei Switches über den Dijksta-Algorythmus und transportiert die MAC-Adress-Informationen direkt zwischen allen teilnehmenden Switches. So wird in einem vollvermaschten Netz immer der kürzeste Weg gewählt. Im Ansatz an den Begriff „IP-Routing“ spricht man hier auch von „MAC-Routing“.
Auch wenn TRILL vor über zehn Jahren als Spanning-Tree-Nachfolger erdacht und 2009 im RFC5556 definiert wurde, zeichnet sich leider der Durchbruch und der flächendeckende Einsatz dieser Technologie bislang nicht ab. Neben den beiden konkurrierenden Standards übernehmen einzelne Hersteller TRILL nur teilweise in eigenen proprietären Implementationen. Beispiele sind das „Fabric Path“ der Cisco Nexus-Modelle und das „Virtual Cluster Switching“ (VCS) bei Brocade. Ohne sich auf einen Hersteller oder eine Plattform festzulegen ist wohl der VPLS-Ansatz momentan die erste Wahl, wenn hochkonvergente und skalierbare Rechenzentrumsnetze realisiert werden sollen. Das noch recht junge VXLAN wird von immer mehr Herstellern unterstützt. Das Verfahren hat durchaus das Potenzial, eine relevante Technologie im Design modernen Rechenzentrums- und Campusnetzwerken zu werden.
Ihre weitergehenden Fragen zum Thema Netzwerk-Topologie beantworten wir auch gerne persönlich. Nehmen Sie Kontakt mit uns auf!
Bild: ©  faithie – Fotolia.com

EU Efre Dekra