DE102022206442A1 - Speichereffiziente Implementierung von Downstream-VXLAN-Kennungen - Google Patents

Speichereffiziente Implementierung von Downstream-VXLAN-Kennungen Download PDF

Info

Publication number
DE102022206442A1
DE102022206442A1 DE102022206442.9A DE102022206442A DE102022206442A1 DE 102022206442 A1 DE102022206442 A1 DE 102022206442A1 DE 102022206442 A DE102022206442 A DE 102022206442A DE 102022206442 A1 DE102022206442 A1 DE 102022206442A1
Authority
DE
Germany
Prior art keywords
vtep
local
vni
packet
remote
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
DE102022206442.9A
Other languages
English (en)
Inventor
Suresh Kumar Jagadeesan
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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
Priority claimed from US17/591,623 external-priority patent/US11855804B2/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102022206442A1 publication Critical patent/DE102022206442A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

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

Abstract

Eine Netzwerkvorrichtung, die als lokaler VXLAN-Tunnelendpunkt (VTEP) dient, umfasst eine Kommunikationsschnittstelle, einen ersten Prozessor und einen Paketprozessor. Die Kommunikationsschnittstelle kommuniziert zwischen dem lokalen VTEP und entfernten VTEPs, wobei jeder VTEP eine entsprechende VXLAN-Kennung (VNI) hat. Der erste Prozessor importiert eine Downstream-VNI (D-VNI), die für die Weiterleitung von Paketen vom lokalen VTEP an einen entfernten VTEP verwendet wird, erstellt eine eindeutige Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist, und ordnet die eindeutige Ausgangs-RIF einem oder mehreren Routeneinträgen im lokalen VTEP zu. Der Paketprozessor empfängt ein Paket, das für den entfernten VTEP bestimmt ist, sucht das Paket in den Routeneinträgen im lokalen VTEP, um die eindeutige Ausgangs-RIF zu finden, übersetzt die eindeutige Ausgangs-RIF in die importierte D-VNI, kapselt das Paket mit der importierten D-VNI ein, und leitet das eingekapselte Paket gemäß der eindeutigen Ausgangs-RIF weiter.

