DE102013208431B4 - Großer verteilter Switch auf Fabric-Basis unter Verwendung virtueller Switches und virtueller Steuereinheiten - Google Patents

Großer verteilter Switch auf Fabric-Basis unter Verwendung virtueller Switches und virtueller Steuereinheiten Download PDF

Info

Publication number
DE102013208431B4
DE102013208431B4 DE102013208431.5A DE102013208431A DE102013208431B4 DE 102013208431 B4 DE102013208431 B4 DE 102013208431B4 DE 102013208431 A DE102013208431 A DE 102013208431A DE 102013208431 B4 DE102013208431 B4 DE 102013208431B4
Authority
DE
Germany
Prior art keywords
virtual
dlc
connections
switch
meta
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.)
Active
Application number
DE102013208431.5A
Other languages
English (en)
Other versions
DE102013208431A1 (de
Inventor
Uday S. Nagaraj
Santosh Rajagopalan
Keshav G. Kamble
Dar-Ren Leu
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102013208431A1 publication Critical patent/DE102013208431A1/de
Application granted granted Critical
Publication of DE102013208431B4 publication Critical patent/DE102013208431B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

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

Abstract

System, aufweisend:mindestens eine verteilte Leitungskarte (Distributed Line Card, DLC), die im elektrischen Datenaustausch mit mindestens einem Switch-Fabric-Koppler (Switch Fabric Coupler, SFC) steht; undeine Meta-Steuereinheit, die konfiguriert ist, im elektrischen Datenaustausch mit mindestens einer DLC zu stehen, wobei die Meta-Steuereinheit aufweist:einen Prozessor zum Ausführen von Logik;Logik, die konfiguriert ist, um mindestens mehr als einen virtuellen Switch und eine entsprechende virtuelle Steuerungsdomäne (Virtual Control Domain, VCD) zu erzeugen, die zu jedem virtuellen Switch gehört, wobei jeder virtuelle Switch eine Vielzahl physischer Anschlüsse zu einer oder mehrerer der mindestens einen DLC aufweist; undLogik die konfiguriert ist, um die virtuellen Switches eigenständig zu steuern;wobei das System gegenüber einer außerhalb des Systems befindlichen Einheit als eine einzige zellengeschaltete Domäne erscheint.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft allgemein die Infrastruktur von Datenverarbeitungszentren, und insbesondere betrifft diese Erfindung einen verteilten Switch auf Fabric-Basis, der virtuelle Switches und virtuelle Steuereinheiten verwendet.
  • Die WO 2011 130 423 A1 beschreibt Verfahren zur Spezifikation einer Destination einer Netzwerkrichtlinie, wie beispielsweise einer Umleitungs- oder Abgrenzungsrichtlinie als eine logische Menge von Anschlüssen, wobei die Mitglieder dieser Menge von Anschlüssen in dynamischer Weise hinzugefügt oder entfernt werden können, ohne dass Änderungen der Netzwerkrichtlinie erforderlich wären.
  • Die WO 2010 096 155 A1 beschreibt ein Verfahren und eine Vorrichtung zur Steuerung eines virtuellen Kopplers (virtual switch), der mit einer Vielzahl von virtuellen Maschinen kommuniziert, die jeweils eine virtuelle Schnittstelle aufweisen.
  • Die US 2003 009 35 41 A1 beschreibt Verfahren und Vorrichtungen zum Aufbau und zum Betrieb sogenannter Storage Area Networks, also von Computernetzen, die in erster Linie dem Datentransfer zwischen Computersystemen und Speichermedien oder zwischen Speichermedien untereinander dienen sollen.
  • Die US 2003 013 08 32 A1 beschreibt ein virtuelles Netzwerksystem und Verfahren im Zusammenhang mit solchen virtuellen Netzwerksystemen.
  • Die US 2011/0274110 A1 beschreibt Verfahren zur Verhinderung von MAC Adress Spoofs in einem verteilten virtuellen Switch.
  • Die US 2008/0144533 A1 beschreibt Verfahren zur Konfiguration einer Mehrzahl von virtuellen Devices auf einem physikalischen Port eines Netzwerk Devices.
  • Die US 2002/0103921 A1 beschreibt Verfahren und Systeme zum Routen von breitbandigen Internet Daten.
  • Ein verteilter Fabric-basierter Switch kann eine große Anzahl von Anschlüssen aufweisen, z.B. in einigen Fällen über 5000 Anschlüsse. Um diese große Anzahl von Anschlüssen zu erreichen, weist der verteilte Fabric-basierte Switch viele kleinere Switches auf, die nachfolgend als verteilte Leitungskarten (Distributed Line Cards, DLCs) bezeichnet werden und jeweils an der Vorderseite Anschlüsse aufweisen, die unter Verwendung eines auf Zellen beruhenden Clos-Verbindungssystems mit anderen DLCs verbunden sind. Das Clos-Fabric kann Zellen unter Verwendung von in den Zellen enthaltenen Daten schalten, die aus einer Suche bei der ersten DLC stammen. Der Vorteil eines derartigen Systems besteht darin, dass eine große Anzahl von Switches und Anschlüssen skaliert werden kann, ohne dass dies mit zusätzlichem Aufwand für weitere Routensuchen auf jeder Ebene der Hierarchie verbunden ist. Stattdessen wird die Suche bei der ersten DLC durchgeführt.
  • Die Kehrseite besteht jedoch darin, dass jetzt eine große Anzahl von Anschlüssen durch eine einzige Steuereinheit verwaltet werden muss. Dies stellt die Software der Steuereinheit vor immense Skalierbarkeitsprobleme. Die meisten bestehenden Lösungen (z.B. QFabric von Juniper Networks) versuchen, dieses Problem zu beheben, indem die Anzahl von Anschlüssen eingeschränkt wird, auf denen Routing-Protokolle ausgeführt werden dürfen. Selbst wenn diese Lösung umgesetzt ist, gibt es nach wie vor durch die bestehenden Lösungen nicht berücksichtigte Skalierungsprobleme für andere Software, Anwendungen und Routinen, die außer den Routing-Protokollen die im Switch vorliegenden Informationen über Anschlüsse nutzen.
  • KURZDARSTELLUNG
  • Bei einer Ausführungsform weist ein System mindestens eine verteilte Leitungskarte (DLC) auf, die im elektrischen Datenaustausch mit mindestens einem Switch-Fabric-Koppler (Switch Fabric Coupler, SFC) steht, und eine Meta-Steuereinheit, die im elektrischen Datenaustausch mit der mindestens einen DLC steht, wobei die Meta-Steuereinheit einen Prozessor zum Ausführen von Logik aufweist, Logik, die zum Erzeugen von mehr als einem virtuellen Switch konfiguriert ist, und eine entsprechende virtuelle Steuerungsdomäne (Virtual Control Domain, VCD), die zu jedem virtuellen Switch gehört, und wobei jeder virtuelle Switch eine Vielzahl physischer Anschlüsse einer oder mehrerer der mindestens einen DLC sowie Logik aufweist, die konfiguriert ist, um die virtuellen Switches eigenständig zu steuern, wobei das System gegenüber einer außerhalb des Systems befindlichen Einheit als eine einzige zellengeschaltete Domäne erscheint.
  • Bei einer weiteren Ausführungsform weist ein Verfahren das Aufteilen einer Vielzahl physischer Anschlüsse, die über mehrere DLCs verteilt sind, in eine Vielzahl virtueller Switches auf, wobei jeder virtuelle Switch Anschlüsse einer oder mehrerer DLCs aufweist, das Erzeugen einer zu jedem virtuellen Switch gehörenden VCD und das eigenständige Steuern der virtuellen Switches, wobei jede DLC im elektrischen Datenaustausch mit mindestens einem SFC steht und die Vielzahl physischer Anschlüsse gegenüber externen Einheiten als Teil einer einzigen zellengeschalteten Domäne erscheint.
  • Andere Aspekte und Ausführungsformen der vorliegenden Erfindung werden anhand der folgenden detaillierten Beschreibung deutlich, die in Verbindung mit den Zeichnungen die Grundgedanken der Erfindung beispielhaft veranschaulicht.
  • Figurenliste
    • 1 veranschaulicht eine Netzwerkarchitektur gemäß einer Ausführungsform.
    • 2 zeigt eine typische Hardwareumgebung, die gemäß einer Ausführungsform zu den Servern und/oder Clients aus 1 gehören kann.
    • 3 ist ein vereinfachtes Blockschaltbild eines verteilten Switch-Systems gemäß einer Ausführungsform.
    • 4 ist ein vereinfachtes Blockschaltbild, das die Aufteilung virtueller Switches gemäß einer Ausführungsform zeigt.
    • 5 ist ein Ablaufplan eines Verfahrens gemäß einer Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • Die folgende Beschreibung dient der Veranschaulichung der allgemeinen Grundgedanken der vorliegenden Erfindung und ist nicht als Einschränkung der hierin beanspruchten erfinderischen Konzepte gedacht. Ferner können hierin beschriebene bestimmte Merkmale in Kombination mit anderen beschriebenen Merkmalen in jeder der verschiedenen möglichen Kombinationen und Permutationen verwendet werden.
  • Sofern hierin nicht anderweitig ausdrücklich definiert, sind alle Begriffe im breitesten möglichen Sinne zu interpretieren, einschließlich der in der Beschreibung stillschweigend eingeschlossenen Bedeutungen sowie in einer Bedeutung, die für Fachleute verständlich und/oder in Wörterbüchern, Abhandlungen usw. festgelegt ist.
  • Anzumerken ist außerdem, dass die in der Beschreibung und den beigefügten Ansprüchen verwendeten Einzahlformen „ein/eine“ und „der/die/das“ auch den Plural einschließen, sofern nicht anderweitig angegeben.
  • Bei einem Ansatz können die Anschlüsse in einem verteilten Switch auf eine Reihe „virtueller Switches“ aufgeteilt sein. Zu jedem dieser virtuellen Switches kann eine „virtuelle Steuereinheit“ gehören. Eine „Meta“-Steuereinheit, die Kenntnis von den virtuellen Switches und virtuellen Steuereinheiten hat, kann die virtuellen Steuereinheiten in einer virtuellen, vollständig vernetzten Weise untereinander verbinden.
  • Wenn sich ein Netzwerkadministrator dazu entscheidet oder es bevorzugt, dass die Switches untereinander nicht sichtbar sein sollen, können diese virtuellen Verbindungen gemäß einem alternativen Ansatz vor den Switches verborgen werden. Auf diesen virtuellen Steuereinheiten ausgeführte Steuerungsprotokollinstanzen können virtuelle, vollständig vernetzte Verbindungsmöglichkeiten mit den anderen Steuerungsprotokollinstanzen aufweisen, die auf den anderen virtuellen Steuereinheiten ausgeführt werden. Die Meta-Steuereinheit kann auch dafür zuständig sein, diese virtuellen Verbindungen in Routen durch tatsächliche Verbindungen zu ersetzen. Diese virtuellen Steuereinheiten können auf physisch voneinander getrennte Server migriert werden, um Skalierbarkeitsprobleme abzumildern. Die Meta-Steuereinheit ist für das Filtern der Ereignisse an Anschlüssen und der empfangenen Steuerungspakete zuständig. Auf diese Weise behält das System den Vorteil der One-Hop-Suche (Suche über eine Teilstrecke) eines verteilten Switches bei, kann jedoch viel größer skaliert werden.
  • Bei einer allgemeinen Ausführungsform weist ein System mindestens eine verteilte Leitungskarte (DLC) auf, die im elektrischen Datenaustausch mit mindestens einem Switch-Fabric-Koppler (Switch Fabric Coupler, SFC) steht, und eine Meta-Steuereinheit, die im elektrischen Datenaustausch mit der mindestens einen DLC steht, wobei die Meta-Steuereinheit einen Prozessor zum Ausführen von Logik aufweist, Logik, die zum Erzeugen von mehr als einem virtuellen Switch konfiguriert ist, und eine entsprechende virtuelle Steuerungsdomäne (Virtual Control Domain, VCD), die zu jedem virtuellen Switch gehört, und wobei jeder virtuelle Switch eine Vielzahl physischer Anschlüsse einer oder mehrerer der mindestens einen DLC sowie Logik aufweist, die konfiguriert ist, um die virtuellen Switches eigenständig zu steuern, wobei das System gegenüber einer außerhalb des Systems befindlichen Einheit als eine einzige zellengeschaltete Domäne erscheint.
  • Bei einer weiteren allgemeinen Ausführungsform weist ein Verfahren das Aufteilen einer Vielzahl physischer Anschlüsse, die über mehrere DLCs verteilt sind, in eine Vielzahl virtueller Switches auf, wobei jeder virtuelle Switch Anschlüsse einer oder mehrerer DLCs aufweist, das Erzeugen einer zu jedem virtuellen Switch gehörenden VCD und das eigenständige Steuern der virtuellen Switches, wobei jede DLC im elektrischen Datenaustausch mit mindestens einem SFC steht und die Vielzahl physischer Anschlüsse gegenüber externen Einheiten als Teil einer einzigen zellengeschalteten Domäne erscheint.
  • Fachleuten wird klar sein, dass Aspekte der vorliegenden Erfindung in Form eines Systems, Verfahrens oder Computerprogrammprodukts verkörpert sein können. Demzufolge können Aspekte der vorliegenden Erfindung die Form einer komplett in Hardware realisierten Ausführungsform, einer komplett in Software realisierten Ausführungsform (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, in der Software- und Hardwareaspekte kombiniert sind, die im vorliegenden Dokument allgemein als „Schaltung“, „Modul“ oder „System“ bezeichnet werden. Ferner können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert ist, auf denen computerlesbarer Programmcode verkörpert ist.
  • Es können beliebige Kombinationen eines oder mehrerer computerlesbarer Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein nichtflüchtiges computerlesbares Speichermedium sein. Zu nichtflüchtigen computerlesbaren Speichermedien können beispielsweise, ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches oder elektromagnetisches System bzw. ein Infrarot- oder Halbleitersystem bzw. eine derartige Vorrichtung oder Einheit oder eine beliebige geeignete Kombination des Vorstehenden gehören. Zu den genaueren Beispielen (unvollständige Liste) nichtflüchtiger computerlesbarer Speichermedien zählen unter anderem folgende: tragbare Computerdiskette, Festplatte, Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), ein Nur-Lese-Speicher in Form einer Blu-ray-Disc (BD-ROM), eine optische Speichereinheit, magnetische Speichereinheit oder beliebige geeignete Kombinationen des Vorstehenden. Im Kontext des vorliegenden Dokuments kann ein nichtflüchtiges computerlesbares Speichermedium jedes beliebige vergegenständlichte Medium sein, das ein Programm oder eine Anwendung enthalten oder speichern kann, das bzw. die von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.
  • Ein computerlesbares Signalmedium kann unter anderem ein im Basisband oder als Teil einer Trägerwelle übertragenes Datensignal mit darin verkörpertem computerlesbarem Programmcode aufweisen. Ein derartiges übertragenes Signal kann eine beliebige Vielfalt von Formen annehmen, einschließlich, ohne darauf beschränkt zu sein, einer elektromagnetischen oder optischen Form oder einer beliebigen geeigneten Kombination davon. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, bei dem es sich nicht um ein nichtflüchtiges computerlesbares Speichermedium handelt und das ein Programm zum Beispiel über eine elektrische Verbindung mit einer oder mehreren Leitungen, über einen Lichtwellenleiter usw. übertragen, senden oder transportieren kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.
  • Auf einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung jedes beliebigen geeigneten Mediums, einschließlich, ohne darauf beschränkt zu sein, drahtloser, drahtgebundener Medien, Lichtwellenleitern, HF usw., oder unter Verwendung einer beliebigen geeigneten Kombination des Vorstehenden übertragen werden.
  • Computerprogrammcode zum Ausführen von Operationen bei Aspekten der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, darunter in einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und in herkömmlichen prozeduralen Programmiersprachen wie „C“ oder ähnlichen Programmiersprachen geschrieben sein. Der Programmcode kann vollständig auf dem Computer eines Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Beim letztgenannten Szenario kann der entfernt angeordnete Computer oder Server mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (LAN), über ein Speichernetzwerk (Storage Area Network, SAN) oder über ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internet-Dienstanbieters (Internet Service Provider)).
  • Im vorliegenden Dokument sind Aspekte der vorliegenden Erfindung unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaltbildern durch Computerprogrammanweisungen realisiert werden kann bzw. können. Diese Computerprogrammanweisungen können einem Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder anderen programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zum Realisieren der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen schaffen.
  • Diese Computerprogrammanweisungen können ebenfalls in einem computerlesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass die im computerlesbaren Medium gespeicherten Anweisungen ein Erzeugnis schaffen, das die Anweisungen aufweist, die die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebene Funktion/Aktion realisieren.
  • Die Computerprogrammanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Arbeitsschritten ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer oder auf anderen programmierbaren Vorrichtungen ausgeführt werden, Prozesse zur Realisierung der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen bereitstellen.
  • 1 veranschaulicht eine Netzwerkarchitektur 100 gemäß einer Ausführungsform. Wie in 1 gezeigt, wird eine Vielzahl entfernt angeordneter Netzwerke 102 bereitgestellt, zu denen ein erstes entfernt angeordnetes Netzwerk 104 und ein zweites entfernt angeordnetes Netzwerk 106 gehören. Ein Gateway 101 kann zwischen die entfernt angeordneten Netzwerke 102 und ein benachbartes Netzwerk 108 gekoppelt sein. Im Kontext der vorliegenden Netzwerkarchitektur 100 können die Netzwerke 104, 106 jeweils eine beliebige Form einschließlich, ohne darauf beschränkt zu sein, eines LAN, eines WAN wie zum Beispiel des Internets, des öffentlichen Telefonnetzes (Public Switched Telephone Network, PSTN), eines internen Telefonnetzes usw. annehmen.
  • Während des Gebrauchs dient das Gateway 101 als Eingangspunkt von den entfernt angeordneten Netzwerken 102 zum benachbarten Netzwerk 108. Im Grunde genommen kann das Gateway 101 als Router fungieren, der ein bestimmtes Datenpaket weiterleiten kann, das am Gateway 101 eintrifft, und als Switch, der für ein bestimmtes Paket den tatsächlichen Pfad in das und aus dem Gateway 101 bereitstellt.
  • Ferner ist mindestens ein Datenserver 114 enthalten, der mit dem benachbarten Netzwerk 108 verbunden und von den entfernt angeordneten Netzwerken 102 über das Gateway 101 zugänglich ist. Es sollte beachtet werden, dass zu dem Datenserver bzw. zu den Datenservern 114 beliebige Arten von Datenverarbeitungseinheiten/Groupware gehören können. Mit jedem der Datenserver 114 ist eine Vielzahl von Benutzereinheiten 116 verbunden. Zu derartigen Benutzereinheiten 116 können ein Desktop-Computer, Notebook-Computer, Handheld-Computer, Drucker und/oder eine beliebige andere Einheit gehören, die Logik enthält. Es sollte beachtet werden, dass eine Benutzereinheit 111 bei einigen Ausführungsformen auch mit einem beliebigen der Netzwerke verbunden sein kann.
  • Eine Peripherieeinheit 120 oder eine Reihe von Peripherieeinheiten 120, z.B. Telefax-Geräte, Drucker, Scanner, Festplattenlaufwerke, vernetzte und/oder lokale Speichereinheiten oder Speichersysteme usw. können mit einem oder mehreren der Netzwerke 104, 106, 108 verbunden sein. Es sollte beachtet werden, dass Datenbanken und/oder weitere Komponenten in Verbindung mit beliebigen Arten von Netzwerkelementen genutzt werden oder in diese integriert sein können, die mit den Netzwerken 104, 106, 108 verbunden sind. Im Kontext der vorliegenden Beschreibung kann ein Netzwerkelement eine beliebige Komponente eines Netzwerks sein.
  • Gemäß einigen Ansätzen können hierin beschriebene Verfahren und Systeme mit und/oder auf virtuellen Systemen und/oder Systemen realisiert sein, die ein oder mehrere andere Systeme emulieren, beispielsweise ein UNIX-System, das eine IBM z/OS-Umgebung emuliert, beispielsweise ein UNIX-System, auf dem eine MICROSOFT WINDOWS-Umgebung virtuell untergebracht ist, ein MICROSOFT WINDOWS-System, das eine IBM z/OS-Umgebung emuliert usw. Diese Virtualisierung und/oder Emulation kann bei einigen Ausführungsformen durch die Verwendung der Software VMWARE erweitert sein.
  • Bei weiteren Ansätzen können ein oder mehrere Netzwerke 104, 106, 108 eine Gruppe von Systemen bilden, die üblicherweise als „Cloud“ bezeichnet wird. Beim Cloud-Computing werden einem beliebigen System in der Cloud gemeinsam genutzte Ressourcen wie zum Beispiel Verarbeitungsleistung, Peripherieeinheiten, Software, Daten, Server usw. auf der Grundlage einer Bei-Bedarf-Beziehung bereitgestellt, wodurch der Zugriff und die Verteilung von Diensten über viele Datenverarbeitungssysteme hinweg möglich ist. Das Cloud-Computing bedingt normalerweise eine Internetverbindung zwischen den in der Cloud betriebenen Systemen, aber wie in der Technik bekannt können auch andere Methoden zum Verbinden von Systemen verwendet werden.
  • 2 zeigt eine typische Hardwareumgebung, die gemäß einer Ausführungsform zu einer Benutzereinheit 116 und/oder dem Server 114 aus 1 gehören kann. 2 veranschaulicht eine typische Hardwarekonfiguration einer Workstation gemäß mehreren Ausführungsformen, die eine zentrale Verarbeitungseinheit (CPU) 210 wie zum Beispiel einen Mikroprozessor und eine Reihe anderer Einheiten aufweisen kann, die über einen oder mehrere Busse 212 unterschiedlicher Art wie zum Beispiel über einen lokalen Bus, einen parallelen Bus, einen seriellen Bus usw. untereinander verbunden sein können.
  • Die in 2 gezeigte Workstation weist einen Direktzugriffsspeicher (Random Access Memory, RAM) 214, Nur-Lese-Speicher (Read Only Memory, ROM) 216, einen E/A-Adapter 218 zum Verbinden von Peripherieeinheiten wie zum Beispiel Plattenspeichereinheiten 220 mit dem einen oder mehreren Bussen 212, einen Benutzerschnittstellenadapter 222 zum Anschließen einer Tastatur 224, einer Maus 226, eines Lautsprechers 228, eines Mikrofons 232 und/oder anderer Benutzerschnittstelleneinheiten wie zum Beispiel eines berührungsempfindlichen Bildschirms (Touchscreen), einer Digitalkamera (nicht gezeigt) usw. an den einen oder die mehreren Busse 212, einen Datenaustauschadapter 234 zum Anschließen der Workstation an ein Datenaustauschnetzwerk 235 (z.B. ein Datenverarbeitungsnetzwerk) und einen Anzeigeadapter 236 zum Anschließen des einen oder der mehreren Busse 212 an eine Anzeigeeinheit 238 auf.
  • Die Workstation kann ein Betriebssystem wie zum Beispiel das Betriebssystem (BS) MICROSOFT WINDOWS, ein MAC OS, ein UNIX resident aufweisen. Es ist klar, dass eine bevorzugte Ausführungsform auch auf anderen als den erwähnten Plattformen und Betriebssystemen realisiert sein kann. Eine bevorzugte Ausführungsform kann unter Verwendung der Sprache JAVA, XML, C und/oder C++ oder anderer Programmiersprachen in Verbindung mit einer objektorientierten Programmiermethodik geschrieben sein. Die objektorientierte Programmierung (Object Orientied Programming, OOP), die in zunehmendem Maße zur Entwicklung komplexer Anwendungen eingesetzt wird, kann verwendet werden.
  • Gegenwärtig beruhen Verfahren zur Schaffung der Verbindungsmöglichkeiten zwischen einer großen Anzahl von Anschlüssen der Schicht 2 auf zahlreichen getrennten Switches, auf denen jeweils das Spanning Tree Protocol (STP) oder das TRILL-Protokoll (TRILL = Transparent Interconnect of Lots of Links) ausgeführt wird. Leider muss durch die Verwendung separater Switches bei jedem Sprung (Hop) zwischen zwei der separaten Switches eine Suche unter Verwendung einer Suchtabelle durchgeführt werden, wodurch nicht nur eine zusätzliche Latenz in den Prozess eingeführt wird, sondern sich auch die Latenz des Prozesses im Laufe der Entwicklung des Netzwerks und den daran vorgenommenen Änderungen nicht vorhersagen lässt.
  • Andererseits haben verteilte Switches, die auf Fabric-Verbindungen auf Zellenbasis beruhen, den Vorteil einer vorhersagbaren niedrigen Latenz bei Anordnungen, bei denen Verbindungsmöglichkeiten zwischen einer großen Anzahl von Anschlüssen gewünscht werden. Ein verteilter Switch scheint ein einziger großer Switch zu sein, wobei die einzelne Eintrittssuche den zum Durchqueren des Netzwerks benötigten Index angibt. Die am Rand liegenden Switches sind unter Verwendung von Clos-Fabrics auf Zellenbasis untereinander verbunden, die fest verdrahtet sind und auf der beim Eintritt getroffenen Pfadauswahl beruhen.
  • Leider hat die Software, die das Netzwerk verwaltet, mit der zunehmenden Anzahl von Anschlüssen in einem verteilten Switch Mühe, die erhöhte Anzahl von Verbindung-aktiv- und/oder Verbindung-inaktiv-Ereignissen (Verbindungsereignisse) zu berücksichtigen und diese zu verarbeiten. Steuerungsprotokolle wie zum Beispiel STP und Intermediate System to Intermediate System (ISIS) stellen eine große Anzahl von Verbindungsereignissen fest, wodurch deren Zusammenschaltungszeiten belastet werden, wenn sie weiterhin als aus einem Stück bestehende Elemente existieren.
  • Unter Bezugnahme auf 3 ist dort ein verteiltes Switch-System 300 gemäß einer Ausführungsform gezeigt. Das verteilte Switch-System 300 kann eine Vielzahl von SFCs 302a bis 302n und eine Vielzahl von DLCs 310a bis 310n aufweisen. Das System 300 wird dadurch gebildet, dass eine Vielzahl von DLCs 310a bis 310n über Verbindungen 316 direkt mit den SFCs 302a bis 302n verbunden ist. Eine Vielzahl von Netzwerkdatenpaketen oder Steuerungsprotokoll-Dateneinheiten (Protocol Data Units, PDUs) 320, zum Beispiel PDUs von verschiedenen Netzwerkanschlüssen, können durch die DLCs 310a bis 310n , empfangen werden, wobei es sich hierbei um Milliarden von PDUs handeln kann. Darüber hinaus können die DLCs 310a bis 310n über eine Vielzahl von Verbindungen 322 im Datenaustausch mit dem Meta-Steuergerät 318 stehen, um Informationen, Daten, Status usw. auszutauschen.
  • Gemäß verschiedenen Ausführungsformen können die Verbindungen 316 ein Bündel aus 12 Verbindungen mit einer Bandbreite von je 10 GBit bis 11 GBit sein. Das Bündel kann einen Formfaktor von Standardanschlüssen nutzen. Bei weiteren Ausführungsformen kann die Vielzahl von Verbindungen 322 eine beliebige geeignete Anschlussmöglichkeit wie zum Beispiel Peripheral Component Interconnect express (PCIe), Gigabit-Ethernet, XAUI usw. aufweisen.
  • Bei einer Ausführungsform kann die Meta-Steuereinheit 318 zum Beispiel mit Logik konfiguriert sein, die eingehenden Datenverkehr empfangen, PDU-Verkehr steuern und alle Pakete der Steuerungsebene des verteilten Switch-Systems 300 verarbeiten kann.
  • Bei verschiedenen Ausführungsformen kann jeder SFC 302a bis 302n wie nachfolgend beschrieben charakterisiert sein. Als Erstes kann jeder SFC 302a bis 302n eine Vielzahl von Modulkarten 304, 306, 308 aufweisen. Bei einer Ausführungsform können zu den Modulkarten 304, 306, 308 beliebige geeignete Modulkarten gehören, die dem Fachmann bekannt sind, der die vorliegenden Beschreibungen liest. Zu den SFCs 302a bis 302n kann eine beliebige Vielzahl von Anschlüssen (oder Schnittstellen) 326 gehören, wobei jeder SFC-Anschluss 326 über Verbindungen 328 im Datenaustausch mit jeder der Modulkarten 304, 306, 308 steht. Darüber hinaus können die SFC-Anschlüsse 326 über Verbindungen 316 Verbindungen mit DLCs 310a bis 310n herstellen.
  • Wie in 3 gezeigt, weist jeder SFC 302a bis 302n 32 derartige SFC-Anschlüsse 326 auf, aber selbstverständlich können andere Ausführungsformen mehr oder weniger SFC-Anschlüsse 326 für jeden SFC 302a bis 302n aufweisen, zum Beispiel 8, 16, 64, 128 usw. Bei einer bestimmten Ausführungsform weisen die SFCs 302a bis 302n zum Beispiel 256 derartige SFC-Anschlüsse 326 auf. In allen Fällen weist jeder SFC bzw. jede DLC mindestens n Anschlüsse bzw. Schnittstellen auf, wobei n die Anzahl von DLCs 310a bis 310n ist, die das verteilte Switch-System 300 aufweist.
  • Darüber hinaus können die DLCs 310a bis 310n ferner wie folgt charakterisiert sein. Jede DLC (außer bei einem Ansatz der letzten DLC 310n , die unmittelbar anschließend beschrieben wird) kann bei einer Ausführungsform eine Vielzahl von Schaltkomplexen 312, 314 aufweisen, zum Beispiel eine Vielzahl von Switches des Typs BCM88650 der BROADCOM Corporation. Bei einem Ansatz kann es sich bei den Schaltkomplexen um Ethernet-Schaltkomplexe handeln. Außer den Schaltkomplexen 312, 314 weist jede DLC 310a bis 310n eine Vielzahl von Anschlüssen/Schnittstellen 324 auf, die den Datenaustausch zwischen den DLCs 310a bis 310n und beliebigen verbundenen Peripherieeinheiten oder Komponenten ermöglichen, zum Beispiel bei einem Ansatz, ohne darauf beschränkt zu sein, mit einem oder mehreren SFCs 302a bis 302n . Bei einer Ausführungsform kann sich jeder Schaltkomplex 312, 314 über unabhängige Verbindungen 332 im Datenaustausch mit jedem der DLC-Anschlüsse 324 befinden. Daher kann jeder Schaltkomplex 312, 314 gemäß einer Ausführungsform n Verbindungen 332 aufweisen, eine für jeden der n DLC-Anschlüsse 324 in den DLCs 310a bis 310n .
  • Des Weiteren kann die letzte DLC (Gestell-Ende, oberster Gestelleinschub usw.) in einer beliebigen gegebenen DLC-Reihe, die mit DLC 310n bezeichnet ist, Eigenschaften aufweisen, die sich eindeutig von den anderen DLCs 310a bis 310n-1 in der Reihe unterscheiden. Während die DLCs 310a bis 310n-1 ein Paar Schaltkomplexe 312, 314 aufweisen, kann insbesondere die letzte DLC 310n gemäß einem Ansatz alternativ einen einzigen Schaltkomplex 312 enthalten, der sich über einzelne Verbindungen 332 im Datenaustausch mit jedem der DLC-Anschlüsse 324 befindet, und einen Netzwerkverarbeitungseinheit-Komplex (NPU-Komplex) (NPU = Network Processing Unit) 330, der sich über Verbindungen 332 im Datenaustausch mit dem Schaltkomplex 312 befindet. Im Betriebszustand kann der NPU-Komplex 330 virtuelle Einheiten- und/oder Anwendungsdienste wie zum Beispiel Firewall-Dienste, IPS, IDS, VPN, Verschlüsselung usw. bereitstellen, wie dem Fachmann nach dem Lesen der vorliegenden Beschreibungen klar sein wird.
  • Bei einer Ausführungsform können Verbindungen 316 zwischen DLC-Anschlüssen 324 in den DLCs 310a bis 310" und SFC-Anschlüssen 326 in den SFCs 302a bis 302n eingerichtet sein. Darüber hinaus kann es sich bei einem Ansatz bei den DLC-Anschlüssen 324 um SERDES-Schnittstellen handeln, und jede Verbindung 316 kann so charakterisiert sein, dass sie ca. 12 SERDES-Schnittstellen in den DLCs 310a bis 310n-1 aufweist, während in DLC 310n jede Verbindung 316 so charakterisiert sein kann, dass sie ca. 6 SERDES-Schnittstellen aufweist.
  • Zu beachten ist, dass sich jeder der SFCs 302a bis 302n über eine einzige Verbindung 316 im Datenaustausch mit den DLCs 310a bis 310n befindet. Die Verbindungsmöglichkeiten zwischen allen SFCs und DLCs können gemäß einer beliebigen, in der Technik bekannten Verbindungsarchitektur erreicht werden. Zum Beispiel werden, wie in 3 gezeigt, Verbindungsmöglichkeiten zwischen SFC-Anschlüssen 326 und DLC-Anschlüssen 324 anhand der folgenden Beziehung erreicht: SFC(S,p) ←→ DLC(D,i); wobei S = i und p = D,
    wobei S die Position des SFC in der SFC-Reihe 302a bis 302n wiedergibt, D die Position der DLC in der DLC-Reihe 310a bis 310n wiedergibt, p die Anschluss-Position innerhalb des gegebenen SFC wiedergibt, i die Anschluss-Position innerhalb der gegebenen DLC wiedergibt und ←→ die Verbindung zwischen den beiden wiedergibt.
  • Anders ausgedrückt befindet sich der erste Anschluss 326 des ersten SFC 302i über eine Verbindung 316 im Datenaustausch mit dem ersten Anschluss 324 der ersten DLC 310i . Ebenso befindet sich der zweite Anschluss 326 des ersten SFC 302i [SFC(1,2)] über eine Verbindung 316 im Datenaustausch mit dem ersten Anschluss 324 der zweiten DLC 310a+1 [DLC(2,1)]. Dieses Muster von Verbindungsmöglichkeiten setzt sich bis zum Erreichen des letzten (n-ten) Anschlusses 326 am ersten SFC 302a fort, der sich im Datenaustausch mit dem ersten Anschluss 324 der letzten (n-ten) DLC 310n befindet. Die zweite Verbindung des Paares folgt einem umgekehrten Muster, bei dem sich der letzte (n-te) Anschluss 326 des letzten (n-ten) SFC 302n im Datenaustausch mit dem letzten (n-ten) Anschluss 324 der letzten (n-ten) DLC 310n befindet. Des Weiteren befindet sich der vorletzte (n-1) Anschluss 326 des letzten (n-ten) SFC 302n im Datenaustausch mit dem letzten (n-ten) Anschluss 324 der vorletzten DLC 310n-1 . Dieses Muster von Verbindungsmöglichkeiten setzt sich bis zum Erreichen des letzten (n-ten) Anschlusses 326 des ersten SFC 302a fort, der sich im Datenaustausch mit dem ersten (a-ten) Anschluss 324 der letzten DLC 310n befindet.
  • Darüber hinaus weist das in 3 gezeigte verteilte Switch-System 300 eine Vielzahl von SFCs 302a bis 302n und eine Vielzahl von DLCs 310a bis 310" auf; konkret sind im verteilten Switch-System 300 zwei SFCs und drei DLCs abgebildet. Es kann jedoch als ein Merkmal des verteilten Switch-Systems 300 die Anzahl von SFCs und DLCs skaliert werden, um beliebige gewünschte Betriebsverhaltenseigenschaften zu erreichen. In 3 gehören zu skalierbaren Merkmalen die Anzahl von SFCs und DLCs sowie die Anzahl von Anschlüssen (oder Schnittstellen), die jeder SFC und/oder jede DLC aufweist, wie durch die in 3 gezeigte Ellipse angegeben.
  • Bei einem Ansatz kann das verteilte Switch-System 300 nahtlos skaliert werden, um Systemfunktionen so anzupassen, dass sie den Bedürfnissen der Verarbeitung entsprechen. Insbesondere kann das verteilte Switch-System 300 konfiguriert werden, um automatisch eine oder mehrere weitere Peripherieeinheiten in das verteilte Switch-System 300 einzubinden, nachdem die eine oder mehreren weiteren Peripherieeinheiten mit einer Einheit des verteilten Switch-Systems 300 verbunden wurden, und es kann ferner konfiguriert werden, um eine oder mehrere Peripherieeinheiten vom verteilten Switch-System 300 zu entfernen, nachdem die eine oder mehreren Peripherieeinheiten von einer Einheit des verteilten Switch-Systems 300 getrennt wurden.
  • Die nahtlose Skalierbarkeit kann somit bei einigen Ansätzen erreicht werden, indem bei einer Ausführungsform die Verarbeitungsleistung des verteilten Switch-Systems 300 nach der Einbindung der einen oder mehreren weiteren Peripherieeinheiten automatisch erhöht wird, oder umgekehrt, indem die Verarbeitungsleistung des verteilten Switch-Systems 300 nach dem Entfernen der einen oder mehreren Peripherieeinheiten automatisch verringert wird.
  • Unter Bezugnahme auf die 3 bis 4 kann ein einzelner verteilter Switch 300 gemäß verschiedenen Ausführungsformen in eine Vielzahl logischer „virtueller“ Switches 334 aufgeteilt werden, um die Probleme zu lösen, die wie zuvor beschrieben durch die Skalierung gegenwärtig verwendeter Systeme entstehen. Wie in 3 gezeigt, können gemäß einem Ansatz ein oder mehrere Anschlüsse 324 einer DLC einem oder mehreren virtuellen Switches 334 zugewiesen werden.
  • Wie in 4 gezeigt, legt jeder virtuelle Switch 334 gemäß einer Ausführungsform auch eine VCD 419, 421, 423 fest. Innerhalb jeder VCD 419, 421, 423 wird eine Instanz 404, 406, 408 des Steuerungsprotokolls 320 erzeugt. Jede der Instanzen 404, 406, 408 des Steuerungsprotokolls 320 weist aufgrund von Filterung nur Verbindungszustandsereignisse und Steuerungspakete auf, zum Beispiel Verbindungszustandspakete (Link State Packets, LSPs), Lern-PDUs usw. für die betreffenden Anschlüsse, die sich innerhalb dieses virtuellen Switch befinden. Zum Beispiel weist die Instanz 404 Verbindungszustandsereignisse und empfangene Steuerungspakete für Anschlüsse im virtuellen Switch 1 418 auf, die Instanz 406 weist Verbindungszustandsereignisse und empfangene Steuerungspakete für Anschlüsse im virtuellen Switch 2 420 auf, die Instanz 408 weist Verbindungszustandsereignisse und empfangene Steuerungspakete für Anschlüsse im virtuellen Switch 3 422 auf usw.
  • Diese Filterung wird durch die Meta-Steuereinheit 318 durchgeführt, die Verbindungszustandsereignisse und Steuerungspakete 320 an die entsprechenden VCDs 419, 421, 423 weiterleitet. Diese VCDs 419, 421, 423 können bei einem Ansatz auf physisch getrennte Server migriert werden, wenn dies durch einen Netzwerkadministrator oder eine andere Kontrollperson gewünscht ist, um die Prozessorlast auf dem verteilten Switch-System 300 zu verringern. Da die Meta-Steuereinheit 318 Steuerungsprotokolle 320 nur für Verbindungszustandsereignisse und PDUs für eine Teilmenge der Gesamtzahl von Anschlüssen im verteilten Switch-System 300 empfängt, kann sie bessere Zusammenschaltungszeiten und eine bessere Leistung bereitstellen, wodurch die Latenz verringert wird.
  • Darüber hinaus können Routen und Konfigurationsinformationen 412 für Anschlüsse im virtuellen Switch 1 418 an die Meta-Steuereinheit 318 gesendet werden, Routen und Konfigurationsinformationen 414 für Anschlüsse im virtuellen Switch 2 420 können an die Meta-Steuereinheit 318 gesendet werden, und Routen und Konfigurationsinformationen 416 für Anschlüsse im virtuellen Switch 3 422 können an die Meta-Steuereinheit 318 gesendet werden. Alle der Verbindungszustandsereignisse, Steuerungspakete, Konfigurationsinformationen usw. können über Verbindungen 322 an die und von der Meta-Steuereinheit 318 gesendet werden.
  • Die Verbindungen 322 können von beliebiger, in der Technik bekannter Art sein, zum Beispiel Ethernet, PCIe, Fiber Channel usw.
  • Bei einer Ausführungsform kann die Meta-Steuereinheit 318 virtuelle Verbindungen 410 zwischen den VCDs 419, 421, 423 erzeugen, um den Anschein vollständig vernetzter Verbindungsmöglichkeiten zwischen ihnen zu erwecken. Das bedeutet, dass Steuerungsprotokolle 404, 406, 408 in beliebigen gegebenen VCDs 419, 421, 423 ihren gleichrangigen Elementen in anderen VCDs 419, 421, 423 Verbindung-aktiv-Ereignisse bereitstellen kann. Die Meta-Steuereinheit 318 kann bei einem Ansatz über diese virtuellen Verbindungen 410 auch den Datenaustausch zwischen gleichrangigen Elementen von Steuerungsprotokollen aktivieren.
  • Da diese virtuellen Verbindungen 410 ein vollständiges Netz bilden, verwenden die Steuerungsprotokolle 404, 406, 408 diese virtuellen Verbindungen, um Verbindungsmöglichkeiten mit Switches zu schaffen, die von Anschlüssen in einer anderen VCD 419, 421, 423 erreicht werden. Zum Beispiel kann das Steuerungsprotokoll 404 am virtuellen Switch 1 418 eine virtuelle Verbindung 410 verwenden, um Verbindungsmöglichkeiten mit dem Steuerungsprotokoll 408 am virtuellen Switch 3 422 zu schaffen.
  • Die von Steuerungsprotokollen kommenden Nachrichten zur Programmierung von Routen und Konfiguration, wenn z.B. das STP beim Weiterleiten in einem VLAN Anschlüsse hinzufügt oder wenn das ISIS im ECMP (Equal-Cost Multi-Path) zu einem bestimmten Switch TRILL-Kernanschlüsse hinzufügt, werden durch die Meta-Steuereinheit 318 abgefangen, die die Routen/Konfiguration zusammenführt, indem normalerweise die Routen oder Konfiguration, die von unterschiedlichen VCDs 419, 421, 423 empfangen wurden, vereinigt werden, und beliebige Verweise auf die virtuellen Verbindungen 410 entfernt werden, die zur Verbindung der VCDs 419, 421, 423 untereinander verwendet wurden.
  • Wenn zum Beispiel der VCD 404 für den virtuellen Switch 1 418 die Verbindungen „Schnittstelle1“ und „Schnittstelle2“ (nicht gezeigt) und der VCD 406 für den virtuellen Switch 2 420 die Verbindungen „Schnittstelle3“ und „Schnittstelle4“ (nicht gezeigt) zugewiesen wurden, wird die virtuelle Verbindung 410 zwischen der VCD 404 und der VCD 406 in der VCD 404 als „virtuelle_Schnittstelle12“ und in der VCD 406 als „virtuelle_Schnittstelle21“ wiedergegeben. Wenn ferner das ISIS in der VCD 404 eine Route zum virtuellen Switch 2 420 mit Verbindungen (Schnittstellel, Schnittstelle2 und virtuelle_Schnittstelle12) hinzufügt und das ISIS in der VCD 406 eine Route zum virtuellen Switch 1 418 mit Verbindungen {Schnittstelle3, Schnittstelle4 und virtuelle_Schnittstelle21} hinzufügt, legt die Meta-Steuereinheit 318 diese zwei Routen zusammen, um eine einzige Route zwischen dem virtuellen Switch 1 418 und dem virtuellen Switch 2 420 mit den Verbindungen {Schnittstelle1, Schnittstelle2, Schnittstelle3, Schnittstelle4} zu erzeugen und diese zusammengefassten Routen- und Konfigurationsinformationen 402 wie angefordert bereitzustellen. Wenn die Route oder Konfiguration keinen Verweis auf die virtuelle Verbindung 410 enthält, wird diese Zusammenführung nicht durchgeführt.
  • Zu beachten ist, dass die Meta-Steuereinheit 318 keine virtuellen Verbindungen zwischen den VCDs 419, 421, 423 aufbaut. Insbesondere kann die Standardrichtlinie am Switch darin bestehen, keine virtuellen, vollständig vernetzten Verbindungsmöglichkeiten zwischen den Switches bereitzustellen, wenn ein virtueller Switch einer anderen Kunden- oder Benutzergruppe zugewiesen ist. Dies würde sich nachteilig auf Kunden- oder Benutzergruppen auswirken, die unterschiedliche virtuelle Switches verwenden. Die Meta-Steuereinheit 318 würde dann Routen und Konfiguration von unterschiedlichen VCDs 419, 421, 423 nicht zusammenführen. Ein Hybrid-Ansatz, bei dem einige VCDs 419, 421, 423 untereinander verbunden sind und andere nicht, ist gemäß einigen Ausführungsformen ebenfalls möglich.
  • Unter Bezugnahme auf 5 ist dort ein Verfahren 500 gemäß einer Ausführungsform gezeigt. Das Verfahren 500 kann gemäß der vorliegenden Erfindung in verschiedenen Ausführungsformen unter anderem in einer beliebigen der in den 1 bis 4 abgebildeten Umgebungen durchgeführt werden. Selbstverständlich kann das Verfahren 500 mehr oder weniger als die in 5 konkret beschriebenen Operationen aufweisen, wie dem Fachmann nach dem Lesen der vorliegenden Beschreibungen klar sein dürfte.
  • Jeder der Schritte des Verfahrens 500 kann durch beliebige geeignete Komponenten der Betriebsumgebung durchgeführt werden. Zum Beispiel kann das Verfahren 500 wie hierin vorausgesetzt bei einer Ausführungsform teilweise oder vollständig durch eine Meta-Steuereinheit durchgeführt werden.
  • Wie in 5 gezeigt, kann das Verfahren 500 mit der Operation 502 beginnen, bei der bei einem Ansatz eine Vielzahl physischer Anschlüsse, die auf mehrere DLCs verteilt sind, in eine Vielzahl virtueller Switches aufgeteilt wird. Dadurch weist jeder virtuelle Switch Anschlüsse einer oder mehrerer DLCs auf. Selbstverständlich können die virtuellen Switches physische Anschlüsse einer beliebigen, in der Technik bekannten Schalteinheit aufteilen, und es muss sich bei den Anschlüssen nicht um Anschlüsse von DLCs handeln.
  • Bei einem Ansatz steht jede DLC im elektrischen Datenaustausch mit mindestens einem SFC, und eine Meta-Steuereinheit steht im elektrischen Datenaustausch mit den DLCs. Außerdem erscheint die Vielzahl physischer Anschlüsse gegenüber externen Einheiten als Teil einer einzigen zellengeschalteten Domäne.
  • Bei der Operation 504 wird eine zu jedem virtuellen Switch gehörige VCD erzeugt. Auf diese Weise kann jeder virtuelle Switch mithilfe einer virtuellen Steuereinheit, die der einzelnen VCD zugewiesen ist, separat gesteuert werden.
  • Bei der Operation 506 werden die virtuellen Switches eigenständig gesteuert, zum Beispiel mithilfe einer Meta-Steuereinheit, die Steuerungspakete abfängt und diese an die betreffenden VCDs weiterleitet.
  • Bei einer Ausführungsform können die virtuellen Switches eigenständig gesteuert werden, indem Steuerungspakete empfangen werden, die für einen physischen Anschluss eines virtuellen Switch bestimmt sind, und indem die empfangenen Steuerungspakete an eine VCD weitergeschaltet werden, die zu dem virtuellen Switch gehört, der den physischen Anschluss aufweist.
  • Bei einer weiteren Ausführungsform kann das Verfahren 500 ferner das Empfangen von Routen- und Konfigurationsinformationen von den virtuellen Switches und das Zusammenlegen der Routen- und Konfigurationsinformationen für die virtuellen Switches aufweisen. Auf diese Weise kann jeder virtuelle Switch und jede VCD mithilfe einer jeweils zugewiesenen virtuellen Steuereinheit vollständig gesteuert werden.
  • Bei einer Ausführungsform kann das Verfahren 500 ferner das Erzeugen virtueller Verbindungen zwischen mindestens einigen der virtuellen Switches aufweisen, sodass diese virtuellen Switches als mithilfe einer ISL-Verbindung (ISL = Inter-Switch-Link) verbunden erscheinen, wie dem Fachmann klar sein dürfte. Dies ermöglicht ferner die Zusammenlegung von Verbindungen, zum Beispiel die Zusammenlegung virtueller Verbindungen (Virtual Link Aggregation, vLAG) mehrerer virtueller Switches, durch die eine größere Bandbreite, verringerte Latenz usw. möglich wird.
  • Bei einer Ausführungsform kann das Verfahren 500 ferner das Zuweisen virtueller Instanzen zu virtuellen Ressourcen (die zu physischen Anschlüssen einer DLC gehören können) aufweisen, um zwei oder mehreren virtuellen Switches zu ermöglichen, Funktionen gemeinsam zu nutzen oder überlappende Funktionen aufzuweisen, zum Beispiel die gemeinsame Nutzung eines physischen Anschlusses, gemeinsame Nutzung einer DLC usw.
  • Bei einer weiteren Ausführungsform kann das Verfahren 500 ferner das Erzeugen und Verteilen von Authentifizierungsereignissen einer Multiplex- und Demultiplex-Funktionalität (Mux- und Demux-Funktionalität) auf alle der virtuellen Switches aufweisen. Dies kann ausgelöst werden, um die Verarbeitungsleistung auf bestimmten Einheiten im System zu verringern.
  • Gemäß einer weiteren Ausführungsform kann das Verfahren 500 ferner das Zulassen, dass mehr als ein virtueller Switch einen physischen Anschluss einer DLC gemeinsam nutzen kann, sowie das Verwalten von Konflikten aufgrund der gemeinsamen Nutzung des physischen Anschlusses aufweisen. Beliebige Konflikte, die auftreten können, können verarbeitet werden, indem die Meta-Steuereinheit veranlasst wird, den Ablauf von Ereignissen und die Bewegung von Steuerungspaketen zu und von den virtuellen Switches zu steuern.
  • Bei einer Ausführungsform kann das Verfahren 500 ferner anhand eines Kriteriums das Aufteilen der virtuellen Switches in unterschiedliche Gruppen unter der Voraussetzung aufweisen, dass die virtuellen Switches in unterschiedlichen Gruppen keine virtuelle Verbindung untereinander aufweisen. Gemäß verschiedenen Ausführungsformen können zu den Kriterien ohne Beschränkung auf die Aufzählung Benutzer, Firmen, Kunden, Verwendung, Verwendungshäufigkeit, Kosten usw. gehören.
  • Obwohl verschiedene Ausführungsformen oben beschrieben wurden, sollte klar sein, dass sie nur beispielhaft und nicht als Einschränkung erläutert wurden. Dementsprechend wird der Geltungsbereich und Schutzbereich einer Ausführungsform der vorliegenden Erfindung nicht durch beliebige der oben erläuterten beispielhaften Ausführungsformen eingeschränkt, sondern nur durch die folgenden Ansprüche und deren Äquivalente festgelegt.

