aus dem Netzwerk Insider April 2024
Nun, vielleicht nicht in aller Munde, aber doch in vielen Köpfen. Inzwischen habe ich in mehreren Kundenprojekten mit Fabrics zu tun und meine Kollegen auch. Also: „Wat is en Fäbrik?“ könnte der Rheinländer fragen. Ich versuche es wie folgt: Eine Fabric ist eine Gruppe von Switches, die von außen betrachtet wie ein einzelner verteilt aufgebauter Switch wirkt.
Intern besteht die Fabric aus zwei Elementen:
- Das so genannte Underlay ist ein Netzwerk aus Switches. Pakete werden darin wie üblich vermittelt, also entweder auf Basis der MAC-Adressen und entsprechender Adresstabellen (Layer-2 Switching) oder auf Basis von IP-Adressen und Routing-Tabellen (Layer-3 Switching). In Rechenzentren werden zu diesem Zweck gerne so genannte Spine-Leaf-Strukturen aufgebaut.
- Über diese Infrastruktur wird ein „Overlay“ gelegt, das Benutzerdaten durch das Underlay hindurch tunnelt. Das Overlay vermittelt entweder MAC-Pakete oder IP-Pakete zwischen den Tunnel-Endpunkten.
Würde man in Underlay an einem beliebigen Link zwischen zwei Switches Pakete aufzeichnen, sähe man ein in ein anderes verschachteltes Paket. Also z.B. ein MAC-Paket als Nutzlast eines IP-Pakets. Oder IP in IP oder MAC in MAC.
Solche Overlay-Netze gibt es schon lange. Denken Sie nur an das Multi-Protocol Label Switching (MPLS): Ein Provider betreibt ein ausgedehntes IP-Netz. Er stellt seinen Kunden Anschlüsse zur Verfügung, über die diese ihre Standorte verbinden. Jedem Kunden-Standort ist ein eindeutiges IP-Netz zugeordnet. Aus Sicht des Kunden verhält sich das Providernetz wie ein Router zwischen den Standorten (genau genommen wie zwei Router, Ingress und Egress, wie mit traceroute feststellbar). Ein zweiter Kunde könnte seine Standorte über denselben Provider verbinden lassen, ohne mit Endgeräten des ersten Kunden kommunizieren zu können. Seine Standorte könnten sogar dieselben IP-Netze nutzen, wie die der anderen Kunden.
Die Nutzung von Overlays hat mindestens zwei Vorteile:
- Jedes Overlay ist ein unabhängiges Netz. Man könnte es als Sicherheitszone oder als Mandant ansehen. Ein Datenaustausch zwischen den Overlays ist ohne weiteres nicht möglich.
- Die Konfiguration des Overlays erfolgt ausschließlich über die Endpunkte (Edge Provisioning). Die Wegewahl zwischen den Tunnel-Endpunkten wird von Underlay mit Hilfe von Routing-Protokollen geleistet.
Letztlich vereinfacht sich dadurch die Konfiguration ausgedehnter Mandanten-Netze und/oder Sicherheitszonen erheblich. Eine Fabric verfügt überdies in der Regel über ein komfortables Configuration Management. Vergleichen Sie es mit dem Aufwand, den man für die Einrichtung mehrerer Mandanten mittels Virtual Routing and Forwarding (VRF) benötigte.
Zurück zur anfänglichen Frage: „Wat is en Fäbrik?“ Einschränkend bezeichnet man als Fabric ein Layer-2 Overlay. Es werden also MAC-Pakete über Switches geroutet. Das Underlay kann entweder Layer-2 sein, in der Regel Shortest Path Bridging MAC (SPBM). Oder es handelt sich um ein Layer-3 Underlay. Dafür gib es Encapsulation-Formate, wie z.B. Virtual Extensible LAN (VXLAN), Generic Network Virtualization Encapsulation (Geneve) oder Network Virtualization using Generic Routing Encapsulation (NVGRE).
Die genannten Protokolle werden dazu gebraucht, Daten zwischen Endgeräten der Mandanten auszutauschen (Data Plane). Die Wegewahl ist Aufgabe der Control Plane. Hierfür werden gerne Routing-Protokolle eingesetzt, die neben IP auch MAC-Adressen als Ziel unterstützen, allen voran das Intermediate System – Intermediate System (IS-IS). Auch das Multi-Protocol Border Gateway Protocol (MP-BGP) wird dafür genutzt oder gar das Locator Identifier Separation Protocol (LISP).
Die damit aufgebaute Fabric vermittelt also MAC-Pakete zwischen beliebigen Endpunkten. Der ganze Switch-Haufen sieht von außen aus wie ein einzelner Layer 2 Switch mit verteilten Ports; und das bei Bedarf sogar über mehrere Standorte verteilt. Sie können darauf eine große Menge VLANs konfigurieren, meist um Größenordnungen mehr als die 212 VLANs normaler Switches.
Leider kommt man damit noch nicht sehr weit. Es fehlen die Routing-Instanzen zur Kopplung der VLANs. Irgendwie erwarte ich, dass es diese Routing-Instanzen in meiner Fabric gibt, so als wäre die Fabric in Wirklichkeit ein großer Layer-2/3 Switch.
Tatsächlich haben die Hersteller von Fabrics so etwas implementiert, jedoch anders als ich es erwartet hatte. Die Routing-Instanzen (für die Data Plane) sind nämlich nicht „freischwebend“ in der Fabric verteilt. Stattdessen befinden sie sich auf bestimmten physischen Switches (gerne auf Leafs) und sind über Tunnel-Endpunkte mit der Data Plane der Fabric verbunden.
Mit anderen Worten: In einer Fabric erfolgt das Layer-2 Forwarding optimiert mittels MAC Routing. Das Subnetz-übergreifende IP Routing geschieht dagegen in der Regel auf dedizierten Switches. Der Traffic muss also erst durch das Overlay bis zur Routing-Instanz geführt und von dort zum Ziel geleitet werden, Manchmal ergibt sich ein Datenpfad, der die Form einer Haarnadel hat. „Hairpinning“ nennen das die Angelsachsen.
Das Konzept kann zu weiteren Problemen führen, wie ich bei einem Kunden erleben musste. Die Fabric sollte über OSPF-Routen von einer Firewall lernen und diese dann ihrerseits per OSPF in ein LAN propagieren. Das hat nicht funktioniert, und wir haben die Ursache bisher nicht herausgefunden (haben Sie eine Idee?). Die Lösung war letztlich, statische Routen zu konfigurieren.
Fazit: Es ist nicht alles Gold was glänzt. Fabrics sind so komplex und immer noch so neu, dass der vermeintliche Vorteil eines einfachen Betriebs durch komplexeres Trouble Shooting zunichtegemacht wird. Mal ganz abgesehen davon, dass Sie bei der Konfiguration die gewohnten Denkmuster verlassen und einiges neu lernen müssen. Nicht zuletzt hängen Sie für lange Zeit am Fliegenfänger des Fabric-Herstellers.
Überlegen Sie also gut, ob es wirklich eine Fabric sein muss. Wie viele Sicherheitszonen und Mandanten erwarten Sie? Könnte man es nicht auch herkömmlich lösen? Kann stattdessen der Hypervisor Ihrer Wahl Overlays bereitstellen?
Und wenn doch, dann konzipieren Sie Ihre Fabric so einfach wie möglich. Vielleicht beschränken Sie sich zunächst auf die Implementierung von VLANs und überlassen das IP Routing der externen Firewall. Besser ein wenig „Hairpinning“ als eine fehlgeschlagene Migration…