DE102022108865A1 - Dynamische datenverkehrsumleitung für ein virtuelles gateway einer verteilten tunnel-fabric - Google Patents

Dynamische datenverkehrsumleitung für ein virtuelles gateway einer verteilten tunnel-fabric Download PDF

Info

Publication number
DE102022108865A1
DE102022108865A1 DE102022108865.0A DE102022108865A DE102022108865A1 DE 102022108865 A1 DE102022108865 A1 DE 102022108865A1 DE 102022108865 A DE102022108865 A DE 102022108865A DE 102022108865 A1 DE102022108865 A1 DE 102022108865A1
Authority
DE
Germany
Prior art keywords
switch
tunnel
computer system
virtual
switches
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022108865.0A
Other languages
English (en)
Inventor
Saumya Dikshit
Venkatavaradhan Devarajan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of DE102022108865A1 publication Critical patent/DE102022108865A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Ein System zur Umleitung des Datenverkehrs wird bereitgestellt. Das System kann einem ersten Switch die Teilnahme an einem virtuellen Switch in Verbindung mit einem zweiten Switch einer Overlay-Tunnel-Fabric ermöglichen. Ein Pfad zwischen einem jeweiligen Switch-Paar eines zugrunde liegenden Netzwerks der Fabric kann auf Basis eines Routing-Prozesses bestimmt werden. Der erste und der zweite Switch können einzeln an dem Routing-Prozess beteiligt sind. Daher können die Pakete zu einem Tunnel zum virtuellen Switch auf Pfade zu dem ersten und dem zweiten Switch verteilt werden. Das System kann eine Auslösebedingung ermitteln, die angibt, dass die nachfolgend über den Tunnel empfangenen Pakete auf einen Pfad zum zweiten Switch geleitet werden sollen. Der erste und der zweite Switch können in einem funktionsbereiten Zustand bleiben. Das System kann dann für den Routing-Prozess im zugrundeliegenden Netz hohe Kosten für eine Verbindung zum ersten Switch ankündigen.