Claims (14)

  1. System, aufweisend: mindestens eine verteilte Leitungskarte (Distributed Line Card, DLC), die im elektrischen Datenaustausch mit mindestens einem Switch-Fabric-Koppler (Switch Fabric Coupler, SFC) steht; und eine Meta-Steuereinheit, die konfiguriert ist, im elektrischen Datenaustausch mit mindestens einer DLC zu stehen, wobei die Meta-Steuereinheit aufweist: einen Prozessor zum Ausführen von Logik; Logik, die konfiguriert ist, um mindestens mehr als einen virtuellen Switch und eine entsprechende virtuelle Steuerungsdomäne (Virtual Control Domain, VCD) zu erzeugen, die zu jedem virtuellen Switch gehört, wobei jeder virtuelle Switch eine Vielzahl physischer Anschlüsse zu einer oder mehrerer der mindestens einen DLC aufweist; und Logik die konfiguriert ist, um die virtuellen Switches eigenständig zu steuern; wobei das System gegenüber einer außerhalb des Systems befindlichen Einheit als eine einzige zellengeschaltete Domäne erscheint.
  2. System nach Anspruch 1, bei dem der wenigstens eine SFC eine Vielzahl von Modulkarten und eine Vielzahl von Anschlüssen aufweist, wobei jeder SFC-Anschluss im Datenaustausch mit jeder der Modulkarten steht; wobei der wenigstens eine DLC eine Vielzahl von Schaltkomplexen und eine Vielzahl von Anschlüssen aufweist, die den Datenaustausch zwischen dem wenigstens einen DLC und beliebigen damit verbundenen Peripherieeinheiten oder Komponenten ermöglichen, und wobei sich jeder Schaltkomplex über unabhängige Verbindungen im Datenaustausch mit jedem der DLC-Anschlüsse befinden kann.
  3. System nach Anspruch 1, bei dem die Meta-Steuereinheit ferner aufweist: Logik, die konfiguriert ist, um Steuerungspakete zu empfangen, die für einen physischen Anschluss eines virtuellen Switch bestimmt sind; und Logik die konfiguriert ist, um die empfangenen Steuerungspakete zu einer VCD weiterzuschalten, die zu dem virtuellen Switch gehört, der den physischen Anschluss aufweist.
  4. System nach Anspruch 1, bei dem die Meta-Steuereinheit ferner aufweist: Logik, die konfiguriert ist, um Routen- und Konfigurationsinformationen von dem mehr als einen virtuellen Switch zu empfangen; und Logik, die konfiguriert ist, um die Routen- und Konfigurationsinformationen für den mehr als einen virtuellen Switch zusammenzulegen.
  5. System nach Anspruch 1, bei dem die Meta-Steuereinheit ferner Logik aufweist, die konfiguriert ist, um virtuelle Verbindungen zwischen virtuellen Switches zu erzeugen.
  6. System nach Anspruch 1, bei dem die Meta-Steuereinheit ferner Logik aufweist, die konfiguriert ist, um virtuelle Instanzen zu virtuellen Ressourcen zuzuweisen, um zwei oder mehreren virtuellen Switches zu ermöglichen, Funktionen gemeinsam zu nutzen oder überlappende Funktionen aufzuweisen.
  7. System nach Anspruch 1, bei dem die Meta-Steuereinheit ferner Logik aufweist, die konfiguriert ist, um Authentifizierungsereignisse einer Multiplex- und Demultiplex-Funktionalität zu erzeugen und auf alle der virtuellen Switches zu verteilen.
  8. System nach Anspruch 1, bei dem die Meta-Steuereinheit ferner aufweist: Logik, die konfiguriert ist, um mehr als einem virtuellen Switch zu ermöglichen, einen physischen Anschluss einer DLC gemeinsam zu nutzen; und Logik, die konfiguriert ist, um Konflikte aufgrund der gemeinsamen Nutzung des physischen Anschlusses zu verwalten.
  9. System nach Anspruch 1, bei dem die Meter-Steuereinheit ferner Logik aufweist, die konfiguriert ist, um die virtuellen Switches anhand eines Kriteriums in unterschiedliche Gruppen unter der Voraussetzung aufzuteilen, dass die virtuellen Switches in unterschiedlichen Gruppen keine virtuelle Verbindung untereinander aufweisen.
  10. Verfahren, aufweisend: Aufteilen einer Vielzahl auf mehrere verteilte Leitungskarten (DLCs) verteilter physischer Anschlüsse in eine Vielzahl virtueller Switches, wobei jeder virtuelle Switch Anschlüsse einer oder mehrerer DLCs aufweist; Erzeugen einer virtuellen Steuerungsdomäne (Virtual Control Domain, VCD), die zu jedem virtuellen Switch gehört; und eigenständiges Steuern der virtuellen Switches, wobei jede DLC im elektrischen Datenaustausch mit mindestens einem Switch-Fabric-Koppler (Switch Fabric Coupler, SFC) steht; und wobei die Vielzahl physischer Anschlüsse gegenüber externen Einheiten als Teil einer einzigen zellengeschalteten Domäne erscheint.
  11. Verfahren nach Anspruch 10, bei dem der wenigstens eine SFC eine Vielzahl von Modulkarten und eine Vielzahl von Anschlüssen aufweist, wobei jeder SFC-Anschluss im Datenaustausch mit jeder der Modulkarten steht; wobei der wenigstens eine DLC eine Vielzahl von Schaltkomplexen und eine Vielzahl von Anschlüssen aufweist, die den Datenaustausch zwischen dem wenigstens einen DLC und beliebigen damit verbundenen Peripherieeinheiten oder Komponenten ermöglichen, und wobei sich jeder Schaltkomplex über unabhängige Verbindungen im Datenaustausch mit jedem der DLC-Anschlüsse befinden kann.
  12. Verfahren nach Anspruch 10, ferner aufweisend: Empfangen von Routen- und Konfigurationsinformationen von den virtuellen Switches; und Zusammenlegen der Routen- und Konfigurationsinformation für die virtuellen Switches.
  13. Verfahren nach Anspruch 10, das ferner das Erzeugen virtueller Verbindungen zwischen mindestens einigen der virtuellen Switches aufweist.
  14. Meta-Steuereinheit, aufweisend einen Prozessor und Logik, die in den Prozessor integriert und/oder durch den Prozessor ausführbar ist, wobei die Logik konfiguriert ist, um die Meta-Steuereinheit dazu zu veranlassen: a) mindestens mehr als einen virtuellen Switch und eine entsprechende virtuelle Steuerungsdomäne (Virtual Control Domain, VDC) zu erzeugen, die zu jedem virtuellen Switch gehört, wobei jeder virtuelle Switch eine Vielzahl physischer Anschlüsse einer oder mehrerer der mindestens einen DLC aufweist, wobei die mindestens eine DLC im elektrischen Datenaustausch mit mindestens einem Switch-Fabric-Koppler (Switch Fabric Coupler, SFC) steht; b) die virtuellen Switches eigenständig zu steuern und c) Authentifizierungsereignisse einer Multiplex- und Demultiplex-Funktionalität zu erzeugen und auf alle der virtuellen Switches zu verteilen; wobei die Meta-Steuereinheit, der mindestens eine DLC und der mindestens eine SFC ein System bilden, das gegenüber einer außerhalb des Systems befindlichen Einheit als eine einzige zellengeschaltete Domäne erscheint.
