Schnelle Routing-Konvergenz mit Contrail Networking
Was ist Konvergenz?
Konvergenz oder Routingkonvergenz ist ein Zustand, in dem eine Reihe von Routern in einem Netzwerk die gleichen topologischen Informationen teilen. Die Router im Netzwerk sammeln die Topologieinformationen über das Routing-Protokoll voneinander. Der Konvergenzstatus wird erreicht, wenn alle Router Routing-Informationen an alle Router im Netzwerk senden. Mit anderen Worten: In einem konvergenten Netzwerk kennen alle Router die Netzwerktopologie und die optimale Route zum Senden eines Pakets. Jede Änderung – z. B. der Ausfall eines Geräts – im Netzwerk wirkt sich auf die Konvergenz aus, bis Informationen über die Änderung an alle Router weitergegeben werden und die Konvergenz wieder erreicht ist. Die Zeit, die die Router im Netzwerk benötigen, um nach einer Änderung der Topologie Konvergenz zu erreichen, wird als Konvergenzzeit bezeichnet.
Netzwerkkonvergenz und schnelles Failover im Falle von Netzwerkausfällen sind für Hochleistungsnetzwerke von Service Providern, auf denen sensible Anwendungen ausgeführt werden, von entscheidender Bedeutung. Die Geschwindigkeit, mit der Konvergenz in einem Netzwerk erreicht wird, hängt von den folgenden Aktionen ab:
Erkennung: Ein Gerät erkennt einen Fehler in der Route. Korrekturmaßnahmen, d. h. das Identifizieren eines neuen Weiterleitungspfads, können erst ergriffen werden, nachdem das Gerät identifiziert wurde, das ausgefallen ist. Im Gegensatz zu einem physischen Netzwerk, in dem die Verfügbarkeit oder der Ausfall von Geräten durch Ereignisse identifiziert wird, wird in virtuellen Netzwerken die Erreichbarkeit des Geräts durch Keepalive-Meldungen hergestellt. Um eine schnelle Netzwerkkonvergenz zu erreichen, ist die Erkennungszeit – die Zeit, die benötigt wird, um Fehler zu erkennen – von großer Bedeutung und muss in akzeptablen Grenzen gehalten werden.
Lokale Reparatur: Sobald ein Geräteausfall in der primären Route erkannt wird, wird der Datenverkehr auf die Backup-Route umgeleitet. Zu diesem Zeitpunkt wird der Fehler oder die Änderung der Topologie nicht an alle Geräte im Netzwerk weitergegeben.
Globale Reparatur: Eine globale Reparatur oder Netzwerkkonvergenz liegt vor, wenn die Änderung der Topologie über Routing-Protokolle an alle Geräte im Netzwerk weitergegeben wird.
Die Verfügbarkeit von Services hängt von der Zeit ab, die für die Fehlererkennung und -behebung benötigt wird.
Schnelle Netzwerkkonvergenz in einem Netzwerk, das von Contrail Networking verwaltet wird
Contrail Networking bietet eine softwaredefinierte Netzwerklösung, die Netzwerkvirtualisierung auf Compute-Node-Ebene durch Overlay-Netzwerke ermöglicht. In einem softwaredefinierten Netzwerk können Fehler im Overlay oder im Underlay auftreten. Ein Fehler im Overlay kann der Ausfall einer virtuellen Maschine oder eines Pods sein. Der vRouter kann solche Fehler im Overlay mithilfe des Zustandsprüfungsmechanismus erkennen, beheben und an die Gateways weitergeben. Von den verschiedenen möglichen Fehlertypen im Underlay sind der Ausfall des SDN-Gateways und der Ausfall des Rechenknotens die kritischsten.
Die Funktion "Schnelle Konvergenz" verbessert die Konvergenzzeit bei Ausfällen in einem Cluster, der von Contrail Networking verwaltet wird. In einem typischen, von Contrail Networking verwalteten Netzwerk verbinden sich die Kundenendpunkte über MPLSoUDP-, GRE- oder VXLAN-Overlay-Tunnel vom Gateway-Gerät mit dem vRouter. Die vRouter stellen über die Fabric-Endpunkte eine Verbindung zum MPLS-Gateway her.
Das Fabric-Underlay-Routing hat sich dahingehend weiterentwickelt, dass die meisten Fabric-Underlay-Ausfälle, z. B. im Leaf oder Spine, in den Verbindungen, die Leaf und Spine oder Gateway und Spine, vRouter und Leaf verbinden, innerhalb kürzester Zeit effizient behoben werden können, ohne den Datenverkehrsfluss zu beeinträchtigen. Es gibt jedoch zwei Arten von Fehlern, die zu stillem Paketverlust führen können. Dabei handelt es sich um Fehler im vRouter und Fehler im Gateway-Gerät, die beide als Tunnelendpunktfehler bezeichnet werden.
Die Overlay-Tunnel werden vom Kontrollknoten verwaltet, der Routen zwischen den Tunnelendpunkten austauscht. Der Steuerungsknoten verwendet BGP für den Austausch von Routen mit den Gateway-Geräten und XMPP für den Austausch von Routen mit dem vRouter. Da in den Overlay-Tunneln keine Keepalive-Nachrichten ausgeführt werden, hängt der Steuerungsknoten vom Ablauf der BGP-Haltezeit ab, um Fehler bei der Northbound-Konnektivität zum Gateway zu diagnostizieren, und vom XMPP-Timeout für Fehler bei der Southbound-Konnektivität zum vRouter. Jeder Ausfall des Gateways kann zu einem stillen Paketverlust für bis zu 90 Sekunden führen, was dem Standardwert für die BGP-Haltezeit und den Ablauf entspricht. Dies liegt daran, dass der Steuerknoten den Gateway-Ausfall erst nach Ablauf der BGP-Haltezeit erkennen kann. Ebenso kann ein Fehler im vRouter zu einem stillen Paketverlust für bis zu 15 Sekunden führen, was der Standardwert für das XMPP-Timeout ist.
Abbildung 1 zeigt, was passiert, wenn der Gateway-Router ausfällt. Die BGP-Haltezeit läuft nach 90 Sekunden ab, da das Ziel nicht erreichbar ist, und dasselbe wird an den Kontrollknoten weitergegeben, der erkennt, dass der Gateway-Router ausgefallen ist. Dies führt zu einem stillen Paketverlust für 90 Sekunden, bis die Routing-Tabelle im Steuerknoten aktualisiert und die Konvergenz erreicht ist.