Description

  • TECHNISCHES GEBIET
  • Die hier beschriebenen Ausführungsformen beziehen sich allgemein auf die Datenkommunikation und insbesondere auf Verfahren und Systeme zur speichereffizienten Implementierung von Downstream-VXLAN-Kennungen (D-VNIs).
  • HINTERGRUND
  • Die virtuelle erweiterbare lokale Netzwerk- (Virtual Extensible Local Area Network, VXLAN) Technologie ist eine Netzwerkvirtualisierungstechnologie, die sich für groß angelegte Einsätze wie Cloud Computing und Rechenzentren eignet. VXLAN verwendet eine VLAN-ähnliche Verkapselungstechnik. VXLAN wird zum Beispiel in einer Anfrage für Kommentare (Request For Comments, RFC) 7348 beschrieben.
  • Virtuelles privates Ethernet-Netzwerk (Ethernet Virtual Private Network, EVPN) ist eine Steuerebene für VXLAN, die den Aufbau und die Bereitstellung großer VXLANbasierter Netzwerke ermöglicht. EVPN ist zum Beispiel in RFC 8365 beschrieben.
  • VRF ist eine Technologie, bei der sich mehrere unabhängige Weiterleitungstabellen in derselben Netzwerkvorrichtung (z. B. einem Router oder Switch) befinden. Eine Weiterleitungstabelle in jeder VRF-Instanz wird verwendet, um den Next Hop für jedes Datenpaket zu bestimmen, und des wird eine Reihe von Regeln und Routing-Protokollen verwendet, die festlegen, wie das Paket weitergeleitet werden soll. Da die VRF-Routing-Instanzen unabhängig sind, können dieselben oder sich überschneidende IP-Adressen in verschiedenen Instanzen verwendet werden, ohne dass es zu Konflikten kommt, und Netzwerkpfade können segmentiert werden, ohne dass mehrere Router erforderlich sind. Da der Datenverkehr automatisch getrennt wird, erhöht VRF außerdem die Netzwerksicherheit und kann den Bedarf an Verschlüsselung und Authentifizierung verringern.
  • KURZBESCHREIBUNG DER ERFINDUNG
  • Die Erfindung ist durch die Ansprüche definiert. Zur Veranschaulichung der Erfindung werden hier Aspekte und Ausführungsformen beschrieben, die in den Anwendungsbereich der Ansprüche fallen können oder auch nicht.
  • Eine hier beschriebene Ausführungsform stellt eine Netzwerkvorrichtung bereit, die als lokaler VXLAN-Tunnelendpunkt (VTEP) dient und eine Kommunikationsschnittstelle, einen ersten Prozessor und einen Paketprozessor umfasst. Die Kommunikationsschnittstelle kommuniziert zwischen dem lokalen VTEP und entfernten VTEPs, wobei jeder VTEP eine entsprechende VXLAN-Kennung (VNI) hat. Der erste Prozessor importiert eine Downstream-VNI (D-VNI), die für die Weiterleitung von Paketen vom lokalen VTEP an einen entfernten VTEP verwendet wird, erstellt eine eindeutige Ausgangs-Routing-Schnittstelle (Routing Interface, RIF), die in die importierte D-VNI übersetzbar ist, und ordnet die eindeutige Ausgangs-RIF einem oder mehreren Routeneinträgen im lokalen VTEP zu. Der Paketprozessor empfängt ein Paket, das für den entfernten VTEP bestimmt ist, sucht das Paket in den Routeneinträgen im lokalen VTEP, um die eindeutige Ausgangs-RIF zu finden, übersetzt die eindeutige Ausgangs-RIF in die importierte D-VNI, kapselt das Paket mit der importierten D-VNI ein und leitet das eingekapselte Paket gemäß der eindeutigen Ausgangs-RIF weiter.
  • Eine hierin beschriebene Ausführungsform stellt eine Netzwerkvorrichtung bereit, die als lokaler virtueller erweiterbarer lokaler Netzwerk- (VXLAN) Tunnelendpunkt (VTEP) dient, wobei die Netzwerkvorrichtung eine Kommunikationsschnittstelle, einen ersten Prozessor und einen Paketprozessor umfasst. Die Kommunikationsschnittstelle kommuniziert zwischen lokalen virtuellen Routing- und Weiterleitungsdomänen (Virtual Routing and Forwarding, VRFs) und entfernten VRFs, wobei jede der lokalen VRFs und jede der entfernten VRFs eine eindeutige VXLAN-Kennung (VNI) aufweist. Der erste Prozessor, der ein Steuerprogramm ausführt, das eine lokale VRF-Instanz für eine lokale VRF erstellt, die im lokalen VTEP bereitgestellt wird, importiert eine Downstream-VNI (D-VNI), die bei der Weiterleitung von Paketen von der lokalen VRF zu einer entfernten VRF verwendet wird, die in einem entfernten VTEP, aber nicht im lokalen VTEP bereitgestellt wird, erstellt eine eindeutige Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist, und ordnet die eindeutige Ausgangs-RIF einem oder mehreren Routeneinträgen in der lokalen VRF-Instanz zu. Der Paketprozessor empfängt ein Paket, das für die entfernte VRF bestimmt ist, sucht das Paket in dem einen oder den mehreren Routeneinträgen in der lokalen VRF-Instanz, um die eindeutige Ausgangs-RIF abzurufen, übersetzt die eindeutige Ausgangs-RIF in die importierte D-VNI, kapselt das Paket mit der importierten D-VNI ein, und leitet das eingekapselte Paket gemäß der eindeutigen Ausgangs-RIF weiter.
  • In einigen Ausführungsformen exportiert das Steuerprogramm im lokalen VTEP eine lokale VNI der lokalen VRF zum entfernten VTEP, um vom entfernten VTEP bei der Weiterleitung von Paketen von der entfernten VRF zur lokalen VRF verwendet zu werden. Das Steuerprogramm erstellt außerdem eine zweite Ausgangs-RIF für die lokale VNI und ordnet die zweite Ausgangs-RIF einem oder mehreren zweiten Routeneinträgen in der lokalen VRF-Instanz zu. Der Paketprozessor empfängt von der entfernten VRF über die Kommunikationsschnittstelle ein zweites Paket, das für die lokale VRF bestimmt ist, das zweite Paket wird durch den entfernten VTEP mit der exportierten lokalen VNI eingekapselt, entkapselt das zweite Paket, schlägt das entkapselte Paket in dem einen oder den mehreren zweiten Routeneinträgen in der lokalen VRF-Instanz nach, um die zweite Ausgangs-RIF abzurufen; und leitet das zweite Paket gemäß dem zweiten Ausgangs-RIF weiter. In anderen Ausführungsformen sind der lokale VTEP und der entfernte VTEP in ein virtuelles privates Ethernet-Netzwerk (EVPN) eingebunden, in dem Pakete, die zwischen verschiedenen VRFs kommuniziert werden, basierend auf der VXLAN-Verkapselung gekapselt werden. In anderen Ausführungsformen importiert das Steuerprogramm die D-VNI unter Verwendung einer Instanz eines Grenz-Gateway-Protokolls (Border Gateway Protocol, BGP), das der lokalen VRF zugeordnet ist.
  • In einer Ausführungsform ordnet das Steuerprogramm die eindeutige Ausgangs-RIF mehreren Routeneinträgen zu, die jeweils zu mehreren VRF-Instanzen gehören, die jeweils für mehrere lokale VRFs erstellt wurden, die im lokalen VTEP bereitgestellt werden. In einer anderen Ausführungsform stellt das Steuerprogramm die einen oder mehreren Routeneinträge in Weiterleitungsregeln in einer Zugriffskontrollliste (Access Control List, ACL) bereit, und der Paketprozessor sucht das Paket, indem er das Paket mit einer der Weiterleitungsregeln in der ACL abgleicht. In einer weiteren Ausführungsform enthalten sowohl der lokale VTEP als auch der entfernte VTEP eine Leaf-Netzwerkvorrichtung oder eine Dienstnetzwerkvorrichtung im Kommunikationsnetzwerk, wobei jeder der Leaf-Netzwerkvorrichtungen eine oder mehrere lokale VRFs zugewiesen sind, und jeder der Dienstnetzwerkvorrichtungen eine oder mehrere entfernte VRFs zugewiesen sind, die sich von den lokalen VRFs unterscheiden.
  • In einigen Ausführungsformen ist ein dienender Host mit einer gegebenen Dienstnetzwerkvorrichtung gekoppelt, auf der eine entsprechende VRF mit geteiltem Dienst bereitgestellt wird, wobei der bedienende Host einen Dienst für einen oder mehrere bediente Hosts in den lokalen VRFs über das Kommunikationsnetzwerk bereitstellt. In anderen Ausführungsformen weist das Kommunikationsnetzwerk eine Hub-Spoke-Topologie auf, in der eine oder mehrere Hub-Netzwerkvorrichtungen mit einer Hub-VRF ausgestattet sind, die das Routing zwischen bedienten Hosts unterstützt, die zu verschiedenen VRFs unter den lokalen VRFs gehören. In noch anderen Ausführungsformen unterstützt das Kommunikationsnetzwerk ein Gleiche-Kosten-Mehrpfad-(Equal-Cost Multi-Path, ECMP) Routing-Protokoll und der Paketprozessor kapselt Pakete ein, die an mehrere entfernte VTEPs weitergeleitet werden, die verschiedene ECMP-Pfade mit jeweils unterschiedlichen D-VNIs verwenden.
  • In einer Ausführungsform empfängt der Paketprozessor das Paket von einem Host oder einem Netzwerkelement in der ersten VRF oder von einer dritten VRF. In einer anderen Ausführungsform importiert das Steuerprogramm die D-VNI aus dem entfernten VTEP oder durch Empfangen der D-VNI in einem oder mehreren Befehlen, die von einem Benutzer manuell gesendet werden, oder automatisch durch Ausführen eines Skripts, das den einen oder die mehreren Befehle umfasst.
  • Zusätzlich wird gemäß einer hierin beschriebenen Ausführungsform ein Verfahren zur Datenkommunikation bereitgestellt, das Folgendes umfasst: in einer Netzwerkvorrichtung, die als lokaler virtueller erweiterbarer lokaler Netzwerk- (VXLAN) Tunnelendpunkt (VTEP) dient, Kommunizieren zwischen lokalen virtuellen Routing- und Weiterleitungsdomänen (VRFs) und entfernten VRFs, wobei jede der lokalen VRFs und jede der entfernten VRFs eine eindeutige VXLAN-Kennung (VNI) aufweist. Eine lokale VRF-Instanz wird durch ein Steuerprogramm für eine lokale VRF erstellt, die im lokalen VTEP bereitgestellt wird. Eine Downstream-VNI (D-VNI) wird importiert, die bei der Weiterleitung von Paketen von der lokalen VRF zu einer entfernten VRF verwendet wird, die in dem entfernten VTEP, aber nicht im lokalen VTEP bereitgestellt wird, Eine eindeutige Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist, wird erstellt, und die eindeutige Ausgangs-RIF ist einem oder mehreren Routeneinträgen in der lokalen VRF-Instanz zugeordnet. Ein Paket, das für die entfernte VRF bestimmt ist, wird von einem Paketprozessor des lokalen VTEP empfangen. Das Paket wird in dem einen oder den mehreren Routeneinträgen in der lokalen VRF-Instanz nachgeschlagen, um die eindeutige Ausgangs-RIF abzurufen. Die eindeutige Ausgangs-RIF wird in die importierte D-VNI übersetzt, und das Paket wird mit der importierten D-VNI eingekapselt. Das eingekapselte Paket wird gemäß der eindeutigen Ausgangs-RIF weitergeleitet.
  • In einigen Ausführungsformen umfasst das Verfahren ferner Folgendes: Exportieren einer lokalen VNI der lokalen VRF an den entfernten VTEP, um von dem entfernten VTEP bei der Weiterleitung von Paketen von der entfernten VRF an die lokale VRF verwendet zu werden, Erzeugen einer zweiten Ausgangs-RIF für die lokale VNI, und Zuordnen der zweiten Ausgangs-RIF zu einem oder mehreren zweiten Routeneinträgen in der lokalen VRF-Instanz; Empfangen eines zweiten Pakets von der entfernten VRF, das für die lokale VRF bestimmt ist, wobei das zweite Paket durch den entfernten VTEP mit der exportierten lokalen VNI eingekapselt ist; Entkapseln des zweiten Pakets und Suchen des entkapselten Pakets in dem einen oder den mehreren zweiten Routeneinträgen in der lokalen VRF-Instanz, um die zweite Ausgangs-RIF abzurufen; und Weiterleiten des zweiten Pakets gemäß der zweiten Ausgangs-RIF. In anderen Ausführungsformen sind der lokale VTEP und der entfernte VTEP in ein virtuelles privates Ethernet-Netzwerk (EVPN) eingebunden, in dem Pakete, die zwischen verschiedenen VRFs kommuniziert werden, basierend auf der VXLAN-Verkapselung gekapselt werden. In noch anderen Ausführungsformen umfasst das Importieren der D-VNI das Importieren der D-VNI unter Verwendung einer Instanz eines Grenz-Gateway-Protokolls (BGP), das der lokalen VRF zugeordnet ist.
  • In einer Ausführungsform umfasst das Zuordnen der eindeutigen Ausgangs-RIF das Zuordnen der eindeutigen Ausgangs-RIF zu mehreren Routeneinträgen, die jeweils zu mehreren VRF-Instanzen gehören, die jeweils für mehrere lokale VRFs erstellt wurden, die im lokalen VTEP bereitgestellt werden. In einer anderen Ausführungsform umfasst das Verfahren ferner das Bereitstellen des einen oder der mehreren Routeneinträge in Weiterleitungsregeln in einer Zugriffskontrollliste (ACL), und wobei das Suchen des Pakets das Abgleichen des Pakets mit einer der Weiterleitungsregeln in der ACL umfasst. In einer weiteren Ausführungsform enthalten sowohl der lokale VTEP als auch der entfernte VTEP eine Leaf-Netzwerkvorrichtung oder eine Dienstnetzwerkvorrichtung im Kommunikationsnetzwerk, und wobei jeder der Leaf-Netzwerkvorrichtungen ein oder mehrere lokale VRFs zugewiesen sind und jeder der Dienstnetzwerkvorrichtungen ein oder mehrere entfernte VRFs zugewiesen sind, die sich von den lokalen VRFs unterscheiden.
  • In einigen Ausführungsformen ist ein dienender Host mit einer gegebenen Dienstnetzwerkvorrichtung gekoppelt, auf der eine entsprechende VRF mit geteiltem Dienst bereitgestellt wird, und wobei der bedienende Host einen Dienst für einen oder mehrere bediente Hosts in den lokalen VRFs über das Kommunikationsnetzwerk bereitstellt. In anderen Ausführungsformen weist das Kommunikationsnetzwerk eine Hub-Spoke-Topologie auf, in der eine oder mehrere Hub-Netzwerkvorrichtungen mit einer Hub-VRF ausgestattet sind, die das Routing zwischen bedienten Hosts unterstützt, die zu verschiedenen VRFs unter den lokalen VRFs gehören. In noch anderen Ausführungsformen unterstützt das Kommunikationsnetzwerk ein Gleiche-Kosten-Mehrpfad- (ECMP) Routing-Protokoll und wobei das Verfahren ferner das Einkapseln von Paketen umfasst, die an mehrere entfernte VTEPs unter Verwendung unterschiedlicher ECMP-Pfade mit jeweils unterschiedlichen D-VNIs weitergeleitet werden.
  • In einer Ausführungsform umfasst der Empfang des Pakets den Empfang des Pakets von einem Host oder einem Netzwerkelement in der ersten VRF oder von einer dritten VRF. In einer anderen Ausführungsform umfasst das Importieren der D-VNI das Importieren der D-VNI von dem entfernten VTEP oder durch Empfangen der D-VNI in einem oder mehreren Befehlen, die von einem Benutzer manuell gesendet werden, oder automatisch durch Ausführen eines Skripts, das den einen oder die mehreren Befehle umfasst.
  • Gemäß einer hierin beschriebenen Ausführungsform wird zusätzlich eine Netzwerkvorrichtung bereitgestellt, die als lokaler virtueller erweiterbarer lokaler Netzwerk-(VXLAN)-Tunnelendpunkt (VTEP) dient, wobei die Netzwerkvorrichtung eine Kommunikationsschnittstelle, einen ersten Prozessor und einen Paketprozessor umfasst. Die Kommunikationsschnittstelle kommuniziert mit einem oder mehreren entfernten VTEPs, wobei dem lokalen VTEP und dem einen oder den mehreren entfernten VTEPs entsprechende VXLAN-Kennungen (VNIs) zugewiesen sind. Der erste Prozessor führt ein Steuerprogramm aus, das Steuerprogramm importiert eine Downstream-VNI (D-VNI), die bei der Weiterleitung von Paketen vom lokalen VTEP zu einem entfernten VTEP verwendet werden soll, und erstellt eine eindeutige Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist, und ordnet die eindeutige Ausgangs-RIF einem oder mehreren Routeneinträgen im lokalen VTEP zu. Der Paketprozessor empfängt ein Paket, das für den entfernten VTEP bestimmt ist, sucht das Paket in dem einen oder den mehreren Routeneinträgen in dem lokalen VTEP, um die eindeutige Ausgangs-RIF abzurufen, übersetzt die eindeutige Ausgangs-RIF in die importierte D-VNI, kapselt das Paket mit der importierten D-VNI ein, und leitet das eingekapselte Paket gemäß der eindeutigen Ausgangs-RIF weiter.
  • In einigen Ausführungsformen exportiert das Steuerprogramm eine lokale VNI des lokalen VTEP an den entfernten VTEP, um vom entfernten VTEP bei der Weiterleitung von Paketen vom entfernten VTEP an den lokalen VTEP verwendet zu werden. Das Steuerprogramm erstellt außerdem eine zweite Ausgangs-RIF für die lokale VNI und ordnet die zweite Ausgangs-RIF einem oder mehreren zweiten Routeneinträgen in dem lokalen VTEP zu. Der Paketprozessor empfängt von dem entfernten VTEP über die Kommunikationsschnittstelle ein zweites Paket, das für den lokalen VTEP bestimmt ist, wobei das zweite Paket durch den entfernten VTEP mit der exportierten lokalen VNI eingekapselt wird, entkapselt das zweite Paket, sucht das entkapselte Paket in dem einen oder den mehreren zweiten Routeneinträgen, um die zweite Ausgangs-RIF abzurufen, und leitet das zweite Paket gemäß dem zweiten Ausgangs-RIF weiter. In anderen Ausführungsformen gehören der lokale VTEP und der eine oder die mehreren entfernten VTEPs jeweils zu verschiedenen Standorten in einer Topologie mit mehreren Standorten. In anderen Ausführungsformen dient der lokale VTEP als Grenz-Gateway- (BGW) VTEP und der eine oder die mehreren entfernten VTEPs dienen als Leaf-VTEPs, die mit Hosts gekoppelt sind, wobei dem BGW-VTEP und den Hosts eine gemeinsame virtuelle Routing- und Weiterleitungsdomäne (VRF) zugewiesen ist.
  • In einer Ausführungsform werden dem lokalen VTEP und dem entfernten VTEP jeweils unterschiedliche VNIs zugewiesen. In einer anderen Ausführungsform ist die Netzwerkvorrichtung Teil eines Kommunikationsnetzwerks mit mehreren miteinander verbundenen Netzwerkvorrichtungen, und die Netzwerkvorrichtung dient als Leaf-VTEP oder BGW-VTEP in dem Kommunikationsnetzwerk.
  • Zusätzlich wird gemäß einer hierin beschriebenen Ausführungsform ein Verfahren zur Datenkommunikation bereitgestellt, das Folgendes umfasst: in einer Netzwerkvorrichtung, die als lokaler virtueller erweiterbarer lokaler Netzwerk- (VXLAN) Tunnelendpunkt (VTEP) dient, Kommunizieren mit einem oder mehreren entfernten VTEPs, wobei dem lokalen VTEP und dem einen oder den mehreren entfernten VTEPs entsprechende VXLAN-Kennungen (VNI) zugewiesen sind. Eine Downstream-VNI (D-VNI) wird von einem Steuerprogramm importiert, das auf dem lokalen VTEP läuft, und für die Weiterleitung von Paketen vom lokalen VTEP an einen entfernten VTEP verwendet wird. Eine eindeutige Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist, wird erstellt, und die eindeutige Ausgangs-RIF ist einem oder mehreren Routeneinträgen in dem lokalen VTEP zugeordnet. Ein Paket, das für den entfernten VTEP bestimmt ist, wird von einem Paketprozessor des lokalen VTEP empfangen. Das Paket wird in dem einen oder den mehreren Routeneinträgen in dem lokalen VTEP nachgeschlagen, um die eindeutige Ausgangs-RIF abzurufen. Die eindeutige Ausgangs-RIF wird in die importierte D-VNI übersetzt, und das Paket wird mit der importierten D-VNI eingekapselt. Das eingekapselte Paket wird gemäß der eindeutigen Ausgangs-RIF weitergeleitet.
  • In einigen Ausführungsformen umfasst das Verfahren ferner Folgendes: Exportieren einer lokalen VNI des lokalen VTEP an den entfernten VTEP, um von dem entfernten VTEP bei der Weiterleitung von Paketen von dem entfernten VTEP an den lokalen VTEP verwendet zu werden, Erzeugen einer zweiten Ausgangs-RIF für die lokale VNI, und Zuordnen der zweiten Ausgangs-RIF zu einem oder mehreren zweiten Routeneinträgen in dem lokalen VTEP; Empfangen eines zweiten Pakets von dem entfernten VTEP, der für den lokalen VTEP bestimmt ist, wobei das zweite Paket durch den entfernten VTEP mit der exportierten lokalen VNI eingekapselt wird; Entkapseln des zweiten Pakets, und Suchen des entkapselten Pakets in dem einen oder den mehreren zweiten Routeneinträgen, um die zweite Ausgangs-RIF abzurufen, und Weiterleiten des zweiten Pakets gemäß der zweiten Ausgangs-RIF. In anderen Ausführungsformen gehören der lokale VTEP und der eine oder die mehreren entfernten VTEPs jeweils zu verschiedenen Standorten in einer Topologie mit mehreren Standorten. In anderen Ausführungsformen dient der lokale VTEP als Grenz-Gateway-(BGW) VTEP und der eine oder die mehreren entfernten VTEPs dienen als Leaf-VTEPs, die mit Hosts gekoppelt sind, und wobei dem BGW-VTEP und den Hosts eine gemeinsame virtuelle Routing- und Weiterleitungsdomäne (VRF) zugewiesen ist.
  • In einer Ausführungsform werden dem lokalen VTEP und dem entfernten VTEP jeweils unterschiedliche VNIs zugewiesen. In einer anderen Ausführungsform ist die Netzwerkvorrichtung Teil eines Kommunikationsnetzwerks mit mehreren miteinander verbundenen Netzwerkvorrichtungen, und wobei die Netzwerkvorrichtung als Leaf-VTEP oder BGW-VTEP in dem Kommunikationsnetzwerk dient.
  • Zusätzlich wird gemäß einer hier beschriebenen Ausführungsform ein Verfahren zur Kommunikation zwischen virtuellen Routing- und Weiterleitungsdomänen (VRFs) bereitgestellt, wobei das Verfahren die Kommunikation zwischen einer lokalen VRF, die in einem lokalen VXLAN-Tunnelendpunkt (VTEP) bereitgestellt wird, und einer entfernten VRF, die in einem entfernten VTEP, aber nicht im lokalen VTEP bereitgestellt wird, umfasst. Eine Downstream VXLAN-Kennung (D-VNI), die der entfernten VRF zugeordnet ist, wird vom lokalen VTEP importiert, um bei der Weiterleitung von Paketen von der lokalen VRF an die entfernte VRF verwendet zu werden, und eine eindeutige Ausgangs-Routing-Schnittstelle (RIF) wird erstellt, die in die importierte D-VNI übersetzbar ist. Wenn der lokale VTEP ein Paket empfängt, das für die entfernte VRF bestimmt ist, wird die eindeutige Ausgangs-RIF, die anhand des Pakets abgerufen wird, in die importierte D-VNI übersetzt, und das Paket wird mit der importierten D-VNI eingekapselt. Das eingekapselte Paket wird gemäß der eindeutigen Ausgangs-RIF weitergeleitet.
  • Zusätzlich wird gemäß einer hier beschriebenen Ausführungsform ein Verfahren zur Kommunikation zwischen Standorten verschiedener Routing-Domänen bereitgestellt, wobei das Verfahren die Kommunikation zwischen einem lokalen VXLAN-Tunnel-Endpunkt (VTEP) und einem entfernten VTEP umfasst, die zu unterschiedlichen jeweiligen Routing-Domänen gehören. Eine Downstream-VNI (D-VNI) wird von dem lokalen VTEP importiert, um bei der Weiterleitung von Paketen von dem lokalen VTEP zu dem entfernten VTEP verwendet zu werden, und eine eindeutige Ausgangs-Routing-Schnittstelle (RIF) wird erstellt, die in die importierte D-VNI übersetzbar ist. Wenn der lokale VTEP ein für den entfernten VTEP bestimmtes Paket empfängt, wird die anhand des Pakets ermittelte eindeutige Ausgangs-RIF in die importierte D-VNI übersetzt, und das Paket wird mit der importierten D-VNI eingekapselt. Das eingekapselte Paket wird gemäß der eindeutigen Ausgangs-RIF weitergeleitet.
  • Jedes Merkmal eines Aspekts oder einer Ausführungsform kann in jeder geeigneten Kombination auf andere Aspekte oder Ausführungsformen angewendet werden. Insbesondere kann jedes Merkmal eines Verfahrensaspekts oder einer Ausführungsform auf einen Vorrichtungsaspekt oder eine Ausführungsform angewandt werden und umgekehrt.
  • Diese und andere Ausführungsformen werden aus der folgenden ausführlichen Beschreibung der Ausführungsformen in Verbindung mit den Zeichnungen, in denen sie dargestellt sind, besser verstanden:
  • Figurenliste
    • 1 ist ein Blockdiagramm, das schematisch ein Computersystem darstellt, das gemeinsame Dienste gemäß einer hier beschriebenen Ausführungsform bereitstellt;
    • 2 ist ein Blockdiagramm, das schematisch eine Netzwerkvorrichtung darstellt, die als virtueller Tunnelendpunkt (VTEP) dient, gemäß einer hier beschriebenen Ausführungsform;
    • 3A und 3B sind Diagramme, die schematisch die VTEP-Verarbeitung und -Weiterleitung für nicht eingekapselte und eingekapselte Pakete gemäß den hier beschriebenen Ausführungsformen darstellen;
    • 4 ist ein Flussdiagramm, das schematisch ein Verfahren zum Konfigurieren eines VTEP für die Kommunikation mit einem entfernten VTEP gemäß einer hier beschriebenen Ausführungsform darstellt;
    • 5 ist ein Blockdiagramm, das schematisch ein Computersystem mit einer Hub-Spoke-Topologie gemäß einer hier beschriebenen Ausführungsform darstellt; und
    • 6 ist ein Diagramm, das schematisch ein Computersystem mit mehreren Standorten gemäß einer hier beschriebenen Ausführungsform darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • ÜBERBLICK
  • Die hier beschriebenen Ausführungsformen bieten verbesserte Verfahren und Systeme für das virtuelle erweiterbare lokale Netzwerk- (VXLAN) Tunneling mit Downstream-VXLAN-Kennungs- (D-VNIs) Verkapselung über verschiedene Routing-Domänen.
  • Verschiedene Kommunikationsnetzwerke sind in mehrere Routing-Domänen unterteilt, die z.B. aus Sicherheitsgründen typischerweise voneinander isoliert sind. Bei isolierten Routing-Domänen darf der Datenverkehr innerhalb jeder Routing-Domäne fließen, aber nicht zwischen verschiedenen Routing-Domänen. Routing-Domänen können z. B. Standorten in einem Computersystem mit mehreren Standorten oder mit virtuellen Routing- und Weiterleitungsdomänen (VRFs) zugeordnet sein.
  • Netzwerkvorrichtungen, die VXLAN unterstützen, werden als virtuelle Tunnelendpunkte (VTEPs) bezeichnet. VTEPs kapseln den VXLAN-Datenverkehr ein und entkapseln ihn, wenn er den VXLAN-Tunnel verlässt.
  • In VXLAN wird jedem VXLAN-Tunnel in der Regel eine eindeutige offene Systemverbindungs- (Open Systems Interconnection, OSI) Schicht-drei (Layer-three, L3) VXLAN-Kennung (VNI) zugewiesen. In der folgenden Beschreibung wird der Begriff „L3VNI“ der Kürze halber auch einfach als „VNI“ bezeichnet. VNIs können im Kommunikationsnetzwerk auf verschiedene Weise zugewiesen werden. In einer Multi-VRF-Konfiguration beispielsweise werden verschiedenen VRFs in der Regel jeweils unterschiedliche VNIs zugewiesen, und in einer Konfiguration mit mehreren Standorten können Netzwerkvorrichtungen, die zu einem gemeinsamen Standort gehören, gleiche oder unterschiedliche VNIs zugewiesen bekommen. Die verschiedenen Standorte gehören in der Regel zu unterschiedlichen Verwaltungsdomänen.
  • In einigen Anwendungen muss das Kommunikationsnetzwerk die Kommunikation zwischen verschiedenen Routing-Domänen unterstützen, die z. B. jeweiligen Standorten oder VRFs zugeordnet sind. Die Kommunikation zwischen den Domänen kann z. B. durch den Import und Export bestimmter VNIs zwischen den verschiedenen Routing-Domänen erreicht werden. Eine VNI, die aus einer anderen Routing-Domäne zum Aufbau eines VXLAN-Tunnels importiert wird, wird als „Downstream-VNI“ (D-VNI) bezeichnet.
  • In einigen Ausführungsformen basiert die Weiterleitung von Paketen in einer Netzwerkvorrichtung auf vorsortierten Routeneinträgen, wobei jeder Routeneintrag einer entsprechenden Ausgangs-Router-Schnittstelle (RIF) zugeordnet ist. Im Prinzip könnten Routeneinträge, die sich auf Inter-Domain-VXLAN-Tunnel beziehen, explizite D-VNI-Informationen für die importierten D-VNIs speichern. Dieser Ansatz wäre jedoch in der Regel kostspielig oder sogar undurchführbar, da die Speicherung expliziter D-VNI-Informationen bei einer großen Anzahl von Routeneinträgen einen erheblichen Speicherplatzbedarf verursachen kann. Geht man beispielsweise von 10 Byte D-VNI-Informationen pro Routeneintrag aus, beträgt der Speicherplatz für 10.000 Routeneinträge 100 KByte. Eine weitere Anforderung, z. B. bei der Hardware-Implementierung, besteht darin, dass die Hardware die Speicherung von expliziten D-VNI-Informationen in Routeneinträgen unterstützen muss.
  • In einigen Ausführungsformen wird ein effizientes Schema zur Unterstützung der VXLAN-Verkapselung mit D-VNIs bereitgestellt. In dem effizienten Schema werden eindeutige Ausgangs-RIFs für die jeweiligen importierten D-VNIs erstellt und den entsprechenden Routeneinträgen zugeordnet.
  • Es wird eine Ausführungsform einer Netzwerkvorrichtung betrachtet, die als lokaler virtueller erweiterbarer lokaler Netzwerk- (VXLAN) Tunnelendpunkt dient, z. B. in einem Computersystem mit mehreren Standorten. Die Netzwerkvorrichtung umfasst eine Kommunikationsschnittstelle, einen ersten Prozessor und einen Paketprozessor. Die Kommunikationsschnittstelle kommuniziert mit einem oder mehreren entfernten VTEPs, wobei dem lokalen VTEP und dem einen oder den mehreren entfernten VTEPs entsprechende VXLAN-Kennungen (VNI) zugewiesen sind. Der erste Prozessor führt ein Steuerprogramm aus, das (z. B. vom entfernten VTEP oder von einem Benutzer) eine Downstream-VNI (D-VNI) importiert, die bei der Weiterleitung von Paketen vom lokalen VTEP zum entfernten VTEP verwendet werden soll, erstellt eine eindeutige Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzt werden kann, und ordnet die eindeutige Ausgangs-RIF einem oder mehreren Routeneinträgen im lokalen VTEP zu. Der Paketprozessor empfängt ein Paket, das für den entfernten VTEP bestimmt ist, sucht das Paket in dem einen oder den mehreren Routeneinträgen in dem lokalen VTEP, um die eindeutige Ausgangs-RIF abzurufen, übersetzt die eindeutige Ausgangs-RIF in die importierte D-VNI, kapselt das Paket mit der importierten D-VNI ein, und leitet das eingekapselte Paket gemäß der eindeutigen Ausgangs-RIF weiter.
  • In einigen Ausführungsformen exportiert das Steuerprogramm eine lokale VNI des lokalen VTEP an den entfernten VTEP, um vom entfernten VTEP bei der Weiterleitung von Paketen vom entfernten VTEP an den lokalen VTEP verwendet zu werden, erstellt eine Ausgangs-RIF für die lokale VNI und ordnet diese Ausgangs-RIF einem oder mehreren zweiten Routeneinträgen im lokalen VTEP zu. Als Reaktion auf den Empfang eines zweiten Pakets vom entfernten VTEP über die Kommunikationsschnittstelle, das vom entfernten VTEP mit der exportierten lokalen VNI eingekapselt wurde und für den lokalen VTEP bestimmt ist, entkapselt der Paketprozessor das zweite Paket, sucht das entkapselte Paket in dem einen oder den mehreren zweiten Routeneinträgen, um die zweite Ausgangs-RIF abzurufen, und leitet das zweite Paket gemäß dem zweiten Ausgangs-RIF weiter.
  • In einigen Ausführungsformen gehören der lokale VTEP und der eine oder die mehreren entfernten VTEPs jeweils zu verschiedenen Standorten in einer Topologie mit mehreren Standorten, z. B. einem Rechenzentrum mit mehreren Standorten. In einigen Ausführungsformen dient der lokale VTEP als Grenz-Gateway- (BGW) VTEP und der eine oder die mehreren entfernten VTEPs dienen als Leaf-VTEPs, die mit Hosts gekoppelt sind, wobei der BGW-VTEP und die Hosts einer gemeinsamen VRF zugeordnet sind.
  • In den offengelegten Techniken wird ein speicherarmes Schema zur Unterstützung von VXLAN-Tunneln mit D-VNIs bereitgestellt. Zu diesem Zweck werden eindeutige RIFs für die jeweiligen importierten D-VNIs erstellt und entsprechenden Routeneinträgen zugeordnet. Jede der eindeutigen Ausgangs-RIFs kann mehreren Routeneinträgen zugeordnet sein, wird aber in der Regel nur einmal in der Netzwerkvorrichtung gespeichert, unabhängig von der Anzahl der VRFs, die in dieser Netzwerkvorrichtung bereitgestellt werden. Da die Anzahl der importierten D-VNIs typischerweise relativ gering ist, verbrauchen die eindeutigen Ausgangs-RIFs sehr wenig Speicherplatz.
  • Das offengelegte Schema mit geringem Speicherplatzbedarf kann in verschiedenen Anwendungen verwendet werden, einschließlich (ohne darauf beschränkt zu sein) eines Multi-VRF-Kommunikationssystems, das gemeinsam genutzte Dienste bereitstellt, eines Multi-VRF-Kommunikationssystems mit einer Hub-Spoke-Topologie und eines Kommunikationssystems mit mehreren Standorten.
  • SYSTEMBESCHREIBUNG
  • 1 ist ein Blockdiagramm, das schematisch ein Computersystem 20 darstellt, das gemeinsame Dienste gemäß einer hier beschriebenen Ausführungsform bereitstellt;
  • Das Computersystem 20 besteht aus Hosts 24A und 24B, die Dienste für Hosts 28A, 28B und 28C über ein Kommunikationsnetzwerk 30 bereitstellen. Das Kommunikationsnetzwerk 30 kann beispielsweise ein Ethernet-Netzwerk umfassen.
  • Die dienenden Hosts 24A und 24B gehören zu Routing-Domänen, die durch eine Domänennamensystem- (DNS) VRF und eine SPEICHER-VRF spezifiziert sind, denen entsprechende VNI-Werte 20001 und 20002 zugeordnet sind. Die Hosts 28A, 28B und 28C gehören zu unterschiedlichen Routing-Domänen, die durch die VRFs PINK, BLAU und VIOLETT spezifiziert sind, denen die VNI-Werte 10001, 10002 und 10003 zugewiesen sind.
  • Im vorliegenden Beispiel empfängt jeder der Hosts 28A, 28B und 28C DNS-Dienste von DNS-Hosts 24A mit den Bezeichnungen DN1 und DN2 und Speicherdienste von Speicherhosts 24B mit den Bezeichnungen ST1 und ST2. In anderen Ausführungsformen können auch andere Arten von Diensten und/oder eine andere Anzahl von Diensttypen verwendet werden.
  • Das Kommunikationsnetzwerk 30 umfasst mehrere miteinander verbundene Netzwerkvorrichtungen wie Leaf-Switches 34 mit der Bezeichnung L11...L32, Spine-Switches 36 mit der Bezeichnung S1 und S2 und Dienst-Leaf-Switches 38 mit den Bezeichnungen SL1 und SL2. Ein Dienst-Leaf-Switch 34 wird hier der Kürze halber auch als „Dienst-Switch“ bezeichnet.
  • In der folgenden Beschreibung umfasst ein Leaf-Switch einen Switch, mit dem direkt oder indirekt ein oder mehrere Hosts gekoppelt sind. Bei den Hosts kann es sich beispielsweise um physische Server und/oder virtuelle Maschinen oder Server in einer virtualisierten Rechenzentrumsumgebung handeln.
  • Die Leaf-Switches 34 sind auf der einen Seite mit den Hosts 28A, 28B und 28C und auf der anderen Seite mit den Spine-Switches 36 gekoppelt. Zum Beispiel ist der Leaf-Switch L11 mit den Hosts 28A (H11 und H12) der PINKEN VRF und mit den Hosts 28B (H13 und H14) der BLAUEN VRF gekoppelt. Die Dienst-Switches SL1 und SL2 sind auf der einen Seite mit den DNS-Hosts DN1 und DN2 und den Speicher-Hosts ST1 und ST2 und auf der anderen Seite mit den Spine-Switches 36 gekoppelt.
  • Im Computersystem 20 sind den Leaf-, Spine- und Dienst-Switches jeweils autonome Systemnummern (ASNs) zugeordnet. Insbesondere werden den Leaf-Switches L11...L32 die ASNs 65001...65006, den Spine-Switches S1 und S2 die ASNs 65100 und 65101 und den Dienst-Switches SL1 und SL2 die ASNs 65201 und 65202 zugewiesen. ASNs können z. B. zur Angabe von Routenzielen (RTs) verwendet werden, wie weiter unten beschrieben wird.
  • In einigen Ausführungsformen umfasst das Kommunikationsnetzwerk 30 ein virtuelles privates Ethernet-Netzwerk (EVPN), in dem zumindest einige der Netzwerkvorrichtungen als virtuelle VXLAN-Tunnelendpunkte (VTEPs) dienen. In der folgenden Beschreibung werden die Begriffe „Netzwerkvorrichtung“, „Switch“, „Router“, „Gateway“ und „VTEP“ austauschbar verwendet.
  • In einigen Ausführungsformen erstellt eine Netzwerkvorrichtung, die als VTEP dient, typischerweise VRF-Instanzen für entsprechende VRFs, die in diesem VTEP bereitgestellt werden. Im vorliegenden Beispiel wird jeder der Leaf-VTEPs L11...L32 mit zwei VRFs von den VRFs PINK, BLAU und VIOLETT ausgestattet, abhängig von den VRFs der mit dem Leaf-Switch gekoppelten Hosts. In ähnlicher Weise erstellt jeder der Dienst-VTEPs SL1 und SL2 entsprechende VRF-Instanzen für die von ihm bereitgestellten VRFs, z. B. die DNS- und SPEICHER-VRFs in diesem Beispiel.
  • In einigen Ausführungsformen ist es erforderlich, dass das Kommunikationsnetzwerk 30 VXLAN-Tunneling zwischen verschiedenen VRFs unterstützt, die in verschiedenen VTEPs bereitgestellt werden. Zu diesem Zweck können die VTEPs Inter-VRF-VXLAN-Tunnel einrichten, indem sie untereinander VNIs austauschen, die den verschiedenen VRFs zugeordnet sind.
  • In der Dienst-Host-Richtung importiert jeder der Dienst-VTEPs SL1 und SL2 von jedem Leaf-VTEP eine D-VNI für jede im Leaf-VTEP bereitgestellte VRF. Der Dienst-VTEP kapselt dann Pakete, die für eine bestimmte VRF in einem Leaf-VTEP bestimmt sind, mit der D-VNI ein, die vom Leaf-VTEP für die bestimmte VRF importiert wurde. In der Host-Dienst-Richtung importiert jeder Leaf-VTEP von L11...L32 D-VNIs von jedem der Dienst-VTEPs SL1 und SL2. Im vorliegenden Beispiel importiert ein Leaf-VTEP von einem Dienst-VTEP zwei D-VNIs, die den VRFs DNS und SPEICHER entsprechen. Der Leaf-VTEP kapselt dann Pakete, die für eine bestimmte VRF bestimmt sind, in einen Dienst-VTEP mit der vom Dienst-VTEP importierten D-VNI für die bestimmte VRF ein.
  • Wie oben erwähnt, verfügen die in einem VTEP bereitgestellten VRFs über entsprechende Weiterleitungstabellen mit Routeneinträgen. Jeder Routeneintrag ist einer entsprechenden Ausgangs-RIF zugeordnet (z. B. verweist er auf diesen), die der VTEP für die Paketweiterleitung verwendet. In einigen Ausführungsformen erstellt der VTEP für jede importierte D-VNI eine eindeutige Ausgangs-RIF und ordnet die eindeutige Ausgangs-RIF den entsprechenden Routeneinträgen in den im VTEP bereitgestellten VRFs zu.
  • In einigen Ausführungsformen unterstützt das Kommunikationsnetzwerk 30 die Kommunikation zwischen verschiedenen VRFs in verschiedenen Leaf-VTEPs unter Verwendung von VXLAN-Verkapselung mit D-VNIs. Zum Beispiel kann L11 für seine PINKE VRF von L21, L22, L31 und/oder L32 eine D-VNI importieren, die der VIOLETTEN VRF zugeordnet ist. L11 erstellt eine eindeutige RIF für die importierte D-VNI und ordnet diese eindeutige Ausgangs-RIF Routeneinträgen zu, die über eine von L21...L32 in der lokalen PINKEN VRF-Instanz an die VIOLETTE VRF gerichtet sind. L11 verwendet dann die importierte D-VNI, z. B. zum Einkapseln von Paketen, die H11 z. B. über L11, S1 und L22 an H22 sendet.
  • In einigen Ausführungsformen importiert und exportiert das Steuerprogramm in der Netzwerkvorrichtung Routen unter Verwendung von Routenzielen (Route Targets, RTs). Ein RT ist ein Konstrukt, das im BGP-Protokoll verwendet wird, um die Import-/Exportrichtung und den Inhalt der Route zu spezifizieren und zu steuern. In einigen Ausführungsformen werden RTs verwendet, um den Import und Export von Routen/VNIs zwischen VTEPs zu steuern.
  • In einigen Ausführungsformen umfasst eine VRF-Instanz in einem VTEP eine Import-RT-Liste und eine Export-RT-Liste. Die RTs in der Exportliste werden an jede Route angehängt, die der VTEP anderen VTEPs ankündigt. Wenn ein entfernter VTEP eine angekündigte Route mit angehängten RTs empfängt, vergleicht der entfernte VTEP die RTs mit den Importlisten, die in seinen jeweiligen VRF-Instanzen definiert sind. Wenn eine der angehängten RTs mit der Importliste einer VRF-Instanz übereinstimmt, importiert der entfernte VTEP die angekündigte Route in diese VRF-Instanz. Wenn keine der an die angekündigte Route angehängten RTs mit der Importliste der VRF-Instanz übereinstimmt, unterlässt der entfernte VTEP den Import der angekündigten Route in diese VRF-Instanz.
  • In einigen Ausführungsformen umfasst der Zugang zu gemeinsamen Diensten im Computersystem 20 unter Verwendung von VXLAN-Tunneling mit D-VNIs folgende Stufen:
    • • Jeder der Leaf-VTEPs L11...L32 importiert für jede seiner bereitgestellten VRFs (z. B. unter den VRFs PINK, BLAU und VIOLETT) RTs, mit denen die Dienst-VTEPs SL1 und SL2 Routen exportieren, die ihren VRFs für gemeinsam genutzte Dienste entsprechen. Wenn z. B. die Dienst-VTEPs automatisch abgeleitete RTs exportieren, importieren die Leaf-VTEPs die RTs *:20001 und *:20002. Das Platzhaltersymbol „*“ in diesen RTs bezieht sich auf die autonomen Systemnummern (ASNs) 65201 und 65202, die SL1 bzw. SL2 zugewiesen sind. Alternativ können die RTs auch mit expliziten ASNs angegeben werden, anstatt die Platzhalternotation zu verwenden.
    • • SL1 und SL2 importieren für ihre bereitgestellten VRFs (DNS und SPEICHER VRFs) RTs, die von den Leaf-VTEPs für die PINKEN, BLAUEN und VIOLETTEN VRFs angekündigt wurden. Im vorliegenden Beispiel importieren SL1 und SL2 jeweils die RTs *:10001, *:10002 und *:10003. Alternativ können in den RTs auch explizite ASNs der Leaf-VTEPs anstelle der Platzhalternotation verwendet werden.
    • • Auf der Grundlage der importierten Routen erstellt der Leaf-VTEP eindeutige Ausgangs-RIFs für die jeweiligen D-VNIs 20001 und 20002. Der Leaf-VTEP ordnet diese eindeutigen Ausgangs-RIFs Routeneinträgen, die für die DNS- und Speicher-Hosts bestimmt sind, in den Routing-Tabellen der im Leaf-VTEP bereitgestellten VRFs zu.
    • • Basierend auf den von den Leaf-VTEPs importierten Routen erstellen SL1 und SL2 jeweils eindeutige Ausgangs-RIFs für die jeweiligen D-VNIs 10001, 10002 und 10003. Der Dienst-VTEP ordnet diese eindeutigen Ausgangs-RIFs Routeneinträgen für die Hosts H11...H34 in den jeweiligen Routing-Tabellen der DNS- und SPEICHER-VRFs zu.
    • • Im Folgenden wird ein Paket betrachtet, das von einem Quell-Host, z. B. H11 (IP 192.168.51.11), an einen DNS-Host, z. B. DN1 (IP 200.11.3.1), gesendet wird. Ein Leaf-VTEP (L11 oder L12) empfängt das Paket von H11, kapselt das Paket mit D-VNI 20001 ein und tunnelt das gekapselte Paket zu SL1 (IP 10.150.3.1) oder SL2 (IP 10.150.3.2). SL1 oder SL2 entkapseln das Paket und leiten das entkapselte Paket basierend auf der D-VNI(20001) im empfangenen Paket an DN1 in der Ziel-DNS VRF weiter. SL1 oder SL2 führen dieses letzte Routing durch, indem sie die Routing-Tabelle der DNS-VRF basierend auf der D-VNI im empfangenen Paket auswählen. In der Gegenrichtung empfängt SL1 oder SL2 ein Paket von Host DN1 und kapselt das Paket mit der D-VNI 10001 der PINKEN VRF ein, zu der H11 gehört. SL1 oder SL2 tunnelt das eingekapselte Paket zu L11 oder L12, die das Paket entkapseln und das entkapselte Paket unter Verwendung der Routing-Tabelle der PINKEN VRF weiterleiten.
  • In einigen Ausführungsformen verbindet sich ein Leaf-VTEP 34 oder ein Dienst-VTEP 38 mit lokalen Hosts über eine Multi-Chassis-Link-Aggregations- (MLAG) Konfiguration. In solchen Ausführungsformen erscheinen Peer-VTEPs für einen Host-Verbund als eine einzige logische Netzwerkvorrichtung. Zum Beispiel können Leaf-VTEPs L11 und L12 als MLAG-Peers für jeden der Hosts H11, H12, H13 und H14 konfiguriert werden. In ähnlicher Weise können Dienst-VTEPs SL1 und SL2 als MLAG-Peers für jeden der dienenden Hosts DN1, DN2, ST1 und ST2 konfiguriert sein.
  • In einigen Ausführungsformen unterstützt das Kommunikationsnetzwerk 30 ein Gleiche-Kosten-Mehrpfad-(ECMP) Routing-Protokoll. Im Allgemeinen kann das ECMP für eine schnelle Failover-Wiederherstellung verwendet werden. ECMP ist zum Beispiel in einer EVPN-Multihoming- (MH) Konfiguration anwendbar, z. B. in Rechenzentren mit einer Clos-Netzwerktopologie. Bei ECMP leitet ein Quell-VTEP Pakete an mehrere Ziel-VTEPs über mehrere entsprechende ECMP-Pfade weiter, wobei der Quell-VTEP Pakete, die über verschiedene ECMP-Pfade weitergeleitet werden, mit jeweils unterschiedlichen D-VNIs kapselt.
  • EINE NETZWERKVORRICHTUNG, DIE ALS VTEP DIENT
  • 2 ist ein Blockdiagramm, das schematisch eine Netzwerkvorrichtung 50 darstellt, die als virtueller Tunnelendpunkt (VTEP) dient, gemäß einer hier beschriebenen Ausführungsform; Die Netzwerkvorrichtung 50 kann zum Beispiel bei der Implementierung von Leaf-VTEPs L11...L32 und Dienst-VTEPs SL1 und SL2 im Computersystem 20 von 1, sowie Leaf-VTEPs L11...L22 und Hub-VTEPs SL1 und SL2 im Computersystem 300 von 5 unten verwendet werden.
  • Die Netzwerkvorrichtung 50 umfasst einen Paketprozessor 54, der mit einer Netzwerkschnittstelle 56 gekoppelt ist, die über Ports 58 mit einem Kommunikationsnetzwerk (z. B. dem Kommunikationsnetzwerk 30 von 1) verbunden ist. Jeder Anschluss 58 kann als Eingangsanschluss für eingehende Pakete, als Ausgangsanschluss für ausgehende Pakete oder als kombinierter Anschluss für sowohl eingehende als auch ausgehende Pakete fungieren. Der Paketprozessor 54 übernimmt in der Regel die Verarbeitung und Weiterleitung von Paketen in Echtzeit.
  • Die Netzwerkvorrichtung 50 umfasst ferner einen allgemeinen Prozessor 60, wie z. B. eine Zentraleinheit (CPU), und einen Speicher 62, auf den sowohl die CPU 60 als auch der Paketprozessor 54 zugreifen können. Auf der CPU 60 läuft ein Steuerebenenprogramm 64, das Offline-Steuerungs- und Bereitstellungsaufgaben der Netzwerkvorrichtung übernimmt. In einigen Ausführungsformen umfasst das Steuerebenenprogramm 64 (oder ein Teil davon) ein Netzwerkbetriebssystem (NOS) 65, wie z. B. das Nvidia® Cumulus Linux NOS. Das Steuerebenenprogramm 64 wird hier der Kürze halber auch einfach als „Steuerprogramm“ bezeichnet.
  • In einigen Ausführungsformen erstellt das Steuerprogramm 64 eine oder mehrere VRF-Instanzen 66 im Speicher 62, von denen jede einer VRF entspricht, die in der Netzwerkvorrichtung 50 bereitgestellt wird. In einer Ausführungsform speichert eine VRF-Instanz verschiedene Arten von Informationen, wie zum Beispiel: eine eigene VNI 70, die der Netzwerkvorrichtung zugewiesen ist, eine oder mehrere importierte D-VNIs 72 und eine oder mehrere lokale VNIs 74 (die die Netzwerkvorrichtung exportiert). In Inter-Domain-VXLAN-Tunneln verwendet VTEP 50 von einem entfernten VTEP importierte D-VNIs zur Verkapselung von Paketen, die für den entfernten VTEP bestimmt sind. Ein entfernter VTEP verwendet exportierte lokale VNIs 74, die er von VTEP 50 erhalten hat, als D-VNIs für die Verkapselung von Paketen, die für VTEP 50 bestimmt sind. Eine exportierte lokale VNI 74 kann zum Beispiel den gleichen Wert wie die eigene VNI 70 aufweisen.
  • Die VRF-Instanz 66 umfasst ferner eine Weiterleitungsinformations-Datenbank (Forwarding Information Base, FIB) 76 mit mehreren Routeneinträgen 78. In einigen Ausführungsformen ist die FIB in Hardware implementiert, wird aber vom Steuerebenenprogramm 64 gesteuert. In einigen Ausführungsformen sucht der Paketprozessor 54 ein Paket in den Routeneinträgen der FIB, um einen Routeneintrag zu finden, der angibt, wie das Paket weitergeleitet werden soll. In einer Ausführungsform basiert die Suche nach Paketen in der FIB 76 typischerweise auf Informationen im Datenkopf des Pakets, z. B. IP-Adressen und Präfixe.
  • Im vorliegenden Beispiel umfasst ein Routeneintrag mindestens eine Ausgangs-Routing-Schnittstelle (RIF) und Next-Hop-Informationen. Der Routeneintrag kann zusätzlich herstellerspezifische Informationen enthalten. Eine Ausgangs-RIF umfasst eine logische Schnittstelle, die eine routingfähige Schnittstelle darstellt, die einen physischen Port, eine Subschnittstelle, eine virtuelle Switch-Schnittstelle (Switch Virtual Interface, SVI), eine L3VNI oder eine andere geeignete Art von Schnittstelle umfassen kann. In einigen Ausführungsformen kann eine VNI oder eine D-VNI von einer Ausgangs-RIF abgeleitet und für die VXLAN-Verkapselung verwendet werden.
  • In einer Ausführungsform speichert VTEP 50 Ausgangs-RIFs in einer RIF-Tabelle 80 im Speicher 62. In dieser Ausführungsform zeigen Routeneinträge 78 in der FIB 76 auf entsprechende Ausgangs-RIFs in der RIF-Tabelle, wobei mehrere unterschiedliche Routeneinträge auf eine gemeinsame Ausgangs-RIF zeigen können.
  • In einigen Ausführungsformen erstellt VTEP50 eine eindeutige Ausgangs-RIF für jede importierte D-VNI und speichert die eindeutige Ausgangs-RIF in der RIF-Tabelle 80. In einigen Ausführungsformen erstellt VTEP 50 auch eine eindeutige Ausgangs-RIF für jede lokale VNI 74 und speichert die eindeutige Ausgangs-RIF in der RIF-Tabelle 80. Die exportierten lokalen VNI sind denselben Ausgangs-RIFs zugeordnet, die für die lokalen VNI erstellt wurden.
  • Die Next-Hop-Informationen in einem Routeneintrag 78 geben typischerweise die IP-Adresse der nächsten Netzwerkvorrichtung an, die auf dem Weg zum Ziel durchquert werden muss.
  • In einigen Ausführungsformen erstellt das Steuerprogramm 64 eine eindeutige Weiterleitungskennung (Forwarding Identifier, FID) für jede importierte D-VNI und für jede lokale VNI (zusätzlich zur eindeutigen Ausgangs-RIF), wobei die FID auf die importierte D-VNI dieser eindeutigen Ausgangs-RIF abgebildet wird. In solchen Ausführungsformen liefert die FIB 76 einen Routeneintrag, der auf eine Ausgangs-RIF verweist, die wiederum auf die FID verweist, die auf die importierte D-VNI der Ausgangs-RIF abgebildet ist. In einer Ausführungsform leitet der Paketprozessor eine importierte D-VNI für ein Paket über eine Kette von Operationen ab: FIB-Lookup -> Ausgangs-RIF -> FID -> importierte D-VNI. Da jeder importierten D-VNI nur eine einzige FID zugewiesen wird, verbrauchen die FIDs wenig Speicherplatz.
  • In einigen Ausführungsformen umfasst VTEP 50 eine oder mehrere Instanzen eines Gateway-Protokolls 84, wie z. B. das Grenz-Gateway-Protokoll (BGP). Zum Beispiel kann VTEP 50 eine dedizierte BGP-Instanz für jede im VTEP bereitgestellte VRF zuweisen. In einigen Ausführungsformen verwendet VTEP 50 BGP(s) 84 für den Austausch von Routing-Informationen wie VNIs und RTs mit anderen VTEPs.
  • In einigen Ausführungsformen legt das Steuerprogramm 64 einen oder mehrere Routeneinträge in Weiterleitungsregeln in einer Zugriffskontrollliste (ACL) fest. In solchen Ausführungsformen sucht der Paketprozessor 54 nach einem Paket, indem er das Paket mit einer der Weiterleitungsregeln in der ACL abgleicht.
  • PAKETVERARBEITUNG IN EINER NETZWERKVORRICHTUNG, DIE ALS VTEP DIENT
  • 3A und 3B sind Diagramme, die schematisch die VTEP-Verarbeitung und -Weiterleitung für nicht eingekapselte und eingekapselte Pakete gemäß den hier beschriebenen Ausführungsformen darstellen.
  • In 3A ist die Verarbeitung in einem Paketprozessor 100 dargestellt. Die gleiche oder eine ähnliche Verarbeitung kann z. B. vom Paketprozessor 54 des VTEP 50 durchgeführt werden.
  • Der Paketprozessor 100 empfängt ein Eingangspaket 104, das nicht gekapselt ist. Im Computersystem 20 kann das Eingangspaket 104 zum Beispiel von einem Host 28A, 28B oder 28C, einem dienenden Host wie einem DNS-Host 24A (DN1 oder DN2) oder einem Speicher-Host 24B (ST1 oder ST2) stammen. Im vorliegenden Beispiel ist das Eingangspaket 104 für eine VRF bestimmt, die im VETP des Paketprozessors 100 nicht vorgesehen ist und daher mit einer geeigneten importierten D-VNI gekapselt werden muss.
  • In einer Suchstufe 106 identifiziert der Paketprozessor 100 die VRF, aus der das Eingangspaket stammt, und sucht das Eingangspaket in einer FIB (76) der identifizierten VRF. Angenommen, das Eingangspaket stammt von Host H11 der PINKEN VEF, so sucht der Paketprozessor 100 das Eingangspaket in einer FIB der PINKEN VRF, zu der Host H11 gehört. Ein erfolgreicher Suchvorgang führt zu einem Routeneintrag 78, der eine Ausgangs-RIF angibt. In diesem Beispiel besteht die Ausgangs-RIF aus einer eindeutigen Ausgangs-RIF, die einer importierten D-VNI zugewiesen ist.
  • In einer Adjazenzstufe 110 erzeugt der Paketprozessor 100 Next-Hop-Informationen aus dem Routeneintrag oder der Ausgangs-RIF der Stufe 106. In einer Abbildungsstufe 112 leitet der Paketprozessor 100 die importierte D-VNI ab, die der Ausgangs-RIF der Stufe 106 zugeordnet ist, und in einer Umschreibestufe 114 erzeugt er aus dem Eingangspaket 104 ein Ausgangspaket 120, das mit der importierten D-VNI der Stufe 11 VXLAN eingekapselt ist, und der Paketprozessor 100 leitet das Ausgangspaket gemäß der Ausgangs-RIF der Stufe 106 weiter.
  • In 3B ist die Verarbeitung in einem Paketprozessor 150 dargestellt. Die gleiche oder eine ähnliche Verarbeitung kann z. B. vom Paketprozessor 54 des VTEP 50 durchgeführt werden.
  • Der Paketprozessor 150 empfängt ein Eingangspaket 154, das mit einer VNI eingekapselt ist, die zuvor an einen entfernten VTEP exportiert wurde. Die exportierte VNI wird vom entfernten VTEP als D-VNI zur Verkapselung von Paketen verwendet, die für den VTEP mit dem Paketprozessor 150 bestimmt sind.
  • Der Paketprozessor 150 entkapselt das Eingangspaket 154 (Stufe 156), wählt eine Ziel-VRF basierend auf der VNI aus, mit der das Eingangspaket VXLAN-gekapselt ist, und sucht das entkapselte Paket (Stufe 158) in einer FIB 76 der ausgewählten VRF.)
  • In einigen Ausführungsformen beendet der Paketprozessor 150 den VXLAN-Tunnel, über den das Eingangspaket 154 angekommen ist. In diesem Fall führt die Suchoperation von Stufe 158 zu einer regulären Ausgangs-RIF, die nicht einer D-VNI zugeordnet ist. In einer Adjazenzstufe 160 erzeugt der Paketprozessor Next-Hop-Informationen. In einer Umschreibestufe 162 erzeugt der Paketprozessor 154 ein Ausgangspaket 164A, das nicht eingekapselt ist, und leitet das Ausgangspaket gemäß der Ausgangs-RIF der Stufe 158 weiter.
  • In einigen Ausführungsformen dient der VTEP mit dem Paketprozessor 154 als Vermittlungs-VTEP, der die Kommunikation zwischen verschiedenen Routing-Domänen vermittelt. Eine Hub-Spoke-Topologie mit Vermittler-VTEPs wird im Folgenden unter Bezugnahme auf 5 beschrieben.
  • Beim Betrieb als Vermittlungs-VTEP exportiert der Paketprozessor 154 eine lokale VNI (74) zum Quell-VTEP und importiert eine D-VNI (72) vom Ziel-VTEP. Der Paketprozessor 154 empfängt das Eingangspaket 154 vom Quell-VTEP und verarbeitet das Paket in den Stufen 156 und 158, was zu einer Ausgangs-RIF wie oben beschrieben führt.
  • In 3B ist die Verarbeitung in Bezug auf einen Vermittlungs-VTEP in gestrichelten Linien dargestellt. Als Reaktion auf die Feststellung, dass die Ausgangs-RIF eindeutig einer D-VNI zugeordnet ist, (die vom Ziel-VTEP importierte D-VNI), bildet der Paketprozessor 154 die eindeutige Ausgangs-RIF in der importierten D-VNI ab (Stufe 170). In der Umschreibestufe 162 kapselt der Paketprozessor 154 das Paket mit der vom Ziel-VTEP importierten D-VNI neu ein, was zu einem Ausgangspaket 164B führt. Der Paketprozessor 154 leitet dann das Ausgangspaket 164B gemäß der Ausgangs-RIF von Stufe 158 weiter.
  • Es ist anzumerken, dass ein VTEP (z. B. VTEP 50) in einer Ausführungsform typischerweise beide Paketverarbeitungsflüsse der Paketprozessoren 100 und 150 implementiert, obwohl in den 3A und 3B unterschiedliche Paketverarbeitungsflüsse dargestellt sind.
  • VERARBEITUNG AUF STEUEREBENE
  • 4 ist ein Flussdiagramm, das schematisch ein Verfahren zum Konfigurieren eines VTEP für die Kommunikation mit einem entfernten VTEP gemäß einer hier beschriebenen Ausführungsform darstellt.
  • Das Verfahren in 4 wird so beschrieben, wie es vom Steuerprogramm 64 ausgeführt wird, das auf der CPU 60 des VTEP 50 läuft, der hier als lokaler VTEP bezeichnet wird.
  • Das Verfahren beginnt mit einem VRF-Instanzerstellungsschritt 200, wobei das Steuerprogramm 64 eine oder mehrere VRF-Instanzen für eine oder mehrere lokale VRFs erstellt, die im lokalen VTEP bereitgestellt werden.
  • In einem Importschritt 204 importiert das Steuerprogramm eine oder mehrere D-VNIs (72) aus dem entfernten VTEP. Im vorliegenden Beispiel ist jede der importierten D-VNIs einer entsprechenden entfernten VRF zugeordnet, die im entfernten VTEP, aber nicht im lokalen VTEP bereitgestellt wird.
  • In einem Exportschritt 208 exportiert das Steuerprogramm eine oder mehrere lokale VNIs (74) in den entfernten VTEP, die jeweils den im lokalen VTEP bereitgestellten lokalen VRFs zugeordnet sind und von dem entfernten VTEP als D-VNIs bei der Verkapselung von Paketen, die für den lokalen VTEP bestimmt sind, verwendet werden sollen.
  • In einem Schritt 212 zur Erstellung von ausgehenden RIFs erstellt das Steuerprogramm jeweils eindeutige Ausgangs-RIFs für die importierten D-VNIs, so dass jede D-VNI von ihrer eindeutigen ausgehenden RIF ableitbar ist. In einem Schritt 214 zur Erstellung von Eingangs-RIFs erstellt das Steuerprogramm jeweils eindeutige Eingangs-Ausgangs-RIFs für die lokalen VNIs (diese Ausgangs-RIFs werden auch für die jeweiligen exportierten lokalen VNIs in Eingangsrichtung verwendet), so dass jede exportierte lokale VNI von ihrer eindeutigen eingehenden Ausgangs-RIF ableitbar ist.
  • In einem RIF-Zuordnungsschritt 216 ordnet das Steuerprogramm die ausgehenden Ausgangs-RIFs von Schritt 212 und die eingehenden Ausgangs-RIFs von Schritt 214 den entsprechenden Routeneinträgen in VRF-Instanzen der jeweiligen lokalen VRFs zu. In einigen Ausführungsformen ordnet das Steuerprogramm eine eindeutige Ausgangs-RIF mehreren Routeneinträgen zu, die jeweils zu mehreren VRF-Instanzen gehören, die jeweils für mehrere lokale VRFs erstellt wurden, die im lokalen VTEP bereitgestellt werden. Nach Schritt 216 ist der lokale VTEP bereit, die Kommunikation zwischen den lokalen VRFs im lokalen VTEP und den entfernten VRFs im entfernten VTEP zu verarbeiten.
  • EIN COMPUTERSYSTEM MIT EINER HUB-SPOKE-NETZWERKTOPOLOGIE
  • 5 ist ein Blockdiagramm, das schematisch ein Computersystem 300 mit einer Hub-Spoke-Topologie gemäß einer hier beschriebenen Ausführungsform darstellt.
  • In einer Hub-Spoke-Netzwerktopologie dient eine Hub-Routing-Domäne als zentraler Verbindungspunkt für mehrere andere Routing-Domänen (Speichen).
  • Das Computersystem 300 unterstützt mehrere Routing-Domänen (VRFs) mit den Bezeichnungen PINK, BLAU und HUB01, denen die jeweiligen L3VNI-Werte 10001, 10002 und 20001 zugeordnet sind.
  • Das Computersystem 300 umfasst ein Kommunikationsnetzwerk 302, in dem mehrere Netzwerkvorrichtungen miteinander verbunden sind, einschließlich Hub-Switches (auch als Hub-VTEPs bezeichnet) 304 mit den Bezeichnungen SL1 und SL2, Leaf-Switches (auch als Leaf-VTEPs bezeichnet) 308 mit den Bezeichnungen L11...L22, und Spine-Switches 316 mit den Bezeichnungen S1 und S2. Im Computersystem 300 dienen die Hub-VTEPs 304 als Mediator-VTEPs, die die Kommunikation zwischen verschiedenen VRFs vermitteln, die in den Leaf-VTEPs 308 bereitgestellt werden.
  • Im Kommunikationsnetzwerk 302 sind die Leaf-Switches L11...L22 mit den Hosts 312A und 312B auf der einen Seite und mit den Spine-Switches 316 (S1 und S2) auf der anderen Seite gekoppelt. Darüber hinaus ist jeder der Spine-Switches S1 und S2 mit den beiden Hub-Switches SL1 und SL2 auf der einen Seite und mit den Leaf-Switches auf der anderen Seite gekoppelt.
  • Im vorliegenden Beispiel wird die VRF HUB01 in jedem der Hub-VTEPs SL1 und SL2 bereitgestellt, während die VRFs PINK und BLAU beide in jedem der Leaf-VTEPs L11 ... L22 bereitgestellt werden. Im Allgemeinen ist jeder Leaf-VTEP308 mit den VRFs der Hosts 312A und 312B ausgestattet, die mit diesem Leaf-VTEP gekoppelt sind.
  • In einigen Ausführungsformen unterstützt das Computersystem 300 die Kommunikation zwischen verschiedenen VRFs mit D-VNI-Techniken. Zu diesem Zweck können VTEPs, die mit verschiedenen VRFs ausgestattet sind, eine VXLAN-basierte Kommunikation aufbauen, indem sie VNIs miteinander austauschen.
  • Im Beispiel von 5 importiert jeder der Hub-VTEPs SL1 und SL2 von jedem der Leaf-VTEPs L11...L22 eine D-VNI für die PINKE VRF und eine weitere D-VNI für die BLAUE VRF. Darüber hinaus importiert jeder der Leaf-VTEPs L11...L22 von SL1 und SL2 eine D-VNI für die VRF HUB01.
  • Es wird ein Quell-VTEP betrachtet, der ein Paket über einen Hub-VTEP an einen Ziel-VTEP sendet. Der Quell-VTEP kapselt das Paket mit der vom Hub-VTEP importierten D-VNI ein und tunnelt das gekapselte Paket an den Hub-VTEP. Basierend auf der D-VNI im empfangenen Paket kapselt der Hub-VTEP das Paket mit der D-VNI erneut ein, die der Hub-VTEP vom Ziel-VTEP importiert hat.
  • In einigen Ausführungsformen unterstützt das Computersystem 300 VXLAN-Tunneling mit D-VNIs mit geringem Speicherplatzbedarf, wie oben beschrieben, z. B. unter Bezugnahme auf 1 oben. In solchen Ausführungsformen erstellen die Leaf- und Hub-VTEPs im Computersystem 300 eindeutige Ausgangs-RIFs für die importierten D-VNIs und speichern die eindeutigen Ausgangs-RIFs nur einmal im VTEP.
  • Im Computersystem 300 können Hosts 312A und 312B, die an einen gemeinsamen Leaf-Switch gekoppelt sind, aber zu unterschiedlichen VRFs gehören, auch mit D-VNIs über Hub-Switches SL1 und SL2 kommunizieren. Obwohl z. B. sowohl H11 der PINKEN VRF als auch H13 der BLAUEN VRF mit dem Leaf-Switch L11 gekoppelt sind, kommunizieren die Hosts H11 und H13 miteinander über die Mediator-VTEPs SL1 und SL2, wie oben beschrieben.
  • In einigen Ausführungsformen umfasst die Kommunikation in der Hub-Spoke-Topologie unter Verwendung von VXLAN-Tunneling mit D-VNIs folgende Schritte:
    • • Jeder der Hub-VTEPs SL1 und SL2 importiert von den Leaf-VTEPs Routen (z. B. unter Verwendung von RTs wie oben beschrieben) zu den PINKEN und BLAUEN VRFs. Zum Beispiel importiert eine Hub-VRF-Instanz der HUB01-VRF von SL1 oder SL2 die RTs *:10001 und *:10002 von den Leaf-VTEPs. SL1 und SL2 importieren z. B. von L11 und L12 Routen mit den IP-Adressen der Hosts H11...H14 und von L21 und L22 Routen mit den IP-Adressen von H21...H24.
    • • SL1 und SL2 aggregieren jeweils die importierten Routen zu einer aggregierten Route und erstellen die aggregierte Route für die PINKEN VRF-Routen mit dem Export-RT 65201:10002 (oder 65202:10002). In ähnlicher Weise erstellen SL1 und SL2 die aggregierte Route für die BLAUEN VRF-Routen mit der Export-RT 65201:10001 (oder 65201:10001). In einigen Ausführungsformen generiert SL1 oder SL2 eine aggregierte Route durch Anwendung eines Längsten-Präfix-Übereinstimmungs-(Longest Prefix Match, LPM) Verfahrens auf importierte Routen, die durch IP-Adressen von Hosts 312A und 312B dargestellt werden. Zum Beispiel generieren SL1 und SL2 eine aggregierte Route 192.168.62.0/24 für die PINKE VRF in L11, um H23 und H24 der BLAUEN VRF über L21 oder L22 zu erreichen).
    • • Leaf-VTEPs L11...L22 verwenden ihre automatisch abgeleiteten RTs für den Export und Import von Routen. Dies bedeutet, dass die Leaf-VTEPs die aggregierten Routen von SL1 und SL2 importieren, um sie für das Inter-VRF-Routing über die Hub-VTEPs zu verwenden, z. B. zwischen H11 (PINKE VRF) und H24 (BLAUE VRF).
    • • Angenommen, ein Host in der PINKEN VRF sendet ein Paket an einen Host in der BLAUEN VRF. Zum Beispiel sendet H11 (IP 192.168.51.11) ein Paket an H24 (IP 192.168.62.24). Das Paket wird von einem L11 oder L12 empfangen, der das Paket über die aggregierte Route 192.168.62.0/24 weiterleitet, die zuvor von SL1 und/oder SL2 eingerichtet wurde. L11 oder L22 kapselt das Paket mit D-VNI 20001 der HUB01-VRF ein und tunnelt das gekapselte Paket zum Hub VTEP SL1 oder SL2. SL1 oder SL2 entkapselt das Paket und routet das entkapselte Paket in der HUB01-VRF, basierend auf der vollständigen Host-Route (z. B. 192.168.62.24/32 von Host H24), die von L21 und/oder L22 importiert wurde. SL1 oder SL2 kapselt das Paket mit VNI 10002 (importiert von L21 und/oder L22) neu ein und tunnelt das neu eingekapselte Paket über VXLAN zu L21 oder L22. L21 oder L22 leitet das Paket dann in der BLAUEN VRF weiter (z. B. zu H24 in diesem Beispiel). Ein ähnliches Weiterleitungsschema gilt für die Kommunikation zwischen Hosts verschiedener VRFs, wobei die Hosts mit einem gemeinsamen Leaf-VTEP gekoppelt sind (z. B. H11 und H13).
  • EIN COMPUTERSYSTEM MIT MEHREREN STANDORTEN
  • 6 ist ein Diagramm, das schematisch ein Computersystem mit mehreren Standorten 400 gemäß einer hier beschriebenen Ausführungsform darstellt. Das Computersystem in 6 kann beispielsweise bei der Implementierung eines Rechenzentrums mit mehreren Standorten verwendet werden, dessen Standorte an unterschiedlichen geografischen Orten und/oder mit unterschiedlichen Verwaltungsdomänen eingerichtet sein können.
  • Im vorliegenden Beispiel umfasst das Computersystem 400 Rechenzentrums- (Data Center, DC) Standorte 404 mit den Bezeichnungen DC-1, DC-2 und DC-3, die separat von verschiedenen Netzwerkmanagern verwaltet werden können. In alternativen Ausführungsformen kann das Computersystem mit mehreren Standorten eine andere geeignete Anzahl von Standorten umfassen. In einigen Ausführungsformen sind die DC-Standorte 404 jeweils unterschiedlichen Routing-Domänen zugeordnet.
  • Jeder der DC-Standorte 404 umfasst einen Grenz-Gateway- (BGW) Router (auch als BGW VTEP bezeichnet) 412, der örtlich mit einem oder mehreren Leaf-Switches (auch als Leaf-VTEPs bezeichnet) 416 des DC-Standorts verbunden ist. Die BGW-VTEPs in den DC-Standorten DC-1, DC-2 und DC-3 werden als BGW1, BGW2 bzw. BGW3 bezeichnet. In einigen Ausführungsformen dienen die BGW-VTEPs 412 als Vermittlungs-VTEPs, die die Kommunikation zwischen DC-Standorten mit unterschiedlichen Routing-Domänen vermitteln.
  • In einigen Ausführungsformen werden BGW-VTEPs 412 und Leaf-VTEPs 416 unter Verwendung von VTEP 50 aus 2 implementiert und verarbeiten Pakete wie in 3A und 3B oben beschrieben.
  • Die Leaf-VTEPs 416 an den DC-Standorten DC-1, DC-2 und DC-3 werden mit DCL-1, DCL-2 bzw. DCL-3 bezeichnet. Aus Gründen der Übersichtlichkeit ist in 6 für jeden DC-Standort nur ein Leaf-VTEP dargestellt. Jeder DC-Standort 404 umfasst typischerweise Hosts 420, die über die Leaf-VTEPs des DC-Standorts zugänglich sind. In einigen Ausführungsformen teilen sich BGW-VTEPs 412 und Hosts 420 eine gemeinsame VRF mit der Bezeichnung „A“.
  • Im vorliegenden Beispiel werden BGW1, BGW2 und BGW3 die VNI 50002, 50003 und 50099 zugewiesen, und den Leaf-VTEPs DCL-1, DCL-2 und DCL-3 werden die VNI 50001, 50004 und 50099 zugewiesen. Die VNI-Zuweisung an den Standorten DC-1 und DC-2 ist asymmetrisch (weil dem BGW-VTEP eine andere VNI zugewiesen wird als den Leaf-Switches am DC-Standort), wohingegen die VNI-Zuweisung im DC-3-Standort symmetrisch ist (weil der BGW VTEP und die Leaf-VTEPs in diesem DC-Standort einen gemeinsamen VNI-Wert 50099 haben).
  • Im Beispiel von 6 muss der Leaf VTEPDCL-1 am Standort DC-1 Pakete an den Leaf VTEPDCL-2 am Standort DC-2 senden. Eine solche domänenübergreifende Kommunikation kann durch VXLAN-Tunneling mit D-VNIs erreicht werden.
  • In einem Beispielszenario sendet ein Host hinter Leaf VTEP DCL-1 Pakete an einen anderen Host hinter Leaf VTEP DCL-2. Um dieses Szenario zu unterstützen, importiert DCL-1 D-VNI 50002 von BGW1, BGW1 importiert D-VNI 50003 von BGW2 und BGW2 importiert VNI 50004 von DCL-2. Ein Paket, das von DCL-1 an DCL-2 gesendet wird, wird mit D-VNI 50002 eingekapselt und an BGW1 getunnelt. BGW1 entkapselt das Paket, kapselt es mit D-VNI 50003 wieder ein und tunnelt das Paket an BGW2. BGW2 entkapselt das Paket, kapselt es mit D-VNI 50004 wieder ein und tunnelt das Paket zum Leaf DCL-2. Als letztes terminierendes Leaf VTEP entkapselt DCL-2 das Paket und leitet das entkapselte Paket an den Ziel-Host hinter DCL-2 weiter.
  • In einem anderen Beispielszenario sendet ein Host hinter dem Leaf VTEP DCL-1 Pakete an einen Host hinter dem Leaf VTEP DCL-3. Um dieses Szenario zu unterstützen, importiert DCL-1 die VNI 50002 von BGW1, und BGW1 importiert die VNI 50099 von BGW3. Ein Paket, das von einem Host hinter DCL-1 an einen anderen Host hinter DCL-3 gesendet wird, wird wie im vorherigen Szenario beschrieben bis zu BGW1 verarbeitet. Im vorliegenden Szenario kapselt BGW1 das Paket mit D-VNI 50099 neu ein und tunnelt das Paket an BGW3. BGW3 leitet das Paket basierend auf VNI 50099 über DCL-3 an den Ziel-Host hinter DCL-3 weiter.
  • Wie oben erwähnt, ist die VNI-Zuweisung am Standort DC-3 symmetrisch, was bedeutet, dass für die Kommunikation innerhalb des Standorts DC-3 keine D-VNI erforderlich ist. Um Pakete vom Standort DC-3 an DC-1 oder DC-2 zu senden, muss BGW3 jedoch D-VNI 50002 von BGW1 bzw. D-VNI 50003 von BGW2 importieren.
  • In einigen Ausführungsformen unterstützt das Computersystem 400 VXLAN-Tunneling mit D-VNIs mit geringem Speicherbedarf, wie oben beschrieben, z. B. unter Bezugnahme auf 1. In solchen Ausführungsformen erstellen die VTEPs im Computersystem 400 eindeutige Ausgangs-RIFs für die importierten D-VNIs und speichern die eindeutigen Ausgangs-RIFs nur einmal im VTEP.
  • Die Konfigurationen des Computersystems 20 von 1, des Computersystems 300 von 5 und des Computersystems 400 von 6 sowie die Konfiguration der Netzwerkvorrichtung (VTEP) 50 von 2 sind Beispielkonfigurationen, die lediglich aus Gründen der konzeptionellen Klarheit gewählt wurden. In alternativen Ausführungsformen können auch beliebige andere geeignete Computersystem- und Netzwerkvorrichtungskonfigurationen verwendet werden. Elemente, die für das Verständnis der Prinzipien der vorliegenden Erfindung nicht notwendig sind, wie verschiedene Schnittstellen, Adressierungsschaltungen, Zeit- und Ablaufsteuerungsschaltungen und Fehlerbeseitigungsschaltungen, wurden aus Gründen der Klarheit in der Figur ausgelassen.
  • Einige Elemente der Netzwerkvorrichtung (VTEP) 50, wie z. B. der Paketprozessor 54, können in Hardware implementiert werden, z. B. in einem oder mehreren anwendungsspezifischen integrierten Schaltkreisen (Application-Specific Integrated Circuits, ASICs) oder FPGAs. Zusätzlich oder alternativ kann der Paketprozessor 54 durch Software oder durch eine Kombination von Hardware- und Softwareelementen implementiert werden. Der Speicher 62 kann jeden geeigneten Speichertyp mit jeder geeigneten Speichertechnologie umfassen, wie z. B. einen Direktzugriffsspeicher (Random Access Memory, RAM), einen dynamischen RAM (DRAM), einen nichtflüchtigen Speicher wie z. B. einen Flash-Speicher oder eine Kombination aus mehreren Speichertypen.
  • In einigen Ausführungsformen können einige der Funktionen der CPU 60 und/oder des Paketprozessors 54 von Mehrzweckprozessoren ausgeführt werden, die in Software programmiert sind, um die hier beschriebenen Funktionen auszuführen. Die Software kann in elektronischer Form auf die Prozessoren heruntergeladen werden, z. B. über ein Netzwerk, oder sie kann alternativ oder zusätzlich auf nicht-übertragbaren materiellen Medien wie magnetischen, optischen oder elektronischen Speichern bereitgestellt und/oder gespeichert werden.
  • Die oben beschriebenen Ausführungsformen sind beispielhaft, und andere geeignete Ausführungsformen können ebenfalls verwendet werden.
  • In den oben beschriebenen Ausführungsformen werden Routen/VNIs hauptsächlich über das BGP-Protokoll importiert und exportiert. In alternativen Ausführungsformen können Routen/VNIs jedoch auch von einem Benutzer des Kommunikationsnetzwerks in Netzwerkvorrichtungen konfiguriert werden. In einem Ausführungsbeispiel importiert eine Netzwerkvorrichtung eine D-VNI, indem sie die D-VNI in einem oder mehreren Befehlen empfängt, die von einem Benutzer stammen, wobei der Benutzer den einen oder die mehreren Befehle manuell sendet oder automatisch, indem er ein Skript (oder Skripte) ausführt, das den einen oder die mehreren Befehle umfasst.
  • Die oben beschriebenen Ausführungsformen beziehen sich hauptsächlich auf die im OSI-Modell spezifizierten Schichten. Dies ist jedoch nicht zwingend, und in alternativen Ausführungsformen können auch Schichten gemäß einem anderen geeigneten Schichtenmodell verwendet werden. Es wird davon ausgegangen, dass ein solches alternatives Schichtenmodell eine Transportschicht und eine IP-Schicht umfasst, die den im OSI-Modell spezifizierten Schichten ähnlich sind.
  • Obwohl die hier beschriebenen Ausführungsformen hauptsächlich die speichereffiziente Implementierung von D-VNIs in Netzwerkvorrichtungen wie Switches und Routern betreffen, können die hier beschriebenen Verfahren und Systeme auch in anderen Anwendungen eingesetzt werden, zum Beispiel bei der Implementierung von D-VNIs mit geringem Speicherplatz in einem Netzwerkadapter wie einem NIC oder einem Smart NIC.
  • Es wird darauf hingewiesen, dass die oben beschriebenen Ausführungsformen als Beispiele angeführt werden und dass die folgenden Ansprüche nicht auf das beschränkt sind, was hierin besonders gezeigt und beschrieben wurde. Vielmehr umfasst der Anwendungsbereich sowohl Kombinationen und Unterkombinationen der verschiedenen hierin beschriebenen Merkmale als auch Variationen und Modifikationen davon, die Fachleuten beim Lesen der vorstehenden Beschreibung einfallen würden und die im Stand der Technik nicht offenbart sind. Dokumente, die durch Bezugnahme in die vorliegende Patentanmeldung aufgenommen wurden, sind als integraler Bestandteil der Anmeldung zu betrachten, mit der Ausnahme, dass in dem Maße, in dem Begriffe in diesen aufgenommenen Dokumenten in einer Weise definiert werden, die im Widerspruch zu den in der vorliegenden Beschreibung explizit oder implizit gemachten Definitionen steht, nur die Definitionen in der vorliegenden Beschreibung zu berücksichtigen sind.
  • Es versteht sich, dass die vorstehend beschriebenen Aspekte und Ausführungsformen nur beispielhaft sind und dass Änderungen im Detail im Rahmen der Ansprüche vorgenommen werden können.
  • Jede Vorrichtung, jedes Verfahren und jedes Merkmal, die in der Beschreibung und (optional) in den Ansprüchen und Zeichnungen offenbart werden, können unabhängig oder in jeder geeigneten Kombination bereitgestellt werden.
  • Die in den Ansprüchen verwendeten Bezugszahlen dienen nur der Veranschaulichung und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.

