-
HINTERGRUND
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft allgemein das Zuweisen von Bandbreite in einer Netzwerkstruktur und insbesondere das Zuweisen von Bandbreite zu speziellen logischen Datenflüssen innerhalb der Netzwerkstruktur.
-
Beschreibung des Stands der Technik
-
Computersysteme nutzen oftmals mehrere Computer, die in einem gemeinsamen Gehäuse miteinander verbunden sind. Die Computer können getrennte Server sein, die durch eine gemeinsame Zentralverbindung (Backbone) innerhalb des Gehäuses verbunden sind. Jeder Server ist eine steckbare Platine, die mindestens einen Prozessor, einen auf der Platine befindlichen Speicher (Onboard-Speicher) und eine Eingabe-/Ausgabeschnittstelle (E/A-Schnittstelle) aufweist. Ferner können die Server mit einem Switch (Vermittlungseinheit) verbunden sein, um die Funktionen des Servers zu erweitern. Zum Beispiel kann der Switch den Servern ermöglichen, auf weitere Ethernet-Netzwerke oder PCIe-Steckplätze zuzugreifen, und er kann den Datenaustausch zwischen Servern im selben oder in verschiedenen Gehäusen ermöglichen.
-
Eine Vielzahl von Switches kann kombiniert werden, um einen logischen Switch zu schaffen. Außerdem kann jede physische Verbindung zwischen der Vielzahl von Switches und den Servern in der Weise verwaltet werden, dass bestimmten Datenflüssen in der Verbindung eine Mindestgröße der Bandbreite zugewiesen wird. Das heißt, dass einem Datenfluss in der physischen Verbindung mehr Bandbreite als einem anderen zugewiesen werden kann. Das Erweitern der Fähigkeit eines Systemadministrators, bestimmten Datenflüssen Bandbreite zuzuweisen, erweitert auch die Kontrolle des Netzwerks durch den Systemadministrator.
-
KURZDARSTELLUNG
-
Ausführungsformen der Erfindung offenbaren ein Verfahren und ein computerlesbares Speichermedium, die eine physische Verbindung bereitstellen, die zwei Datenverarbeitungseinheiten verbindet, wobei durch die physische Verbindung fließender Netzwerkverkehr logisch in eine Vielzahl von VLAN-Kanälen (VLAN = Virtual Local Area Network, virtuelles lokales Netzwerk) unterteilt wird. Das Verfahren und das computerlesbare Speichermedium reservieren eine Bandbreite der physischen Verbindung unter mindestens zwei der Vielzahl von VLAN-Kanälen und teilen die für einen aus der Vielzahl von VLAN-Kanälen reservierte Bandbreite unter einer Vielzahl von Verkehrsklassen auf.
-
Bei einer weiteren Ausführungsform weist eine Netzwerkeinheit einen Anschluss auf, der so gestaltet ist, dass er über eine physische Verbindung mit einer Datenverarbeitungseinheit verbunden werden kann, wobei durch die physische Verbindung fließender Netzwerkverkehr logisch in eine Vielzahl von VLAN-Kanälen unterteilt wird. Die Netzwerkeinheit weist außerdem einen Bandbreitenplaner auf, der so gestaltet ist, dass eine Bandbreite des Anschlusses unter mindestens zwei der Vielzahl von VLAN-Kanälen reserviert und die für einen aus der Vielzahl von VLAN-Kanälen reservierte Bandbreite unter einer Vielzahl von Verkehrsklassen aufgeteilt wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Ein besseres Verständnis der Art und Weise, in der die oben erwähnten Aspekte erreicht werden, ist durch eine ausführlichere Beschreibung der oben kurz dargestellten Erfindung unter Bezugnahme auf die beigefügten Zeichnungen möglich.
-
Anzumerken ist jedoch, dass die beigefügten Zeichnungen lediglich typische Ausführungsformen dieser Erfindung veranschaulichen und daher nicht als Einschränkung ihres Schutzbereiches zu verstehen sind, da die Erfindung auch andere, gleichermaßen wirksame Ausführungsformen zulässt.
-
1 veranschaulicht eine Systemarchitektur gemäß einer Ausführungsform der Erfindung, die einen verteilten virtuellen Switch aufweist.
-
2 veranschaulicht die Hardwaredarstellung eines Systems gemäß einer Ausführungsform der Erfindung, die einen virtuellen Switch realisiert.
-
3 veranschaulicht einen virtuellen Switch gemäß einer Ausführungsform der Erfindung.
-
4 veranschaulicht gemäß einer Ausführungsform der Erfindung das Verwenden virtueller lokaler Zugriffsnetzwerke in dem System aus 1.
-
5 ist ein Datenrahmen zum Kennzeichnen von Netzwerkverkehr auf der Grundlage einer VLAN-Kennung gemäß einer Ausführungsform der Erfindung.
-
6 veranschaulicht gemäß einer Ausführungsform der Erfindung das Verwenden einer erweiterten Version von Enhanced Transmission Selection in dem System aus 1.
-
Die 7A bis 7B veranschaulichen eine erweiterte Version von Enhanced Transmission Selection, das gemäß einer Ausführungsform der Erfindung virtuelle lokale Netzwerke nutzt.
-
8 veranschaulicht eine erweiterte Version von Enhanced Transmission Selection, das gemäß einer Ausführungsform der Erfindung virtuelle lokale Netzwerke in dem System aus 2 nutzt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
IEEE 802.1Q (oder 802.1p) lässt die logische Unterteilung des Datenflusses auf einer physischen Verbindung in acht unterschiedliche Prioritäten oder Verkehrsklassen zu. Die Norm stellt auch eine Technik zum Aufteilen der Gesamtbandbreite der physischen Verbindung unter den acht Verkehrsklassen bereit. Beispielsweise kann ein Administrator die Mindestbandbreite festlegen, die einer bestimmten Verkehrsklasse bereitgestellt werden muss. Zur Schaffung weiterer Flexibilität stellt IEEE 802.1Qaz (im Folgenden als „Enhanced Transmission Selection (ETS)” bezeichnet) eine Norm zum erneuten Reservieren von Bandbreite zwischen Verkehrsklassen bereit. Wenn der Netzwerkverkehr, der einer Verkehrsklasse zugewiesen ist, seine reservierte Bandbreite nicht nutzt, ermöglicht ETS anderen Verkehrsklassen, die verfügbare Bandbreite zu nutzen. ETS kann sogar bei strengen Prioritäten eingesetzt werden, d. h., die Bandbreite für bestimmte Verkehrsklassen kann nicht gemeinsam genutzt werden. Wenn die Bandbreite für zwei Verkehrsklassen keine strenge Priorität darstellt, lässt ETS die Verwendung der ungenutzten Bandbreite einer Verkehrsklasse durch eine andere zu. Wenn zum Beispiel die zu zwei Verkehrsklassen gehörenden Datenflüsse schwallartig – d. h. mit kurzzeitig hohen Verkehrslasten – auftreten, solange die hohen Verkehrslasten nicht gleichzeitig auftreten, kann die Verkehrsklasse, bei der die hohen Verkehrslasten auftreten, einen Teil oder die gesamte Bandbreite nutzen, die der anderen Verkehrsklasse zugewiesen ist. Wenn die hohen Verkehrslasten gleichzeitig auftreten, sodass die Verkehrsklassen die gesamte zugeteilte Bandbreite nutzen, lässt ETS nicht zu, dass eine Verkehrsklasse leihweise von der anderen Verkehrsklasse Bandbreite übernimmt.
-
IEEE 802.1Q hat außerdem die Verwendung von virtuellen lokalen Netzwerken (VLAN) in CEE-Netzwerken (CEE = Converged Enhanced Ethernet) genormt. Im Allgemeinen ermöglichen VLANs das Gruppieren von Endstationen eines physischen LAN, selbst wenn sich die Endstationen des LAN nicht am selben Netzwerk-Switch befinden. Das heißt, dass zwei physische Verbindungen, die zu zwei unterschiedlichen Switches gehören, logisch verbunden werden können, um Teil desselben LAN (d. h. eines VLAN) zu sein. Pakete weisen eine VLAN-Kennung (d. h. ein VLAN-Kennzeichen) auf, die die Pakete einem bestimmten VLAN zuweist. VLANs stellen die Segmentierungsdienste bereit, die üblicherweise durch Router bereitgestellt werden, und verbessern die Skalierbarkeit, Sicherheit und Netzwerkverwaltung eines LAN.
-
IEEE 802.1Q stellt 12 Bit zum Kennzeichnen eines Dienst-VLAN (Service VLAN, S-VLAN) bereit, d. h. 4096 eindeutig adressierbare S-VLANs. In neueren Routing-Normen wurde ergänzt, dass jedes S-VLAN eine Vielzahl zugehöriger Kunden-VLANs (Customer VLANs, C-VLANs) aufweisen kann. In IEEE 802.1QinQ kann zum Beispiel jedes S-VLAN mit bis zu 4096 C-VLANs verknüpft werden. Ein LAN nach dieser Norm kann bis zu 16.777.216 VLANs (2^12·2^12) aufweisen. IEEE 802.1Q und ETS stellen jedoch nur acht unterschiedliche Verkehrsklassen bereit, die zur Steuerung der Bandbreite in einer bestimmten physischen Verbindung (oder Verknüpfung) verwendet werden können. Anstatt nur auf diese acht Verkehrsklassen zur Verwaltung der Bandbreite zurückzugreifen, offenbaren die hierin erörterten Ausführungsformen die Verwendung eines erweiterten ETS-Planers, um die Bandbreite einer physischen Verbindung für einzelne VLANs zu reservieren. Die Verwendung von VLAN-Kennungen anstelle des ausschließlichen Zurückgreifens auf Verkehrsklassen ermöglicht einer Netzwerkeinheit, Bandbreite z. B. für Millionen eindeutiger VLANs zu reservieren. Daher ermöglicht die Nutzung der VLAN-Kennung, die fein abgestimmte Steuerung der Netzwerkstruktur und ihres Betriebsverhaltens zu verbessern.
-
Im Folgenden wird Bezug auf Ausführungsformen der Erfindung genommen. Es sollte jedoch klar sein, dass die Erfindung nicht auf bestimmte beschriebene Ausführungsformen beschränkt ist. Stattdessen ist eine beliebige Kombination der folgenden Merkmale und Elemente unabhängig davon denkbar, ob sie mit unterschiedlichen Ausführungsformen im Zusammenhang steht, um die Erfindung zu realisieren und in die Praxis umzusetzen. Des Weiteren schränkt eine bestimmte Ausführungsform die Erfindung unabhängig davon nicht ein, ob ein bestimmter Vorteil durch eine bestimmte Ausführungsform erzielt wird, obwohl Ausführungsformen der Erfindung Vorteile gegenüber anderen möglichen Lösungen und/oder gegenüber dem Stand der Technik erzielen können. Daher tragen die folgenden Aspekte, Merkmale, Ausführungsformen und Vorteile lediglich einen veranschaulichenden Charakter und sind nicht als Elemente oder Einschränkungen der beigefügten Ansprüche gedacht, ausgenommen in Fällen, in denen dies in einem Anspruch bzw. in Ansprüchen ausdrücklich angegeben ist. Ebenso ist der Bezug auf „die Erfindung” nicht als Verallgemeinerung eines hierin offenbarten Erfindungsgegenstands auszulegen und nicht als Element oder Einschränkung der beigefügten Ansprüche anzusehen, ausgenommen in Fällen, in denen dies in einem Anspruch bzw. in Ansprüchen ausdrücklich angegeben ist.
-
Dem Fachmann wird klar sein, dass Aspekte der vorliegenden Erfindung in Form eines Systems, Verfahrens oder Computerprogrammprodukts verkörpert sein können. Dementsprechend können Aspekte der vorliegenden Erfindung die Form einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte kombiniert, die im hierin allgemein als „Schaltung”, „Modul” oder „System” bezeichnet werden. Des Weiteren 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 computerlesbares Speichermedium sein. Zu 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) computerlesbarer Speichermedien zählen unter anderem folgende: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination des Vorstehenden. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes beliebige vergegenständlichte Medium sein, das ein Programm enthalten oder speichern kann, das 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 computerlesbares Speichermedium handelt und das ein Programm ü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 des 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 mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (LAN) 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)).
-
Nachstehend werden Aspekte der vorliegenden Erfindung unter Bezugnahme auf Ablaufpläne und/oder Blockschemata von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Flussdiagramme und/oder der Blockschemata und Kombinationen von Blöcken in den Flussdiagrammen und/oder Blockschemata 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 der Flussdiagramme und/oder der Blockschemata 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 der Flussdiagramme und/oder der Blockschemata 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 der Flussdiagramme und/oder der Blockschemata angegebenen Funktionen/Aktionen bereitstellen.
-
Ausführungsformen der Erfindung können Endbenutzern über eine Cloud-Datenverarbeitungsinfrastruktur bereitgestellt werden. Der Begriff „Cloud-Datenverarbeitung” („Cloud-Computing”) bezeichnet allgemein die Bereitstellung skalierbarer Datenverarbeitungsressourcen als Dienst über ein Netzwerk. Formaler ausgedrückt kann das Cloud-Computing als Datenverarbeitungsfähigkeit definiert werden, die eine Abstraktion zwischen der Datenverarbeitungsressource und ihrer unterlagerten technischen Architektur (z. B. Server, Speicher, Netzwerke) bereitstellt, die den benutzerfreundlichen bedarfsorientierten Netzwerkzugriff auf eine gemeinsam genutzte Ansammlung konfigurierbarer Datenverarbeitungsressourcen ermöglicht, die mit minimalem Verwaltungsaufwand bzw. über minimale Interaktion mit dem Dienstanbieter bereitgestellt und freigegeben werden kann. Daher ermöglicht das Cloud-Computing einem Benutzer unabhängig von den unterlagerten physischen Systemen (oder den Standorten der Systeme), die zur Bereitstellung der Datenverarbeitungsressourcen verwendet werden, auf virtuelle Datenverarbeitungsressourcen (z. B. Speicher, Daten, Anwendungen und selbst auf komplette virtualisierte Datenverarbeitungssysteme) in der „Cloud” zuzugreifen.
-
In der Regel werden Cloud-Computing-Ressourcen einem Benutzer auf einer Grundlage der Kosten pro Nutzung (Pay-per-Use) bereitgestellt, bei der Benutzern nur Kosten für die tatsächlich genutzten Datenverarbeitungsressourcen (z. B. eine Größe des von einem Benutzer verbrauchten Speicherplatzes oder eine Anzahl virtueller Systeme, die der Benutzer instanziiert hat) in Rechnung gestellt werden. Ein Benutzer kann über das Internet jederzeit und von überall auf beliebige der Ressourcen zugreifen, die sich in der Cloud befinden. Im Kontext der vorliegenden Erfindung kann ein Benutzer auf Anwendungen und zugehörige Daten zugreifen, die in der auf den Servern ausgeführten oder gespeicherten Cloud zur Verfügung stehen. Zum Beispiel könnte eine Anwendung auf einem Server ausgeführt werden, der den virtuellen Switch in der Cloud realisiert. Dies ermöglicht einem Benutzer, von einem beliebigen Datenverarbeitungssystem, das an ein mit der Cloud verbundenes Netzwerk (z. B. das Internet) angeschlossen ist, auf diese Daten zuzugreifen.
-
1 veranschaulicht eine Systemarchitektur gemäß einer Ausführungsform der Erfindung, die einen virtuellen Switch aufweist. Der erste Server 105 kann mindestens einen Prozessor 109 aufweisen, der mit einem Speicher 110 verbunden ist. Der Prozessor 109 kann für einen oder mehrere Prozessoren (z. B. Mikroprozessoren) oder Prozessoren mit mehreren Kernen stehen. Der Speicher 110 kann für Direktzugriffsspeichereinheiten (RAM-Einheiten) (RAM = Random Access Memory) stehen, die den Hauptspeicher des Servers 105 aufweisen, sowie für ergänzende Speicherebenen, z. B. Cache-Zwischenspeicher, nichtflüchtige Speicher oder Sicherungsspeicher (z. B. programmierbare Speicher oder Flash-Speicher), Nur-Lese-Speicher und dergleichen. Außerdem kann zum Speicher 110 Speicher gehören, der physisch im Server 105 oder in einer anderen Datenverarbeitungseinheit angeordnet ist, die mit dem Server 105 verbunden ist.
-
Der Server 105 kann unter der Steuerung eines Betriebssystems 107 betrieben werden und verschiedene Computersoftware-Anwendungen, -Komponenten, -Programme, -Objekte, -Module und -Datenstrukturen wie zum Beispiel die virtuellen Maschinen 111 ausführen.
-
Der Server 105 kann Netzwerkadapter 115 (z. B. Adapter für vereinheitlichte Netzwerke (Converged Network)) aufweisen. Ein Converged-Network-Adapter kann SR-IOV-Adapter (SR-IOV = Single Root I/O Virtualization) wie zum Beispiel einen PCIe-Adapter (PCIe = Peripheral Component Interconnect Express) aufweisen, der Converged Enhanced Ethernet (CEE) unterstützt. Eine weitere Ausführungsform des Systems 100 kann einen MR-IOV-Adapter (MRI-IOV = Multi-Root I/O Virtualization) aufweisen. Die Netzwerkadapter 115 können ferner verwendet werden, um ein FCoE-Protokoll (FCoE = Fiber Channel over Ethernet), RDMA over Ethernet, ISCSI (Internet Small Computer System Interface) und dergleichen zu realisieren. Im Allgemeinen überträgt ein Netzwerkadapter 115 Daten unter Verwendung eines auf Ethernet oder PCI beruhenden Datenaustauschverfahrens und kann mit einer oder mehreren der virtuellen Maschinen 111 verbunden sein. Außerdem können die Adapter den gemeinsamen Zugriff zwischen den virtuellen Maschinen 111 erleichtern. Obwohl die Adapter 115 bei anderen Ausführungsformen als im Server 105 enthalten dargestellt sind, können die Adapter physisch verschiedene Einheiten sein, die vom Server 105 getrennt sind.
-
Bei einer Ausführungsform kann jeder Netzwerkadapter 115 eine virtuelle Bridge von Converged-Adaptern (nicht dargestellt) aufweisen, die die Datenübertragung zwischen den Adaptern 115 durch Koordinieren des Zugriffs auf die virtuellen Maschinen 111 erleichtert. Jede virtuelle Bridge von Converged-Adaptern kann Datenflüsse innerhalb ihrer Domäne (d. h. des adressierbaren Raums) erkennen. Eine erkannte Domänenadresse kann direkt weitergeleitet werden, ohne die Daten nach außerhalb der Domäne der betreffenden virtuellen Bridge von Converged-Adaptern zu senden.
-
Jeder Netzwerkadapter 115 kann einen oder mehrere Ethernet-Anschlüsse aufweisen, die mit einem der Bridge-Elemente 120 verbunden sind. Außerdem kann der Server zur Erleichterung des PCIe-Datenaustauschs eine PCI-Host-Bridge 117 aufweisen. Die PCI-Host-Bridge würde dann an einen vorgelagerten PCI-Anschluss 122 an einem Switch-Element im virtuellen Switch 110 angeschlossen werden. Die Daten werden anschließend über die Vermittlungsschicht 130 an den richtigen nachgelagerten PCI-Anschluss 123 weitergeleitet, der sich am selben oder an einem anderen Switch-Modul wie der vorgelagerte PCI-Anschluss 122 befinden kann. Die Daten können anschließend zur PCI-Einheit 150 weitergeleitet werden. Im hierin verwendeten Sinne wird der Begriff „virtueller Switch” verwendet, um die Vielzahl verteilter Hardware-Switch-Elemente zu beschreiben, die untereinander verbunden sind und gegenüber einer Einheit als ein einziger Schalter erscheinen, die mit einem der Switch-Elemente verbunden werden.
-
Die Bridge-Elemente 120 können so gestaltet sein, dass sie Datenrahmen durch den gesamten verteilten virtuellen Switch 180 weiterleiten. Beispielsweise können ein Netzwerkadapter 115 und ein Bridge-Element 120 unter Verwendung von zwei 40-Gbit-Ethernet-Verbindungen oder einer 100-Gbit-Verbindung verbunden sein. Die Bridge-Elemente 120 leiten die durch den Netzwerkadapter 115 übertragenen Datenrahmen an die Vermittlungsschicht 130 weiter. Die Bridge-Elemente 120 können eine Suchtabelle aufweisen, in der Adressdaten gespeichert sind, die zur Weiterleitung der empfangenen Datenrahmen verwendet werden. Beispielsweise können die Bridge-Elemente 120 zu einem empfangenen Datenrahmen gehörende Adressdaten mit den Adressdaten vergleichen, die in der Suchtabelle gespeichert sind. Daher müssen die Netzwerkadapter 115 die Netzwerktopologie des verteilten virtuellen Switch 180 nicht kennen.
-
Der verteilte virtuelle Switch 180 weist im Allgemeinen eine Vielzahl von Bridge-Elementen 120 auf, die sich an einer Vielzahl von getrennten und dennoch untereinander verbundenen Hardwarekomponenten befinden können. Aus der Perspektive der Netzwerkadapter 115 betrachtet agiert der virtuellen Switch 180 wie ein einziger Switch, selbst wenn der Switch 180 aus vielen Switches zusammengesetzt sein kann, die sich physisch an unterschiedlichen Komponenten befinden können. Das Verteilen des Switch 180 stellt eine Redundanz für den Fall einer Störung bereit und skaliert den Switch, um, verglichen mit einem einzigen großen Switch, auf kostengünstigere Weise mehr Server untereinander zu verbinden.
-
Jedes der Bridge-Elemente 120 kann mit einem oder mehreren Transportschichtmodulen 125 verbunden sein, die empfangene Datenrahmen auf das durch die Vermittlungsschicht 130 verwendete Protokoll umsetzen. Zum Beispiel können die Transportschichtmodule 125 empfangene Daten entweder unter Verwendung eines Ethernet- oder PCI-Datenaustauschverfahrens in Pakete mit einem allgemeinen Format (d. h. Zellen) umsetzen, die über die Vermittlungsschicht 130 (d. h. eine Zellenstruktur) übertragen werden. Daher sind die Switch-Module, die den Switch 180 aufweisen, zu mindestens zwei unterschiedlichen Datenaustauschprotokollen kompatibel, z. B. zur Ethernet- und PCIe-Datenaustauschnorm. Das heißt, dass mindestens ein Switch-Modul die notwendige Logik aufweist, um Nutzdaten verschiedener Protokolle auf derselben Vermittlungsschicht 130 zu übertragen.
-
Obwohl in 1 nicht dargestellt, kann die Vermittlungsschicht 130 bei einer Ausführungsform eine lokale Gehäuserahmenverbindung aufweisen, die im selben Gehäuse und Gehäuserahmen befindliche Bridge-Elemente 120 sowie Verknüpfungen verbindet, über die eine Verbindung zu Bridge-Elementen 120 in anderen Gehäusen und Gehäuserahmen hergestellt wird.
-
Nach dem Weiterleiten der Zellen kann die Vermittlungsschicht 130 Daten mit Transportschichtmodulen 126 austauschen, die die Zellen zurück in Datenrahmen oder Nachrichten umsetzen, die dem jeweiligen Kommunikationsprotokoll entsprechen. Ein Teil der Bridge-Elemente 120 kann den Datenaustausch mit einem Ethernet-Netzwerk 155 erleichtern, das den Zugriff auf ein LAN oder WAN (z. B. das Internet) bereitstellt. Darüber hinaus können PCI-Daten zu einem nachgelagerten PCI-Anschluss 123 weitergeleitet werden, der mit einer PCIe-Einheit 150 verbunden ist. Die PCIe-Einheit 150 kann eine passive Rückwandplatinenverbindung als Erweiterungskartenschnittstelle für Erweiterungsplatinen oder für gemeinsamen Speicher, auf den beliebige der an den Switch 180 angeschlossenen Server zugreifen können.
-
Ein zweiter Server 106 kann einen Prozessor 109 aufweisen, der mit einem Betriebssystem 107 und einem Speicher 110 verbunden ist, der eine oder mehrere virtuelle Maschinen 111 aufweist, ähnlich wie die, die im ersten Server 105 vorzufinden sind. Der Speicher 110 des Servers 106 weist ebenfalls einen Hypervisor 113 mit einer virtuellen Bridge 114 auf. Der Hypervisor 113 verwaltet Daten, die von unterschiedlichen virtuellen Maschinen 111 gemeinsam genutzt werden. Insbesondere lässt die virtuelle Bridge 114 den direkten Datenaustausch zwischen verbundenen virtuellen Maschinen 111 zu, sodass die virtuellen Maschinen 111 nicht die Bridge-Elemente 120 oder die Vermittlungsschicht 130 nutzen müssen, um Daten an andere virtuelle Maschinen 111 zu senden, die zu Datenaustauschzwecken mit dem Hypervisor 113 verbunden sind.
-
Eine Steuereinheit zur Eingabe-/Ausgabeverwaltung (Input/Output Management Controller, IOMC) 140 (d. h. ein Spezialprozessor) ist mit mindestens einem Bridge-Element 120 verbunden, das der IOMC 140 den Zugriff auf die Vermittlungsebene 130 bereitstellt. Eine Funktion der IOMC 140 kann darin bestehen, Befehle von einem Administrator zu empfangen, um die unterschiedlichen Hardwareelemente des verteilten virtuellen Switch 180 zu konfigurieren. Bei einer Ausführungsform können diese Befehle aus einem getrennten Vermittlungsnetzwerk von der Vermittlungsschicht 130 empfangen werden.
-
Obwohl eine IOMC 140 dargestellt ist, kann das System 100 eine Vielzahl von IOMCs 140 aufweisen. Bei einer Ausführungsform können diese IOMCs 140 in einer Hierarchie angeordnet sein, sodass eine IOMC 140 als Master ausgewählt ist, während die anderen als Mitglieder (oder Slaves) ernannt sind.
-
2 veranschaulicht ein Schema des Systems 100 auf der Hardwareebene gemäß einer Ausführungsform Die Server 210 und 212 können sich physisch im selben Gehäuse 205 befinden; das Gehäuse 205 kann jedoch eine beliebige Anzahl von Servern aufweisen. Das Gehäuse 205 weist außerdem eine Vielzahl von Switch-Modulen 250, 251 auf, die einen oder mehrere Sub-Switches 254 aufweisen. Bei einer Ausführungsform sind die Switch-Module 250, 251, 252 Hardwarekomponenten (z. B. Platinen, FPGA-Platinen, System auf einem Chip usw.), die physische Unterstützung und Verbindungen zwischen den Netzwerkadaptern 115 und den Bridge-Elementen 120 bereitstellen. Im Allgemeinen weisen die Switch-Module 250, 251, 252 Hardware auf, die unterschiedliche Gehäuse 205, 207 und Server 210, 212, 214 im System 200 verbindet.
-
Die Switch-Module 250, 251, 252 (d. h. ein Gehäuseverbindungselement) weisen einen oder mehrere Sub-Switches 254 und eine IOMC 255, 256, 257 auf. Die Sub-Switches 254 können eine logische oder physische Gruppierung von Bridge-Elementen 120 aufweisen. Jedes Bridge-Element 120 kann physisch mit den Servern 210, 212 verbunden sein. Zum Beispiel kann ein Bridge-Element 120 Daten weiterleiten, die unter Verwendung entweder des Ethernet- oder PCI-Datenaustauschprotokolls an andere Bridge-Elemente 120 gesendet wurden, die an der Vermittlungsschicht 130 angeschlossen sind. Bei einer Ausführungsform wird das Bridge-Element 120 jedoch unter Umständen nicht benötigt, um zum PCI- oder PCIe-Datenaustausch Verbindungen vom Netzwerkadapter 115 zur Vermittlungsschicht 130 bereitzustellen.
-
Jedes Switch-Modul 250, 251, 252 weist eine IOMC 255, 256, 257 zum Verwalten und Konfigurieren der unterschiedlichen Hardwareressourcen im System 200 auf. Bei einer Ausführungsform kann die jeweilige IOMC jedes Switch-Moduls 250, 251, 252 für das Konfigurieren der Hardwareressourcen an dem betreffenden Switch-Modul zuständig sein. Da jedoch die Switch-Module unter Verwendung der Vermittlungsschicht 130 miteinander verbunden sind, kann eine IOMC an einem Switch-Modul Hardwareressourcen an einem anderen Switch-Modul verwalten.
-
Die gestrichelte Linie im Gehäuse 205 umgrenzt die Mittelplatine 220 zwischen den Servern 210, 212 und den Switch-Modulen 250, 251. Das heißt, dass die Mittelplatine 220 die Datenpfade aufweist, die Daten zwischen den Netzwerkadaptern 115 und den Sub-Switches 254 übertragen
-
Jedes Bridge-Element 120 ist mit der Vermittlungsschicht 130 verbunden. Außerdem kann ein Bridge-Element 120 auch mit einem Netzwerkadapter 115 oder einem Uplink verbunden sein. Im hierin verwendeten Sinne stellt ein Uplink-Anschluss eines Bridge-Elements 120 einen Dienst bereit, der die Verbindungsmöglichkeiten oder Funktionen des Systems 200 erweitert. Wie im Gehäuse 207 dargestellt, weist ein Bridge-Element 120 eine Verbindung zu einem Ethernet- oder PCI-Steckverbinder 260 auf. Zum Ethernet-Datenaustausch kann der Steckverbinder 260 dem System 200 den Zugang zu einem LAN oder WAN (z. B. dem Internet) bereitstellen. Alternativ kann der Steckverbinder 260 für den Anschluss zur Herstellung einer Verbindung zwischen dem System und einem PCIe-Erweiterungssteckplatz, z. B. zur PCIe-Einheit 150, dienen. Die Einheit 150 kann ein zusätzlicher Speicher oder Arbeitsspeicher sein, auf den jeder Server 210, 212, 214 über die Vermittlungsschicht 130 zugreifen kann. Zweckmäßigerweise stellt das System 200 den Zugriff auf eine Vermittlungsschicht 130 bereit, die Netzwerkeinheiten aufweist, die zu mindestens zwei unterschiedlichen Datenaustauschverfahren kompatibel sind.
-
Wie dargestellt kann ein Server 210, 212, 214 eine Vielzahl von Netzwerkadaptern 115 aufweisen. Dies stellt Redundanz bereit, falls einer dieser Adapter 115 ausfällt. Außerdem kann jeder Adapter 115 über die Mittelplatine 220 mit einem anderen Switch-Modul 250, 251, 252 verbunden sein. Wie veranschaulicht ist ein Adapter des Servers 210 zu Datenaustauschzwecken an das Bridge-Element 120 angeschlossen, das sich im Switch-Modul 250 befindet, während der andere Adapter mit einem Bridge-Element 120 im Switch-Modul 251 verbunden ist. Wenn eines der Switch-Module 250, 251 ausfällt, kann der Server 210 immer noch über das andere Vermittlungsmodul auf die Vermittlungsschicht 130 zugreifen. Das ausgefallene Switch-Modul kann anschließend ersetzt werden (z. B. „hot-swapped” (bei laufendem Betrieb)), wodurch die IOMCs 255, 256, 257 und Bridge-Elemente 120 veranlasst werden, die Routing-Tabellen (Weiterleitungstabellen) und Suchtabellen zu aktualisieren, sodass diese die Hardwareelemente an dem neuen Vermittlungsmodul enthalten.
-
3 veranschaulicht eine virtuelle Vermittlungsschicht gemäß einer Ausführungsform der Erfindung. Jeder Sub-Switch 254 in den Systemen 100 und 200 ist mit den anderen unter Verwendung der Vermittlungsschicht 130 und der Bridge-Elemente 120 über ein Netzverbindungsschema verbunden. Das heißt, dass unabhängig davon, ob der Sub-Switch 254 verwendet wird, eine Zelle (d. h. ein Datenpaket) zu einem anderen Sub-Switch 254 weitergeleitet werden kann, der sich an einem beliebigen anderen Switch-Modul 250, 251, 252 befindet. Dies kann dadurch erreicht werden, dass zu jedem Sub-Switch 254 eine direkte Verbindung besteht, d. h., jeder Sub-Switch 254 weist einen fest zugeordneten Datenpfad zu jedem anderen Sub-Switch 254 auf. Alternativ kann die Vermittlungsschicht 130 eine wirbelsäulenähnliche Architektur mit Blättern aufweisen, wobei jeder Sub-Switch 254 (d. h. ein Blattknoten) mit mindestens einem Wirbelsäulenknoten verbunden ist. Die Wirbelsäulenknoten leiten die von den Sub-Switches 254 empfangenen Zellen an den richtigen Ziel-Sub-Switch 254 weiter. Diese Erfindung ist jedoch nicht auf eine bestimmte Technik zum Verbinden der Sub-Switches 254 beschränkt.
-
Netzwerkstruktur zum Realisieren von VLANs
-
4 veranschaulicht gemäß einer Ausführungsform der Erfindung das Verwenden virtueller lokaler Zugriffsnetzwerke in dem System aus 2. Insbesondere vereinfacht die 4 die 2 hinsichtlich der Einbeziehung des Servers 210 und des Sub-Switch 254. Die Netzwerkadapter 115 sind über die Mittelplatine 220 mit den Bridge-Elementen 120 verbunden. Die Mittelplatine 220 ist jedoch vereinfacht, sodass nur eine physische Verbindung dargestellt wird, die das LAN zwischen den Netzwerkadaptern 115 und den Bridge-Elementen 120 bildet. Bei einer Ausführungsform würde jeder Netzwerkadapter 115 eine oder mehrere Verbindungen zu einem entsprechenden Bridge-Element 120 aufweisen.
-
Die gestrichelten Linien kennzeichnen unterschiedliche VLAN-Kanäle 405A bis C zwischen dem Netzwerkadapter 115 und einen bestimmten Bridge-Element 120. Obwohl der Netzwerkadapter 115 nur eine oder zwei physische Ethernet-Verbindungen zu einem Bridge-Element 120 (z. B. eine 100-Gbit-Verbindung oder zwei 40-Gbit-Verbindungen) aufweisen kann, können diese Verbindungen logisch in VLANs aufgeteilt sein, die einen oder mehrere VLAN-Kanäle für den Punkt-zu-Punkt-Datenaustausch aufweisen. Das heißt, dass jede physische Verbindung in der Mittelplatine 220 in tausende, wenn nicht Millionen unterschiedlicher VLANs und ihre entsprechenden VLAN-Kanäle aufgeteilt sein kann. Darüber hinaus kann ein VLAN-Kanal gemäß den Festlegungen in IEEE 802.1QinQ ein S-Kanal oder C-Kanal für ein S-VLAN bzw. C-VLAN sein. Das Zuweisen von Paketen zu VLANs ermöglicht eine feiner abgestimmte Steuerung des LAN. Beispielsweise kann ein Administrator unterschiedlichen VLANs unterschiedliche Sicherheitsprotokolle zuweisen oder die Pakete bei jedem VLAN anders verwalten.
-
Bei 4 kann jeder Netzwerkadapter 115 so lange einen oder mehrere VLAN-Kanäle zu einem Bridge-Element 120 aufbauen, wie der Adapter 115 über die Mittelplatine 220 physisch mit dem Bridge-Element 120 verbunden ist. Daher kann der oberste Netzwerkadapter 115 abgesehen von dem dargestellten Kanal VLAN-Kanäle zu anderen Bridge-Elementen 120 aufweisen. Das System 400 kann so viele VLAN-Kanäle zuweisen wie eindeutig adressierbare VLANs bestehen. Bei IEEE 802.1Q sind dies 4096 S-VLANs. Die VLAN-Kanäle können in einer beliebigen Weise auf die unterschiedlichen physischen Verbindungen der Mittelplatine 220 verteilt sein. Zu beachten ist, dass bei jeder physischen Verbindung gemäß 802.10 dieselben VLAN-Kanäle (oder eine Teilmenge der VLAN-Kanäle) konfiguriert sein können.
-
5 ist ein Datenrahmen zum Kennzeichnen von Netzwerkverkehr auf der Grundlage einer VLAN-Kennung gemäß einer Ausführungsform der Erfindung. Insbesondere veranschaulicht der Datenrahmen 500 einen Teil eines Datenrahmens, der zu IEEE 802.1QinQ kompatibel ist. Der Datenrahmen 500 ist in zwei unterschiedliche Abschnitte unterteilt: ein äußeres Kennzeichen (S-Tag) 501 und ein inneres Kennzeichen (C-Tag) 502. Das äußere Kennzeichen 501 ist identisch mit dem in IEEE 802.1Q festgelegten Kennzeichen, mit dem VLANs zum ersten Mal bei CEE-Netzwerken eingeführt wurden. Um einem Administrator jedoch eine bessere Steuerung des LAN bereitzustellen, wurde mit IEEE 802.1QinQ das Konzept des doppelten Kennzeichens (Double Tagging) eingeführt, indem das innere Kennzeichen 502 hinzugefügt wurde. Daher können die hierin offenbarten Ausführungsformen verwendet werden, um VLANs zu adressieren, die auf der Grundlage von IEEE 802.1Q oder 802.1QinQ eingerichtet wurden.
-
Die Kennzeichen 501, 502 weisen einen Ethernet-Typ/eine Größe 505, einen Prioritätscodepunkt (Priority Code Point, PCP) 510, einen Anzeiger für das kanonische Format (Canonical Format Indicator, CFI) 515 und eine S-VLAN-Kennung 520 oder eine C-VLAN-Kennung 525 auf. Der Ethernet-Typ 505 ist normalerweise ein 16-Bit-Feld (bzw. Zwei-Byte-Feld), mit dem angezeigt wird, welches Protokoll in den Nutzdaten des Datenpakets eingebunden ist. Der PCP 510 ist ein Drei-Bit-Feld zur Bezeichnung der Priorität oder Verkehrsklasse (d. h. Priorität 1 bis Priorität 8), das dem S-VLAN bzw. C-VLAN zugewiesen ist. Der CFI 515 ist ein Ein-Bit-Feld, mit dem angezeigt wird, ob eine MAC-Adresse (an anderer Stelle im Datenrahmen 500 gespeichert) in einem nichtkanonischen Format vorliegt.
-
Bei IEEE 802.1Q und 802.1QinQ besteht die S-VLAN-Kennung 520 aus 12 Bits und gibt das S-VLAN an, zu dem der Rahmen 500 gehört. Die C-VLAN-Kennung, die nicht in der Norm IEEE 802.1Q festgelegt ist, ist ebenfalls 12 bit lang und gibt das C-VLAN an, zu dem der Rahmen 500 gehört. Das heißt, dass IEEE 802.1QinQ die Norm IEEE 802.1Q erweitert hat, sodass jedes S-VLAN bis zu 4096 eindeutig adressierbare C-VLANs aufweisen kann, wodurch über 16 Millionen adressierbare VLANs bereitgestellt werden. Ein nur durch IEEE 802.1Q festgelegter Rahmen würde jedoch die Abschnitte 505A, 510A, 515A und 520 aufweisen, aber nicht die Abschnitte 505B, 510B, 515B und 525. In beiden Fällen sind die hierin offenbarten Ausführungsformen nicht auf IEEE 802.1Q und 802.1QinQ beschränkt, können jedoch in jeder mit diesen Normen im Zusammenhang stehenden oder davon abgeleiteten Norm (z. B. IEEE 802.1Qat oder IEEE 802.1ak) oder im Zusammenhang mit beliebigen anderen Normen verwendet werden, die gegenwärtig oder möglicherweise in Zukunft hinsichtlich des Erzeugens von VLANs kompatibel sind.
-
Im Allgemeinen ist der Datenrahmen 500 ein Abschnitt eines größeren Datenrahmens (d. h. eines Datenpakets), das über ein Netzwerk von einer Quelle zu einem Ziel übertragen wird. Der gesamte Datenrahmen würde andere Abschnitte einschließen, die zum Beispiel eine Präambel, Quell- und Zieladressen, Nutzdaten, Fehlerkorrekturcode und dergleichen aufweisen.
-
Reservieren von Bandbreite innerhalb von VLAN-Kanälen
-
6 veranschaulicht gemäß einer Ausführungsform der Erfindung eine erweiterte ETS-Version, die VLANs in dem System aus 1 nutzt. 6 veranschaulicht das Bridge-Element 120, den Speicher 639 und den Anschluss 630. Der Speicher 639 kann für Direktzugriffsspeichereinheiten (RAM-Einheiten), Cache-Zwischenspeicher, nichtflüchtige Speicher oder Sicherungsspeicher (z. B. programmierbare Speicher oder Flash-Speicher), Nur-Lese-Speicher und dergleichen stehen. Der Speicher 639 weist einen ETS-Planer 640 auf, der die bei einer physischen Verbindung zwischen zwei Datenverarbeitungseinheiten, z. B. zwischen zwei Bridge-Elementen 120, reservierte Bandbreite aufteilt. Bei einer Ausführungsform ist der ETS-Planer 640 so gestaltet, dass er der IEEE 802.1Qaz entspricht.
-
Der Anschluss 630 wird durch das Bridge-Element 120 genutzt, um eine Verbindung zu einer Datenverarbeitungseinheit einzurichten. Zum Beispiel kann der Anschluss 630 ein physischer Steckverbinder sein, an den ein Ethernet-Kabel angeschlossen ist. Wie dargestellt kann der Anschluss 630 logisch aufgeteilt sein, um die Bandbreitenreservierungen zu VLAN-Kanälen wiederzugeben, die die physische Verbindung nutzen. Zum Beispiel kann der ETS-Planer 640 so gestaltet sein, dass Bandbreite entsprechend der Anzahl von VLAN-Kanälen oder VLANs in der Struktur reserviert wird. Jedem VLAN-Kanal kann ein bestimmter Prozentsatz der am Anschluss 630 verfügbaren Bandbreite garantiert werden. Wenn einer der VLAN-Kanäle seine reservierte Bandbreite gegenwärtig nicht nutzt, kann der ETS-Planer 640 vorübergehend zulassen, dass der gesamte mit einem anderen VLAN-Kanal zusammenhängende Netzwerkverkehr dessen Bandbreite nutzt.
-
Ferner kann die Bandbreitenreservierung einem Block oder einer Gruppe von VLAN-Kanälen zugewiesen werden. Das heißt, dass 2% der Bandbreite des Anschlusses den VLAN-Kanälen 1 bis 3 zugewiesen werden können. Darüber hinaus kann der ETS-Planer 640 bei einer Ausführungsform Bandbreite für eine Teilmenge VLAN-Kanäle reservieren, die den Anschluss 630 nutzen. Dementsprechend muss durch den ETS-Planer 640 nicht für jeden VLAN-Kanal Bandbreite reserviert bzw. diesem garantiert werden, der den Anschluss 630 nutzt.
-
Bei einer Ausführungsform kann sich der ETS-Planer 640 im Speicher an anderer Stelle im virtuellen Switch 180 befinden.
-
Die 7A bis 7B veranschaulichen eine Hierarchie von ETS-Planern gemäß einer Ausführungsform der Erfindung. Anstelle des ausschließlichen Zurückgreifens auf das Reservieren von Bandbreite für einen einzigen VLAN-Kanal oder eine Gruppe von VLAN-Kanälen kann ein ETS-Planer auch Bandbreite für Verkehrsklassen innerhalb des VLAN reservieren. Wie durch den Datenrahmen 500 in 5 dargestellt, kann jeder einem LAN zugewiesene Rahmen auch einer bestimmten Verkehrsklasse innerhalb des VLAN zugewiesen werden (d. h. dem Wert, für den der PCP 510 steht). Jeder Datenrahmen kann auf der Grundlage seiner VLAN-Kennung (d. h. der S-VLAN-Kennung 520 und/oder der C-VLAN-Kennung 525) einem VLAN sowie einer bestimmten Verkehrsklasse zugewiesen werden.
-
Der Speicher 739 kann eine ETS-Planerhierarchie aufweisen, die aus dem ETS-VLAN-Planer 741 und dem ETS-Prioritätsplaner 742 besteht. Der ETS-VLAN-Planer 741 kann eine ähnliche Funktion wie der ETS-Planer 640 aus 6 durchführen. Das heißt, dass der ETS-VLAN-Planer 741 für einen oder mehrere VLAN-Kanäle Bandbreite reservieren kann, die den Ausgangsanschluss 730 nutzen. Außer dem Reservieren von Bandbreite unter VLAN-Kanälen kann der ETS-Prioritätsplaner 742 der ETS-Planerhierarchie ferner die Bandbreite unter den Verkehrsklassen aufteilen. Das heißt, dass der ETS-Prioritätsplaner 742 die für einen bestimmten VLAN-Kanal reservierte Bandbreite unter den unterschiedlichen Verkehrsklassen im VLAN-Kanal (d. h. Priorität 1 bis 8) aufteilen kann.
-
7B veranschaulicht ein Beispiel des Reservierens von Bandbreite für einen VLAN-Kanal oder für ein VLAN auf der Grundlage von Verkehrsklassen. Wie dargestellt hat der ETS-VLAN-Planer 741 für den Netzwerkverkehr, der dem VLAN-Kanal 1 zugewiesen ist, 15% der zum Anschluss 730 gehörenden Bandbreite reserviert. Außerdem hat der ETS-Prioritätsplaner 742 ferner die 15-%-Reservierung unter den unterschiedlichen Verkehrsklassen (d. h. Priorität 1 bis 8) aufgeteilt. Infolgedessen empfängt die Priorität 8 sechs Prozent der Gesamtbandbreite von Anschluss 730, während die Priorität 1 nur 1% der Gesamtbandbreite empfängt. Dementsprechend werden dem Netzwerkverkehr, der der Priorität 8 des VLAN-Kanals 1 zugewiesen ist, mindestens 6% der Bandbreite des Anschlusses garantiert, während der Priorität 1 ein Prozent garantiert wird. Auf diese Weise kann die Bandbreite für den Anschluss 730 in jede beliebige gewünschte Reservierung aufgeteilt werden.
-
Darüber hinaus kann die ETS-Planerhierarchie verwendet werden, um Bandbreite zu reservieren, wenn mehrere VLAN-Kanäle in Gruppen zusammengefasst sind. Wenn zum Beispiel der ETS-Planer 741 15% der Bandbreite des Anschlusses für die VLAN-Kanäle 1 bis 3 reserviert, kann der ETS-Prioritätsplaner 742 einen Teil dieser Bandbreite für jede der Verkehrsklassen reservieren, die zu den VLAN-Kanälen gehören. Zum Beispiel können die Priorität 1 des VLAN-Kanals 1 und die Priorität 5 des VLAN-Kanals 2 die gesamte Bandbreite erhalten, während für die anderen Prioritäten keine Bandbreite reserviert wird. Alternativ kann der ETS-Prioritätsplaner 742 jede Verkehrsklasse der betreffenden VLAN-Kanäle gleich behandeln. In diesem Fall würde die Bandbreitenreservierung der in 7B dargestellten mit der Ausnahme ähneln, dass die Reservierung für mehrere VLAN-Kanäle gilt. Das heißt, dass für die Priorität 1 eines jeden der VLAN-Kanäle als Gruppe 1% der Gesamtbandbreite reserviert würde, für die Priorität 5 eines jeden der VLAN-Kanäle insgesamt 2% reserviert würden usw., bis die 15-%-Reservierung auf die mehreren VLAN-Kanäle aufgeteilt ist. Ähnlich wie bei VLANs muss jedoch nicht für alle Verkehrsklassen innerhalb eines VLAN-Kanals Bandbreite reserviert werden, auch wenn für das VLAN selbst Bandbreite reserviert ist.
-
Obwohl sie nicht als getrennte Komponenten dargestellt sind, können der ETS-VLAN-Planer 741 und der ETS-Prioritätsplaner 742 bei einer Ausführungsform in eine einzige Komponente integriert sein.
-
8 ist eine vereinfachte Darstellung des in 2 veranschaulichten Systems. 8 veranschaulicht Verbindungen zwischen einem Server und einer Netzwerkeinheit (d. h. einem Bridge-Element 120), zwischen Netzwerkeinheiten, zwischen Netzwerkeinheiten und anderen WANs oder LANs und Verbindungen zwischen Netzwerkeinheiten und anderen Datenverarbeitungseinheiten.
-
Wie dargestellt weist 8 einen Server 805 mit einer virtuellen Maschine 111 auf, auf der unter Umständen zwei unterschiedliche Anwendungen 810, 815 ausgeführt werden. Die Anwendungen 810, 815 gehören jeweils zu einem getrennten VLAN bzw. S-Kanal, der Datenpakete aus den Anwendungen 810, 815 an mindestens ein Bridge-Element 120 im virtuellen Switch 180 weiterleitet. Aus Gründen der Übersichtlichkeit wurde die physische Verbindung zwischen dem Server 805 und dem Bridge-Element 120 weggelassen. Ferner können die VLAN-Kanäle 405D und 405E zur selben Verbindung oder zu unterschiedlichen physischen Verbindungen gehören.
-
Der virtuelle Switch 180 weist eine Vielzahl von Bridge-Elementen 120A bis C auf, zu denen der Eingangsanschluss 825, die Ausgangsanschlüsse 830, 835 und 838 sowie die ETS-Planer 840 gehören. Obwohl nicht dargestellt, kann der Server 805 auch einen ETS-Planer und einen Ausgangsanschluss aufweisen, der logisch aufgeteilt ist, um auf der Grundlage der im Netzwerk vorliegenden VLANs Bandbreite zu reservieren.
-
Das Bridge-Element 120A empfängt Datenpakete (d. h. Datenrahmen) von den beiden Anwendungen 810, 815, die jeweiligen VLAN-Kanälen zugewiesen sind. Unter Verwendung einer Warteschlange kann das Bridge-Element 120A das vermaschte Netz im virtuellen Switch 180 nutzen, um die Pakete über den Ausgangsanschluss 830 an eine andere Netzwerkeinheit im virtuellen Switch 180 weiterzuleiten. Der zur Anwendung 815 gehörende Datenpfad 870 überträgt Datenrahmen, die dem VLAN-Kanal 405E zugewiesen sind. Der ETS-Planer 840 des Bridge-Elements 120A kann Bandbreite für diesen Netzwerkverkehr sowie für Datenverkehr reservieren, der durch die VLAN-Kanäle 405D und 405E in Richtung des Servers 805 fließt.
-
Nachdem der ETS-Planer 840 die Bandbreitenreservierung für den Anschluss 830 eingerichtet hat, wertet er, während das Bridge-Element 120A Datenrahmen empfängt, die VLAN-Kennung aus, um zu ermitteln, zu welchem VLAN sie gehört. Wenn das Bridge-Element 120A anschließend das Paket weiterleitet, weiß es, wie viel Bandbreite für dieses VLAN zur Verfügung steht. Wenn der ETS-Planer 840 zum Beispiel 4% der Bandbreite für das VLAN reserviert hat, wird allen Datenrahmen mit der entsprechenden VLAN-Kennung bei der Weiterleitung durch den entsprechenden VLAN-Kanal zumindest so viel Bandbreite garantiert.
-
Wenn der ETS-Planer 840 eine ETS-Planerhierarchie enthält, kann der Planer 840 ferner die reservierte Bandbreite auf der Grundlage der Verkehrsklassen in dem VLAN aufteilen, das den VLAN-Kanal 405E enthält. Der ETS-Planer 840 kann denselben Prozess beim VLAN-Kanal 405D für die Anwendung 810 (d. h. den Datenpfad 875) durchführen. Hierbei werden sowohl der Prioritätscode als auch die VLAN-Kennung in einem empfangenen Datenrahmen genutzt, um zu gewährleisten, dass beim Weiterleiten des Pakets der richtige Bandbreitenbetrag genutzt wird. Auf diese Weise kann der ETS-Planer 840 garantieren, dass die VLANs und Verkehrsklassen der Datenpfade 870 und 875 einen Mindestprozentsatz der Bandbreite des Anschlusses 830 zur Verfügung haben.
-
Die ETS-Planer 840 für die Bridge-Elemente 120B und 120C können den Datenpfaden 870 und 875 unterschiedliche Prozentsätze der Bandbreite zuweisen. Das heißt, dass die Bandbreitenreservierung für den Netzwerkverkehr des Datenpfads 870, der durch das Bridge-Element 120A fließt, zum Beispiel entweder größer oder kleiner als die Bandbreitenreservierung für den Netzwerkverkehr des Datenpfades 870 ist, der durch das Bridge-Element 120C fließt. Alternativ kann der ETS-Planer 840 im Bridge-Element 120C für Datenrahmen des Datenpfads 870 unter Umständen keine Bandbreite reservieren oder garantieren. Grundsätzlich kann ein Systemadministrator den ETS-Planer 840 der Bridge-Elemente 120A bis C so konfigurieren, dass er den Bedürfnissen des betreffenden Bridge-Elements 120 entspricht. Beispielsweise können die Bridge-Elemente 120B Datenverkehr an ein anderes WAN weiterleiten, während das Bridge-Element 120C Datenverkehr zu einer Datenverarbeitungseinheit wie zum Beispiel einen anderer Server oder eine andere Speichereinheit weiterleiten kann, die bzw. der mit dem virtuellen Switch 180 verbunden ist. Diese unterschiedlichen Konfigurationen können den Administrator veranlassen, unterschiedlichen Bridge-Elementen 120 eine unterschiedliche Bandbreite zuzuweisen.
-
ETS stellt gemäß Definition in IEEE 802.1Qaz keine Möglichkeit bereit, die Bandbreite einer physischen Verbindung mit einer beliebigen Auflösung bereitzustellen, die größer als die der Verkehrsklassen ist. Wie zuvor erwähnt ermöglicht IEEE 802.1Q einem Netzwerkadministrator, bis zu 4096 unterschiedliche VLANs einzurichten, während IEEE 802.1QinQ über 16 Millionen VLANs bereitstellt. Dadurch, dass der Netzwerkadministrator auf der Grundlage eines VLAN und nicht einer Verkehrsklasse Bandbreite reservieren kann, hat der Administrator unter Umständen mehr Möglichkeiten zur Steuerung der Art und Weise, in der Bandbreite reserviert wird. Der hierin offenbarte ETS-Planer 840 kann unterschiedliche Teile der Bandbreite für die Anwendung 810 (d. h. den VLAN-Kanal 405D) und die Anwendung 815 (d. h. den VLAN-Kanal 405E) reservieren. Anstatt die VLAN-Kanäle 405D, E unterschiedlichen Verkehrskreisen zuweisen zu müssen, um Bandbreite unter den Anwendungen unterschiedlich zu reservieren, kann der ETS-Planer 840 so gestaltet werden, dass Bandbreite für empfangene Datenrahmen auf der Grundlage ihrer Zugehörigkeit zu einem bestimmten VLAN reserviert wird.
-
Die Ausgangsanschlüsse 830, 835, 838 können auf der Grundlage von VLAN-Kennungen (z. B. S-VLANs oder C-VLANs) in Tausende oder Millionen unterschiedlicher Reservierungen aufgeteilt werden. Gegenwärtig stellt ETS die Bandbreitenreservierung in Schritten von 1% (d. h., für maximal 100 VLANs könnte je 1% der Bandbreite reserviert werden); die hierin offenbarten Ausführungsformen können jedoch bei zukünftigen Schemata zur Bandbreitenreservierung verwendet werden, die die Bandbreite möglicherweise mit viel größerer Genauigkeit reservieren.
-
Zukünftige Schemata können dem ETS-Planer 840 ermöglichen, die Bandbreite der physische Verbindung in eine beliebige Kombination unter den 16 Millionen unterschiedlichen VLANs aufzuteilen, die gegenwärtig bei Verwendung von IEEE 802.1QinQ möglich sind. Diese Anzahl kann weiter erhöht werden, wenn eine ETS-Planerhierarchie verwendet wird, die die für VLANs reservierte Bandbreite auf der Grundlage der acht Verkehrsklassen unterteilt.
-
Schlussfolgerung
-
IEEE 802.1Q und ETS stellen nur acht unterschiedliche Verkehrsklassen bereit, die zur Steuerung der Bandbreite in einer bestimmten physischen Verbindung (oder Verknüpfung) verwendet werden können. Anstatt nur auf diese acht Verkehrsklassen zurückzugreifen, um die Bandbreite zu verwalten, offenbaren die hierin erörterten Ausführungsformen das Verwenden eines erweiterten ETS-Planers, der es einer Netzwerkeinheit ermöglicht, die Bandbreite für ein einzelnes VLAN festzulegen. Das Reservieren von Bandbreite in einem Anschluss auf der Grundlage einer VLAN-Kennung ermöglicht einer Netzwerkeinheit, Bandbreite für Millionen eindeutiger VLANs zu reservieren. Daher kann diese Technik die fein abgestimmte Steuerung der Netzwerkstruktur und ihres Betriebsverhaltens verbessern.
-
Die Flussdiagramme und Blockschemata in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Dementsprechend kann jeder einzelne Block in den Flussdiagrammen bzw. in den Blockschemata ein Modul, ein Segment oder einen Teil des Codes darstellen, der eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Außerdem sollte beachtet werden, dass bei einigen alternativen Realisierungsformen die im Block angegebenen Funktionen in einer anderen als der in den Figuren angegebenen Reihenfolge ausgeführt werden können. Beispielsweise können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der damit verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der dargestellten Blockschemata und/oder des dargestellten Flussdiagramms sowie Kombinationen von Blöcken in den dargestellten Blockschemata und/oder im dargestellten Flussdiagramm mithilfe von bestimmten Zwecken dienenden, hardwaregestützten Systemen zur Ausführung der angegebenen Funktionen bzw. Aktionen oder mithilfe von Kombinationen aus bestimmten Zwecken dienender Hardware und Computeranweisungen realisiert werden kann bzw. können.
-
Obwohl das Vorstehende auf Ausführungsformen der vorliegenden Erfindung gerichtet ist, können andere und weitere Ausführungsformen der Erfindung entwickelt werden, ohne von deren grundlegendem Schutzbereich abzuweichen, wobei deren Schutzbereich durch die nachfolgenden Ansprüche festgelegt ist.