Description

  • HINTERGRUND
  • Gebiet
  • Die vorliegende Offenbarung bezieht sich auf Kommunikationsnetze. Genauer gesagt bezieht sich die vorliegende Offenbarung auf ein Verfahren und ein System zur Erleichterung einer effizienten Datenverkehrsumleitung für ein virtuelles Gateway einer verteilten Tunnel-Fabric.
  • Figurenliste
    • 1 zeigt ein Beispiel für die Datenverkehrsumleitung für einen virtuellen Gateway-Switch (VGS) einer verteilten Tunnel-Fabric unter Verwendung eines zugrunde liegenden physischen Netzes gemäß einem Aspekt der vorliegenden Anmeldung.
    • 2A zeigt ein Beispiel für eine ereignisgesteuerte Datenverkehrsumleitung für einen VGS einer verteilten Tunnel-Fabric gemäß einem Aspekt der vorliegenden Anmeldung.
    • 2B zeigt eine nicht erschöpfende Reihe von Ereignissen, die eine Datenverkehrsumleitung für einen VGS einer verteilten Tunnel-Fabric gemäß einem Aspekt der vorliegenden Anmeldung verursachen.
    • 3 zeigt ein Beispiel für interne Vorgänge in einem teilnehmenden Switch eines VGS einer verteilten Tunnel-Fabric, die die Datenverkehrsumleitung gemäß einem Aspekt der vorliegenden Anmeldung erleichtern.
    • 4 zeigt ein Flussdiagramm, das den Prozess eines teilnehmenden Switches eines VGS veranschaulicht, der die ereignisgesteuerte Datenverkehrsumleitung gemäß einem Aspekt der vorliegenden Anmeldung erleichtert.
    • 5 zeigt ein Flussdiagramm, das den Prozess eines Switches einer verteilten Tunnel-Fabric veranschaulicht, der den Verkehr an einen teilnehmenden Switch eines VGS der Struktur umleitet, in Übereinstimmung mit einem Aspekt der vorliegenden Anmeldung.
    • 6 zeigt einen beispielhaften Switch, der einen VGS ermöglicht, der eine effiziente Verkehrslenkung in Übereinstimmung mit einem Aspekt der vorliegenden Anmeldung unterstützt.
  • In den Figuren sind gleiche Elemente der jeweiligen Figur mit gleichen Ziffern bezeichnet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung soll den Fachmann in die Lage versetzen, die Erfindung herzustellen und zu verwenden, und wird im Zusammenhang mit einer bestimmten Anwendung und deren Anforderungen gegeben. Verschiedene Änderungen an den offenbarten Beispielen werden für den Fachmann leicht ersichtlich sein, und die hierin definierten allgemeinen Grundsätze können auf andere Beispiele und Anwendungen angewandt werden, ohne von Geist und Umfang der vorliegenden Erfindung abzuweichen. Daher ist die vorliegende Erfindung nicht auf die gezeigten Aspekte beschränkt, sondern hat den weitestgehenden Anwendungsbereich, der mit den Ansprüchen vereinbar ist.
  • Das Internet ist das Übertragungsmedium für eine Vielzahl von Anwendungen, die auf physischen und virtuellen Vorrichtungen laufen. Solche Anwendungen haben zu einer steigenden Nachfrage nach Datenverkehr geführt. Infolgedessen bemühen sich die Gerätehersteller um die Entwicklung von Switches mit vielseitigen Funktionen. Zu diesem Zweck kann ein Switch verschiedene Protokolle und Dienste unterstützen. So kann der Switch beispielsweise Tunneling und virtuelle private Netzwerke (VPNs) unterstützen. Der Switch kann dann das Overlay-Routing für ein VPN über die Tunnel erleichtern. So kann beispielsweise ein Ethernet-VPN (EVPN) als Overlay über eine Reihe von virtuellen erweiterbaren lokalen Netzwerken (VXLANs) bereitgestellt werden. Um ein VPN über die Tunnel einzurichten, kann ein entsprechender Tunnelendpunkt ein entsprechendes virtuelles lokales Netzwerk (VLAN) auf einen entsprechenden Tunnelnetzwerkbezeichner (TNI) abbilden, der ein virtuelles Netzwerk für einen Tunnel identifizieren kann.
  • Die TNI kann in einem Tunnelkopf erscheinen, der ein Paket einkapselt und für die Weiterleitung des eingekapselten Pakets über einen Tunnel verwendet wird. Wird der Tunnel beispielsweise auf Basis von VXLAN gebildet, kann die TNI ein virtueller Netzwerkidentifikator (VNI) eines VXLAN-Headers sein, und ein Tunnelendpunkt kann ein VXLAN-Tunnelendpunkt (VTEP) sein. Ein TNI kann auch auf das virtuelle Routing und die Weiterleitung (VRF) abgebildet werden, die mit den Tunneln verbunden sind, wenn das Layer-3-Routing und die Weiterleitung benötigt werden. Da ein VPN über die Tunnel-Fabric verteilt werden kann, kann ein VPN über die Tunnel-Fabric auch als verteilte Tunnel-Fabric bezeichnet werden. Ein Gateway der Fabric kann ein virtueller Gateway-Switch (VGS) sein, der von einer Vielzahl von teilnehmenden Switches gemeinsam genutzt wird. Typischerweise kann ein jeweiliger der teilnehmenden Switches Verkehr von Tunneln zum VGS über Gleichkostenpfade empfangen. Folglich kann die Auswahl, welcher teilnehmende Switch den Verkehr unter einer bestimmten Netzwerkbedingung (z.B. aufgrund eines oder mehrerer Ereignisse) empfangen soll, eine Herausforderung darstellen.
  • Ein Aspekt der vorliegenden Technologie kann ein System zur Umleitung des Datenverkehrs bereitstellen. Das System kann es einem ersten Switch erlauben, an einem virtuellen Switch in Verbindung mit einem zweiten Switch teilzunehmen. Der virtuelle Switch kann als Gateway für eine Overlay-Tunnel-Fabric fungieren, die den ersten und den zweiten Switch umfasst. Ein Pfad zwischen einem jeweiligen Switch-Paar eines zugrunde liegenden Netzwerks der Overlay-Tunnel-Fabric kann auf Basis eines Routing-Prozesses bestimmt werden. Die ersten und zweiten Switches können einzeln am Routing-Prozess teilnehmen. Daher können die Pakete zu einem Tunnel zum virtuellen Switch auf Pfade zu dem ersten und dem zweiten Switch im zugrunde liegenden Netzwerk verteilt werden. Das System kann dann am ersten Switch eine Auslösebedingung für ein Ereignis ermitteln, das anzeigt, dass Pakete, die nachfolgend über den Tunnel zum virtuellen Switch empfangen werden, auf einen Pfad zum zweiten Switch geleitet werden sollen. Der erste und der zweite Switch können jedoch in einem funktionsbereiten Zustand bleiben. Nach der Ermittlung der Auslösebedingung kann das System für den Routing-Prozess im zugrunde liegenden Netz hohe Kosten für eine Verbindung zum ersten Switch melden, wodurch die Verteilung der Pakete zum virtuellen Switch auf die Pfade zu dem ersten und dem zweiten Switch umgangen wird.
  • In einer Variante dieses Aspekts kann das System feststellen, ob das Ereignis abgeschlossen ist. Wenn das Ereignis abgeschlossen ist, kann das System einen Standardkostenwert für die Verbindung zum ersten Switch für den Routing-Prozess im zugrunde liegenden Netzwerk melden, wodurch die Verteilung der Pakete zum virtuellen Switch auf die Pfade zu dem ersten und dem zweiten Switch zurückgesetzt wird.
  • In einer Variante dieses Aspekts kann die Auslösebedingung anzeigen, dass ein Tunnelzustand zwischen dem Switch und dem zweiten Switch nicht übereinstimmt.
  • In einer Variante dieses Aspekts kann die Auslösebedingung anzeigen, dass das Verkehrsvolumen auf einer Inter-Switch-Verbindung zwischen dem ersten und zweiten Switch über einem Schwellenwert liegt.
  • In einer Variante dieses Aspekts kann die Auslösebedingung anzeigen, dass ein Tunnel zum virtuellen Switch am ersten Switch funktionsbereit ist, bevor ein Host über einen Edge-Port erkannt wird.
  • In einer Variante dieses Aspekts kann die Auslösebedingung anzeigen, dass der erste Switch neu gebootet hat und die Paketverarbeitung für die Overlay-Tunnel-Fabric im zweiten Switch funktionsbereit ist.
  • In einer Variante dieses Aspekts kann die Auslösebedingung eins oder mehreres von Folgendem anzeigen: nicht funktionsbereite Randverbindungen am ersten Switch und nicht verfügbare Routing-Adjazenzen zu Vorrichtungen eines Clients, wodurch die Migration des Clients angezeigt wird.
  • In einer Variante dieses Aspekts kann die Auslösebedingung den Start eines Zeitgebers anzeigen, der die Dauer des Ereignisses angibt.
  • In einer Variante dieses Aspekts kann das System die hohen Kosten in den Routing-Informationen konfigurieren, die dem zugrunde liegenden Netz zugeordnet sind. Das Melden der hohen Kosten kann dann das Senden einer Link-State-Ankündigung unter Verwendung einer lokalen Instanz des Routing-Prozesses beinhalten.
  • Die hier beschriebenen Aspekte lösen das Problem der Datenverkehrsumleitung zu einer Untergruppe von teilnehmenden Switches eines VGS einer Fabric, indem sie (i) unterscheidbare Kosten (z.B. hohe Kosten) für den Rest der teilnehmenden Switches konfigurieren, wenn ein auslösendes Ereignis festgestellt wird, und (ii) die unterscheidbaren Kosten den benachbarten Switches im zugrunde liegenden Netzwerk der Fabric mitteilen. Folglich können die anderen Switches des Fabric unter Verwendung des Routing-Prozesses des zugrundeliegenden Netzwerks bestimmen, dass der Verkehr zum VGS über die entsprechenden Pfade zu der Untergruppe der teilnehmenden Switches befördert werden sollte. Auf diese Weise können die anderen Switches während des Ereignisses die Weiterleitung des Verkehrs an die übrigen teilnehmenden Switches vermeiden.
  • Die Fabric kann einen VGS enthalten, der die Fabric mit anderen Netzen verbinden kann. In der Regel können mindestens zwei Switches in Verbindung miteinander als ein einziger Switch arbeiten, um den VGS zu ermöglichen. Die an der VGS teilnehmenden Switches können als teilnehmende Switches bezeichnet werden. Der jeweilige teilnehmende Switch kann die anderen teilnehmenden Switches als teilnehmende Peer-Switches (oder Peer-Switches) betrachten. Dem VGS können eine oder mehrere virtuelle Adressen zugeordnet werden (z.B. eine virtuelle IP-Adresse (Internet Protocol) und/oder eine virtuelle MAC-Adresse (Media Access Control)). Ein entsprechender Tunnel, der am VGS gebildet wird, kann die virtuelle Adresse verwenden, um den Tunnelendpunkt zu bilden.
  • Infolgedessen können andere Tunnelendpunkte der Fabric den VGS als den anderen Tunnelendpunkt für einen Tunnel anstelle eines der beteiligten Switches betrachten.
  • Ein jeweiliger teilnehmender Switch kann dieselbe virtuelle Adresse (z.B. die virtuelle IP-Adresse) an die anderen Switches des zugrundeliegenden Netzes, d.h. die nicht teilnehmenden Switches, weitergeben. Da die teilnehmenden Switches den VGS bilden, haben die jeweiligen Pfade der teilnehmenden Switches in der Regel die gleiche Routing-Gewichtung (z.B. die gleiche Anzahl von Hops oder die gleiche Gesamtverbindungsgewichtung). Daher können die teilnehmenden Switches im Routing-Prozess des zugrunde liegenden Netzes als äquidistant zu einem nicht teilnehmenden Switch betrachtet werden. Folglich kann ein nicht teilnehmender Switch im zugrunde liegenden Netz einen Pfad zu einem entsprechenden teilnehmenden Switch in Verbindung mit der virtuellen Adresse einrichten. Da die teilnehmenden Switches im Routing-Prozess äquidistant sein können, können die Pfade zu dem teilnehmenden Switch von einem nicht teilnehmenden Switch einen kostendeckenden Multipfad (ECMP) zum VGS aufbauen.
  • Zur Weiterleitung des Datenverkehrs an den VGS in der Fabric kann ein nicht teilnehmender Switch als Tunnelendpunkt fungieren, während der VGS der andere Tunnelendpunkt sein kann. Der nicht teilnehmende Switch kann einen Lastausgleichsvorgang (z.B. auf Basis von Hashing für ein entsprechendes Paket) unter den Gleichkostenpfaden zum VGS durchführen und einen der teilnehmenden Switches als Ziel im zugrunde liegenden Netz auswählen, wodurch der entsprechende Pfad aus dem ECMP ausgewählt wird. Der nicht teilnehmende Switch kann dann das Paket über einen Tunnel zwischen den Tunnelendpunkten weiterleiten. Obwohl einer der Pfade zum VGS im zugrundeliegenden Netz ausgewählt ist, entspricht das Ziel des Tunnelkopfes der virtuellen Adresse, die dem VGS zugeordnet ist.
  • Wenn ein Ereignis die Fähigkeit eines teilnehmenden Switches, den für den VGS bestimmten Verkehr zu verarbeiten, beeinträchtigt, muss ein entsprechender nicht teilnehmender Switch den Verkehr möglicherweise auf andere teilnehmende Switches des VGS umleiten. Daher muss der nicht teilnehmende Switch möglicherweise vermeiden, den Pfad zu dem betroffenen teilnehmenden Switch im zugrunde liegenden Netz zu wählen. Dementsprechend sollte der Routing-Prozess (z.B. ein Externe-Gateway-Protokoll wie das Externe Border Gateway Protocol (eBGP)) des zugrundeliegenden Netzes für die Dauer des Ereignisses den Pfad nicht als einen der ECMP zum VGS auswählen. Dazu kann der Routing-Prozess des zugrundeliegenden Netzes höhere Pfadkosten als die Kosten der anderen Pfade zum VGS melden. Die Pfade zum VGS können daher nicht als ECMP angesehen werden.
  • Da die Ereignisse in einem Netz dynamisch sein können, sollte auch die Einleitung und Beendigung der Trassenvermeidung dynamisch sein. Insbesondere sollte die Pfadvermeidung nach Beendigung des Ereignisses nicht mehr in Kraft sein, und die Kosten des Pfades sollten auf die Kosten der anderen Pfade zurückgesetzt werden. Wenn die Pfadkosten zurückgesetzt werden, können alle Pfade zum VGS im Routing-Prozess die gleichen Kosten haben. Mit den vorhandenen Technologien wird eine solche ereignisgesteuerte dynamische Anpassung der Pfadkosten für den Routing-Prozess des zugrunde liegenden Netzwerks einer Fabric jedoch nicht unterstützt. Die manuelle Konfiguration der Pfadkosten für den Routing-Prozess kann fehleranfällig sein und ist möglicherweise nicht praktikabel.
  • Um dieses Problem zu lösen, kann ein entsprechender teilnehmender Switch dynamisch ein Ereignis bestimmen, das es erforderlich macht, dass nicht teilnehmende Switches des Netzes die Weiterleitung von Verkehr an diesen teilnehmenden Switch vermeiden. Der teilnehmende Switch kann eine Routing-Prozessinstanz, z.B. eine eBGP-Instanz, für das zugrunde liegende Netz unterhalten. Nach Feststellung des Ereignisses kann die Routing-Prozessinstanz unterscheidbare Kosten (z.B. hohe Kosten) für die Verbindungen, die den teilnehmenden Switch koppeln, melden, während sie die virtuelle Adresse des VGS an das zugrunde liegende Netz veröffentlicht. Die unterscheidbaren Kosten können auf dem Autonomous System (AS) „path-prepend“ oder dem Multi Exit Discriminator (MED) basieren. Infolgedessen können die Routing-Prozessinstanzen eines jeweiligen nicht teilnehmenden Switches feststellen, dass die mit der virtuellen Adresse verbundene Vorrichtung (d.h. der VGS) über einen Pfad mit unterscheidbaren Kosten und einen Satz von Pfaden mit gleichen Kosten erreichbar ist. Dabei kann der Pfad mit unterscheidbaren Kosten der Pfad zu dem von dem Ereignis betroffenen teilnehmenden Switch sein.
  • Es ist zu beachten, dass ein nicht teilnehmender Switch einen Pfadauswahlprozess verwenden kann, um einen Pfad im zugrundeliegenden Netz für einen Tunnel von dem nicht teilnehmenden Switch zum VGS auszuwählen. Mit anderen Worten: Da es mehrere Switches im VGS gibt, kann es für einen Tunnel zur gleichen virtuellen Adresse des VGS mehrere Pfade geben. Der nicht teilnehmende Switch kann für die Weiterleitung von Paketen desselben Datenflusses verschiedene Pfade verwenden, die zu verschiedenen teilnehmenden Switches führen. Der nicht teilnehmende Switch darf jedoch den Pfad mit unterscheidbaren Kosten nicht in den Pfadauswahlprozess im zugrunde liegenden Netz für die nachfolgenden Pakete zum VGS einbeziehen.
  • Wenn der nicht teilnehmende Switch beispielsweise eine Hash-Funktion verwendet, um einen Pfad vom ECMP zum VGS im zugrundeliegenden Netz auszuwählen, kann der Pfad mit unterscheidbaren Kosten vom Hashing-Prozess ausgeschlossen werden, da dieser Pfad nicht mehr Teil des ECMP zum VGS ist. Dementsprechend kann der nicht teilnehmende Switch bei nachfolgenden Paketen vermeiden, Pakete an den vom Ereignis betroffenen teilnehmenden Switch zu senden. Auf diese Weise kann ein nicht teilnehmender Switch den Verkehr nur an die teilnehmenden Switches weiterleiten, die nicht von dem Ereignis betroffen sind. Infolgedessen kann der Verkehr zum VGS in der Fabric an die anderen teilnehmenden Switches des VGS umgeleitet werden.
  • Daraufhin kann der teilnehmende Switch feststellen, dass das Ereignis abgeschlossen ist. Die Routing-Prozessinstanz des teilnehmenden Switches kann dann die Rücksetzkosten für die Verbindungen, die den teilnehmenden Switch koppeln, melden und gleichzeitig die virtuelle Adresse des VGS an das zugrunde liegende Netz veröffentlichen. Die Rücksetzkosten können die Kosten für die Verbindungen vor dem Ereignis sein. Der Wert der Rücksetzkosten kann sicherstellen, dass der Pfad zum teilnehmenden Switch in den ECMP zum VGS aufgenommen wird. Infolgedessen können die Routing-Prozessinstanzen des nicht teilnehmenden Switches feststellen, dass die mit der virtuellen Adresse verbundene Vorrichtung (d.h. der VGS) über eine Reihe von Pfaden mit gleichen Kosten erreichbar ist. Daher kann der nicht teilnehmende Switch damit beginnen, den Pfad zum teilnehmenden Switch, der von dem Ereignis betroffen ist, in den Pfadauswahlprozess für die nachfolgenden Pakete zum VGS einzubeziehen.
  • Auf diese Weise kann ein entsprechender teilnehmender Switch den Verkehrsfluss zum VGS in der Fabric umleiten, indem er die unterscheidbaren Kosten und die zurückgesetzten Kosten bei der Erkennung bzw. Beendigung des Ereignisses meldet. Auf diese Weise kann der VGS den Verkehr über den Routing-Prozess des zugrunde liegenden Netzes umleiten, ohne das Tunneling-Protokoll des Overlay-Netzes zu beeinträchtigen. Selbst wenn die virtuelle Adresse des VGS mit dem betroffenen teilnehmenden Switch verbunden bleibt, kann die Kostenanpassung im Routing-Prozess des zugrundeliegenden Netzes durchgeführt werden. Außerdem kann die Einleitung und Beendigung der Umgehung des betroffenen teilnehmenden Switches dynamisch bei der Erkennung bzw. Beendigung des Ereignisses erfolgen.
  • Der Prozess der dynamischen Umleitung des Datenverkehrs zu einer Teilmenge der teilnehmenden Switches kann von einem zentralisierten Controller (z.B. einem Software-Defined Networking (SDN)-Controller) oder einer auf dem teilnehmenden Switch laufenden Anwendung durchgeführt werden. Beispielsweise kann der Controller oder die Anwendung die unterscheidbaren Kosten und die Rücksetzkosten bei der Erkennung und Beendigung des Ereignisses in der lokalen Datenbank eines teilnehmenden Switches konfigurieren. Auf Basis der Aktualisierung kann ein Routing-Daemon, der mit dem Routing-Prozess des zugrunde liegenden Netzes verbunden ist, das Melden der unterscheidbaren Kosten und der Rücksetzkosten erleichtern.
  • In dieser Offenbarung wird der Begriff „Switch“ in einem allgemeinen Sinne verwendet und kann sich auf jeden eigenständigen oder Fabric-Switch beziehen, der in einer beliebigen Netzwerkschicht arbeitet. Der Begriff „Switch“ ist nicht als Beschränkung der Beispiele der vorliegenden Erfindung auf Netze der Schicht 2 zu verstehen. Jede Vorrichtung, die Datenverkehr an eine externe Vorrichtung oder einen anderen Switch weiterleiten kann, kann als „Switch“ bezeichnet werden. Jede physische oder virtuelle Vorrichtung (z.B. eine virtuelle Maschine oder ein Switch, der auf einem Computer arbeitet), das Datenverkehr an ein Endgerät weiterleiten kann, kann als „Switch“ bezeichnet werden. Beispiele für einen „Switch“ sind u. a. ein Layer-2-Switch, ein Layer-3-Router, ein Routing-Switch, eine Komponente eines Gen-Z-Netzwerks oder ein Fabric-Switch, der eine Vielzahl ähnlicher oder heterogener kleinerer physischer und/oder virtueller Switches umfasst.
  • Der Begriff „Paket“ bezieht sich auf eine Gruppe von Bits, die zusammen über ein Netz transportiert werden können. Der Begriff „Paket“ ist nicht so zu verstehen, dass Beispiele der vorliegenden Erfindung auf Netze der Schicht 3 beschränkt sind. Der Begriff „Paket“ kann durch andere Begriffe ersetzt werden, die sich auf eine Gruppe von Bits beziehen, wie z.B. „Nachricht“, „Rahmen“, „Zelle“, „Datagramm“ oder „Transaktion“. Außerdem kann sich der Begriff „Port“ auf den Anschluss beziehen, der Daten empfangen oder senden kann. Der Begriff „Anschluss“ kann sich auch auf die Hardware-, Software- und/oder Firmware-Logik beziehen, die den Betrieb dieses Anschlusses erleichtern kann.
  • 1 zeigt ein Beispiel für die Datenverkehrsumleitung für eine VGS einer verteilten Tunnel-Fabric unter Verwendung des zugrunde liegenden physischen Netzes gemäß einem Aspekt der vorliegenden Anmeldung. Ein Netzwerk 100 kann eine Reihe von Switches und Vorrichtungen umfassen. In einigen Beispielen kann das Netzwerk 100 ein Ethernet-, InfiniBand- oder ein anderes Netzwerk sein und ein entsprechendes Kommunikationsprotokoll verwenden, wie z.B. Internet Protocol (IP), FibreChannel over Ethernet (FCoE) oder ein anderes Protokoll. Das Netzwerk 100 kann eine verteilte Tunnel-Fabric 110 mit den Switches 101, 102, 103, 104 und 105 umfassen. Die Switches 101 und 102 der Fabric 110 können mit einem Core-Switch 106 verbunden sein. Fabric 110 kann über Switch 106 mit einem externen Netzwerk 120 verbunden werden.
  • In 1 kann eine mit einer gestrichelten Linie gekennzeichnete Verbindung im Netz 110 ein Tunnel sein. Die Switches von Fabric 110 können ein Netz von Tunneln bilden. Beispiele für einen Tunnel sind unter anderem VXLAN, Generic Routing Encapsulation (GRE), Network Virtualization mit GRE (NVGRE), Generic Networking Virtualization Encapsulation (Geneve), Internet Protocol Security (IPsec). Eine mit einer gestrichelten Linie gekennzeichnete Verbindung in der Struktur 110 kann eine Verbindung in einem zugrunde liegenden Netzwerk (oder einem Underlay-Netzwerk) 150 der Struktur 110 sein. Das zugrunde liegende Netzwerk 150 kann ein physisches Netzwerk sein und eine entsprechende Verbindung des zugrunde liegenden Netzwerks 150 kann eine physische Verbindung sein. Ein VPN 130, wie z.B. ein EVPN, kann über die Fabric 110 eingesetzt werden. Fabric 110 kann einen VGS 106 enthalten, der Fabric 110 mit einem externen Netzwerk 120 verbinden kann. Ein externer Switch 107 kann mit VGS 106 gekoppelt werden, wodurch das externe Netzwerk 120 mit Fabric 110 verbunden wird.
  • Hier können die Switches 101 und 102 als ein einziger Switch in Verbindung miteinander arbeiten, um VGS 106 zu ermöglichen. VGS 106 kann mit einer oder mehreren virtuellen Adressen (z.B. einer virtuellen IP-Adresse und/oder einer virtuellen MAC-Adresse) verbunden sein. Ein entsprechender Tunnel, der an VGS 106 gebildet wird, kann die virtuelle Adresse verwenden, um den Tunnelendpunkt zu bilden. Um die Datenweiterleitung effizient zu verwalten, können die Switches 101 und 102 eine Inter-Switch-Verbindung (ISL) 140 zwischen ihnen unterhalten, um Steuer- und/oder Datenpakete gemeinsam zu nutzen. ISL 140 kann eine Schicht-2- oder Schicht-3-Verbindung sein, die die Datenweiterleitung zwischen den Switches 101 und 102 ermöglicht. Die ISL 140 kann auch auf einem Tunnel zwischen den Switches 101 und 102 basieren (z.B. einem VXLAN-Tunnel).
  • Da die virtuelle Adresse von VGS 106 sowohl mit Switches 101 als auch 102 verbunden ist, können andere Tunnelendpunkte, wie Switches 103, 104 und 105, von Fabric 110 VGS 106 als den anderen Tunnelendpunkt für einen Tunnel anstelle von Switches 101 und 102 betrachten. Um den Verkehr in Richtung VGS 106 in Fabric 110 weiterzuleiten, kann ein nicht teilnehmender Switch, z.B. Switch 103, als Tunnelendpunkt arbeiten, während VGS 106 der andere Tunnelendpunkt sein kann. Von jedem der nicht teilnehmenden Switches 103, 104 und 105 kann es eine Reihe von ECMP zu VGS 106 geben. Ein entsprechender Pfad im ECMP kann zu einem der teilnehmenden Switches von VGS 106 führen. In dem Beispiel in 1 kann die Anzahl der Pfade im ECMP zwei betragen, die zu den Switches 101 bzw. 102 führen.
  • Während des Betriebs kann der Switch 103 ein von der Vorrichtung 112 über einen Edge-Port (z.B. einen Ethernet-Port) empfangenes Paket empfangen. Wenn das Paket für die Vorrichtung 114 bestimmt ist, kann der Switch 103 das Paket in einen Tunnelkopf einkapseln und das eingekapselte Paket über einen Tunnel 132 an den VGS 106 weiterleiten. Das eingekapselte Paket kann dann über die Verbindungen des zugrundeliegenden Netzes 150 an einen der Switches 101 und 102 weitergeleitet werden. Switch 103 kann eine Lastausgleichsoperation zwischen den Gleichkostenpfaden im zugrunde liegenden Netz 150 durchführen, die der Tunnel 132 überspannen kann. Beispielsweise kann der Switch 103 eine Hash-Funktion auf das Paket anwenden und einen der Switches 101 und 102 als Ziel im zugrunde liegenden Netz 150 auswählen, wodurch der entsprechende Pfad aus dem ECMP ausgewählt wird. Switch 103 kann dann das Paket über den Tunnel 132 über den ausgewählten Pfad weiterleiten. Auch wenn einer der Pfade zu VGS 106 im zugrundeliegenden Netz 150 ausgewählt ist, kann das Ziel des Tunnelkopfes der virtuellen Adresse entsprechen, die mit VGS 106 verbunden ist.
  • Wenn ein Ereignis 160 die Fähigkeit des teilnehmenden Switches 101 beeinträchtigt, den für den VGS 106 bestimmten Verkehr zu verarbeiten, müssen die Switches 103, 104 und 105 den Verkehr möglicherweise an den anderen teilnehmenden Switch 102 des VGS 106 umleiten. Unter solchen Umständen muss ein nicht teilnehmender Switch, wie z.B. der Switch 103, die Auswahl des Pfades 134 zum Switch 101 im zugrunde liegenden Netz 150 vermeiden. Dementsprechend sollte eine Routing-Prozessinstanz (RPI) 174 (z.B. eine eBGP-Instanz) auf dem Switch 103 für das zugrunde liegende Netz 150 für die Dauer des Ereignisses 160 nicht den Pfad 134 als einen der ECMP zu VGS 106 auswählen. Zu diesem Zweck kann RPI 172 am Switch 101 für das zugrunde liegende Netz 150 dem VGS 106 höhere Pfadkosten für den Pfad 134 als die Kosten des anderen Pfades, d.h. des Pfades zum Switch 102, mitteilen. Daher können die Pfade zu den Switches 101 und 102 nicht als ECMP angesehen werden.
  • Da das Ereignis 160 dynamisch sein kann, sollte auch die Einleitung und Beendigung der Umgehung für den Pfad 134 dynamisch sein. Insbesondere wenn das Ereignis 160 abgeschlossen ist, sollte die Umgehung für den Pfad 134 nicht mehr in Kraft sein, und die Kosten für den Pfad 134 sollten auf die Kosten für den Pfad 136 zurückgesetzt werden. Wenn die Kosten für den Pfad 134 zurückgesetzt werden, können die Pfade 134 und 136 zum VGS 106 von dem Switch 103 aus die gleichen Kosten haben (z.B. vom RPI 174). Bei den vorhandenen Technologien wird eine solche ereignisgesteuerte dynamische Anpassung der Kosten für den Pfad 134 für die RPIs 172 und 174 des zugrunde liegenden Netzes 150 jedoch nicht unterstützt. Die manuelle Konfiguration der Kosten des Pfades 134 für die RPIs 172 und 174 kann fehleranfällig sein und ist möglicherweise nicht praktikabel.
  • Um dieses Problem zu lösen, können die Switches 101 und 102 dynamisch das Auftreten des Ereignisses 160 bestimmen, das es erforderlich machen kann, dass nicht teilnehmende Switches 103, 104 und 105 die Weiterleitung von Verkehr an den Switch 160 vermeiden. Wenn der Switch 101 das Ereignis 160 feststellt, kann das RPI 172 unterscheidbare Kosten (z.B. hohe Kosten) für die Verbindungen, die den Switch 101 koppeln, ankündigen und gleichzeitig die virtuelle Adresse von VGS 106 an das zugrundeliegende Netzwerk 150 veröffentlichen. Die unterscheidbaren Kosten können auf AS „path-prepend“ oder MED basieren. Beispielsweise kann der Switch 101 entsprechende Link-State-Ankündigungen (LSAs) 152, 154 und 156 über die zu den nicht teilnehmenden Switches 103, 104 bzw. 105 führenden Verbindungen senden. Eine entsprechende LSA kann eine Routenaktualisierung mit Angabe der unterscheidbaren Kosten enthalten. Nach dem Empfang der LSA 152 kann das RPI 174 des Switches 103 die Routing Information Base (RIB) und die entsprechende Forwarding Information Base (FIB) am Switch 103 entsprechend aktualisieren. RPI 174 kann dann feststellen, dass die mit der virtuellen Adresse verbundene Vorrichtung (d.h. VGS 106) über den Pfad 134 mit unterscheidbaren Kosten und den Pfad 136 mit den Standardkosten, die mit dem ECMP verbunden sind, zu VGS 106 erreichbar ist.
  • Typischerweise kann der Switch 103 einen Pfadauswahlprozess verwenden, um einen oder mehrere Pfade 134 und 136 im zugrundeliegenden Netz 150 für den Tunnel 132 vom Switch 103 zum VGS 106 auszuwählen. Mit anderen Worten: Da es zwei Switches 101 und 102 in VGS 106 gibt, kann es für den Tunnel 132 zur gleichen virtuellen Adresse von VGS 106 zwei Pfade geben. Der Switch 103 kann für die Weiterleitung von Paketen desselben Datenflusses verschiedene Pfade verwenden, die zu den Switches 101 und 102 führen. Switch 103 kann jedoch den Pfad 134 nicht in den Pfadauswahlprozess im zugrunde liegenden Netz 150 für die nachfolgenden Pakete zum VGS 106 einbeziehen. Wenn der Switch 103 beispielsweise typischerweise eine Hash-Funktion verwendet, um einen Pfad aus den Gleichkostenpfaden 134 und 136 auszuwählen, kann der Pfad 134 aus dem Hashing-Prozess ausgeschlossen werden, da der Pfad 134 nicht mehr Teil des ECMP zum VGS 106 ist. Dementsprechend kann der Switch 103 bei nachfolgenden Paketen das Senden von Paketen an den Switch 101 vermeiden und den Verkehr nur an den Switch 102 weiterleiten. Infolgedessen kann der Verkehr zu VGS 106 in Fabric 110 zu Switch 102 von VGS 106 umgeleitet werden.
  • Anschließend kann der Switch 101 feststellen, dass das Ereignis 160 abgeschlossen ist. Das RPI 172 des Switches 101 kann dann die Kosten für das Zurücksetzen der Verbindungen, die den Switch 101 koppeln, melden, während die virtuelle Adresse des VGS 106 an das zugrundeliegende Netz 150 veröffentlicht wird. Die Rücksetzkosten können die Kosten für die Verbindungen vor dem Ereignis 160 sein. Der Wert der Rücksetzkosten kann die Einbeziehung des Pfads 134 in den ECMP zu VGS 106 sicherstellen. Switch 101 kann dann entsprechende LSAs mit den Rücksetzkosten über die zu den nicht teilnehmenden Switches 103, 104 und 105 führenden Verbindungen senden. Infolgedessen kann das RPI 174 des Switches 103 dann feststellen, dass die mit der virtuellen Adresse verbundene Vorrichtung (d.h. VGS 106) über die Pfade 134 und 136 mit gleichen Kosten erreichbar ist. Daher kann der Switch 103 damit beginnen, den Pfad 134 zum Switch 101, der vom Ereignis 160 betroffen ist, in den Pfadauswahlprozess für die nachfolgenden Pakete zu VGS 106 einzubeziehen.
  • Auf diese Weise kann der Switch 101 den Verkehrsfluss von den Switches 103, 104 und 105 in der Struktur 110 zu VGS 106 umleiten, indem er die unterscheidbaren Kosten und die Rücksetzkosten bei der Erkennung bzw. Beendigung des Ereignisses 160 meldet. Dadurch kann VGS 106 den Verkehr mit Hilfe des Routing-Prozesses des zugrunde liegenden Netzes 150 umleiten, ohne das Tunneling-Protokoll des Overlay-Netzes in Fabric 110 zu beeinflussen. Selbst wenn die virtuelle Adresse von VGS 106 mit dem betroffenen Switch 101 verbunden bleibt, kann RPI 172 die Kostenanpassung im Routing-Prozess des zugrunde liegenden Netzwerks 150 durchführen. Außerdem kann die Einleitung und Beendigung der Umgehung des Pfads 134 und des entsprechenden Switches 101 dynamisch bei der Erkennung bzw. Beendigung des Ereignisses 160 erfolgen.
  • Der Prozess der dynamischen Umleitung des Datenverkehrs zu Switch 102 kann von einem zentralisierten Controller (z.B. einem SDN-Controller) oder einer auf Switch 101 laufenden Anwendung durchgeführt werden. Der Controller oder die Anwendung kann die unterscheidbaren Kosten und die Rücksetzkosten bei der Erkennung bzw. Beendigung von Ereignis 160 in der lokalen Datenbank von Switch 101 konfigurieren. Die lokale Datenbank kann eine Verbindungskostentabelle für RPI 172 am Switch 101 sein. Die Verbindungskostentabelle des Switches 101 kann sich in der lokalen Datenbank befinden. Auf Basis der Aktualisierung kann ein mit RPI 172 verbundener Routing-Daemon das Melden der unterscheidbaren Kosten und der zurückgesetzten Kosten erleichtern.
  • 2A zeigt ein Beispiel für eine ereignisgesteuerte Datenverkehrsumleitung für eine VGS einer verteilten Tunnel-Fabric gemäß einem Aspekt der vorliegenden Anmeldung. In diesem Beispiel können die Vorrichtungen 112 und 114 über die Fabric 110 miteinander in Verbindung stehen. Die Vorrichtung 114 kann mit dem Switch 107 gekoppelt sein, der über eine Link Aggregation Group (LAG) 200 mit Fabric 110 gekoppelt sein kann. Folglich kann der Switch 107 mit den Switches 101 und 102 gekoppelt werden, und die Kopplungsverbindungen können auf Basis eines Verbindungsaggregationsprotokolls, wie dem Link Aggregation Control Protocol (LACP), aggregiert werden. Die Vorrichtung 112 kann einen Datenfluss 212 an die Vorrichtung 114 senden. Der Datenfluss 212 kann eine Folge von Paketen enthalten. Der Switch 103 kann Pakete des Datenflusses 212 empfangen und bestimmen, dass die Pakete des Datenflusses 212 an den VGS 106 weitergeleitet werden sollen. Switch 103 kann dann die Pakete mit einem Tunnel-Header einkapseln, der dem Tunnel 132 zugeordnet ist. Basierend auf dem Pfadauswahlprozess können die eingekapselten Pakete auf die Pfade 134 und 136 verteilt werden.
  • Aufgrund des Ereignisses 160 kann es jedoch sein, dass der Switch 101, obwohl er mit der virtuellen Adresse von VGS 106 verbunden ist, Pakete nicht effizient verarbeitet. Mit anderen Worten: Selbst wenn der Switch 101 funktionsbereit ist (d.h. nicht ausgeschaltet oder nicht verfügbar), kann der Switch 101 aufgrund des Ereignisses 160 möglicherweise keine Pakete effizient verarbeiten. Beispiele für das Ereignis 160 sind unter anderem ein inkonsistenter Betriebszustand des Tunnels 132 an den Switches 101 und 102, eine Überbeanspruchung der ISL 140, eine nicht-funktionsbereite Verbindung zu der Vorrichtung 214, das Eintreffen von Datenverkehr vor der Erkennung der Vorrichtung 214, ein Neuladen oder ein Neustart des Switches 101, eine Migration der Verbindung von Switch 101 zu Switch 102 und ein zeitgesteuerter Auslöser (z.B. ein benutzerdefiniertes Ereignis). Wenn beispielsweise der Tunnel 132 in Betrieb genommen wird und Pakete des Datenstroms 212 am Switch 101 ankommen, bevor das Vorhandensein der Vorrichtung 214 festgestellt wurde, kann der Switch 101 die Pakete möglicherweise nicht korrekt verarbeiten.
  • Der Switch 101 kann einen Satz von Auslösebedingungen für entsprechende Ereignisse verwalten. Wenn eine Auslösebedingung erfüllt ist, kann der Switch 101 feststellen, dass ein entsprechendes Ereignis eingetreten ist. Wenn festgestellt wird, dass die Auslösebedingung des Ereignisses 160 erfüllt ist, kann der Switch 101 die Einleitung (oder Auslösung) des Ereignisses 160 bestimmen. RPI 172 kann dann LSA 152 mit unterscheidbaren Kosten an Switch 103 im darunter liegenden Netz 150 senden. Nach dem Empfang von LSA 152 kann RPI 174 von Switch 103 die lokalen Routing-Informationen aktualisieren. RPI 174 kann dann bestimmen, dass die Pakete des Datenflusses 212 vom Pfad 134 auf den Pfad 136 umgeleitet werden sollten. Der Switch 103 kann dann die nachfolgenden eingekapselten Pakete des Datenstroms 212 über den Pfad 136 weiterleiten, wodurch die eingekapselten Pakete des Datenstroms 212 dynamisch an den VGS 106 im Netz 110 umgeleitet werden.
  • Der Switch 101 kann auch eine Reihe von Rücksetzbedingungen für entsprechende Ereignisse verwalten. Wenn eine Rücksetzbedingung erfüllt ist, kann der Switch 101 feststellen, dass das entsprechende Ereignis abgeschlossen ist. Nach der Bestimmung dessen, dass die Rücksetzbedingung für das Ereignis 160 erfüllt ist, kann der Switch 101 die Beendigung (oder den Abschluss) des Ereignisses 160 feststellen. RPI 172 kann dann eine LSA mit Rücksetzkosten an den Switch 103 im darunter liegenden Netz 150 senden. Nach Empfang der LSA kann RPI 174 von Switch 103 die lokalen Routing-Informationen aktualisieren. RPI 174 kann dann feststellen, dass Pakete des Datenflusses 212 nun über die Pfade 134 und 136 weitergeleitet werden können. Der Switch 103 kann dann die nachfolgenden eingekapselten Pakete des Datenstroms 212 über die beiden Pfade 134 und 136 weiterleiten und so die eingekapselten Pakete des Datenstroms 212 dynamisch an den VGS 106 im Fabric 110 neu anpassen.
  • In ähnlicher Weise kann die Vorrichtung 114 einen Datenstrom 214 an die Vorrichtung 112 senden. Der Switch 107 kann die Pakete des Datenflusses 214 empfangen und bestimmen, dass die Pakete an die Struktur 110 weitergeleitet werden sollen. Da der Switch 107 über die LAG 200 mit der Struktur 110 verbunden ist, kann der Switch 107 eine der Verbindungen der LAG 200 auswählen und ein entsprechendes Paket des Datenflusses 214 über die ausgewählte Verbindung weiterleiten. Für ein und denselben Datenfluss 214 kann der Switch 107 verschiedene Verbindungen der LAG 200 für verschiedene Pakete auswählen. Infolgedessen können beide Switches 101 und 102 Pakete des Datenflusses 212 empfangen. Aufgrund des Ereignisses 160 ist der Switch 101 jedoch möglicherweise nicht in der Lage, den Verkehr über die Fabric 110 weiterzuleiten. Daher kann der Switch 101 Pakete des Datenflusses 212 über ISL 140 an den Switch 102 weiterleiten. Auf diese Weise kann, selbst wenn der Switch 101 in Betrieb ist, jede Ineffizienz oder Unterbrechung bei der Weiterleitung des Datenverkehrs am Switch 101 vermieden werden.
  • Der Switch 101 kann eine Reihe von Ereignissen verwalten, die zu einer Datenverkehrsumleitung führen können. 2B zeigt einen nicht erschöpfenden Satz von Ereignissen, die eine Datenverkehrsumleitung für eine VGS einer verteilten Tunnel-Fabric gemäß einem Aspekt der vorliegenden Anmeldung verursachen. Der Satz von Ereignissen 250 am Switch 101 kann ein Ereignis 254, eine Auslösebedingung 256 und eine Rücksetzbedingung 258 umfassen. Der Switch 101 kann das Eintreten des Ereignisses 254 feststellen, wenn die Auslösebedingung 256 erfüllt ist. Außerdem kann der Switch 101 den Abschluss des Ereignisses 254 feststellen, wenn die Rücksetzbedingung 256 erfüllt ist. Einem jeweiligen Ereignis kann eine Ereigniskennung 252 zugeordnet werden, die in eine LSA aufgenommen werden kann, um andere Switches der Fabric 110 über das Ereignis zu informieren. Der Switch 101 kann eine Reihe von Ereignissen 250 in einer Datenstruktur, wie z.B. einer Ereignistabelle, speichern. Die Ereignistabelle kann eine Datenbanktabelle sein.
  • Die Ereigniskennung 262 kann einem Ereignis mit inkonsistenten Tunnelzuständen entsprechen. Die Auslösebedingung kann anzeigen, dass der lokale Tunnelzustand „inaktiv“ und der Peer-Tunnelzustand für einen bestimmten Tunnel „aktiv“ ist. Zum Beispiel kann der Zustand für den Tunnel 132 am Switch 101 „aktiv“ und am Switch 102 „inaktiv“ sein. Die Rücksetzbedingung kann anzeigen, dass alle Tunnelzustände aktiv sind (d.h. sowohl bei Switch 101 als auch bei Switch 102). Eine weitere Ereigniskennung 264 kann einem Ereignis entsprechen, bei dem eine ISL (z.B. ISL 140) mit Umleitungsverkehr überlastet ist. Die Auslösebedingung kann anzeigen, dass das Verkehrsvolumen über die ISL einen Schwellenwert übersteigt. Ebenso kann die Rücksetzbedingung anzeigen, dass das Verkehrsvolumen auf der ISL für eine gewisse Zeit unter einem Schwellenwert liegt, was einen Ping-Pong-Effekt verhindern kann.
  • Außerdem kann die Ereigniskennung 266 einem Ereignis entsprechen, bei dem die dem Client zugewandten Verbindungen (z.B. virtuelle Switch-Schnittstellen (SVI) oder Switch-Ports für den Client) nicht funktionsbereit sind. Die Auslösebedingung kann anzeigen, dass alle Randverbindungen am lokalen Switch nicht funktionsbereit sind. Beispielsweise kann sich die mit den Client-Vorrichtungen verbundene Konfiguration am Switch 101 nicht in einem „Up“-Zustand befinden. Die entsprechende Rücksetzbedingung kann darauf hinweisen, dass zumindest eine Teilmenge der Randverbindungen funktionsbereit ist (z.B. können die Verbindungen zu einer Teilmenge von Client-Vorrichtungen funktionsbereit sein). Darüber hinaus kann die Ereigniskennung 268 einem Ereignis entsprechen, das das Eintreffen von Datenverkehr über die Fabric anzeigt, bevor ein Host (z.B. ein Client-Endgerät) an den Edge-Ports erkannt wird. Die Auslösebedingung kann dann anzeigen, dass die Tunnel am Switch funktionsbereit sind (z.B. Tunnel 132 am Switch 101), bevor ein lokaler Host, z.B. ein Endgerät, erkannt wird. Die Rücksetzbedingung kann das Lernen von Host-Informationen von Edge-Port(s) beinhalten.
  • Darüber hinaus kann die Ereigniskennung 270 einem Ereignis entsprechen, das das Neuladen/Neustarten des lokalen Switches anzeigt. Die Auslösebedingung kann anzeigen, dass der lokale Switch initialisiert ist und das VPN am Peer-Switch funktionsbereit ist. Beispielsweise kann der Switch 101 nach einem Stromausfall initialisiert werden, und das VPN kann am Switch 102 funktionsbereit sein. Aufgrund des Neustarts von Switch 101 sind die lokalen Tunnel am Switch 101, wie z.B. Tunnel 132, möglicherweise für kurze Zeit nicht funktionsbereit. Switch 103 kann jedoch die Anwesenheit von Switch 101 im zugrundeliegenden Netz 150 erkennen und den Pfad zu Switch 101 wählen. Da die Tunnel jedoch noch nicht funktionsbereit sind, kann die Weiterleitung über den Tunnel 132 in der Fabric 110 nicht verfügbar sein, wodurch ein Konflikt entsteht. Die Rücksetzbedingung kann dann anzeigen, dass alle Tunnelzustände aktiv sind (d.h. sowohl bei Switch 101 als auch bei 102).
  • Darüber hinaus kann die Ereigniskennung 272 einem Ereignis entsprechen, das eine Ein-Punkt-Client-Verbindung anzeigt. Beispielsweise können aufgrund einer Client-Migration alle Vorrichtungen eines Clients nur mit Switch 102 und nicht mit Switch 101 verbunden sein. Die Auslösebedingung kann anzeigen, dass die Routing-Adjazenzen zu den Client-Vorrichtungen nicht mehr verfügbar sind. Die Rücksetzbedingung kann dann anzeigen, dass die Routing-Adjazenzen zu den Client-Vorrichtungen wiederhergestellt und die entsprechenden Routen neu erlernt werden. Der Ereignissatz 250 kann auch ein benutzerdefiniertes Ereignis enthalten, z.B. ein zeitgesteuertes Ereignis mit der Ereigniskennung 274. Ein Benutzer, z.B. ein Administrator, kann einen Zeitgeber definieren, um die Dauer anzugeben, für die der Verkehr umgeleitet werden soll. Dementsprechend kann die Auslösebedingung das Starten des Zeitgebers und die Rücksetzbedingung das Beenden des Zeitgebers sein.
  • 3 zeigt ein Beispiel für interne Vorgänge in einem teilnehmenden Switch einer VGS einer verteilten Tunnel-Fabric, die die Umleitung des Datenverkehrs gemäß einem Aspekt der vorliegenden Anmeldung erleichtert. Der Switch 101 kann eine Datenbank 310 (z.B. basierend auf der Open vSwitch Database (OVSDB)) zur Speicherung von Konfigurationsinformationen für den Switch 101 unterhalten. Zum Beispiel können die Listenkosten einer jeweiligen benachbarten Verbindung in einer Tabelle der Datenbank 310 gespeichert werden. Ein Konfigurations-Daemon 302 des Switches 101 kann die Konfigurationsinformationen in der Datenbank 310 aktualisieren. RPI 172 kann durch einen Routing-Daemon 304 (z.B. einen BGP-Daemon) unterstützt werden. Basierend auf den Routing-Updates vom Routing-Daemon 304 kann der Konfigurations-Daemon 302 die Datenbank 310 aktualisieren, um die Umleitung des Datenverkehrs vom Switch 101 zu erleichtern.
  • Während des Betriebs kann der Routing-Daemon 304 erkennen, dass eine mit einem Ereignis verbundene Auslösebedingung erfüllt ist (d.h., das Ereignis wird ausgelöst oder eingeleitet) (Vorgang 312). Auf Basis der Erkennung der Auslösebedingung kann der Konfigurations-Daemon 302 unterscheidbare Kosten für die Verbindungen zum lokalen Switch konfigurieren (Vorgang 314). Zum Beispiel kann der Konfigurations-Daemon 302 die unterscheidbaren Kosten für die Verbindungen zum Switch 101 in der Datenbank 310 konfigurieren. Die Konfiguration der unterscheidbaren Kosten kann den Routing-Daemon 304 veranlassen, die unterscheidbaren Kosten im zugrunde liegenden Netzwerk zu melden (Vorgang 316). Folglich können die jeweiligen Routing-Daemons auf anderen Switches im zugrunde liegenden Netzwerk feststellen, dass die Verbindungen, die Switch 101 erreichen, mit den unterscheidbaren Kosten verbunden sind.
  • Der Routing-Daemon 304 kann dann das Ereignis auf seinen Abschluss überwachen (Vorgang 318). Anschließend kann der Routing-Daemon 304 erkennen, dass die entsprechende Rücksetzbedingung, die mit dem Ereignis verbunden ist, erfüllt ist (d.h., das Ereignis ist abgeschlossen oder beendet) (Vorgang 320). Auf Basis der Erkennung der Rücksetzbedingung kann der Konfigurations-Daemon 302 die Rücksetzkosten für die Verbindungen zum lokalen Switch konfigurieren (Vorgang 322). Die Rücksetzkosten können den im ECMP an den VGS angegebenen Standardkosten entsprechen. Die Konfiguration der Rücksetzkosten kann den Routing-Daemon 304 veranlassen, die Rücksetzkosten im zugrunde liegenden Netz zu melden (Vorgang 324). Folglich können die jeweiligen Routing-Daemons auf anderen Switches im zugrunde liegenden Netz feststellen, dass die Verbindungen, die den Switch 101 erreichen, mit den Rücksetzkosten verbunden sind. Dementsprechend können die anderen Switches den Pfad zu Switch 101 in den Pfadauswahlprozess einbeziehen.
  • 4 zeigt ein Flussdiagramm, das den Prozess eines teilnehmenden Switches eines VGS veranschaulicht, der eine ereignisgesteuerte Datenverkehrsumleitung gemäß einem Aspekt der vorliegenden Anmeldung ermöglicht. Während des Betriebs kann der Switch eine Reihe von Ereignissen auf Auslösung überwachen (Vorgang 402) und feststellen, ob eine Auslösebedingung für ein Ereignis erfüllt ist (d.h., ein Ereignis wird ausgelöst) (Vorgang 404). Solange die Auslösebedingung für ein Ereignis nicht erfüllt ist, kann der Switch die Menge der Ereignisse weiterhin auf Auslösung überwachen (Vorgang 402). Ist hingegen die Auslösebedingung für ein Ereignis erfüllt, kann der Switch den Verbindungen, die den lokalen Switch erreichen, unterscheidbare Kosten zuweisen (Vorgang 406). Dementsprechend kann der Switch die unterscheidbaren Kosten in der lokalen Datenbank konfigurieren (Vorgang 408) und die unterscheidbaren Kosten einem entsprechenden Nachbarn im zugrunde liegenden Netz melden (Vorgang 410).
  • Der Switch kann dann das ausgelöste Ereignis auf Abschluss überwachen (Vorgang 412) und bestimmen, ob eine Rücksetzbedingung für das Ereignis erfüllt ist (d.h., das Ereignis ist abgeschlossen) (Vorgang 414). Solange die Rücksetzbedingung für das Ereignis nicht erfüllt ist, kann der Switch das ausgelöste Ereignis weiterhin auf seinen Abschluss überwachen (Vorgang 412). Andererseits kann der Switch, wenn die Rücksetzbedingung für das Ereignis erfüllt ist, den Verbindungen, die den lokalen Switch erreichen, Rücksetzkosten auferlegen (Vorgang 416). Dementsprechend kann der Switch die Rücksetzkosten in der lokalen Datenbank konfigurieren (Vorgang 418) und die Rücksetzkosten einem entsprechenden Nachbarn im zugrunde liegenden Netz melden (Vorgang 420).
  • 5 zeigt ein Flussdiagramm, das den Prozess eines Switches einer verteilten Tunnel-Fabric veranschaulicht, der den Verkehr zu einem teilnehmenden Switch einer VGS der Struktur umleitet, in Übereinstimmung mit einem Aspekt der vorliegenden Anmeldung. Während des Betriebs kann der Switch die unterscheidbaren Kosten einer Verbindung empfangen, die einen teilnehmenden Switch der lokalen VGS erreicht (Vorgang 502). Der Switch kann dann die lokalen Weiterleitungsinformationen, die mit dem teilnehmenden Switch im zugrunde liegenden Netzwerk verbunden sind, basierend auf den unterscheidbaren Kosten aktualisieren (Vorgang 504). Dies ermöglicht es dem Switch, den teilnehmenden Switch bei der Pfadauswahl zu vermeiden.
  • Anschließend kann der Switch die Kosten für die Rücksetzung der Verbindung, die den teilnehmenden Switch des lokalen VGS erreicht, empfangen (Vorgang 506). Der Switch kann dann die lokalen Weiterleitungsinformationen, die dem teilnehmenden Switch im zugrundeliegenden Netz zugeordnet sind, auf Basis der zurückgesetzten Kosten aktualisieren (Vorgang 508). Dies ermöglicht es dem Switch, den Pfad zum teilnehmenden Switch in den Pfadauswahlprozess einzubeziehen. Die Weiterleitungsinformationen können in einer oder mehreren Tabellen gespeichert werden, z.B. in einer FIB und einer RIB. Die Tabellen können in einer Datenbank des Switches gespeichert werden.
  • 6 zeigt einen beispielhaften Switch, der einen VGS ermöglicht, der eine effiziente Verkehrslenkung in Übereinstimmung mit einem Aspekt der vorliegenden Anmeldung unterstützt. In diesem Beispiel umfasst ein Switch 600 eine Anzahl von Kommunikations-Ports 602, einen Paketprozessor 610 und eine Speichervorrichtung 650. Der Switch 600 kann auch Switch-Hardware 660 (z.B. Verarbeitungshardware des Switches 600, wie z.B. seine anwendungsspezifischen integrierten Schaltungschips (ASIC)) enthalten, die Informationen enthält, auf deren Grundlage der Switch 600 Pakete verarbeitet (z.B. Ausgangsports für Pakete bestimmt). Der Paketprozessor 610 extrahiert und verarbeitet Header-Informationen aus den empfangenen Paketen. Der Paketprozessor 610 kann eine Switch-Kennung (z.B. eine MAC-Adresse und/oder eine IP-Adresse) identifizieren, die dem Switch 600 im Header eines Pakets zugeordnet ist.
  • Die Kommunikations-Ports 602 können Kommunikationskanäle zwischen den Switches zur Kommunikation mit anderen Switches und/oder Benutzervorrichtungen umfassen. Die Kommunikationskanäle können über einen normalen Kommunikations-Port implementiert werden und auf einem beliebigen offenen oder proprietären Format basieren. Die Kommunikations-Ports 602 können einen oder mehrere Ethernet-Anschlüsse umfassen, die in einem Ethernet-Header gekapselte Rahmen empfangen können. Die Kommunikations-Ports 602 können auch einen oder mehrere IP-Anschlüsse umfassen, die in der Lage sind, IP-Pakete zu empfangen. Ein IP-Port kann ein IP-Paket empfangen und kann mit einer IP-Adresse konfiguriert werden. Der Paketprozessor 610 kann Ethernet-Rahmen und/oder IP-Pakete verarbeiten. Ein entsprechender Anschluss der Kommunikations-Ports 602 kann als Eingangsanschluss und/oder als Ausgangsanschluss fungieren.
  • Der Switch 600 kann eine Datenbank 652 verwalten (z.B. in der Speichervorrichtung 650). Die Datenbank 652 kann eine relationale Datenbank sein und kann auf einer oder mehreren DBMS-Instanzen laufen. In der Datenbank 652 können Informationen gespeichert werden, die mit dem Routing, der Konfiguration und der Schnittstelle des Switches 600 verbunden sind. Der Switch 600 kann einen VGS-Logikblock 642 und einen Routing-Logikblock 644 enthalten. Der VGS-Logikblock 642 kann es dem Switch 600 ermöglichen, als VGS, wie z.B. VGS 106, in einer verteilten Tunnel-Fabric zu arbeiten. Zu diesem Zweck kann der VGS-Logikblock 642 in Verbindung mit einem anderen Switch arbeiten. Der Routing-Logikblock 644 kann den Betrieb eines RPI für den Switch 600 erleichtern und Pfade im zugrunde liegenden Netzwerk bestimmen.
  • Der Switch 600 kann einen Umleitungslogikblock 630 enthalten, der einen Auslöselogikblock 632, einen Rücksetzlogikblock 634 und einen Kostenlogikblock 636 umfassen kann. Der Umleitungslogikblock 630 kann in Verbindung mit dem Routing-Logikblock 644 arbeiten. Der Auslöselogikblock 632 kann eine Reihe von Ereignissen überwachen und feststellen, ob die Auslösebedingung für ein Ereignis erfüllt ist. Der Rücksetzlogikblock 634 kann den Verlauf des ausgelösten Ereignisses überwachen und feststellen, ob die Rücksetzbedingung für das Ereignis erfüllt ist.
  • Wenn ein Ereignis ausgelöst wird, kann der Kostenlogikblock 636 unterscheidbare Kosten für die lokalen Routinginformationen konfigurieren (z.B. in der Datenbank 652) und die unterscheidbaren Kosten über einen entsprechenden Verbindungskopplungs-Switch 600 melden. Andererseits kann der Kostenlogikblock 636, wenn ein ausgelöstes Ereignis abgeschlossen ist, Rücksetzkosten für die lokalen Routinginformationen (z.B. in der Datenbank 652) konfigurieren und die Rücksetzkosten über einen entsprechenden Verbindungskopplungs-Switch 600 melden. Der Switch 600 kann eine LSA verwenden, die eine Routenaktualisierung mit den unterscheidbaren oder zurückgesetzten Kosten für die Ankündigung umfasst.
  • Die in dieser ausführlichen Beschreibung beschriebenen Datenstrukturen und der Code werden in der Regel auf einem computerlesbaren Speichermedium gespeichert, bei dem es sich um eine beliebige Vorrichtung oder ein beliebiges Medium handeln kann, das Code und/oder Daten zur Verwendung durch ein Computersystem speichern kann. Das computerlesbare Speichermedium umfasst unter anderem flüchtige Speicher, nichtflüchtige Speicher, magnetische und optische Speichervorrichtungen wie Disketten, Magnetbänder, CDs (Compact Discs), DVDs (Digital Versatile Discs oder Digital Video Discs) oder andere Medien, die in der Lage sind, heute bekannte oder später entwickelte computerlesbare Medien zu speichern.
  • Die im Abschnitt „Detaillierte Beschreibung“ beschriebenen Methoden und Prozesse können als Code und/oder Daten verkörpert werden, die wie oben beschrieben in einem computerlesbaren Speichermedium gespeichert werden können. Wenn ein Computersystem den auf dem computerlesbaren Speichermedium gespeicherten Code und/oder die Daten liest und ausführt, führt das Computersystem die Methoden und Prozesse aus, die als Datenstrukturen und Code verkörpert und in dem computerlesbaren Speichermedium gespeichert sind.
  • Die hier beschriebenen Methoden und Prozesse können von Hardware-Modulen oder -Vorrichtungen ausgeführt werden und/oder in diesen enthalten sein. Zu diesen Modulen oder Vorrichtungen können unter anderem ein anwendungsspezifischer integrierter Schaltkreis (ASIC-Chip), ein feldprogrammierbares Gate-Array (FPGA), ein dedizierter oder gemeinsam genutzter Prozessor, der ein bestimmtes Softwaremodul oder ein Stück Code zu einem bestimmten Zeitpunkt ausführt, und/oder andere heute bekannte oder später entwickelte programmierbare logische Vorrichtungen gehören. Wenn die Hardware-Module oder -Vorrichtungen aktiviert werden, führen sie die in ihnen enthaltenen Methoden und Prozesse aus.
  • Die vorstehenden Beschreibungen von Beispielen der vorliegenden Erfindung wurden nur zur Veranschaulichung und Beschreibung vorgelegt. Sie erheben keinen Anspruch auf Vollständigkeit und schränken diese Offenbarung nicht ein. Dementsprechend werden viele Modifikationen und Variationen für den Fachmann auf dem Gebiet der Technik offensichtlich sein. Der Umfang der vorliegenden Erfindung wird durch die beigefügten Ansprüche definiert.