Claims (38)

  1. Netzwerkvorrichtung, die als lokaler virtueller erweiterbarer lokaler Netzwerk- (Virtual Extensible Local Area Network, VXLAN) Tunnelendpunkt (VTEP) dient, wobei die Netzwerkvorrichtung Folgendes umfasst: eine Kommunikationsschnittstelle, um zwischen lokalen virtuellen Routing- und Weiterleitungs- (Virtual Routing and Forwarding, VRFs) Domänen und entfernten VRFs zu kommunizieren, wobei jede der lokalen VRFs und jede der entfernten VRFs eine eindeutige VXLAN-Kennung (VNI) aufweist; einen ersten Prozessor, der ein Steuerprogramm ausführt, wobei das Steuerprogramm für Folgendes dient: Erstellen einer lokalen VRF-Instanz für eine lokale VRF, die im lokalen VTEP bereitgestellt wird; Importieren einer Downstream-VNI (D-VNI), die bei der Weiterleitung von Paketen von der lokalen VRF zu einer entfernten VRF verwendet wird, die in einem entfernten VTEP, aber nicht im lokalen VTEP bereitgestellt wird; Erstellen einer eindeutigen Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist; und Zuordnen der eindeutigen Ausgangs-RIF zu einem oder mehreren Routeneinträgen in der lokalen VRF-Instanz; und ein Paketprozessor, der für Folgendes dient: Empfangen eines für die entfernte VRF bestimmten Pakets; Suchen des Pakets in dem einen oder den mehreren Routeneinträgen in der lokalen VRF-Instanz, um das eindeutige Ausgangs-RIF abzurufen, Übersetzen der eindeutigen Ausgangs-RIF in die importierte D-VNI, und Einkapseln des Pakets mit der importierten D-VNI; und Weiterleiten des eingekapselten Pakets gemäß der eindeutigen Ausgangs-RIF.
  2. Netzwerkvorrichtung nach Anspruch 1, wobei das Steuerprogramm in dem lokalen VTEP für Folgendes dient: Exportieren einer lokalen VNI der lokalen VRF an den entfernten VTEP, um von dem entfernten VTEP bei der Weiterleitung von Paketen von der entfernten VRF an die lokale VRF verwendet zu werden; und Erzeugen einer zweiten Ausgangs-RIF für die lokale VNI und Zuordnen der zweiten Ausgangs-RIF zu einem oder mehreren zweiten Routeneinträgen in der lokalen VRF-Instanz; und wobei der Paketprozessor für Folgendes dient: Empfangen von dem entfernten VTEP über die Kommunikationsschnittstelle eines zweiten Pakets, das für den lokalen VTEP bestimmt ist, wobei das zweite Paket durch den entfernten VTEP mit der exportierten lokalen VNI eingekapselt wird; Entkapseln des zweiten Pakets, Suchen des entkapselten Pakets in dem einen oder den mehreren zweiten Routeneinträgen in der lokalen VRF-Instanz, um die zweite Ausgangs-RIF abzurufen; und Weiterleiten des zweiten Pakets gemäß der zweiten Ausgangs-RIF.
  3. Netzwerkvorrichtung nach Anspruch 1 oder 2, wobei der lokale VTEP und der entfernte VTEP in einem virtuellen privaten Ethernet-Netzwerk (Ethernet Virtual Private Network, EVPN) enthalten sind, in dem Pakete, die zwischen verschiedenen VRFs kommuniziert werden, basierend auf VXLAN-Verkapselung gekapselt sind.
  4. Netzwerkvorrichtung nach Anspruch 1, 2 oder 3, wobei das Steuerprogramm die D-VNI unter Verwendung einer Instanz eines Grenz-Gateway-Protokolls (Border Gateway Protocol, BGP), das der lokalen VRF zugeordnet ist, importieren soll.
  5. Netzwerkvorrichtung nach einem der vorhergehenden Ansprüche 1, wobei das Steuerprogramm die eindeutige Ausgangs-RIF mehreren Routeneinträgen zuordnet, die jeweils zu mehreren VRF-Instanzen gehören, die jeweils für mehrere lokale VRFs erstellt wurden, die im lokalen VTEP bereitgestellt werden.
  6. Netzwerkvorrichtung nach einem der vorhergehenden Ansprüche, wobei das Steuerprogramm dazu dient, den einen oder die mehreren Routeneinträge in Weiterleitungsregeln in einer Zugriffskontrollliste (Access Control List, ACL) bereitzustellen, und wobei der Paketprozessor das Paket suchen soll, indem er das Paket mit einer der Weiterleitungsregeln in der ACL abgleicht.
  7. Netzwerkvorrichtung nach einem der vorhergehenden Ansprüche, wobei sowohl der lokale VTEP als auch der entfernte VTEP eine Leaf-Netzwerkvorrichtung oder eine Dienstnetzwerkvorrichtung in dem Kommunikationsnetzwerk umfasst, und wobei jeder der Leaf-Netzwerkvorrichtungen ein oder mehrere lokale VRFs zugewiesen sind und jeder der Dienstnetzwerkvorrichtungen ein oder mehrere entfernte VRFs zugewiesen sind, die sich von den lokalen VRFs unterscheiden.
  8. Netzwerkvorrichtung nach Anspruch 7, wobei ein dienender Host mit einer gegebenen Dienstnetzwerkvorrichtung gekoppelt ist, auf der eine entsprechende VRF mit geteiltem Dienst bereitgestellt wird, und wobei der bedienende Host einen Dienst für einen oder mehrere bediente Hosts in den lokalen VRFs über das Kommunikationsnetzwerk bereitstellt.
  9. Netzwerkvorrichtung nach Anspruch 7 oder 8, wobei das Kommunikationsnetzwerk eine Hub-Spoke-Topologie aufweist, in der ein oder mehrere Hub-Netzwerkvorrichtungen mit einer Hub-VRF ausgestattet sind, die das Routing zwischen bedienten Hosts unterstützt, die zu verschiedenen VRFs unter den lokalen VRFs gehören.
  10. Netzwerkvorrichtung nach einem der vorhergehenden Ansprüche, wobei das Kommunikationsnetzwerk ein Gleiche-Kosten-Mehrpfad- (Equal-Cost Multi-Path, ECMP) Routing-Protokoll unterstützt und wobei der Paketprozessor dazu dient, Pakete einzukapseln, die an mehrere entfernte VTEPs weitergeleitet werden, die unterschiedliche ECMP-Pfade mit jeweils unterschiedlichen D-VNIs verwenden.
  11. Netzwerkvorrichtung nach einem der vorhergehenden Ansprüche, wobei der Paketprozessor das Paket von einem Host oder einem Netzwerkelement in der ersten VRF oder von einer dritten VRF empfangen soll.
  12. Netzwerkvorrichtung nach einem der vorhergehenden Ansprüche, wobei das Steuerprogramm die D-VNI von dem entfernten VTEP oder durch Empfangen der D-VNI in einem oder mehreren Befehlen, die von einem Benutzer manuell gesendet werden, oder automatisch durch Ausführen eines Skripts, das den einen oder die mehreren Befehle enthält, importieren soll.
  13. Verfahren zur Datenkommunikation, das Folgendes umfasst: in einer Netzwerkvorrichtung, die als lokaler virtueller erweiterbarer lokaler Netzwerk- (VXLAN) Tunnelendpunkt (VTEP) dient, Kommunizieren zwischen lokalen virtuellen Routing und Weiterleitungsdomänen (VRFs) und entfernten VRFs, wobei jede der lokalen VRFs und jede der entfernten VRFs eine eindeutige VXLAN-Kennung (VNI) aufweist; Erzeugen, durch ein Steuerprogramm, einer lokalen VRF-Instanz für eine lokale VRF, die in dem lokalen VTEP bereitgestellt wird; Importieren einer Downstream-VNI (D-VNI), die bei der Weiterleitung von Paketen von der lokalen VRF zu einer entfernten VRF verwendet wird, die in dem entfernten VTEP, aber nicht im lokalen VTEP bereitgestellt wird; Erstellen einer eindeutigen Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist; Zuordnen der eindeutigen Ausgangs-RIF zu einem oder mehreren Routeneinträgen in der lokalen VRF-Instanz; Empfangen eines Pakets, das für die entfernte VRF bestimmt ist, durch einen Paketprozessor des lokalen VTEP; Suchen des Pakets in dem einen oder den mehreren Routeneinträgen in der lokalen VRF-Instanz, um die eindeutige Ausgangs-RIF abzurufen, Übersetzen der eindeutigen Ausgangs-RIF in die importierte D-VNI, und Einkapseln des Pakets mit der importierten D-VNI; und Weiterleiten des eingekapselten Pakets gemäß der eindeutigen Ausgangs-RIF.
  14. Verfahren nach Anspruch 13, das ferner Folgendes umfasst: Exportieren einer lokalen VNI der lokalen VRF an den entfernten VTEP, um von dem entfernten VTEP bei der Weiterleitung von Paketen von der entfernten VRF an die lokale VRF verwendet zu werden, Erzeugen einer zweiten Ausgangs-RIF für die lokale VNI, und Zuordnen der zweiten Ausgangs-RIF zu einem oder mehreren zweiten Routeneinträgen in der lokalen VRF-Instanz; Empfangen eines zweiten Pakets von der entfernten VRF, die für die lokale VRF bestimmt ist, wobei das zweite Paket durch den entfernten VTEP mit der exportierten lokalen VNI eingekapselt wird; Entkapseln des zweiten Pakets und Suchen des entkapselten Pakets in dem einen oder den mehreren zweiten Routeneinträgen in der lokalen VRF-Instanz, um die zweite Ausgangs-RIF abzurufen; und Weiterleiten des zweiten Pakets gemäß der zweiten Ausgangs-RIF.
  15. Verfahren nach Anspruch 13 oder 14, wobei der lokale VTEP und der entfernte VTEP in einem virtuellen privaten Ethernet-Netzwerk (Ethernet Virtual Private Network, EVPN) enthalten sind, in dem Pakete, die zwischen verschiedenen VRFs kommuniziert werden, basierend auf VXLAN-Verkapselung gekapselt sind.
  16. Verfahren nach Anspruch 13, 14 oder 15, wobei das Importieren der D-VNI das Importieren der D-VNI unter Verwendung einer Instanz eines Grenz-Gateway-Protokolls (BGP) umfasst, das der lokalen VRF zugeordnet ist.
  17. Verfahren nach einem der Ansprüche 13 bis 16, wobei das Zuordnen der eindeutigen Ausgangs-RIF das Zuordnen der eindeutigen Ausgangs-RIF zu mehreren Routeneinträgen umfasst, die jeweils zu mehreren VRF-Instanzen gehören, die jeweils für mehrere lokale VRFs erstellt wurden, die im lokalen VTEP bereitgestellt werden.
  18. Verfahren nach einem der Ansprüche 13 bis 17, das ferner das Bereitstellen des einen oder der mehreren Routeneinträge in Weiterleitungsregeln in einer Zugriffskontrollliste (ACL) umfasst, und wobei das Suchen des Pakets das Abgleichen des Pakets mit einer der Weiterleitungsregeln in der ACL umfasst.
  19. Verfahren nach einem der Ansprüche 13 bis 18, wobei sowohl der lokale VTEP als auch der entfernte VTEP eine Leaf-Netzwerkvorrichtung oder eine Dienstnetzwerkvorrichtung in dem Kommunikationsnetzwerk umfasst, und wobei jeder der Leaf-Netzwerkvorrichtungen eine oder mehrere lokale VRFs zugewiesen sind, und jeder der Dienstnetzwerkvorrichtungen eine oder mehrere entfernte VRFs zugewiesen sind, die sich von den lokalen VRFs unterscheiden.
  20. Verfahren nach Anspruch 19, wobei ein dienender Host mit einer gegebenen Dienstnetzwerkvorrichtung gekoppelt ist, auf der eine entsprechende VRF mit geteiltem Dienst bereitgestellt wird, und wobei der bedienende Host einen Dienst für einen oder mehrere bediente Hosts in den lokalen VRFs über das Kommunikationsnetzwerk bereitstellt.
  21. Verfahren nach Anspruch 19 oder 20, wobei das Kommunikationsnetzwerk eine Hub-Spoke-Topologie aufweist, in der eine oder mehrere Hub-Netzwerkvorrichtungen mit einer Hub-VRF ausgestattet sind, die das Routing zwischen bedienten Hosts unterstützt, die zu verschiedenen VRFs unter den lokalen VRFs gehören.
  22. Verfahren nach einem der Ansprüche 13 bis 21, wobei das Kommunikationsnetzwerk ein Gleiche-Kosten-Mehrpfad- (Equal-Cost Multi-Path, ECMP) Routing-Protokoll unterstützt und wobei das Verfahren ferner das Einkapseln von Paketen umfasst, die an mehrere entfernte VTEPs unter Verwendung unterschiedlicher ECMP-Pfade mit jeweils unterschiedlichen D-VNIs weitergeleitet werden.
  23. Verfahren nach einem der Ansprüche 13 bis 22, wobei der Empfang des Pakets den Empfang des Pakets von einem Host oder einem Netzwerkelement in der ersten VRF oder von einer dritten VRF umfasst.
  24. Verfahren nach einem der Ansprüche 13 bis 23, wobei das Importieren der D-VNI das Importieren der D-VNI von dem entfernten VTEP oder durch Empfangen der D-VNI in einem oder mehreren Befehlen, die von einem Benutzer manuell gesendet werden, oder automatisch durch Ausführen eines Skripts, das den einen oder die mehreren Befehle enthält, umfasst.
  25. Netzwerkvorrichtung, die als lokaler virtueller erweiterbarer lokaler Netzwerk- (VXLAN) Tunnelendpunkt (VTEP) dient, wobei die Netzwerkvorrichtung Folgendes umfasst: eine Kommunikationsschnittstelle, um mit einem oder mehreren entfernten VTEPs zu kommunizieren, wobei dem lokalen VTEP und dem einen oder den mehreren entfernten VTEPs entsprechende VXLAN-Kennungen (VNI) zugewiesen sind; einen ersten Prozessor, der ein Steuerprogramm ausführt, wobei das Steuerprogramm für Folgendes dient: Importieren einer Downstream-VNI (D-VNI), die bei der Weiterleitung von Paketen vom lokalen VTEP zu einem entfernten VTEP zu verwenden ist; Erstellen einer eindeutigen Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist; und Zuordnen der eindeutigen Ausgangs-RIF zu einem oder mehreren Routeneinträgen in dem lokalen VTEP; und einen Paketprozessor, der für Folgendes dient: Empfangen eines für den entfernten VTEP bestimmten Pakets; Suchen des Pakets in dem einen oder den mehreren Routeneinträgen in dem lokalen VTEP, um das eindeutige Ausgangs-RIF abzurufen, Übersetzen der eindeutigen Ausgangs-RIF in die importierte D-VNI, und Einkapseln des Pakets mit der importierten D-VNI; und Weiterleiten des eingekapselten Pakets gemäß der eindeutigen Ausgangs-RIF.
  26. Netzwerkvorrichtung nach Anspruch 25, wobei das Steuerprogramm für Folgendes dient: Exportieren einer lokalen VNI des lokalen VTEP an den entfernten VTEP, um von dem entfernten VTEP bei der Weiterleitung von Paketen von dem entfernten VTEP an den lokalen VTEP verwendet zu werden; und Erzeugen einer zweiten Ausgangs-RIF für die lokale VNI und Zuordnen der zweiten Ausgangs-RIF zu einem oder mehreren zweiten Routeneinträgen in dem lokalen VTEP; und wobei der Paketprozessor für Folgendes dient: Empfangen von dem entfernten VTEP über die Kommunikationsschnittstelle eines zweiten Pakets, das für den lokalen VTEP bestimmt ist, wobei das zweite Paket durch den entfernten VTEP mit der exportierten lokalen VNI eingekapselt wird; Entkapseln des zweiten Pakets, Suchen des entkapselten Pakets in dem einen oder den mehreren zweiten Routeneinträgen, um die zweite Ausgangs-RIF abzurufen, und Weiterleiten des zweiten Pakets gemäß der zweiten Ausgangs-RIF.
  27. Netzwerkvorrichtung nach Anspruch 25 oder 26, wobei der lokale VTEP und der eine oder die mehreren entfernten VTEPs jeweils zu verschiedenen Standorten in einer Topologie mit mehreren Standorten gehören.
  28. Netzwerkvorrichtung nach Anspruch 25, 26 oder 27, wobei der lokale VTEP als Grenz-Gateway- (BGW) VTEP dient und der eine oder die mehreren entfernten VTEPs als Leaf-VTEPs dienen, die mit Hosts gekoppelt sind, und wobei dem BGW-VTEP und den Hosts eine gemeinsame virtuelle Routing- und Weiterleitungsdomäne (VRF) zugewiesen ist.
  29. Netzwerkvorrichtung nach einem der Ansprüche 25 bis 28, wobei dem lokalen VTEP und dem entfernten VTEP jeweils unterschiedliche VNIs zugewiesen sind.
  30. Netzwerkvorrichtung nach einem der Ansprüche 25 bis 29, wobei das Netzwerkvorrichtung in einem Kommunikationsnetzwerk enthalten ist, das mehrere miteinander verbundene Netzwerkvorrichtungen umfasst, und wobei die Netzwerkvorrichtung als Leaf-VTEP oder BGW-VTEP in dem Kommunikationsnetzwerk dient.
  31. Verfahren zur Datenkommunikation, das Folgendes umfasst: in einer Netzwerkvorrichtung, die als lokaler virtueller erweiterbarer lokaler Netzwerk- (VXLAN) Tunnelendpunkt (VTEP) dient, Kommunizieren mit einem oder mehreren entfernten VTEPs, wobei dem lokalen VTEP und dem einen oder den mehreren entfernten VTEPs entsprechende VXLAN-Kennungen (VNI) zugewiesen sind; Importieren, durch ein Steuerprogramm, das auf dem lokalen VTEP läuft, einer Downstream-VNI (D-VNI), die bei der Weiterleitung von Paketen vom lokalen VTEP zu einem entfernten VTEP zu verwenden ist; Erstellen einer eindeutigen Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist; Zuordnen der eindeutigen Ausgangs-RIF zu einem oder mehreren Routeneinträgen in dem lokalen VTEP; Empfangen eines Pakets, das für die entfernte VRF bestimmt ist, durch einen Paketprozessor des lokalen VTEP; Suchen des Pakets in dem einen oder den mehreren Routeneinträgen in dem lokalen VTEP, um die eindeutige Ausgangs-RIF abzurufen, Übersetzen der eindeutigen Ausgangs-RIF in die importierte D-VNI, und Einkapseln des Pakets mit der importierten D-VNI; und Weiterleiten des eingekapselten Pakets gemäß der eindeutigen Ausgangs-RIF.
  32. Verfahren nach Anspruch 31, das ferner Folgendes umfasst: Exportieren einer lokalen VNI des lokalen VTEP an den entfernten VTEP, um von dem entfernten VTEP bei der Weiterleitung von Paketen von dem entfernten VTEP an den lokalen VTEP verwendet zu werden, Erzeugen einer zweiten Ausgangs-RIF für die lokale VNI, und Zuordnen der zweiten Ausgangs-RIF zu einem oder mehreren zweiten Routeneinträgen in dem lokalen VTEP; Empfangen eines zweiten Pakets von dem entfernten VTEP, der für den lokalen VTEP bestimmt ist, wobei das zweite Paket durch den entfernten VTEP mit der exportierten lokalen VNI eingekapselt wird; Entkapseln des zweiten Pakets und Suchen des entkapselten Pakets in dem einen oder den mehreren zweiten Routeneinträgen, um die zweite Ausgangs-RIF abzurufen; und Weiterleiten des zweiten Pakets gemäß der zweiten Ausgangs-RIF.
  33. Verfahren nach Anspruch 31 oder 32, wobei der lokale VTEP und der eine oder die mehreren entfernten VTEPs jeweils zu verschiedenen Standorten in einer Topologie mit mehreren Standorten gehören.
  34. Verfahren nach Anspruch 31, 32 oder 33, wobei der lokale VTEP als Grenz-Gateway- (BGW) VTEP dient und der eine oder die mehreren entfernten VTEPs als Leaf-VTEPs dienen, die mit Hosts gekoppelt sind, und wobei dem BGW-VTEP und den Hosts eine gemeinsame virtuelle Routing- und Weiterleitungsdomäne (VRF) zugewiesen ist.
  35. Verfahren nach einem der Ansprüche 31 bis 34, wobei dem lokalen VTEP und dem entfernten VTEP jeweils unterschiedliche VNIs zugewiesen sind.
  36. Verfahren nach einem der Ansprüche 31 bis 35, wobei die Netzwerkvorrichtung in einem Kommunikationsnetzwerk enthalten ist, das mehrere miteinander verbundene Netzwerkvorrichtungen umfasst, und wobei die Netzwerkvorrichtung als Leaf-VTEP oder BGW-VTEP in dem Kommunikationsnetzwerk dient.
  37. Verfahren zur Kommunikation zwischen virtuellen Routing- und Weiterleitungsdomänen (VRFs), wobei das Verfahren Folgendes umfasst: Kommunizieren zwischen einer lokalen VRF, die in einem lokalen VXLAN-Tunnelendpunkt (VTEP) bereitgestellt wird, und einer entfernten VRF, die in einem entfernten VTEP, aber nicht im lokalen VTEP bereitgestellt wird; Importieren einer Downstream-VXLAN-Kennung (D-VNI), die der entfernten VRF zugeordnet ist, durch den lokalen VTEP, um bei der Weiterleitung von Paketen von der lokalen VRF zur entfernten VRF verwendet zu werden, und Erstellen einer eindeutigen Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist, und beim Empfang eines für die entfernte VRF bestimmten Pakets durch den lokalen VTEP, Übersetzen der eindeutigen Ausgangs-RIF, die basierend auf dem Paket abgerufen wurde, in die importierte D-VNI und Einkapseln des Pakets mit der importierten D-VNI; und Weiterleiten des eingekapselten Pakets gemäß der eindeutigen Ausgangs-RIF.
  38. Verfahren zur Kommunikation zwischen Standorten verschiedener Routing-Domänen, wobei das Verfahren Folgendes umfasst: Kommunizieren zwischen einem lokalen VXLAN-TunnelEndpunkt (VTEP) und einem entfernten VTEP, die zu unterschiedlichen jeweiligen Routing-Domänen gehören; Importieren einer Downstream-VNI (D-VNI) durch den lokalen VTEP, die bei der Weiterleitung von Paketen von dem lokalen VTEP zu dem entfernten VTEP verwendet werden soll, und Erstellen einer eindeutigen Ausgangs-Routing-Schnittstelle (RIF), die in die importierte D-VNI übersetzbar ist; beim Empfang eines für den entfernten VTEP bestimmten Pakets durch den lokalen VTEP, Übersetzen der eindeutigen Ausgangs-RIF, die basierend auf dem Paket abgerufen wurde, in die importierte D-VNI und Einkapseln des Pakets mit der importierten D-VNI; und Weiterleiten des eingekapselten Pakets gemäß der eindeutigen Ausgangs-RIF.
