-
Hintergrund
-
Die vorliegende Erfindung bezieht sich auf eine Infrastruktur eines Rechenzentrums, und im Besonderen bezieht sich diese Erfindung auf ein Bereitstellen von Diensten für Deep-Packet-Inspection (tiefe Paketuntersuchung) für virtuellen Overlay-Netzwerkverkehr in einem Rechenzentrum.
-
Wenngleich die Notwendigkeit einer elastischen Rechenzentrumsinfrastruktur ausführlich erörtert worden ist und die Branche bereits zahlreiche konkurrierende Vorstellungen entwickelt hat, wie Rechenzentren agiler gemacht werden können, ist weniger Wert auf eine Virtualisierung von Sicherheit und Diensten gelegt worden. Zu einigen Sicherheitseinrichtungen zählen Firewalls, Abwehrsysteme gegen Angriffe von außen (intrusion prevention systems, IPS), Warnsysteme gegen Angriffe von außen (intrusion detection systems, IDS) usw., und zu einigen Diensten zählen Beschleuniger, Abschluss von virtuellen privaten Netzwerken (VPN), Lastausgleich, Datenverkehrsverdichtung, intelligente Formgebung, Ratenbegrenzung usw. Ein gemeinsames Nutzen von Infrastruktur über mehrere Anwendungen und Clients hinweg nimmt mit einer Server-Virtualisierung und verteilter Anwendungsarchitektur immer mehr zu, und aktuelle Entwicklungen deuten darauf hin, dass eine exponentielle Zunahme von Datenübertragungen zwischen Servern (bei Rechenzentren als Ost-West-Verkehr bezeichnet) mit zunehmender Verteilung von Anwendungen wahrscheinlich ist.
-
Virtuelle Overlay-Netzwerke wie zum Beispiel virtuelle erweiterbare lokale Netzwerke (virtual extensible local area network, VXLAN) und andere verwenden Protokoll-Header, die in Pakete am Kopf des ursprünglichen Netzwerkpakets gekapselt werden, um Standorttransparenz zu erzeugen. Aufgrund der zusätzlichen Kapselungsprotokoll-Header ist es bestehenden oder Altzwischennetzwerk-Elementen (Inter-Networking Elements, INEs) wie zum Beispiel unter anderem physischen Infrastruktur-Routern und -Switches nicht möglich, Daten aus dem ursprünglichen Paket zu ermitteln. Dies liegt daran, dass das ursprüngliche Paket innerhalb der Overlay-Protokoll-Header als herkömmliche Nutzdaten für die Alt-INEs gekapselt ist. Des Weiteren verhindert diese mangelnde Sichtbarkeit der ursprünglichen Pakete, dass INEs hoch entwickelte Netzwerksicherheit und -dienste implementieren. Protokolle wie Virtual eXtensible Local Area Network (VXLAN) verwenden das User Datagram Protocol/Internet Protokol (UDP/IP), um das ursprüngliche Ethernet-Paket zum Übertragen über physische Netzwerke zu kapseln. Die ursprünglichen Ethernet-Pakete werden von einem Absender zu einem nächstgelegenen VXLAN-Gateway durch das Netzwerk getunnelt. VXLAN-Gateways verbinden virtuelle Netzwerke mit nichtvirtuellen Netzwerken (Altnetzwerke mit physischen Komponenten). Da VXLAN-Gateways das VXLAN-.
-
Protokoll und Tunnel verstehen (sie zu verarbeiten in der Lage sind), haben sie die Fähigkeit, die gekapselten Pakete zu erkennen. Zurzeit sind diese Gateways jedoch nicht in der Lage, Dienste oder Sicherheit auf Datenverkehr anzuwenden, der dort hindurchfließt.
-
Kurzdarstellung
-
Bei einer Ausführungsform beinhaltet ein System eine Overlay-Netzwerkeinheit, die eine Schnittstelle beinhaltet, die so gestaltet ist, dass sie elektrisch Daten mit einem Gateway eines virtuellen Overlay-Netzwerks (VON) austauscht, eine Logik, die so gestaltet ist, dass sie eine Mehrzahl von Paketen von dem VON-Gateway empfängt, eine Logik, die so gestaltet ist, dass sie ermittelt, ob die Mehrzahl von Paketen einen Overlay-Header aufweisen, eine Logik, die so gestaltet ist, dass sie innere Pakete von Paketen entkapselt, die einen Overlay-Header aufweisen, eine Logik, die so gestaltet ist, dass sie Dienste an der Mehrzahl von Paketen oder an den entkapselten inneren Paketen durchführt, und eine Logik, die so gestaltet ist, dass sie die bedienten inneren Pakete oder die bedienten Pakete mit einem Overlay-Header kapselt, die an eine Zieladresse in einem virtuellen Netzwerk vermittelt werden sollen, und die gekapselten Pakete an das VON-Gateway sendet, oder eine Logik, die so gestaltet ist, dass sie die bedienten Pakete an das VON-Gateway sendet, ohne die Pakete mit einem Overlay-Header zu kapseln, die an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt werden sollen.
-
Bei einer weiteren Ausführungsform beinhaltet ein Verfahren zum Bereitstellen von Diensten für Netzwerkverkehr in einem virtuellen Overlay-Netzwerk ein Empfangen von Netzwerkverkehr, der eine Mehrzahl von Paketen aufweist, ein Ermitteln, ob die Mehrzahl von Paketen einen Overlay-Header aufweisen, ein Beenden eines Tunnels und ein Entkapseln von inneren Paketen von Paketen, die einen Overlay-Header aufweisen, ein Durchführen von Diensten an der Mehrzahl von Paketen oder den entkapselten inneren Paketen und ein Erzeugen eines Tunnels und ein Kapseln der bedienten inneren Pakete oder der bedienten Pakete mit einem Overlay-Header, die an eine Zieladresse in einem virtuellen Netzwerk vermittelt werden sollen, und ein Senden der gekapselten Pakete oder ein Senden der bedienten Pakete, ohne die Pakete mit einem Overlay-Header zu kapseln, die an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt werden sollen.
-
In einer noch weiteren Ausführungsform beinhaltet ein Computerprogrammprodukt zum Bereitstellen von Diensten für Netzwerkverkehr in einem virtuellen Overlay-Netzwerk ein computerlesbares Speichermedium, in dem computerlesbarer Programmcode verkörpert ist, wobei der computerlesbare Programmcode computerlesbaren Programmcode, der so konfiguriert ist, dass er Netzwerkverkehr, der eine Mehrzahl von Paketen aufweist, von einem VON-Gateway empfängt, computerlesbaren Programmcode, der so konfiguriert ist, dass er ermittelt, ob die Mehrzahl von Paketen einen Overlay-Header aufweisen, computerlesbaren Programmcode, der so konfiguriert ist, dass er innere Pakete von Paketen entkapselt, die einen Overlay-Header aufweisen, computerlesbaren Programmcode, der so konfiguriert ist, dass er Dienste an der Mehrzahl von Paketen oder den entkapselten inneren Paketen durchführt, und computerlesbaren Programmcode beinhaltet, der so konfiguriert ist, dass er alternativ: die inneren Pakete oder die Mehrzahl von Paketen mit einem Overlay-Header kapselt, die an eine Zieladresse in einem virtuellen Netzwerk vermittelt werden sollen, und die gekapselten Pakete an das VON-Gateway sendet oder die bedienten Pakete an das VON-Gateway sendet, ohne die Pakete mit einem Overlay-Header zu kapseln, die an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt werden sollen.
-
Gemäß einer weiteren Ausführungsform beinhaltet ein System eine oder mehrere Schnittstellen, die so gestaltet sind, dass sie elektrisch Daten mit einem oder mehreren virtuellen Netzwerken und einem oder mehreren nichtvirtuellen Netzwerken austauschen, eine Logik, die so gestaltet ist, dass sie Netzwerkverkehr empfängt, der eine Mehrzahl von Paketen aufweist, eine Logik, die so gestaltet ist, dass sie ermittelt, ob die Pakete einen Overlay-Header aufweisen, eine Logik, die so gestaltet ist, dass sie einen Tunnel beendet und innere Pakete von Paketen entkapselt, die einen Overlay-Header aufweisen, eine Logik, die so gestaltet ist, dass sie feststellt, dass Dienste an den Paketen durchgeführt werden sollen, und die Dienste an den Paketen durchführt, und eine Logik, die so gestaltet ist, dass sie einen Tunnel erzeugt und die bedienten Pakete mit einem Overlay-Header kapselt und die gekapselten bedienten Pakete an eine Zieladresse in einem virtuellen Netzwerk vermittelt, oder eine Logik, die so gestaltet ist, dass sie die bedienten Pakete an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt, ohne die Pakete mit einem Overlay-Header zu kapseln.
-
Sonstige Aspekte und Ausführungsformen der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung ersichtlich, die zusammen mit den Zeichnungen die Grundgedanken der Erfindung beispielhaft veranschaulicht.
-
Kurzbeschreibung der verschiedenen Ansichten der Zeichnungen
-
1 veranschaulicht eine Netzwerkarchitektur gemäß einer Ausführungsform.
-
2 stellt eine typische Hardware-Umgebung gemäß einer Ausführungsform dar, die den Servern und/oder Clients von 1 zugehörig sein kann.
-
3 ist ein vereinfachtes Schaubild eines virtualisierten Rechenzentrums gemäß einer Ausführungsform.
-
4 ist ein vereinfachtes Schaubild einer Konnektivität zwischen einem oder mehreren virtuellen Netzwerken und einem oder mehreren nichtvirtuellen Netzwerken nach dem Stand der Technik.
-
5 zeigt eine vereinfachte Konnektivität zwischen einem oder mehreren virtuellen Netzwerken und einem oder mehreren nichtvirtuellen Netzwerken gemäß einer Ausführungsform.
-
6 stellt einen vereinfachten Ablauf durch ein virtuelles Overlay-Netzwerk-Gateway gemäß einer Ausführungsform dar.
-
7 stellt einen vereinfachten Ablauf durch eine Overlay-Netzwerk-Einheit gemäß einer Ausführungsform dar.
-
8 ist ein Ablaufplan eines Verfahrens gemäß einer Ausführungsform.
-
9 ist ein Ablaufplan eines Verfahrens gemäß einer Ausführungsform.
-
Ausführliche Beschreibung
-
Die folgende Beschreibung erfolgt zur Veranschaulichung der allgemeinen Grundgedanken der vorliegenden Erfindung und soll die hierin beanspruchten Erfindungsgedanken nicht einschränken. Des Weiteren können bestimmte hierin beschriebene Merkmale zusammen mit anderen beschriebenen Merkmalen in jeder der verschiedenen möglichen Kombinationen und Umstellungen verwendet werden.
-
Sofern sie hierin nicht ausdrücklich anders definiert sind, sollen alle Begriffe die breitestmögliche Auslegung einschließlich der Bedeutungen, die aus der Beschreibung geschlossen werden können, wie auch der Bedeutungen erhalten, die Fachleuten geläufig sind und/oder in Wörterbüchern, Abhandlungen usw. definiert sind.
-
Es ist außerdem zu beachten, dass die Singularformen „ein”, „eine” und „der”, „die”, „das”, wie sie in der Beschreibung und den beigefügten Ansprüchen verwendet werden, auch die Pluralformen beinhalten, sofern nichts anderes angegeben wird.
-
Bei einem Ansatz können Gateways für virtuelle lokale Netzwerke (VLAN) und Zwischennetzwerk-Elemente (INEs) eine Einheit zum Bereitstellen von Deep-Packet-Inspection-Diensten nutzen, um den Mangel an nativer Sichtbarkeit von inneren Paketen beim Weiterleiten von virtuellem Overlay-Netzwerkverkehr zu beheben.
-
Bei einer allgemeinen Ausführungsform beinhaltet ein System eine Overlay-Netzwerkeinheit, die eine Schnittstelle beinhaltet, die so gestaltet ist, dass sie elektrisch Daten mit einem Gateway eines virtuellen Overlay-Netzwerks (VON) austauscht, eine Logik, die so gestaltet ist, dass sie eine Mehrzahl von Paketen von dem VON-Gateway empfängt, eine Logik, die so gestaltet ist, dass sie ermittelt, ob die Mehrzahl von Paketen einen Overlay-Header aufweisen, eine Logik, die so gestaltet ist, dass sie innere Pakete von Paketen entkapselt, die einen Overlay-Header aufweisen, eine Logik, die so gestaltet ist, dass sie Dienste an der Mehrzahl von Paketen oder an den entkapselten inneren Paketen durchführt, und eine Logik, die so gestaltet ist, dass sie die bedienten inneren Pakete oder die bedienten Pakete mit einem Overlay-Header kapselt, die an eine Zieladresse in einem virtuellen Netzwerk vermittelt werden sollen, und die gekapselten Pakete an das VON-Gateway sendet, oder eine Logik, die so gestaltet ist, dass sie die bedienten Pakete an das VON-Gateway sendet, ohne die Pakete mit einem Overlay-Header zu kapseln, die an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt werden sollen.
-
Bei einer weiteren allgemeinen Ausführungsform beinhaltet ein Verfahren zum Bereitstellen von Diensten für Netzwerkverkehr in einem virtuellen Overlay-Netzwerk ein Empfangen von Netzwerkverkehr, der eine Mehrzahl von Paketen aufweist, ein Ermitteln, ob die Mehrzahl von Paketen einen Overlay-Header aufweisen, ein Beenden eines Tunnels und ein Entkapseln von inneren Paketen von Paketen, die einen Overlay-Header aufweisen, ein Durchführen von Diensten an der Mehrzahl von Paketen oder den entkapselten inneren Paketen und ein Erzeugen eines Tunnels und ein Kapseln der bedienten inneren Pakete oder der bedienten Pakete mit einem Overlay-Header, die an eine Zieladresse in einem virtuellen Netzwerk vermittelt werden sollen, und ein Senden der gekapselten Pakete oder ein Senden der bedienten Pakete, ohne die Pakete mit einem Overlay-Header zu kapseln, die an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt werden sollen.
-
In einer noch weiteren allgemeinen Ausführungsform beinhaltet ein Computerprogrammprodukt zum Bereitstellen von Diensten für Netzwerkverkehr in einem virtuellen Overlay-Netzwerk ein computerlesbares Speichermedium, in dem computerlesbarer Programmcode verkörpert ist, wobei der computerlesbare Programmcode computerlesbaren Programmcode, der so konfiguriert ist, dass er Netzwerkverkehr, der eine Mehrzahl von Paketen aufweist, von einem VON-Gateway empfängt, computerlesbaren Programmcode, der so konfiguriert ist, dass er ermittelt, ob die Mehrzahl von Paketen einen Overlay-Header aufweisen, computerlesbaren Programmcode, der so konfiguriert ist, dass er innere Pakete von Paketen entkapselt, die einen Overlay-Header aufweisen, computerlesbaren Programmcode, der so konfiguriert ist, dass er Dienste an der Mehrzahl von Paketen oder den entkapselten inneren Paketen durchführt, und computerlesbaren Programmcode beinhaltet, der so konfiguriert ist, dass er alternativ: die inneren Pakete oder die Mehrzahl von Paketen mit einem Overlay-Header kapselt, die an eine Zieladresse in einem virtuellen Netzwerk vermittelt werden sollen, und die gekapselten Pakete an das VON-Gateway sendet oder die bedienten Pakete an das VON-Gateway sendet, ohne die Pakete mit einem Overlay-Header zu kapseln, die an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt werden sollen.
-
Gemäß einer weiteren allgemeinen Ausführungsform beinhaltet ein System eine oder mehrere Schnittstellen, die so gestaltet sind, dass sie elektrisch Daten mit einem oder mehreren virtuellen Netzwerken und einem oder mehreren nichtvirtuellen Netzwerken austauschen, eine Logik, die so gestaltet ist, dass sie Netzwerkverkehr empfängt, der eine Mehrzahl von Paketen aufweist, eine Logik, die so gestaltet ist, dass sie ermittelt, ob die Pakete einen Overlay-Header aufweisen, eine Logik, die so gestaltet ist, dass sie einen Tunnel beendet und innere Pakete von Paketen entkapselt, die einen Overlay-Header aufweisen, eine Logik, die so gestaltet ist, dass sie feststellt, dass Dienste an den Paketen durchgeführt werden sollen, und die Dienste an den Paketen durchführt, und eine Logik, die so gestaltet ist, dass sie einen Tunnel erzeugt und die bedienten Pakete mit einem Overlay-Header kapselt und die gekapselten bedienten Pakete an eine Zieladresse in einem virtuellen Netzwerk vermittelt, oder eine Logik, die so gestaltet ist, dass sie die bedienten Pakete an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt, ohne die Pakete mit einem Overlay-Header zu kapseln.
-
Wie für einen Fachmann ersichtlich ist, können Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt verkörpert werden. Dementsprechend können Aspekte der vorliegenden Erfindung eine reine Hardware-Ausführungsform, eine reine Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder eine Ausführungsform annehmen, in der Software- und Hardware-Aspekte kombiniert werden, die sämtlich hierin verallgemeinernd als „Logik”, „Schaltung”, „Modul” oder „System” bezeichnet werden können. 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 kann eine beliebige Kombination eines oder mehrerer computerlesbarer Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein nichttransitorisches computerlesbares Speichermedium handeln. Bei einem nichttransitorischen computerlesbaren Speichermedium kann es sich zum Beispiel um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine solche Vorrichtung oder Einheit oder um eine beliebige geeignete Kombination aus Obigen handeln, ohne auf diese beschränkt zu sein. Zu konkreteren Beispielen (einer nicht erschöpfenden Liste) des nichttransitorischen computerlesbaren Speichermediums gehören folgende: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (random access memory, RAM), ein Festwertspeicher (read-only memory, ROM), ein löschbarer, programmierbarer Festwertspeicher (erasable programmable read-only memory, EPROM oder Flash-Speicher), ein tragbarer Compact-Disk-Festwertspeicher (CD-ROM), ein Blu-Ray-Platten-Festwertspeicher (Blu-Ray disc read-only memory, BD-ROM), eine optische Speichereinheit, eine Magnetspeichereinheit oder eine beliebige geeignete Kombination des Obigen. Im Rahmen dieses Dokuments kann ein nichttransitorisches computerlesbares Speichermedium jedes physische Medium sein, das ein Programm oder eine Anwendung zur Verwendung durch ein System, eine Vorrichtung oder Einheit zur Befehlsausführung bzw. in Verbindung mit diesen enthalten oder speichern kann.
-
Ein computerlesbares Signalmedium kann ein sich ausbreitendes Datensignal, in dem computerlesbarer Programmcode verkörpert wird, zum Beispiel im Basisband oder als Teil einer Trägerwelle beinhalten. Ein solches sich ausbreitendes Signal kann eine Vielfalt von Formen annehmen, darunter eine elektromagnetische, eine optische oder eine beliebige geeignete Kombination davon, ohne auf diese beschränkt zu sein. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein nichttransitorisches computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch ein System, eine Vorrichtung oder Einheit zur Befehlsausführung bzw. in Verbindung mit diesen austauschen, verbreiten oder transportieren kann, wie zum Beispiel eine elektrische Verbindung mit einer oder mehreren Leitungen, einen Lichtwellenleiter usw.
-
Auf einem computerlesbaren Medium verkörperter Programmcode kann mithilfe eines beliebigen geeigneten Mediums übertragen werden, zum Beispiel über Funk, Kabel, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder über eine beliebige geeignete Kombination der Obigen, ohne auf diese beschränkt zu sein.
-
Computerprogrammcode zum Ausführen von Vorgängen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, zum Beispiel in einer objektorientierten Programmiersprache wie etwa Java, Smalltalk, C++ oder dergleichen und in herkömmlichen verfahrensorientierten Programmiersprachen wie zum Beispiel der Programmiersprache „C” oder ähnlichen Programmiersprachen. Der Programmcode kann vollständig auf einem Computer eines Benutzers, zum Teil auf dem Computer des Benutzers, als eigenständiges Software-Paket, zum Teil auf dem Computer des Benutzers und zum Teil auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer oder Server mit dem Computer des Benutzers durch eine beliebige Art von Netzwerk verbunden sein, zum Beispiel durch ein lokales Netzwerk (local area network, LAN), ein Speichernetzwerk (storage area network, SAN) und/oder ein Weitverkehrs-Netzwerk (wide area network, WAN), beliebige virtuelle Netzwerke, oder die Verbindung kann mit einem externen Computer, zum Beispiel über das Internet mithilfe eines Internet-Diensteanbieters (Internet Service Provider, ISP), hergestellt werden.
-
Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaubildern durch Computerprogrammbefehle realisiert werden kann/können. Diese Computerprogrammbefehle können für einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer sonstigen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Befehle, die über den Prozessor des Computers oder einer sonstigen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Implementieren der Funktionen/Vorgänge erzeugen, die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben sind.
-
Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine sonstige programmierbare Datenverarbeitungsvorrichtung oder sonstige Einheiten so steuern kann, dass sie in einer bestimmten Weise funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsgegenstand (article of manufacture) erzeugen, der Befehle beinhaltet, die die/den Funktion/Vorgang realisieren, die/der in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaltbilder angegeben ist.
-
Die Computerprogrammbefehle können außerdem auf einen Computer, eine sonstige programmierbare Datenverarbeitungsvorrichtung oder sonstige Einheiten geladen werden, um zu bewirken, dass eine Reihe von Schritten eines Vorgangs auf dem Computer, einer sonstigen programmierbaren Vorrichtung oder sonstigen Einheiten ausgeführt wird, um einen computerimplementierten Prozess zu erzeugen, sodass die auf dem Computer oder einer sonstigen programmierbaren Vorrichtung ausgeführten Befehle Prozesse bereitstellen, um die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Vorgänge zu implementieren.
-
1 veranschaulicht eine Netzwerkarchitektur 100 gemäß einer Ausführungsform. Wie in 1 dargestellt, wird eine Mehrzahl von entfernt angeordneten Netzwerken 102 bereitgestellt, darunter ein erstes entfernt angeordnetes Netzwerk 104 und ein zweites entfernt angeordnetes Netzwerk 106. Ein Gateway 101 kann zwischen den entfernt angeordneten Netzwerken 102 und einem nahegelegenen Netzwerk 108 verbunden sein. Im Rahmen der vorliegenden Netzwerkarchitektur 100 können die Netzwerke 104, 106 jeweils eine beliebige Form annehmen, darunter die eines LAN, eines VLAN, eines WAN wie zum Beispiel des Internet, eines öffentlichen Fernsprechnetzes (public switched telephone network, PSTN), eines internen Telefonnetzes usw., ohne auf diese beschränkt zu sein.
-
Im Einsatz dient das Gateway 101 als Eintrittspunkt von den entfernt angeordneten Netzwerken 102 in das nahegelegene Netzwerk 108. Insofern kann das Gateway 101 als Router, der in der Lage ist, ein bestimmtes Paket von Daten weiterzuleiten, das an dem Gateway 101 eintrifft, und als Switch dienen, der für ein bestimmtes Paket den tatsächlichen Pfad in das Gateway 101 und aus diesem heraus bereitstellt.
-
Des Weiteren ist zumindest ein Daten-Server 114 enthalten, der mit dem nahegelegenen Netzwerk 108 verbunden ist und auf den über das Gateway 101 von den entfernt angeordneten Netzwerken 102 zugegriffen werden kann. Es ist zu beachten, dass der/die Daten-Server 114 einen beliebigen Typ einer Datenverarbeitungseinrichtung/Groupware beinhalten kann/können. Mit jedem Daten-Server 114 ist eine Mehrzahl von Benutzereinheiten 116 verbunden. Zu solchen Benutzereinheiten 116 können ein Desktop-Computer, ein Laptop-Computer, ein Hand-Computer, ein Drucker und/oder ein beliebiger sonstiger Typ einer Logik enthaltenden Einheit zählen. Es ist zu beachten, dass eine Benutzereinheit 111 bei einigen Ausführungsformen auch direkt mit einem beliebigen der Netzwerke verbunden sein kann.
-
Eine Peripherieeinheit 120 oder eine Reihe von Peripherieeinheiten 120, z. B. Faxgeräte, Drucker, Scanner, Festplattenlaufwerke, vernetzte und/oder lokale Speichereinheiten oder -systeme usw. können mit einem oder mehreren der Netzwerke 104, 106, 108 verbunden sein. Es ist zu beachten, dass Datenbanken und/oder zusätzliche Komponenten mit einem beliebigen Typ eines mit den Netzwerken 104, 106, 108 verbundenen Netzwerkelements genutzt werden können oder in dieses integriert sein können. Im Rahmen der vorliegenden Beschreibung kann sich ein Netzwerkelement auf eine beliebige Komponente eines Netzwerks beziehen.
-
Gemäß einigen Ansätzen können hierin beschriebene Verfahren und Systeme mit und/oder auf virtuellen Systemen und/oder Systemen implementiert sein, die ein oder mehrere sonstige Systeme emulieren, wie zum Beispiel ein UNIX-System, das eine IBM z/OS-Umgebung emuliert, ein UNIX-System, das eine MICROSOFT-WINDOWS-Umgebung virtuell beherbergt, 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 von VMWARE-Software erweitert werden.
-
In weiteren Ansätzen können ein oder mehrere Netzwerke 104, 106, 108 einen Verbund von Systemen darstellen, der allgemein als „Cloud” bezeichnet wird. Beim Cloud-Computing werden gemeinsam genutzte Ressourcen wie zum Beispiel Verarbeitungskapazität, Peripherieeinheiten, Software, Daten, Server usw. jedem System in der Cloud nach Bedarf bereitgestellt und dabei Zugriff und Verteilung von Diensten über zahlreiche Datenverarbeitungssysteme hinweg gewährt. Cloud-Computing geht üblicherweise mit einer Internet-Verbindung zwischen den Systemen einher, die in der Cloud arbeiten, es können jedoch auch andere Techniken zum Verbinden der Systeme nach dem Stand der Technik verwendet werden.
-
2 stellt eine typische Hardware-Umgebung gemäß einer Ausführungsform dar, der eine Benutzereinheit 116 und/oder ein Server 114 von 1 zugehörig sind. 2 veranschaulicht eine typische Hardware-Konfiguration eines Arbeitsplatzrechners gemäß mehreren Ausführungsformen, der eine Zentraleinheit (central processing unit, CPU) 210 wie zum Beispiel einen Mikroprozessor und eine Reihe sonstiger Einheiten aufweist, die über einen oder mehrere Busse 212, die verschiedenen Typs sein können, wie zum Beispiel einen lokalen Bus, einen parallelen Bus, einen seriellen Bus usw., miteinander verbunden sind.
-
Der in 2 dargestellte Arbeitsplatzrechner beinhaltet einen Direktzugriffsspeicher (RAM) 214, einen Festwertspeicher (ROM) 216, einen E/A-Adapter 218, um Perpherieeinheiten wie zum Beispiel Plattenspeichereinheiten 220 mit dem einen oder den mehreren Bussen 212 zu verbinden, einen Benutzerschnittstellenadapter 222, um eine Tastatur 224, eine Maus 226, einen Lautsprecher 228, ein Mikrophon 232 und/oder sonstige Benutzerschnittstelleneinheiten wie etwa einen Touchscreen, eine (nicht dargestellte) Digitalkamera usw. mit dem einen oder den mehreren Bussen 212 zu verbinden, einen Datenübertragungsadapter 234, um den Arbeitsplatzrechner mit einem Datenübertragungsnetzwerk 235 (z. B. einem Datenverarbeitungsnetzwerk) zu verbinden, und einen Anzeigeadapter 236, um den einen oder die mehreren Busse 212 mit einer Anzeigeeinheit 238 zu verbinden.
-
Auf dem Arbeitsplatzrechner kann sich ein Betriebssystem wie zum Beispiel das Betriebssystem (operating system, OS) MICROSOFT WINDOWS, ein MAC-OS, ein UNIX-OS usw. befinden. Es versteht sich, dass eine bevorzugte Ausführungsform auch auf anderen als den genannten Plattformen und Betriebssystemen implementiert sein kann. Eine bevorzugte Ausführungsform kann mithilfe von JAVA, XML, C und/oder der Sprache C++ oder sonstigen Programmiersprachen wie auch einer objektorientierten Programmiermethodik geschrieben sein. Es kann objektorientierte Programmierung (OOP) verwendet werden, die zunehmend beim Entwickeln komplexer Anwendungen zu Einsatz kommt.
-
Es wird nun auf 3 Bezug genommen, in der eine Konzeptionsansicht eines Overlay-Netzwerks 300 gemäß einer Ausführungsform dargestellt wird. Um über ein einfaches Bereitstellen eines Strukturpfades (Konnektivität) zwischen Einheiten hinaus Netzwerkdienste zu virtualisieren, können Dienste für Pakete bereitgestellt werden, wenn sie sich durch das Gateway 314 bewegen, das Routenwahl und Weiterleitung für Pakete bereitstellt, die sich zwischen dem/den nichtvirtuellen Netzwerk(en) 312 und dem virtuellen Netzwerk A 304 und dem virtuellen Netzwerk B 306 bewegen. Das eine oder die mehreren virtuellen Netzwerke 304, 306 bestehen innerhalb einer physischen (realen) Netzwerkinfrastruktur 302. Die Netzwerkinfrastruktur 302 kann beliebige Komponenten, Hardware, Software und/oder Funktionen beinhalten, die üblicherweise einer Netzwerkinfrastruktur zugehörig sind und/oder darin verwendet werden, darunter Switches, Verbindungseinheiten, Drähte, Schaltungen, Kabel, Server, Hosts, Speichermedien, Betriebssysteme, Anwendungen, Anschlüsse, E/A usw., wie sie Fachleuten bekannt wären, ohne auf diese beschränkt zu sein. Diese Netzwerkinfrastruktur 302 unterstützt zumindest ein nichtvirtuelles Netzwerk 312, bei dem es sich um ein Altnetzwerk handeln kann.
-
Jedes virtuelle Netzwerk 304, 306 kann eine beliebige Anzahl von virtuellen Maschinen (VMs) 308, 310 verwenden. Bei einer Ausführungsform beinhaltet das virtuelle Netzwerk A 304 eine oder mehrere VMs 308, und das virtuelle Netzwerk B 306 beinhaltet eine oder mehrere VMs 310. Wie in 3 dargestellt, werden die VMs 308, 310 nicht von den virtuellen Netzwerken 304, 306 gemeinsam genutzt, sondern sind stattdessen jederzeit ausschließlich in nur einem virtuellen Netzwerk 304, 306 enthalten.
-
Gemäß einer Ausführungsform kann das Overlay-Netzwerk 300 eine oder mehrere skalierbare Strukturkomponenten (scalable fabric components, SFCs) mit zellenvermittelter Domäne beinhalten, die mit einer oder mehreren verteilten Leitungskarten (distributed line cards, DLCs) verbunden sind.
-
Durch eine Architektur mit „flachem Switch” kann die Mehrzahl von VMs Daten leicht und effizient durch die Architektur verschieben. Es ist insgesamt für VMs sehr schwierig, Verschiebungen über Layer-3-Domänen, zwischen einem Teilnetz und einem anderen Teilnetz, von einem Internet-Protokoll(IP)-Teilnetz zu einem IP-Teilnetz usw. vorzunehmen. Wenn die Architektur jedoch einem großen flachen Switch in einer sehr großen Layer-2-Domäne ähnelt, werden die VMs bei ihrem Versuch unterstützt, Daten durch die Architektur zu verschieben.
-
4 stellt eine herkömmliche Konnektivität zwischen virtuellen Netzwerken 304, 306 und einem nichtvirtuellen Netzwerk 312 nach dem Stand der Technik dar. Wie dargestellt, kann ein VON-Gateway 400 dazu verwendet werden, Datenverkehr von einem Tunnel, der seinen Ursprung in einem virtuellen Netzwerk 304, 306 hat, zu dem nichtvirtuellen Netzwerk 312 zu leiten, das als Tunnelabschlusspunkt fungiert. Des Weiteren kann das Gateway 400 dazu verwendet werden, Datenverkehr über Tunnel zwischen dem virtuellen Netzwerk 304 und dem virtuellen Netzwerk 306 zu leiten. Um dies zu erreichen, ist das Gateway 400 mit den virtuellen Netzwerken 304, 306 und dem nichtvirtuellen Netzwerk 312 mithilfe von physischen Verbindungen wie zum Beispiel über Ethernet, Fibre Channel oder einen beliebigen sonstigen Verbindungstyp verbunden. Das Gateway 400 ist jedoch nicht in der Lage, Datenverkehr, der über einen Tunnel eintrifft, auf jegliche Pakete zu überprüfen, die sich in Nutzdaten eines Overlay-Pakets befinden können. Dementsprechend besteht für das Gateway 400 keine Möglichkeit, Dienste für Pakete innerhalb eines Overlay-Pakets bereitzustellen.
-
Es wird nun auf 5 Bezug genommen, in der die Konnektivität zwischen den virtuellen Netzwerken 304, 306 und dem/den virtuellen Netzwerk(en) 312 gemäß einer Ausführungsform dargestellt wird. Wie dargestellt, kann ein Gateway 502 eines virtuellen Overlay-Netzwerks (VON) wie zum Beispiel ein Virtual-eXtensible-Local-Area-Network(VXLAN)-Gateway Weiterleitungsfunktionen für beliebigen Datenverkehr bereitstellen, der durch das Gateway zu oder von den virtuellen oder nichtvirtuellen Netzwerken verläuft. Darüber hinaus ist das Gateway 502 in der Lage, Datenverkehr an eine Overlay-Netzwerkeinheit 500 zu leiten.
-
Das Gateway 502 kann einen Prozessor zum Ausführen von Logik wie zum Beispiel eine Zentraleinheit (CPU), ein feldprogrammierbares Gate-Array (field programmable gate array, FPGA), eine integrierte Schaltung (integrated circuit, IC) und eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit, ASIC) oder einen sonstigen geeigneten Prozessor nach dem Stand der Technik aufweisen.
-
Gemäß einer Ausführungsform können Zugriffssteuerungslisten (access control lists, ACLs) auf Anschlüsse eines Zwischennetzwerk-Elements (INE) und eines Gateways 502 eines virtuellen Overlay-Netzwerks (VON) angewendet werden, um eingehende VON-gekapselte Pakete an die Overlay-Netzwerkeinheit 500 zu senden. Nach Aktivierung einer solchen ACL an dem Anschluss werden jegliche Pakete, die an dem Anschluss mit aktivierter ACL empfangen werden, an die Overlay-Netzwerkeinheit 500 gesendet. Anschließend implementiert die Overlay-Netzwerkeinheit 500 eine Kette von Diensten. Auf den Datenverkehr können jegliche Dienste nach dem Stand der Technik wie zum Beispiel Firewall-Dienste, Dienste von Abwehrsystemen gegen Eingriffe von außen (IPS), Dienste von Warnsystemen gegen Angriffe von außen (IDS), IPS/IDS-Dienste, Server-Lastausgleichsdienste, LAN-Optimierungsdienste, VPN-Dienste, Videooptimierungsdienste, Dienste zur Netzwerkadressenumsetzung (network address translation, NAT), Verschlüsselungsdienste, Entschlüsselungsdienste usw. neben zahlreichen sonstigen Möglichkeiten angewendet werden, die einem Fachmann bekannt wären. Jeder dieser Dienste kann beim Initiieren der Overlay-Netzwerkeinheit 500 unabhängig aktiviert, unabhängig umgangen oder manuell gewählt werden, wie es von einem Systemadministrator gewünscht wird.
-
Die Overlay-Netzwerkeinheit 500 kann einen Prozessor zum Ausführen von Logik wie zum Beispiel eine Zentraleinheit (CPU), ein feldprogrammierbares Gate-Array (FPGA), eine integrierte Schaltung (IC) und eine anwendungsspezifische integrierte Schaltung (ASIC) oder einen sonstigen geeigneten Prozessor nach dem Stand der Technik aufweisen oder kann als solcher Prozessor verkörpert werden. Bei einer weiteren Ausführungsform kann es sich bei der Overlay-Netzwerkeinheit 500 um einen Prozessor, der in einem Gateway oder INE 502 installiert ist, um eine Logik handeln, die in einem Prozessor eines Gateways oder INE 502 oder in einer sonstigen geeigneten Einheit konfiguriert ist, die sich außerhalb des Gateways oder des INE 502 befindet.
-
Bei mit dem Layer 3 User Datagram Protocol/Internet Protocol (UDP/IP) gekapseltem Datenverkehr, der von einem virtuellen Overlay-Netzwerk (wie zum Beispiel dem virtuellen Netzwerk A 304, dem virtuellen Netzwerk B 306 usw.) bei dem nichtvirtualisierten Altnetzwerk (wie zum Beispiel dem nichtvirtuellen Netzwerk 312) eintrifft, beendet die Overlay-Netzwerkeinheit 500 die Abläufe, für die die Zieladresse die Adresse des virtuellen Tunnelendpunkts (VTEP) des INE ist, entkapselt das innere Paket und übergibt das innere Paket an eine Dienstkette einer Overlay-Netzwerkeinheit, die dem inneren Paket Dienste bereitstellen kann. Das Paket durchläuft die Kette der Dienste, die in der Overlay-Netzwerkeinheit 500 konfiguriert und aktiviert sind. Am Ende der Kette wird auf Grundlage der abschließenden Zieladresse des Pakets die Entscheidung getroffen, das Paket im Overlay-Format zu kapseln (wenn die Zieladresse sich im Adressraum eines virtuellen Netzwerks befindet) und es an den Tunnel zu übergeben oder das Paket unverändert zu übergeben (wenn die Zieladresse sich in einem nichtvirtuellen Netzwerk befindet), und das Paket wird wieder in das INE eingefügt.
-
Ein Paket, das von der Overlay-Netzwerkeinheit 500 bei dem INE oder dem VON-Gateway 502 eintrifft, umgeht jegliche Tunnelverwaltungslogik in dem INE 502 und durchläuft lediglich eine Logik zum „Suchen und Weiterleiten” in dem INE 502, um auf Grundlage der Zieladresse in dem Paket den Ausgangspfad zu suchen, durch den es entweder in ein virtuelles Netzwerk (304, 306) oder ein nichtvirtuelles Netzwerk 312 eintritt.
-
In ähnlicher Weise wird für den Datenverkehr, der von dem/den nichtvirtuellen Netzwerk(en) 312 bei dem/den virtuellen Netzwerk(en) 304, 306 eintrifft, das Paket auf Grundlage von ACLs, die auf den Eingangsanschluss angewendet werden, an die Overlay-Netzwerkeinheit 500 übergeben. Nach dem Eintreffen an der Overlay-Netzwerkeinheit 500 wird es durch die Kette der Dienste geleitet, die innerhalb der Overlay-Netzwerkeinheit 500 konfiguriert sind. Am Ende der Kette wird auf Grundlage der abschließenden Zieladresse des Pakets die Entscheidung getroffen, das Paket im Overlay-Format zu kapseln (wenn die Zieladresse sich im Adressraum eines virtuellen Netzwerks befindet) und es an den Tunnel zu übergeben oder das Paket unverändert zu übergeben (wenn die Zieladresse sich in einem nichtvirtuellen Netzwerk befindet), und das Paket wird wieder in das INE 502 eingefügt. Ein Paket, das von der Overlay-Netzwerkeinheit 500 bei dem INE oder dem VON-Gateway 502 eintrifft, umgeht die Tunnelverwaltungslogik in dem INE 502 und durchläuft lediglich die Logik zum „Suchen und Weiterleiten”, um auf Grundlage der Zieladresse in dem Paket den Ausgangspfad zu suchen, durch den es entweder in das virtuelle Overlay-Netzwerk 304, 306 oder das/die nichtvirtuelle(n) Altnetzwerk(e) 312 eintritt.
-
Die Dienste der Overlay-Netzwerkeinheit können in einer virtuellen Einheit auf einem beliebigen Server-Typ wie zum Beispiel einem auf dem Markt erhältlichen Standard-(commercial off the shelf, COTS)Server wie einem dedizierten Chip-Satz, der in einem INE oder VON-Gateway 502, etwa einem VXLAN-Gateway, installiert ist, oder in einem beliebigen sonstigen System, einer beliebigen sonstigen Einheit oder einem beliebigen sonstigen Prozessor implementiert sein, wie einem Fachmann beim Lesen der vorliegenden Beschreibung ersichtlich würde.
-
Eine Verwaltungslogik der Overlay-Netzwerkeinheit 500 kann außerdem zum Verarbeiten von eingehenden Datenpaketen und ausgehenden Datenpaketen unabhängig von dem Paketübertragungsprotokoll, z. B. Ethernet, Peripheral-Component-Interconnect-Express(PCIe)-over-Ethernet, Fibre-Channel(FC)-over-Ethernet (FCOE) usw. konfiguriert sein.
-
Bei einem Ansatz können eingehende Datenpakete analysiert werden, um einen oder mehrere Dienste zu ermitteln, die das System im Verlauf des Verarbeitens der eingehenden Datenpakete durchführen kann. Zudem definieren die Dienste, die das System durchführen kann, den gesamten oder einen Teil eines Verarbeitungspfades, den die eingehenden Datenpakete im Verlauf der Verarbeitung der Datenpakete durchlaufen.
-
Beispielsweise müssen bei einer Ausführungsform, bei der bestimmte Dienste nur an einer Teilmenge des Netzwerkverkehrs durchgeführt werden, Datenpakete, die diese Dienste benötigen, als solche erkannt werden, die diese Dienste benötigen, um den jeweiligen Dienst zu erhalten. Dementsprechend beinhaltet bei einer Ausführungsform zumindest ein Teil des Verarbeitungspfades ein Ermitteln, ob Dienste durchzuführen sind, wodurch der Verarbeitungspfad teilweise definiert wird.
-
Gemäß verschiedenen Ausführungsformen zählen zu Diensten, die an Paketen durchgeführt werden können, Firewall-Dienste, Dienste von Abwehrsystemen gegen Angriffe von außen (IPS), Warnsysteme gegen Angriffe von außen (IDS), IPS/IDS-Dienste, Server-Lastausgleichsdienste, LAN-Optimierungsdienste, VPN-Dienste, Videooptimierungsdienste, Dienste zur Netzwerkadressenumsetzung (NAT), Verschlüsselungsdienste, Entschlüsselungsdienste usw. neben zahlreichen sonstigen Möglichkeiten, die einem Fachmann bekannt wären, ohne auf diese beschränkt zu sein.
-
Bei einer Ausführungsform kann ein VXLAN-Frame-Format folgendermaßen aussehen:
-
Dieses Frame-Format kann dazu verwendet werden zu ermitteln, ob ein Paket mit verschiedenen Methoden auf ein inneres Paket untersucht werden sollte. Bei einer solchen Methode kann der Zielanschluss (destination port, Dest Port) ermittelt werden. In dem oben dargestellten Frame-Format handelt es sich bei dem Zielanschluss zum Beispiel um einen VXLAN-Anschluss, der angibt, dass das Paket einen Overlay-Header aufweist. Dementsprechend kann dieses Paket entkapselt werden, um zu ermitteln, was das innere Paket aufweist, und dann, ob Dienste an dem inneren Paket durchgeführt werden sollten. Selbstverständlich können andere Methoden angewendet werden, um zum ermitteln, ob Dienste an einem inneren Paket durchgeführt werden sollten und ob ein Paket ein inneres Paket aufweist, wie sie Fachleuten bekannt sind und hierin beschrieben werden.
-
Es wird nun auf 8 Bezug genommen, in der ein Ablaufplan eines Verfahrens 800 gemäß einer Ausführungsform dargestellt wird. Das Verfahren 800 kann bei verschiedenen Ausführungsformen unter anderem in einer beliebigen der in 1 bis 7 dargestellten Umgebungen gemäß der vorliegenden Erfindung durchgeführt werden. Natürlich können mehr oder weniger Vorgänge als diejenigen, die in 8 ausdrücklich beschrieben werden, in dem Verfahren 800 enthalten sein, wie einem Fachmann beim Lesen der vorliegenden Beschreibungen ersichtlich würde.
-
Jeder der Schritte des Verfahrens 800 kann durch eine beliebige geeignete Komponente der Betriebsumgebung durchgeführt werden. Beispielsweise kann das Verfahren 800 bei einer Ausführungsform in verschiedenen Ansätzen teilweise oder vollständig durch eine Overlay-Netzwerkeinheit, einen Prozessor (wie etwa eine CPU, eine ASIC, ein FPGA usw.), ein VON-Gateway oder ein INE durchgeführt werden.
-
Wie in 8 dargestellt, kann das Verfahren 800 mit Vorgang 802 beginnen, in dem Netzwerkverkehr empfangen wird, der eine Mehrzahl von Paketen aufweist. Bei einem Ansatz kann der Netzwerkverkehr an einem Netzwerk-Gateway empfangen werden, oder er kann von dem Netzwerk-Gateway an eine Overlay-Netzwerkeinheit gesendet werden, wie hierin ausführlicher beschrieben wird.
-
In Vorgang 804 wird ermittelt, ob die Pakete einen Overlay-Header aufweisen. Dies kann durch Ermitteln eines Zielanschlusses des äußeren UDP-Headers erreicht werden. Wenn es sich bei dem Zielanschluss um einen virtuellen LAN-Anschluss wie zum Beispiel einen VXLAN-Anschluss handelt, kann davon ausgegangen werden, dass das Paket einen Overlay-Header beinhaltet.
-
In einem optionalen Vorgang 806 kann, wenn die Pakete von einem virtuellen Netzwerk empfangen werden, ein Tunnel beendet werden, durch den die Pakete empfangen wurden. Auf diese Weise kann entweder das Gateway, das INE oder die Overlay-Netzwerkeinheit als Abschluss- und Ausgangspunkt für Tunnel zu/von beliebigen virtuellen Netzwerken fungieren. Bei einem bevorzugten Ansatz kann die Overlay-Netzwerkeinheit als Abschluss- und Ausgangspunkt für Tunnel zu/von beliebigen virtuellen Netzwerken fungieren.
-
In Vorgang 808 werden innere Pakete von Paketen, die einen Overlay-Header aufweisen, entkapselt, wodurch Sichtbarkeit der inneren Pakete bereitgestellt wird. Die inneren Pakete können jeden beliebigen Typs nach dem Stand der Technik sein, zum Beispiel E/A-Pakete (z. B. Fibre-Channel-over-Ethernet(FCoE)-Pakete), Steuerpakete, IP-Pakete, Sprachpakete usw.
-
In Vorgang 810 wird festgestellt, dass Dienste an den Paketen (z. B. an inneren Paketen und Paketen von nichtvirtuellen Netzwerken) durchgeführt werden sollen, und die Dienste werden an den Paketen durchgeführt.
-
Gemäß verschiedenen Ausführungsformen sind zahlreiche Methoden vorhanden, um festzustellen, dass Dienste durchgeführt werden sollen. Der Anschluss, an dem die Pakete empfangen wurden, kann durchzuführende Dienste vorgeben, der Zielanschluss der Pakete kann durchzuführende Dienste vorgeben, der Typ der Pakete kann durchzuführende Dienste vorgeben usw.
-
Bei einer Ausführungsform kann das Feststellen, dass Dienste an den Paketen durchgeführt werden sollen, ein Anwenden von ACLs auf die Mehrzahl von Paketen aufweisen, um Pakete, für die Dienste durchzuführen sind, von denjenigen zu unterscheiden, an denen keine Dienste durchgeführt werden.
-
Bei weiteren Ausführungsformen kann ein Typ eines Pakets, an dem Dienste durchgeführt werden, gewechselt, geändert, bestimmt usw. werden, indem (eine) andere ACL oder ACLs auf die Mehrzahl von Paketen angewendet werden. Die ACLs erfassen Pakete, für die Dienste durchzuführen sind. Ein Systemadministrator oder ein sonstiger berechtigter Benutzer kann eine Mehrzahl von ACLs bestimmen, um zahlreiche verschiedene Typen von Paketen zu bestimmen, an denen Dienste durchzuführen sind, wie für einen Fachmann beim Lesen der vorliegenden Beschreibungen ersichtlich wäre.
-
Gemäß mehreren Ausführungsformen können die Dienste einen oder mehrere dieser beinhalten: Firewall-Dienste, IPS, IDS, Server-Lastausgleichsdienste, VPN-Dienste, Videooptimierungsdienste und/oder WAN-Optimierungsdienste neben sonstigen Möglichkeiten. Bei einem Ansatz können die Dienste mehr als zwei der oben aufgeführten Dienste beinhalten.
-
In einem optionalen Vorgang 812 kann ein Tunnel für Pakete erzeugt werden, die eine Zieladresse in einem virtuellen Netzwerk aufweisen. Dies kann mithilfe eines beliebigen Verfahrens durchgeführt werden, das einem Fachmann bekannt wäre. Auf diese Weise kann entweder das Gateway, das INE oder die Overlay-Netzwerkeinheit als Abschluss- und Ausgangspunkt für Tunnel zu/von beliebigen virtuellen Netzwerken fungieren. Bei einem bevorzugten Ansatz kann die Overlay-Netzwerkeinheit als Abschluss- und Ausgangspunkt für Tunnel zu/von beliebigen virtuellen Netzwerken fungieren.
-
Abhängig von dem Typ der Pakete, die ausgesendet werden, geht das Verfahren 800 entweder zu Vorgang 814 (für Pakete, die für ein virtuelles Netzwerk bestimmt sind) oder zu Vorgang 816 (für Pakete, die für ein nichtvirtuelles Netzwerk bestimmt sind) über.
-
In Vorgang 814 werden die bedienten Pakete mit einem Overlay-Header gekapselt und an eine Zieladresse in einem virtuellen Netzwerk vermittelt. Dies kann bei verschiedenen Ausführungsformen entweder durch die Overlay-Netzwerkeinheit oder das Gateway durchgeführt werden. Natürlich kann es sich bei einigen Ansätzen bei der Overlay-Netzwerkeinheit um einen Chip-Satz oder einen Prozessor handeln, der in das Gateway integriert ist.
-
In Vorgang 816 werden die bedienten Pakete an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt, ohne die Pakete mit einem Overlay-Header zu kapseln.
-
Das Verfahren 800 kann bei verschiedenen Ausführungsformen so durchgeführt werden, dass es sämtliche oder einige der in 8 beschriebenen Vorgänge in Computerprogrammprodukten, sonstigen Verfahren, sonstiger Logik und sonstigen Systemen aufweist.
-
Bei einer solchen Ausführungsform weist ein System eine Overlay-Netzwerkeinheit, die eine Schnittstelle beinhaltet, die so gestaltet ist, dass sie elektrisch Daten mit einem VON-Gateway austauscht, eine Logik, die so gestaltet ist, dass sie eine Mehrzahl von Paketen von dem VON-Gateway empfängt, eine Logik, die so gestaltet ist, dass sie ermittelt, ob die Mehrzahl von Paketen einen Overlay-Header aufweisen, eine Logik, die so gestaltet ist, dass sie innere Pakete von Paketen entkapselt, die einen Overlay-Header aufweisen, eine Logik, die so gestaltet ist, dass sie Dienste an der Mehrzahl von Paketen oder an den entkapselten inneren Paketen durchführt, und eine Logik auf, die so gestaltet ist, dass sie entweder die bedienten inneren Pakete oder die bedienten Pakete mit einem Overlay-Header kapselt, die an eine Zieladresse in einem virtuellen Netzwerk vermittelt werden sollen, und die gekapselten Pakete an das VON-Gateway sendet oder die bedienten Pakete an das VON-Gateway sendet, ohne die Pakete mit einem Overlay-Header zu kapseln, die an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt werden sollen.
-
Bei einigen weiteren Ausführungsformen kann das System ferner das VON-Gateway beinhalten, das mit einem oder mehreren virtuellen Netzwerken und einem oder mehreren nichtvirtuellen Netzwerken verbunden ist. Bei diesen Ausführungsformen kann das VON-Gateway eine Logik, die so gestaltet ist, dass sie Weiterleitungsfunktionen an Netzwerkverkehr (wie zum Beispiel Paketen, die von virtuellen Netzwerken und/oder nichtvirtuellen Netzwerken empfangen werden, wie hierin beschrieben) durchführt, eine Logik, die so gestaltet ist, dass sie eine Mehrzahl von Paketen des Netzwerkverkehrs an die Overlay-Netzwerkeinheit weiterleitet, und eine Logik aufweisen, die so gestaltet ist, dass sie die Mehrzahl von Paketen von der Overlay-Netzwerkeinheit zurückempfängt.
-
Bei einer weiteren Ausführungsform kann das VON-Gateway so gestaltet sein, dass es ACLs auf Netzwerkverkehr anwendet, der an Anschlüssen des VON-Gateways empfangen wird, um bestimmte empfangene Pakete an die Overlay-Netzwerkeinheit zu leiten, damit sie Dienste an ihnen durchführt. Des Weiteren kann ein Typ eines Pakets, an dem Dienste durchgeführt werden, geändert werden, indem das VON-Gateway eine andere ACL auf den Netzwerkverkehr anwendet, der an Anschlüssen des VON-Gateways empfangen wird.
-
Bei einer weiteren Ausführungsform kann die Overlay-Netzwerkeinheit ferner eine Logik, die so gestaltet ist, dass sie einen Tunnel für Pakete beendet, die einen Overlay-Header aufweisen, und eine Logik aufweisen, die so gestaltet ist, dass sie einen Tunnel für Pakete erzeugt, die an eine Zieladresse in einem virtuellen Netzwerk vermittelt werden sollen. Auf diese Weise kann die Overlay-Netzwerkeinheit bei einigen Ansätzen als Ausgangs- und Abschlusspunkt für Tunnel zu/von beliebigen der virtuellen Netzwerke dienen, wodurch diese Funktionalität von dem VON-Gateway entfernt wird.
-
Jedes beliebige System, das hierin beschrieben wird, wie zum Beispiel VON-Gateways, Overlay-Netzwerkeinheiten usw., kann eine oder mehrere Schnittstellen beinhalten, die so gestaltet sind, dass sie Daten elektrisch mit einem oder mehreren virtuellen Netzwerken und einem oder mehreren nichtvirtuellen Netzwerken austauschen.
-
Es wird nun auf 9 Bezug genommen, in der ein Ablaufplan eines Verfahrens 900 gemäß einer Ausführungsform dargestellt wird. Das Verfahren 900 kann bei verschiedenen Ausführungsformen unter anderem in einer beliebigen der in 1 bis 7 dargestellten Umgebungen gemäß der vorliegenden Erfindung durchgeführt werden. Natürlich können mehr oder weniger Vorgänge als diejenigen, die in 9 ausdrücklich beschrieben werden, in dem Verfahren 900 enthalten sein, wie einem Fachmann beim Lesen der vorliegenden Beschreibungen ersichtlich würde.
-
Jeder der Schritte des Verfahrens 900 kann durch eine beliebige geeignete Komponente der Betriebsumgebung durchgeführt werden. Beispielsweise kann das Verfahren 900 bei einer Ausführungsform in verschiedenen Ansätzen teilweise oder vollständig durch eine Overlay-Netzwerkeinheit, einen Prozessor (wie etwa eine CPU, eine ASIC, ein FPGA usw.), ein VON-Gateway oder ein INE durchgeführt werden.
-
Wie in 9 dargestellt, kann das Verfahren 900 mit Vorgang 902 beginnen, in dem Netzwerkverkehr empfangen wird, der eine Mehrzahl von Paketen aufweist. Bei einem Ansatz kann der Netzwerkverkehr an einem Netzwerk-Gateway empfangen werden, oder er kann von dem Netzwerk-Gateway an eine Overlay-Netzwerkeinheit gesendet werden, wie hierin ausführlicher beschrieben wird.
-
In Vorgang 904 wird ermittelt, ob die Pakete einen Overlay-Header aufweisen. Dies kann durch Ermitteln eines Zielanschlusses des äußeren UDP-Headers erreicht werden. Wenn es sich bei dem Zielanschluss um einen virtuellen LAN-Anschluss wie zum Beispiel einen VXLAN-Anschluss handelt, kann davon ausgegangen werden, dass das Paket einen Overlay-Header beinhaltet.
-
In Vorgang 906 wird, wenn die Pakete von einem virtuellen Netzwerk empfangen werden, ein Tunnel beendet, durch den die Pakete empfangen wurden, und innere Pakete von Paketen, die einen Overlay-Header aufweisen, werden entkapselt, wodurch Sichtbarkeit der inneren Pakete bereitgestellt wird. Auf diese Weise kann entweder das VON-Gateway, das INE oder die Overlay-Netzwerkeinheit als Abschluss- und Ausgangspunkt für Tunnel zu/von beliebigen virtuellen Netzwerken fungieren. Bei einem bevorzugten Ansatz kann die Overlay-Netzwerkeinheit in ein VON-Gateway integriert sein, und das VON-Gateway kann als Abschluss- und Ausgangspunkt für Tunnel zu/von beliebigen virtuellen Netzwerken fungieren. Die inneren Pakete können jeden beliebigen Typs nach dem Stand der Technik sein, zum Beispiel E/A-Pakete (z. B. Fibre-Channel-over-Ethernet(FCOE)-Pakete), Steuerpakete, IP-Pakete, Sprachpakete usw.
-
In Vorgang 908 werden Dienste an der Mehrzahl von Paketen oder an den entkapselten inneren Paketen durchgeführt. Gemäß verschiedenen Ausführungsformen sind zahlreiche Methoden vorhanden, um zu ermitteln, welche Dienste durchzuführen sind. Der Anschluss, an dem die Pakete empfangen wurden, kann durchzuführende Dienste vorgeben, der Zielanschluss der Pakete kann durchzuführende Dienste vorgeben, der Typ der Pakete kann durchzuführende Dienste vorgeben usw.
-
Bei einer Ausführungsform kann das Ermitteln, welche Dienste an den Paketen durchzuführen sind, ein Anwenden von ACLs auf die Mehrzahl von Paketen aufweisen, um Pakete, für die Dienste durchzuführen sind, von denjenigen zu unterscheiden, an denen keine Dienste durchgeführt werden.
-
Bei weiteren Ausführungsformen kann ein Typ eines Pakets, an dem Dienste durchgeführt werden, gewechselt, geändert, bestimmt usw. werden, indem (eine) andere ACL oder ACLs auf die Mehrzahl von Paketen angewendet werden. Die ACLs erfassen Pakete, für die Dienste durchzuführen sind. Ein Systemadministrator oder ein sonstiger berechtigter Benutzer kann eine Mehrzahl von ACLs bestimmen, um zahlreiche verschiedene Typen von Paketen zu bestimmen, an denen Dienste durchzuführen sind, wie für einen Fachmann beim Lesen der vorliegenden Beschreibungen ersichtlich wäre.
-
Gemäß mehreren Ausführungsformen können die Dienste einen oder mehrere dieser beinhalten: Firewall-Dienste, IPS, IDS, Server-Lastausgleichsdienste, VPN-Dienste, Videooptimierungsdienste und/oder WAN-Optimierungsdienste neben sonstigen Möglichkeiten. Bei einem Ansatz können die Dienste mehr als zwei der oben aufgeführten Dienste beinhalten.
-
In Vorgang 910 wird ein Tunnel für Pakete erzeugt, die eine Zieladresse in einem virtuellen Netzwerk aufweisen, und die bedienten inneren Pakete oder die bedienten Pakete werden mit einem Overlay-Header gekapselt, damit sie an eine Zieladresse in einem virtuellen Netzwerk vermittelt werden, und die gekapselten Pakete werden dorthin gesendet.
-
Dieser Vorgang kann mithilfe eines beliebigen Verfahrens durchgeführt werden, das einem Fachmann bekannt wäre. Auf diese Weise kann entweder das VON-Gateway, das INE oder die Overlay-Netzwerkeinheit als Abschluss- und Ausgangspunkt für Tunnel zu/von beliebigen virtuellen Netzwerken fungieren. Bei einem bevorzugten Ansatz kann die Overlay-Netzwerkeinheit in ein VON-Gateway integriert sein, und das VON-Gateway kann als Abschluss- und Ausgangspunkt für Tunnel zu/von beliebigen virtuellen Netzwerken fungieren.
-
Des Weiteren werden in Vorgang 912 jegliche Pakete, die an ein nichtvirtuelles Netzwerk vermittelt werden sollen, dorthin gesendet, ohne die Pakete mit einem Overlay-Header zu kapseln.
-
Gemäß einer weiteren Ausführungsform kann ein Computerprogrammprodukt zum Bereitstellen von Diensten für Netzwerkverkehr in einem virtuellen Overlay-Netzwerk ein computerlesbares Speichermedium (eines hierin beschriebenen Typs oder wie es einem Fachmann bekannt wäre, darunter nichttransitorische Medien) aufweisen, auf dem computerlesbarer Programmcode verkörpert ist. Der computerlesbare Programmcode weist computerlesbaren Programmcode, der so konfiguriert ist, dass er Netzwerkverkehr empfängt, der eine Mehrzahl von Paketen aufweist, computerlesbaren Programmcode, der so konfiguriert ist, dass er ermittelt, ob die Mehrzahl von Paketen einen Overlay-Header aufweisen, computerlesbaren Programmcode, der so konfiguriert ist, dass er einen Tunnel beendet und innere Pakete von Paketen entkapselt, die einen Overlay-Header aufweisen, computerlesbaren Programmcode, der so konfiguriert ist, dass er Dienste an der Mehrzahl von Paketen oder den entkapselten inneren Paketen durchführt, computerlesbaren Programmcode auf, der so konfiguriert ist, dass er alternativ: einen Tunnel erzeugt und die inneren Pakete oder die Mehrzahl von Paketen mit einem Overlay-Header kapselt, die an eine Zieladresse in einem virtuellen Netzwerk vermittelt werden sollen, und die gekapselten Pakete an das VON-Gateway sendet oder die bedienten Pakete an das VON-Gateway sendet, ohne die Pakete mit einem Overlay-Header zu kapseln, die an eine Zieladresse in einem nichtvirtuellen Netzwerk vermittelt werden sollen.
-
Bei einer weiteren Ausführungsform kann das Computerprogrammprodukt computerlesbaren Programmcode beinhalten, der so konfiguriert ist, dass er ACLs auf den Netzwerkverkehr anwendet, um festzustellen, dass Dienste an der Mehrzahl von Paketen durchgeführt werden sollen, bevor ermittelt wird, ob die Mehrzahl von Paketen einen Overlay-Header aufweisen. Bei einem noch weiteren Ansatz kann ein Typ eines Pakets, an dem Dienste durchgeführt werden, geändert werden, indem eine andere ACL angegeben wird, die auf den Netzwerkverkehr angewendet werden soll.
-
Oben sind zwar verschiedene Ausführungsformen beschrieben worden, es versteht sich jedoch, dass sie lediglich als Beispiel und nicht als Beschränkung dargestellt worden sind. Folglich sollen die Breite und der Umfang einer Ausführungsform der vorliegenden Erfindung nicht durch jegliche der oben beschriebenen beispielhaften Ausführungsformen beschränkt werden, sondern sie sollten nur in Übereinstimmung mit den folgenden Ansprüchen und ihren Entsprechungen definiert werden.