Claims (20)

  1. Ein Verfahren, das Folgendes umfasst: Beteiligung eines ersten Switches an einem virtuellen Switch in Verbindung mit einem zweiten Switch, wobei der virtuelle Switch dazu bestimmt ist, als Gateway für eine Overlay-Tunnel-Fabric zu fungieren, die den ersten und den zweiten Switch enthält, wobei ein Pfad zwischen einem jeweiligen Switch-Paar eines zugrunde liegenden Netzwerks der Overlay-Tunnel-Fabric auf Basis eines Routing-Prozesses bestimmt wird, wobei der erste und der zweite Switch einzeln an dem Routing-Prozess beteiligt sind und wobei Pakete zu einem Tunnel zu dem virtuellen Switch auf Pfade zu dem ersten und dem zweiten Switch in dem zugrunde liegenden Netzwerk verteilt werden; Bestimmen, durch den ersten Switch, einer Auslösebedingung für ein Ereignis, das anzeigt, dass Pakete, die nachfolgend über den Tunnel zum virtuellen Switch empfangen werden, auf einen Pfad zum zweiten Switch geleitet werden sollen, wobei der erste und der zweite Switch in einem funktionsbereiten Zustand bleiben; und als Reaktion auf die Bestimmung der Auslösebedingung, Melden hoher Kosten für eine Verbindung zum ersten Switch für den Routing-Prozess im zugrunde liegenden Netzwerk, wodurch die Verteilung von Paketen an den virtuellen Switch unter den Pfaden zu dem ersten und dem zweiten Switch umgangen wird.
  2. Verfahren nach Anspruch 1, das ferner als Reaktion auf die Bestimmung dessen, dass das Ereignis abgeschlossen ist, ein Melden von Standardkosten für die Verbindung zum ersten Switch für den Routing-Prozess im zugrunde liegenden Netzwerk umfasst, wodurch die Verteilung von Paketen zum virtuellen Switch auf die Pfade zu dem ersten und dem zweiten Switch zurückgesetzt wird.
  3. Verfahren nach Anspruch 1, wobei die Auslösebedingung anzeigt, dass ein Tunnelzustand zwischen dem Switch und dem zweiten Switch inkonsistent ist.
  4. Verfahren nach Anspruch 1, wobei die Auslösebedingung anzeigt, dass ein Verkehrsvolumen auf einer Inter-Switch-Verbindung zwischen dem ersten und dem zweiten Switch über einem Schwellenwert liegt.
  5. Verfahren nach Anspruch 1, wobei die Auslösebedingung anzeigt, dass ein Tunnel zum virtuellen Switch am ersten Switch funktionsbereit ist, bevor ein Host über einen Edge-Port erkannt wird.
  6. Verfahren nach Anspruch 1, wobei die Auslösebedingung anzeigt, dass: der erste Switch neu gebootet hat und die Paketverarbeitung für die Overlay-Tunnel-Fabric im zweiten Switch funktionsbereit ist.
  7. Verfahren nach Anspruch 1, wobei die Auslösebedingung eins oder mehreres von Folgendem anzeigt: nicht-funktionsbereite Randverbindungen am ersten Switch und nicht verfügbare Routing-Adjazenzen zu Vorrichtungen eines Clients, was eine Migration des Clients anzeigt.
  8. Verfahren nach Anspruch 1, wobei die Auslösebedingung den Start eines Zeitgebers anzeigt, der die Dauer des Ereignisses angibt.
  9. Verfahren nach Anspruch 1, das ferner die Konfiguration der hohen Kosten in Routing-Informationen, die dem zugrunde liegenden Netz zugeordnet sind, umfasst; wobei das Melden der hohen Kosten ein Senden einer Verbindungszustandsmeldung unter Verwendung einer lokalen Instanz des Routing-Prozesses umfasst.
  10. Ein nicht-transitorisches, computerlesbares Speichermedium, das Anweisungen speichert, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen, ein Verfahren durchzuführen, wobei das Verfahren umfasst: Beteiligung eines ersten Switches an einem virtuellen Switch in Verbindung mit einem zweiten Switch, wobei der virtuelle Switch dazu bestimmt ist, als Gateway für eine Overlay-Tunnel-Fabric zu fungieren, die den ersten und den zweiten Switch enthält, wobei ein Pfad zwischen einem jeweiligen Switch-Paar eines zugrunde liegenden Netzwerks der Overlay-Tunnel-Fabric auf Basis eines Routing-Prozesses bestimmt wird, wobei der erste und der zweite Switch einzeln an dem Routing-Prozess beteiligt sind und wobei Pakete zu einem Tunnel zu dem virtuellen Switch auf Pfade zu dem ersten und dem zweiten Switch in dem zugrunde liegenden Netzwerk verteilt werden; Bestimmen, durch den ersten Switch, einer Auslösebedingung für ein Ereignis, das anzeigt, dass Pakete, die nachfolgend über den Tunnel zum virtuellen Switch empfangen werden, auf einen Pfad zum zweiten Switch geleitet werden sollen, wobei der erste und der zweite Switch in einem funktionsbereiten Zustand bleiben; und als Reaktion auf die Bestimmung der Auslösebedingung, Melden hoher Kosten für eine Verbindung zum ersten Switch für den Routing-Prozess im zugrunde liegenden Netzwerk, wodurch die Verteilung von Paketen an den virtuellen Switch unter den Pfaden zu dem ersten und dem zweiten Switch umgangen wird.
  11. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 10, wobei das Verfahren ferner als Reaktion auf die Bestimmung dessen, dass das Ereignis abgeschlossen ist, ein Melden von Standardkosten für die Verbindung zum ersten Switch für den Routing-Prozess im zugrunde liegenden Netzwerk umfasst, wodurch die Verteilung von Paketen zum virtuellen Switch auf die Pfade zu dem ersten und dem zweiten Switch zurückgesetzt wird.
  12. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 10, wobei die Auslösebedingung anzeigt, dass ein Tunnelzustand zwischen dem Switch und dem zweiten Switch inkonsistent ist.
  13. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 10, wobei die Auslösebedingung anzeigt, dass ein Verkehrsvolumen auf einer Inter-Switch-Verbindung zwischen dem ersten und dem zweiten Switch über einem Schwellenwert liegt.
  14. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 10, wobei die Auslösebedingung anzeigt, dass ein Tunnel zum virtuellen Switch am ersten Switch funktionsbereit ist, bevor ein Host über einen Edge-Port erkannt wird.
  15. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 10, wobei die Auslösebedingung anzeigt, dass: der erste Switch neu gebootet hat und die Paketverarbeitung für die Overlay-Tunnel-Fabric im zweiten Switch funktionsbereit ist.
  16. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 10, wobei die Auslösebedingung eins oder mehreres von Folgendem anzeigt: nicht-funktionsbereite Randverbindungen am ersten Switch und nicht verfügbare Routing-Adjazenzen zu Vorrichtungen eines Clients, was eine Migration des Clients anzeigt.
  17. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 10, wobei die Auslösebedingung den Start eines Zeitgebers anzeigt, der die Dauer des Ereignisses angibt.
  18. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 10, wobei das Verfahren ferner die Konfiguration der hohen Kosten in Routing-Informationen, die dem zugrunde liegenden Netz zugeordnet sind, umfasst; wobei das Melden der hohen Kosten ein Senden einer Verbindungszustandsmeldung unter Verwendung einer lokalen Instanz des Routing-Prozesses umfasst.
  19. Ein Computersystem, umfassend: einen Prozessor; eine Speichervorrichtung; einen Gateway-Logikblock zur Beteiligung an einem virtuellen Computersystem in Verbindung mit einem zweiten Computersystem, wobei das virtuelle Computersystem dazu bestimmt ist, als Gateway für eine Overlay-Tunnel-Fabric zu fungieren, die das Computersystem und das zweite Computersystem enthält, wobei ein Pfad zwischen einem jeweiligen Computersystempaar eines zugrunde liegenden Netzwerks der Overlay-Tunnel-Fabric auf Basis eines Routing-Prozesses bestimmt wird, wobei das Computersystem und das zweite Computersystem einzeln an dem Routing-Prozess beteiligt sind und wobei Pakete zu einem Tunnel zu dem virtuellen Computersystem auf Pfade zu dem Computersystem und dem zweiten Computersystem in dem zugrunde liegenden Netzwerk verteilt werden; einen Auslöselogikblock, um eine Auslösebedingung für ein Ereignis zu bestimmen, das anzeigt, dass Pakete, die nachfolgend über den Tunnel zum virtuellen Computersystem empfangen werden, auf einen Pfad zum zweiten Computersystem geleitet werden sollen, wobei das Computersystem und das zweite Computersystem in einem funktionsbereiten Zustand bleiben; und einen Kostenlogikblock, um als Reaktion auf die Bestimmung der Auslösebedingung hohe Kosten für eine Verbindung zu dem Computersystem für den Routing-Prozess im zugrunde liegenden Netzwerk zu melden, wodurch die Verteilung von Paketen an das virtuelle Computersystem unter den Pfaden zu dem Computersystem und dem zweiten Computersystem umgangen wird.
  20. Computersystem nach Anspruch 19, das ferner einen Rücksetzlogikblock umfasst, um festzustellen, ob das Ereignis abgeschlossen ist; und wobei der Kostenlogikblock ferner dazu bestimmt ist, Standardkosten für die Verbindung zum Computersystem für den Routing-Prozess im zugrunde liegenden Netzwerk zu melden, wodurch die Verteilung von Paketen zum virtuellen Computersystem auf die Pfade zu dem Computersystem und dem zweiten Computersystem zurückgesetzt wird.