DE102022206442.9A 2021-06-28 2022-06-27 Speichereffiziente Implementierung von Downstream-VXLAN-Kennungen Pending DE102022206442A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN202141028962 2021-06-28
IN202141028962 2021-06-28
US17/591,623 US11855804B2 (en) 2021-06-28 2022-02-03 Storage-efficient implementation of downstream VXLAN identifiers
US17/591,623 2022-02-03

Publications (1)

Publication Number Publication Date
DE102022206442A1 true DE102022206442A1 (de) 2022-12-29

Family

ID=84388789

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022206442.9A Pending DE102022206442A1 (de) 2021-06-28 2022-06-27 Speichereffiziente Implementierung von Downstream-VXLAN-Kennungen

Country Status (2)

Country Link
CN (1) CN115604056A (de)
DE (1) DE102022206442A1 (de)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7450598B2 (en) * 2003-12-15 2008-11-11 At&T Intellectual Property I, L.P. System and method to provision MPLS/VPN network
US10050876B2 (en) * 2014-11-12 2018-08-14 Cisco Technology, Inc. Optimized inter-VRF (virtual routing and forwarding) route leaking in network overlay based environments
CN106209553B (zh) * 2015-04-30 2019-07-23 华为技术有限公司 报文处理方法、设备及系统
US10454877B2 (en) * 2016-04-29 2019-10-22 Cisco Technology, Inc. Interoperability between data plane learning endpoints and control plane learning endpoints in overlay networks
US10834085B2 (en) * 2017-04-14 2020-11-10 Nxp Usa, Inc. Method and apparatus for speeding up ACL rule lookups that include TCP/UDP port ranges in the rules