Abbildung 2 zeigt ein Szenario, in dem der vRouter ausfällt. Der Steuerknoten erfährt erst nach 15 Sekunden von dem vRouter-Ausfall, wenn die XMPP-Haltezeit abgelaufen ist. Während dieser 15 Sekunden wird der Datenverkehr verworfen, bis eine Konvergenz erreicht ist.

Ab Release 2008 unterstützt Contrail Networking schnelle Konvergenz. Die Funktion "Schnelle Konvergenz" reduziert die Konvergenzzeit im Falle eines Ausfalls eines Überlagerungsendpunkts. Die Contrail-Steuerungsebene reagiert auf die Änderungen im Underlay-Netzwerk und ergreift dann Maßnahmen, um schnell eine Konvergenz zu erreichen, wodurch die Konvergenzzeit reduziert wird, die in einem typischen Szenario erforderlich gewesen wäre, in dem die Steuerungsebene vom Ablauf der BGP-Haltezeit abhängt. In der Regel erfahren die Spines über das BFD- oder das Link-Down-Protokoll von Ausfällen am Tunnelendpunkt. Bei der schnellen Konvergenzfunktion gibt das Spine diese Informationen an den Contrail Controller weiter und entfernt den Tunnelendpunkt durch eine Aktualisierung der Routing-Tabelle vom Steuerknoten. Der Steuerknoten erkennt dies als Ausfall eines Tunnelendpunkts und leitet die Routing-Konvergenz ein. Um auf Fehler in nördlicher Richtung (Gateway-Ausfall) zu reagieren, führt der Steuerungsknoten eine Erreichbarkeitsprüfung des nächsten Hops durch, und sobald ein Fehler erkannt wird, initiiert die Steuerungsebene die Konvergenz. Um im Falle eines Southbound-Fehlers (vRouter-Ausfall) eine schnelle Konvergenz zu erreichen, können Sie die XMPP-Haltezeit auf einen Wert von nur einer (1) Sekunde festlegen. Immer wenn die XMPP-Haltezeit abläuft, erkennt der Steuerknoten dies als Fehler im vRouter und leitet die Konvergenz ein. Sie können zwar einen niedrigen Wert von eins festlegen, der empfohlene Timeout-Wert beträgt jedoch neun (9) Sekunden. Ein niedrigerer Wert wird nur für kleinere Cluster empfohlen.
Abbildung 3 zeigt, wie Contrail Networking eine schnelle Konvergenz erreicht, indem es die Informationen zur Zielerreichbarkeit verwendet, die das Spine über BFD- oder Link-Down-Protokolle sammelt, und indem es die XMPP-Timeout-Informationen verwendet, die an den Steuerknoten gesendet werden, um einen Fehler im vRouter zu erkennen.