DE102022108865.0A 2021-10-15 2022-04-12 Dynamische datenverkehrsumleitung für ein virtuelles gateway einer verteilten tunnel-fabric Pending DE102022108865A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/503,157 US11528224B1 (en) 2021-10-15 2021-10-15 Dynamic traffic redirection for a virtual gateway of a distributed tunnel fabric
US17/503,157 2021-10-15

Publications (1)

Publication Number Publication Date
DE102022108865A1 true DE102022108865A1 (de) 2023-04-20

Family

ID=84426706

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022108865.0A Pending DE102022108865A1 (de) 2021-10-15 2022-04-12 Dynamische datenverkehrsumleitung für ein virtuelles gateway einer verteilten tunnel-fabric

Country Status (3)

Country Link
US (1) US11528224B1 (de)
CN (1) CN115988074A (de)
DE (1) DE102022108865A1 (de)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792991B2 (en) * 2002-12-17 2010-09-07 Cisco Technology, Inc. Method and apparatus for advertising a link cost in a data communications network
US7756027B1 (en) * 2007-06-13 2010-07-13 Juniper Networks, Inc. Automatic configuration of virtual network switches
JP5867211B2 (ja) * 2012-03-19 2016-02-24 富士通株式会社 中継装置、中継装置の制御方法及び中継システム
US9450817B1 (en) * 2013-03-15 2016-09-20 Juniper Networks, Inc. Software defined network controller
US10693761B2 (en) * 2018-07-02 2020-06-23 Hewlett Packard Enterprise Development Lp Computer system including multilayer switches
US11082337B2 (en) * 2019-02-15 2021-08-03 Juniper Networks, Inc. Support for multiple virtual networks over an underlay network topology