DE102013208431.5A 2012-05-22 2013-05-08 Großer verteilter Switch auf Fabric-Basis unter Verwendung virtueller Switches und virtueller Steuereinheiten Active DE102013208431B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/477,947 2012-05-22
US13/477,947 US9461938B2 (en) 2012-05-22 2012-05-22 Large distributed fabric-based switch using virtual switches and virtual controllers

Publications (2)

Publication Number Publication Date
DE102013208431A1 DE102013208431A1 (de) 2013-11-28
DE102013208431B4 true DE102013208431B4 (de) 2019-12-19

Family

ID=49547165

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013208431.5A Active DE102013208431B4 (de) 2012-05-22 2013-05-08 Großer verteilter Switch auf Fabric-Basis unter Verwendung virtueller Switches und virtueller Steuereinheiten

Country Status (2)

Country Link
US (2) US9461938B2 (de)
DE (1) DE102013208431B4 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8964601B2 (en) 2011-10-07 2015-02-24 International Business Machines Corporation Network switching domains with a virtualized control plane
US9088477B2 (en) 2012-02-02 2015-07-21 International Business Machines Corporation Distributed fabric management protocol
US9077624B2 (en) * 2012-03-07 2015-07-07 International Business Machines Corporation Diagnostics in a distributed fabric system
US9077651B2 (en) * 2012-03-07 2015-07-07 International Business Machines Corporation Management of a distributed fabric system
US9461938B2 (en) * 2012-05-22 2016-10-04 International Business Machines Corporation Large distributed fabric-based switch using virtual switches and virtual controllers
US9143444B2 (en) 2013-03-12 2015-09-22 International Business Machines Corporation Virtual link aggregation extension (VLAG+) enabled in a TRILL-based fabric network
US9559940B2 (en) * 2014-03-14 2017-01-31 International Business Machines Corporation Take-over of network frame handling in a computing environment
US9300592B2 (en) 2014-03-14 2016-03-29 International Business Machines Corporation Physical port sharing in a link aggregation group
WO2016150594A1 (en) * 2015-03-23 2016-09-29 Iee International Electronics & Engineering S.A. Capacitive sensing system with hardware diagnostics concept for detection of sensor interruption
CN105376133A (zh) * 2015-11-20 2016-03-02 南京优速网络科技有限公司 一种基于虚拟化技术的网络实验系统及构造方法
CN109510749A (zh) * 2018-09-20 2019-03-22 天津大学 一种基于OpenStack和SDN技术的大规模虚拟网络构建方法
CN112637286B (zh) * 2020-12-10 2022-02-25 中国联合网络通信集团有限公司 网络架构调整方法、装置、系统和计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103921A1 (en) 2001-01-31 2002-08-01 Shekar Nair Method and system for routing broadband internet traffic
US20030093541A1 (en) 2001-09-28 2003-05-15 Lolayekar Santosh C. Protocol translation in a storage system
US20030130832A1 (en) 2002-01-04 2003-07-10 Peter Schulter Virtual networking system and method in a processing system
US20080144533A1 (en) 2006-12-19 2008-06-19 Cisco Technology, Inc. A California Corporation Shared virtual device ports
WO2010096155A1 (en) 2009-02-23 2010-08-26 Cisco Technology, Inc. Distributed data center access switch
WO2011130423A1 (en) 2010-04-16 2011-10-20 Cisco Technology, Inc. Method of identifying destination in a virtual environment
US20110274110A1 (en) 2010-05-07 2011-11-10 Vishnu Mmmadi Method for preventing mac spoofs in a distributed virtual switch

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8103853B2 (en) 2008-03-05 2012-01-24 The Boeing Company Intelligent fabric system on a chip
US8195774B2 (en) 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US20100011356A1 (en) 2008-07-10 2010-01-14 Electrowave Usa, Inc. Intelligent distributed controller
US7894334B2 (en) 2008-08-15 2011-02-22 Telefonaktiebolaget L M Ericsson Hierarchical redundancy for a distributed control plane
US7849127B2 (en) 2008-08-15 2010-12-07 Telefonaktiebolaget L M Ericsson Method and apparatus for a distributed control plane
US8054832B1 (en) 2008-12-30 2011-11-08 Juniper Networks, Inc. Methods and apparatus for routing between virtual resources based on a routing location policy
JP5701288B2 (ja) 2009-04-01 2015-04-15 ニシラ, インコーポレイテッド ネットワークおよびネットワーキングリソースを管理する方法
US9240923B2 (en) 2010-03-23 2016-01-19 Juniper Networks, Inc. Methods and apparatus for automatically provisioning resources within a distributed control plane of a switch
US9461938B2 (en) 2012-05-22 2016-10-04 International Business Machines Corporation Large distributed fabric-based switch using virtual switches and virtual controllers

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103921A1 (en) 2001-01-31 2002-08-01 Shekar Nair Method and system for routing broadband internet traffic
US20030093541A1 (en) 2001-09-28 2003-05-15 Lolayekar Santosh C. Protocol translation in a storage system
US20030130832A1 (en) 2002-01-04 2003-07-10 Peter Schulter Virtual networking system and method in a processing system
US20080144533A1 (en) 2006-12-19 2008-06-19 Cisco Technology, Inc. A California Corporation Shared virtual device ports
WO2010096155A1 (en) 2009-02-23 2010-08-26 Cisco Technology, Inc. Distributed data center access switch
WO2011130423A1 (en) 2010-04-16 2011-10-20 Cisco Technology, Inc. Method of identifying destination in a virtual environment
US20110274110A1 (en) 2010-05-07 2011-11-10 Vishnu Mmmadi Method for preventing mac spoofs in a distributed virtual switch