Also Published As

Publication number Publication date
CN115604056A (zh) 2023-01-13

Similar Documents

Publication Publication Date Title
DE112016005600B4 (de) Querverbindung von Switches auf der Basis eines hierarchischen Overlay-Tunneling
US20200382345A1 (en) Multi-cloud vpc routing and registration
DE112012002998B4 (de) Virtuelle Netzwerküberlagerungen
DE102012220834B4 (de) Verfahren und Vorrichtung zum Umsetzen eines flexiblen virtuellen lokalen Netzwerks
AbdelSalam et al. Implementation of virtual network function chaining through segment routing in a linux-based NFV infrastructure
DE69934192T2 (de) Verfahren und Einrichtung zur Netzverbindung mittels Brücken
DE69727447T2 (de) Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung
DE69727930T2 (de) Zusammenfassung von verbindungen in vermittlungskommunikationsnetzen
DE69933417T2 (de) Vorrichtung und Verfahren zur routerfreien Schicht 3 Wegelenkung in einem Netz
US20180026884A1 (en) Cloud overlay for operations administration and management
US20180013670A1 (en) Operations, administration and management (oam) in overlay data center environments
DE202016107377U1 (de) Systeme zur Auslagerung von Netzwerkfunktionen über Paket-Trunking
DE202013012482U1 (de) Identifizieren eines Austrittspunkts zu einem Netzwerkstandort
DE60214605T2 (de) Heimat-agent-optimierung für die behandlung von mobil-ip und statischer mpls (mehrprotokoll-label-switching)
CN107547335A (zh) 在evpn中信号通知ip地址移动的方法和网络设备
US20150043348A1 (en) Traffic Flow Redirection between Border Routers using Routing Encapsulation
US20160065386A1 (en) Scalable virutal networks in sdn-based ethernet networks using vlans
CN106936777A (zh) 基于OpenFlow的云计算分布式网络实现方法、系统
CN107342941B (zh) 一种vxlan控制平面的优化方法及装置
CN107770062A (zh) 一种数据包发送方法、装置及网络架构
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
CN110290093A (zh) Sd-wan网络架构及组网方法、报文转发方法
CN107124347A (zh) 一种基于bgp evpn的vxlan控制平面的优化方法及装置
DE112012001320T5 (de) Prioritätsgestützte Flusssteuerung in einer Switching-Netzwerkarchitektur mit einem Protokoll einer verteilten Stuktur (Distributed Fabric Protocol DFP)
DE112012002080T5 (de) Switching-Netzwerk-Architektur gemäss dem Distributed Fabric Protocol (DFP)

Legal Events

Date Code Title Description
R012 Request for examination validly filed