Also Published As

Publication number Publication date
CN115988074A (zh) 2023-04-18
US11528224B1 (en) 2022-12-13

Similar Documents

Publication Publication Date Title
DE112016005600B4 (de) Querverbindung von Switches auf der Basis eines hierarchischen Overlay-Tunneling
DE102011114278B4 (de) Verfahren und Vorrichtung, die eine Ausfallumschaltung für einen Punkt-Punkt-Tunnel für Split-Plane-Umgebungen drahtloser lokaler Netze bereitstellen
DE102005032479B4 (de) Fernsteuerung eines Vermittlungsknotens in einem Stapel von Vermittlungsknoten
DE69933417T2 (de) Vorrichtung und Verfahren zur routerfreien Schicht 3 Wegelenkung in einem Netz
EP2070256B1 (de) Verfahren zum rekonfigurieren eines kommunikationsnetzwerks
DE102011112852B4 (de) Zugangsnetz-Doppelwegkonnektivität
DE3888818T2 (de) Aufgeteilte Lastverteilung.
DE102012220834B4 (de) Verfahren und Vorrichtung zum Umsetzen eines flexiblen virtuellen lokalen Netzwerks
DE69215659T2 (de) Verfahren und einrichtung für transparente brückenbildung für den verkehr über fernbereichsnetze
DE69727447T2 (de) Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung
DE602005001601T2 (de) Protokoll-Failover in einem Softrouter
DE69908295T2 (de) Virtuelles lokales netz mit mehrfachsendeschutz
DE112012001320T5 (de) Prioritätsgestützte Flusssteuerung in einer Switching-Netzwerkarchitektur mit einem Protokoll einer verteilten Stuktur (Distributed Fabric Protocol DFP)
DE602004005242T2 (de) Zentralisierte konfiguration von verwalteten objekten des link-scope-typs in netzwerken, die auf dem internet-protokoll (ip) basieren
DE112008002665T5 (de) Bereitstellen einer Abstraktionsschicht in einem Clusterswitch, der mehrere Switches hat
DE102011114276B4 (de) Ausfallsicherheit durch Routed Split Multi-Link Trunking für Split-Plane-Umgebungendrahtloser lokaler Netze
DE102014117460A1 (de) Programmierbares verteiltes Networking
EP1804423A2 (de) Verfahren zur schnellen Wiederherstellung eines Multicast-Dienstes und Netzvorrichtung
DE60133175T2 (de) Kommunikationsnetz
DE102011114272B4 (de) Paketweiterleitungsfunktion eines Mobilitätsswitchs, der als Routed-SMLT-(RSMLT-)Knoten eingesetzt wird
EP1532771A1 (de) Testverfahren f r nachrichtenpfade in kommunikationsnetzen s owie netzelement
DE602004004364T2 (de) Schicht 2 Netzwerk mit VPLS
DE102022202781A1 (de) Effiziente ausbreitung von benachrichtigungen über fehlerhafte weiterleitungen
DE60020299T2 (de) Erzeugung eines vollständigen Baumes in einem Netzwerk welches Gruppen beinhaltet
DE102022108386A1 (de) Geordnete stapelbildung mit weniger manuellen eingriffen

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US

Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TX, US

R082 Change of representative

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB - PATENT- , DE

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB PATENTANWA, DE