Also Published As

Publication number Publication date
US20130315234A1 (en) 2013-11-28
US9479459B2 (en) 2016-10-25
US9461938B2 (en) 2016-10-04
US20130315233A1 (en) 2013-11-28
DE102013208431A1 (de) 2013-11-28

Similar Documents

Publication Publication Date Title
DE102013208431B4 (de) Großer verteilter Switch auf Fabric-Basis unter Verwendung virtueller Switches und virtueller Steuereinheiten
DE112013000731B4 (de) Skalierbare virtuelle Geräte-Cloud
US11625154B2 (en) Stage upgrade of image versions on devices in a cluster
DE112013006420B4 (de) Erweiterte Verbindungszusammenfassung (LAG) zur Nutzung in mehreren Switsches
DE112012001320B4 (de) Prioritätsgestützte Flusssteuerung in einer Switching-Netzwerkarchitektur mit einem Protokoll einer verteilten Struktur (Distributed Fabric Protocol DFP)
DE112013002270B4 (de) Bereitstellen von Diensten für virtuellen Overlay-Netzwerkverkehr
DE102013209372B4 (de) Ein für die Aggregation virtueller Ethernet-Ports (VEPA) geeignetes mandantenfähiges Overlay-Netzwerk
DE102015108145B4 (de) Lokale Dienstverkettung mit virtuellen Maschinen und virtualisierten Behältern in software-definierter Vernetzung
DE102012220834B4 (de) Verfahren und Vorrichtung zum Umsetzen eines flexiblen virtuellen lokalen Netzwerks
DE202016107377U1 (de) Systeme zur Auslagerung von Netzwerkfunktionen über Paket-Trunking
DE102015119890A1 (de) Paralleles Verarbeiten von Service-Funktionen in Service-Funktionsketten
DE112012002080T5 (de) Switching-Netzwerk-Architektur gemäss dem Distributed Fabric Protocol (DFP)
DE112012004957B4 (de) Flexibles und skalierbares Enhanced-Transmission-Selection-Verfahren für Netzwerkstrukturen
DE112013004187B4 (de) Technologie für Netzwerk-Datenübertragung durch ein Computersystem unter Verwendung von mindestens zwei Datenübertragungsprotokollen
DE112013006417B4 (de) Verlustfreie Schalterstruktur mit niedriger Latenzzeit zum Gebrauch in einem Rechenzentrum
DE102015013946A1 (de) Netzwerkbasiertes Service Function Chaining
DE112017000152T5 (de) Virtueller Core eines CCAP (Converged Cable Access Platform)
DE102014117460A1 (de) Programmierbares verteiltes Networking
DE112013001904B4 (de) Paketvermittlung auf der Ebene 2 ohne Nachschlagetabelle für Ethernet-Switches
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
US20180109429A1 (en) Intuitive approach to visualize health of microservice policies
DE102015102871A1 (de) Technologien für verteilten Leitweglenkungstabellennachschlag
DE112012002404B4 (de) Konfiguration und Management virtueller Netzwerke
DE112017003324T5 (de) Technologien für adaptives Routing unter Verwendung aggregierter Überlastungsinformationen
DE102018129112A1 (de) Systemdecoder für Trainingsbeschleuniger

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012931000

Ipc: H04L0049100000