-
HINTERGRUND
-
Die vorliegende Offenbarung betrifft im Allgemeinen das Routen von Datenpaketen und insbesondere das Erstellen eines Netzwerkkommunikationspfads, der Datenpakete nur gemäß einer IPv4-Adressenroute statt einer IPv6-Adressenroute routet.
-
ALLGEMEINER STAND DER TECHNIK
-
Da IPv6 als zusätzliche Adressiermethode für Netzwerke installiert wird, wird es häufig parallel zu einer existierenden IPv4-Adressierung, die derzeit verwendet wird, installiert. Daraufhin werden den Netzwerkvorrichtungen, z.B. Routern oder Schaltern usw., zwei Adressen zugeteilt, z.B. eine IPv4-Netzwerkadresse und eine IPv6-Netzwerkadresse. Die Router werden durch die Notwendigkeit belastet, Routertabellen für die beiden Adressensätze zu pflegen, und die Routertabelleneinträge für IPv6 sind größer, weil die IPv6-Netzwerkadressen viermal so groß sind wie die IPv4-Netzwerkadressen. Diese größeren IPv6-Netzwerkadressen führen zum völligen Verbrauch eines verfügbaren Speichers für Routertabellen, was sich auf die Leistung des Netzwerks auswirkt und gegebenenfalls zum Verlust der Daten in dem Netzwerk führt.
-
Viele Kommunikationsnetzwerkfirmen wenden derzeit das IPv6-Netzwerkprotokoll auf ihre existierenden IPv4-Netzwerke an, um beide Netzwerkprotokolle parallel zu verwenden. Die Integration des IPv6-Netzwerkprotokolls in existierende IPv4-Netzwerke bedeutet eine zusätzliche Belastung für existierende Router, wozu häufig eine volle Routertabelle zu einer Firma gehört.
-
Aus der
US 2012/213 220 A1 sind Verfahren, Vorrichtungen, Computerspeichermedien, Mechanismen und/oder Mittel bekannt, die mit dem automatisierten Übergang zwischen verschiedenen Kommunikationsprotokollen in einem Netzwerk verbunden sind.
-
Die
US 2006/233 175 A1 beschreibt eine Netzwerkweiterleitungsvorrichtung zum selektiven Verteilen der weiterzuleitenden IP-Pakete zu einem Netzwerk mit weniger Verkehr für die Übertragung durch Überwachen des Verkehrs in den verschiedenen Netzwerken in Echtzeit.
-
Aus der
US 2007/198 735 A1 sind ein Verfahren und ein System zur Unterstützung des Ressourcenreservierungsprotokolls (RSVP) in einem Hybridnetzwerk mit Internetprotokollversion 4 (IPv4) / Internetprotokollversion 6 (IPv6) bekannt.
-
Aufgabe der vorliegenden Erfindung ist es ein verbessertes Verfahren, ein verbessertes System und ein verbessertes Computerprogrammprodukt zum Routen eines Datenpakets in einem Kommunikationsnetzwerk bereitzustellen.
-
Die Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein System gemäß Anspruch 10 und ein Computerprogrammprodukt gemäß Anspruch 19 gelöst. Die abhängigen Ansprüche stellen dabei vorteilhafte Weiterbildungen da.
-
KURZDARSTELLUNG
-
Es werden ein System, ein Verfahren und ein Computerprogrammprodukt zum Routen eines Datenpakets in einem Kommunikationsnetzwerk, das gemäß Netzwerkkommunikationsprotokollen funktioniert, bereitgestellt. Das System routet das Datenpaket zu einem Bestimmungsort über einen ersten Router, der eine Routertabelle umsetzt, die eine Adressenroute für Routerpakete eines ersten Netzwerkkommunikationsprotokolls und die eine Adressenroute zum Routen von Paketen eines zweiten Netzwerkkommunikationsprotokolls aufweist. Das System speichert in einem Ursprungs-Router in der Nähe des ersten Routers erste Netzwerkkommunikationsprotokolls-Adressenrouten in der Nähe des ersten Routers. Das System erstellt einen Netzwerkkommunikationspfad von dem Ursprungs-Router zu einem oder mehreren angrenzenden Routern, um nur die Datenpakete gemäß einer entsprechenden ersten Netzwerkkommunikationsprotokoll-Adressenroute zu routen. Das System erfasst, ob die Adressenroute des ersten Routers für Routerpakete des zweiten Netzwerkkommunikationsprotokolls Routen von beliebigen angrenzenden Routern umfassen. Das System aktualisiert die Routertabelle des ersten Routers, um die Adressenrouten des zweiten Netzwerkkommunikationsprotokolls zu irgendeinem angrenzenden Router zu entfernen. Das System routet das Datenpaket gemäß dem erstellten Netzwerkkommunikationspfad und der aktualisierten Routertabelle des ersten Routers.
-
Figurenliste
-
Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der nachstehenden ausführlichen Beschreibung ihrer erläuternden Ausführungsformen hervorgehen, die in Verbindung mit den beiliegenden Zeichnungen zu lesen ist. Es zeigen:
- 1 eine beispielhafte Netzwerkkonfiguration bei einer Ausführungsform;
- 2 eine beispielhafte Netzwerkkonfiguration, die einen Netzwerkkommunikationspfad erstellt, bei einer Ausführungsform;
- 3 ein Flussdiagramm, das Verfahrensschritte beschreibt, die von dem überlasteten Router ausgeführt werden, bei einer Ausführungsform;
- 4 ein Flussdiagramm, das Verfahrensschritte beschreibt, um einen Netzwerkkommunikationspfad zu erstellen, bei einer Ausführungsform;
- 5 ein Flussdiagramm für Verfahrensschritte, die von einem Zielrouter ausgeführt werden, bei einer Ausführungsform;
- 6 eine beispielhafte Netzwerkkonfiguration, die nach dem Erstellen des Netzwerkkommunikationspfads ausgeführt wird, bei einer Ausführungsform;
- 7 beispielhafte Computersysteme bei einer Ausführungsform; und
- 8 ein Flussdiagramm, das Verfahrensschritte zum Routen eines Datenpakets beschreibt, bei einer Ausführungsform.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die vorliegende Offenbarung löst das Problem des völligen Verbrauchs des Router-Speichers beim Routerbetrieb, die gemäß sowohl dem IPv4- als auch dem IPv6-Netzwerkkommunikationsprotokoll funktionieren, z.B. durch dynamisches Reduzieren der Anforderung für IPv6-Adressenrouten auf Zwischen-Routern zu speichern. Dies wird dadurch erreicht, dass ein oder mehrere Netzwerkkommunikationspfade zu anderen Routern erstellt wird bzw. werden, die in der Lage sind, diese Adressenrouten (z.B. IPv4- und IPv6-Netzwerkkommunikationspfade) innerhalb ihrer Routertabelle zu pflegen. In einer Routertabelle eines überlasteten Routers, dessen Kapazität der Routertabelle größer als eine Schwelle ist, werden IPv6-Adressenrouten entfernt, doch entsprechende IPv4-Adressenrouten werden nicht entfernt. Dieses Entfernen der IPv6-Adressenrouten aus der Routertabelle des überlasteten Routers ermöglicht es diesem überlasteten Router, weiter in einer IPv4- und IPv6-Umgebung zu funktionieren, ohne eine Aufrüstung für den überlasteten Router zu benötigen. Dieses Entfernen der IPv6-Adressenrouten aus der Routertabelle des überlasteten Routers ist anders als die aktuellen Verfahren der Routenzusammenfassung, die nicht dynamisch sind und welche die Fähigkeiten, die dadurch ermöglicht werden, dass man sowohl über IPv4-Adressenrouten als auch über IPv6-Adressenrouten verfügt, nicht unterstützen.
-
1 bildet eine beispielhafte Netzwerkkonfiguration 100 von Routern ab. Es werden mindestens fünf verschiedene Netzwerke 105, 110, 150, 155 und 160 bereitgestellt. Diesen werden mindestens sieben verschiedene Router 115, 120, 125, 130, 135, 140 und 145 bereitgestellt. Bei der beispielhaften Netzwerkkonfiguration 100 ist ein Router an mindestens ein Netzwerk angeschlossen. Die Router C 125 und D 130 sind Backbone-Router, die mit anderen Routern zusammengeschaltet sind, beispielsweise mit Routern, die eine weltweite Internet-Kommunikation ermöglichen. Die Router A bis G (115 bis 145) sind Schalter oder Netzwerkvorrichtungen.
-
Bei einer Ausführungsform weist eine Routertabelle des Routers G 145 eine IPv6-Adressenroute zu einem IPv6-Netzwerk G 150 auf, den der Router G 145 über die anderen Router A 115, B 120, D 130 und E 135, außer dem Router F 140, teilt. Wenn der Router C 125 bei dem Router G 145 anfragt, eine Umgehung für diese IPv6-Adressenroute einzurichten, fragt der Router G 145 bei den anderen Routern (A 115, B 120, D 130 und E 135) an, zuerst (falls noch nicht vorhanden) einen IPv4-Tunnel mit G 145 einzurichten. Der IPv4-Tunnel umfasst ohne Einschränkung: das Verkapseln eines Datenpakets, das unter Verwendung des IPv6-Netzwerkprotokolls formatiert wird, in einem anderen Datenpaket, das unter Verwendung des IPv4-Netzwerkprotokolls formatiert wird; und das Übertragen des anderen Datenpakets über einen angeschlossenen Netzwerkkommunikationspfad, der gemäß dem IPv4-Netzwerkprotokoll funktioniert. Der Router G 145 teilt die IPv6-Adressenroute direkt mit den Routern A 115, B 120, D 130 und E 135 über den IPv4-Tunnel: Die IPv6-Datenpakete, die zwischen den Routern A 115, B 120, D130, E 135 und G 145 zu übertragen sind, werden in einem oder mehreren IPv4-Datenpaketen verkapselt; und dann wird bzw. werden ein oder mehrere IPv4-Datenpakete über den angeschlossenen Netzwerkkommunikationspfad an entsprechende Bestimmungsorte übertragen. Sobald der IPv4-Tunnel eingerichtet wurde, fragt der Router G 145 bei dem Router C 125 an, die IPv6-Adressenroute aus der oder den Routertabellen des Routers C 125 zu entfernen (d.h. den IPv6-Adressenrouter aus einem Speicher oder einer Speichervorrichtung des Routers C 125 zu entfernen).
-
8 bildet ein Flussdiagramm ab, das Verfahrensschritte zum Wegleiten des Datenpakets in einem Kommunikationsnetzwerk und zum Verhindern des völligen Verbrauchs des Speichers eines überlasteten Routers, der durch eine zunehmende Routentabellengröße des überlasteten Routers verursacht wird, bei einer Ausführungsform beschreibt. 2 bildet eine beispielhafte Netzwerkkonfiguration 200 ab, über die ein Datenpaket geleitet wird. Zurück zu 8 leitet ein Computersystem ein Datenpaket zu einem Bestimmungsort über einen ersten Router (z.B. einen überlasteten Router 125 usw.). Der erste Router setzt eine Routertabelle um, die Adressenrouten zum Routen von Paketen eines ersten Netzwerkkommunikationsprotokolls (z.B. IPv4 usw.) und Adressenrouten zum Routen von Paketen eines zweiten Netzwerkkommunikationsprotokolls (z.B. IPv6 usw.) aufweist. Beispiele des Computersystems umfassen ohne Einschränkung: eine Arbeitsstation, ein paralleles Computersystem, einen Laptop-Computer, einen Desktop-Computer usw. Bei 805 speichert ein Ursprungs-Router (z.B. der Ursprungs-Router 145 usw.) in der Nähe des ersten Routers Adressen des ersten Netzwerkkommunikationsprotokolls die Routen in der Nähe des ersten Routers routen.
-
Bei 810 erstellt der Ursprungs-Router einen Netzwerkkommunikationspfad von dem Ursprungs-Router zu einem oder mehreren angrenzenden Routern, z.B. den Routern A und B 115 und 120 und den Routern E bis G 135 bis 145 usw., zu dem ersten Router. Bei einer Ausführungsform umfasst das Erstellen des Netzwerkkommunikationspfads ohne Einschränkung: das Verkapseln eines Datenpakets unter Verwendung des zweiten Netzwerkkommunikationsprotokolls in einem anderen Datenpaket, das unter Verwendung des ersten Netzwerkkommunikationsprotokolls formatiert wird. Um den Netzwerkkommunikationspfad zu erstellen, überprüft der Ursprungs-Router, ob es am Ursprungs-Router eine Adressenroute des ersten Netzwerkkommunikationsprotokolls gibt, die jeder Adressenroute des zweiten Netzwerkkommunikationsprotokolls entspricht.
-
Der Ursprungs-Router leitet die Datenpakete nur gemäß einer Adressenroute des ersten Netzwerkkommunikationsprotokolls. Der Ursprungs-Router richtet das Datenpaket von dem ersten Router auf einen der angrenzenden Router über die Adressenroute des ersten Netzwerkkommunikationsprotokolls. Bei 815 erkennt der Ursprungs-Router, ob die Adressenrouten des ersten Routers zum Routen von Paketen des zweiten Netzwerkkommunikationsprotokolls Routen zu einem beliebigen Router in der Nähe des ersten Routers umfassen. Bei 820 aktualisiert der Ursprungs-Router die Routertabelle des ersten Routers, um die Adressenrouten des zweiten Netzwerkkommunikationsprotokolls zu den angrenzenden Routern zu entfernen. Die entfernten Adressenrouten des zweiten Netzwerkkommunikationsprotokolls, die in der Routertabelle des ersten Routers gespeichert sind, sind einer oder mehrere von: (1) am wenigsten verwendeten Adressenrouten des zweiten Netzwerkkommunikationsprotokolls; (2) Adressenrouten zwischen den angrenzenden Routern, die sowohl Adressenrouten des zweiten Netzwerkkommunikationsprotokolls als auch Adressenrouten des ersten Netzwerkkommunikationsprotokolls an den ersten Router gesendet haben; und (3) einem oder mehreren Adressenrouten, der bzw. die von einem angrenzenden Router über ein Routerprotokoll empfangen wurde(n). Bei 825 routet der erste Router das Datenpaket gemäß dem erstellten Netzwerkkommunikationspfad und der aktualisierten Routertabelle des ersten Routers. Der Ursprungs-Router kann direkt mit den Routern in der Nähe des ersten Routers kommunizieren. Bei einer Ausführungsform ist das erste Netzwerkprotokoll IPv4, und das zweite Netzwerkprotokoll ist IPv6.
-
Bei einer Ausführungsform vergleicht der erste Router eine Speicherverwendung des ersten Routers mit einem Schwellenwert. Der erste Router verwendet den erstellten Netzwerkkommunikationspfad, falls die Speicherverwendung größer als der Schwellenwert ist. Bei einer Ausführungsform deaktiviert der erste Router den erstellten Netzwerkkommunikationspfad, falls die Speicherverwendung des ersten Routers kleiner als der Schwellenwert ist. Der erste Router deaktiviert den erstellten Netzwerkkommunikationspfad, nachdem ein vorbestimmter Zeitraum verstrichen ist, seit der erstellte Netzwerkkommunikationspfad verwendet wurde.
-
Bei einer weiteren Ausführungsform empfängt der erste Router eine Quittierung der Erstellung des Netzwerkkommunikationspfads von dem Ursprungs-Router. Beim Empfang der Quittierung der Erstellung des Netzwerkkommunikationspfads quittiert der erste Router das Entfernen der Adressenrouten des zweiten Netzwerkkommunikationsprotokolls aus seiner Routertabelle.
-
Falls der Empfang der Quittierung der Erstellung des Netzwerkkommunikationspfads über einen vorbestimmten Zeitraum fehlschlägt, bestimmt der erste Router, dass der Ursprungs-Router den Netzwerkkommunikationspfad nicht erstellen kann. Falls der Empfang der Quittierung der Erstellung des Netzwerkkommunikationspfads über den vorbestimmten Zeitraum fehlschlägt, wählt der erste Router einen anderen angrenzenden Router aus, um einen oder mehrere Adressenrouten des zweiten Netzwerkkommunikationsprotokolls, die in dem ersten Router gespeichert sind, zu umgehen.
-
2 bildet eine beispielhafte Netzwerkkonfiguration 200 ab, die den überlasteten Router C 125 und die Umgehungsziel-Router A-B, D und E 115-120, 130 und 145 umfasst. In dem Maße wie sich eine Routertabelle des überlasteten Routers C 125 füllt, entfernt der überlastete Router C 125 einen oder mehrere IPv6-Adressenrouten, der bzw. die auf seiner Routertabelle entfallen soll(en). Der überlastete Router C 125 kommuniziert mit den angrenzenden Routern (auch als Umgehungsziel-Router bezeichnet) A-B (115-120) und D-E (130-135) nur über eine IPv4-Adressenroute, d.h. den erstellten Kommunikationsnetzwerkpfad (auch Umgehungstunnelverbindung genannt). Der Router G 145 richtet die Umgehungstunnelverbindung ein, die ein Datenpaket unter Verwendung des IPv4-Netzwerkkommunikationsprotokolls statt des IPv6-Netzwerkkommunikationsprotokolls überträgt, nachdem die IPv6-Adressenrouten aus der Routertabelle des überlasteten Routers C 125 entfernt wurden. Der Ursprungs-Router G 145 kann andere Router darüber benachrichtigen, welcher Router direkt mit einem anderen kommunizieren kann, z.B. durch Senden einer elektronischen Benachrichtigung, welche die anderen Router auffordert, eine direkte Kommunikationsverbindung herzustellen.
-
Wenn die Routertabellengröße des überlasteten Routers C 125 einen zuvor eingestellten Schwellenwert erreicht, wählt der überlastete Router C 125 eine IPv6-Adressenroute aus, der von einem oder mehreren angrenzenden Routern empfangen wird, der gelöscht werden kann, um die Speicherverwendung des überlasteten Routers C 125 zu verringern. Die zu löschenden IPv6-Adressenrouten werden basierend auf Faktoren ausgewählt, die dem überlasteten Router C 125 bekannt sind. Diese Faktoren umfassen ohne Einschränkung: (1) die am wenigsten verwendete IPv6-Adressenroute in einer Routertabelle des überlasteten Routers C 125; (2) Adressenrouten zwischen angrenzenden Routern, die dem überlasteten Router C 125 sowohl IPv6- als auch IPv4-Adressenrouten angeboten haben; (3) Adressenrouten, die von einem angrenzenden Router über ein dynamisches Routerprotokoll (z.B. OSPF, BGP) empfangen wurden; (4) die kostspieligsten Netzwerkkommunikationspfade, z.B. mit der größten Anzahl von Sprüngen zwischen dem überlasteten Router und einem Ziel-Router; und (5) die Priorität der Netzwerkkommunikationspfade, z.B. QoS-Einstellungen.
-
Bei einer Ausführungsform leitet der überlastete Router C 125 eine Anfrage an einen angrenzenden Router ein, der ein Ursprung eines IPv6-Routings ist (d.h. der Ursprungs-Router G 145), um Umgehungstunnel zu erstellen. Die Anfrage an den Ursprungs-Router G 145 umfasst die IPv4-Adresse jedes der Router in der Nähe des überlasteten Routers C 125, der IPv6-Adressenrouten von den Umgehungsziel-Routern (auch als Router in der Nähe des ersten Routers bezeichnet) A-B (115-120) und D-E (130-135) empfängt. Der überlastete Router C 125 wartet auf eine Quittierung der Erstellung der Umgehungstunnel von dem Ursprungs-Router G 145, bestätigt das Entfernen der IPv6-Adressenrouten aus der Routertabelle des überlasteten Routers C 145, wiederholt dann das Entfernen der IPv6-Adressenrouten aus der Routertabelle des überlasteten Routers, bis die Speicherverwendung des überlasteten Routers C 125 unter den Schwellenwert absinkt. Sollte es dem Ursprungs-Router G 145 nicht gelingen, die Erstellung der Umgehungstunnel zu quittieren, wird der Ursprungs-Router G 145 als zeitweilig unfähig, an der Erstellung der Umgehungstunnelverbindung teilzunehmen, markiert. Ein anderer angrenzender Router wird für die Erstellung der Umgehungstunnelverbindung ausgewählt.
-
3 bildet Verfahrensschritte ab, die von dem überlasteten Router C 125 ausgeführt werden. Wenn die Schwelle überschritten wird, löscht der überlastete Router C 125 die IPv6-Adressenrouten in der Routertabelle. Der überlastete Router C 125 verarbeitet nur IPv4-Netzwerkadressen, keine IPv6-Netzwerkadressen.
-
Bei 305 beurteilt der überlastete Router C 125, ob seine Speicherverwendung über einem Schwellenwert liegt, z.B. auf Grund einer vollen Kapazität der entsprechenden Routertabelle. Falls die Speicherverwendung über dem Schwellenwert liegt, sendet der überlastete Router C 125 eine Anfrage, um die Umgehungstunnelverbindung zu dem Ursprungs-Router G 145 zu erstellen. Wenn bei 310-315 eine Anfrage von dem überlasteten Router C 125 empfangen wird, beurteilt der Ursprungs-Router G 145, ob die Umgehungstunnelverbindung für jeden Umgehungsziel-Router vorhanden ist. Falls keine Umgehungstunnelverbindung vorhanden ist, wird eine neue Umgehungstunnelerstellung versucht. Der überlastete Router C 125 identifiziert die IPv6-Routeradressen, die auf seine Routertabelle entfallen sollen. Dann leitet der überlastete Router C 125 Schritt 400 in 4 ein, wobei der Ursprungs-Router G 145 die Umgehungstunnelverbindung erstellt. Nachdem die Umgehungstunnelverbindung für jeden der Umgehungsziel-Router erfolgreich beendet wurde, beurteilt der überlastete Router C 125 bei 320, wann der Ursprungs-Router G 145 eine positive Quittierung an den überlasteten Router C 125 gesendet hat. Bei 325 empfängt der überlastete Router C 125 die positive Quittierung der Erstellung der Umgehungstunnelverbindung. Falls es dem Ursprungs-Router G 145 bei 330 nicht gelingt, die Umgehungstunnelverbindung einzurichten, benachrichtigt der Ursprungs-Router G 145 den überlasteten Router C 125 bei 330 darüber, dass die Erstellung der Umgehungstunnelverbindung nicht durchgeführt werden kann. Und der Ursprungs-Router G 145 sendet eine negative Quittierung an den überlasteten Router C 125 zurück. Der Ursprungs-Router G 145 führt Schritt 460 in 4 aus. Beim Empfang der negativen Quittierung von dem Ursprungs-Router G 145 markiert der überlastete Router C 125 den Ursprungs-Router G 145 als zeitweilig unfähig, die Umgehungstunnelverbindung zu erstellen.
-
4 bildet ein Flussdiagramm ab, das Verfahrensschritte zum Erstellen einer Umgehungstunnelverbindung bei einer Ausführungsform beschreibt. Der Ursprungs-Router G 145 kommuniziert mit den angrenzenden Routern des überlasteten Routers C 125. Der angrenzende Router G 145 verwendet nur IPv4-Routeradressen. Nachdem er Schritt 315 in 2 ausgeführt hat, beurteilt der Ursprungs-Router G 145 bei 400, ob der Ursprungs-Router G 145 eine elektronische Benachrichtigung, z.B. als Text, E-Mail usw., für die Erstellung der Umgehungstunnelverbindung von dem überlasteten Router C 125 empfängt. Bei 410 beurteilt der Ursprungs-Router G 145, ob die Umgehungstunnelverbindung vorhanden ist. Falls keine Umgehungstunnelverbindung vorhanden ist, beurteilt der Ursprungs-Router G 145 bei 420, ob die Möglichkeit besteht, eine Umgehungstunnelverbindung zu erstellen. Falls die Möglichkeit besteht, die Umgehungstunnelverbindung zu erstellen, erstellt der Ursprungs-Router G 145 bei 425 die Umgehungstunnelverbindung von dem überlasteten Router C 125 zu dem Router in der Nähe des Ursprungs-Routers G 145. Dann führt der Ursprungs-Router G Schritt 500 in 5 aus, wobei die Erstellung der Umgehungstunnelverbindung eingeleitet wird. Der Ursprungs-Router G 145 fügt die erstellte Umgehungstunnelverbindung zu dem Netzwerk 200 hinzu. Der Ursprungs-Router G 145 leitet die Erstellung der Umgehungstunnelverbindung ein und erstellt die Umgehungstunnelverbindung, z.B. durch Routen der Datenpakete über IPv4-Netzwerkadressen statt über IPv6-Netzwerkadressen. Bei 430 meldet der Ursprungs-Router G 145, dass die Umgehungstunnelverbindung erstellt wurde. Dann führt der Ursprungs-Router G 145 Schritt 520 in 5 aus, wobei der überlastete Router die Benachrichtigung über die Erstellung der Umgehungstunnelverbindung empfängt. Der Ursprungs-Router G 145 führt Schritt 530 in 5 aus, wobei der Ursprungs-Router G 145 die erstellte Umgehungstunnelverbindung zu dem Netzwerk 200 hinzufügt, z.B. durch Routen der Datenpakete über IPv4-Netzwerkadressen und nicht über IPv6-Netzwerkadressen. Bei 440 beurteilt der Ursprungs-Router G 145, ob die Umgehungstunnelverbindung erfolgreich erstellt wurde. Falls bei 460 der Ursprungs-Router G 145 meldet, dass die Umgehungstunnelverbindung nicht erfolgreich erstellt wurde, entfernt der Ursprungs-Router G 145 die Anfrage für die Erstellung der Umgehungstunnelverbindung. Der Ursprungs-Router G 145 sendet eine negative Quittierung an den überlasteten Router C 125. Dann führt der Ursprungs-Router G 145 Schritt 330 in 3 aus. Falls die Umgehungstunnelverbindung erfolgreich hinzugefügt wurde, beurteilt der überlastete Router C 125 bei 480, ob es zusätzliche Umgehungsziel-Router gibt. Der überlastete Router C 125 wiederholt die Verfahrensschritte in 4 für jeden Umgehungsziel-Router. Falls kein zusätzlicher Umgehungsziel-Router vorhanden ist, sendet der Ursprungs-Router G 145 bei 490 die Quittierung des Entfernens der Benachrichtigung an den überlasteten Router C 125.
-
5 bildet ein Flussdiagramm ab, das Verfahrensschritte beschreibt, die von einem Umgehungsziel-Router ausgeführt werden, z.B. von dem Umgehungsziel-Router B 120 in 2. Bei 425 in 4 erstellt der Ursprungs-Router G 145 die Umgehungstunnelverbindung. Bei 500 in 5 beurteilt der Umgehungsziel-Router B 120, ob der Umgehungsziel-Router B 120 eine Anfrage zum Erstellen einer Umgehungstunnelverbindung empfängt, d.h. eines Netzwerkkommunikationspfads, der ein oder mehrere Datenpakete gemäß dem IPv4-Netzwerkkommunikationsprotokoll routet, indem er IPv6-Netzwerkadressen aus der Routertabelle des überlasteten Routers C 125 löscht. Falls der Umgehungsziel-Router B 120 die Anfrage zum Erstellen der Umgehungstunnelverbindung empfängt, leitet der Umgehungsziel-Router B 120 bei 510 das Erstellen der Umgehungstunnelverbindung ein. Dann führt der Ursprungs-Router Schritt 430 in 4 aus, wobei der Ursprungs-Router G 145 dem Umgehungsziel-Router B 120 das IPv6-Routen anbietet. Bei 520 beurteilt der Umgehungsziel-Router B 120, ob der Umgehungsziel-Router B 120 die Benachrichtigung einer IPv6-Adressenroute von dem Ursprungs-Router G 145 empfangen hat. Falls der Umgehungsziel-Router B 120 die Benachrichtigung empfängt, fügt der Umgehungsziel-Router B 120 bei 530 die IPv6- Adressenroute zu dem Netzwerk 200 hinzu. Falls die IPv6-Adressenroute erfolgreich zum Netzwerk 200 hinzugefügt wurde, sendet der Umgehungsziel-Router B 120 bei 530 eine Quittierung der Hinzufügung der IPv6-A Adressenroute an den Ursprungs-Router G 145. Falls die IPv6- Adressenroute nicht erfolgreich zum Netzwerk 200 hinzugefügt wurde, sendet der Umgehungsziel-Router B 120 bei 530 eine negative Quittierung an den Ursprungs-Router G 145. Dann bei 440-480 in 4 beurteilt der Ursprungs-Router G 145, ob es einen zusätzlichen Umgehungsziel-Router gibt, der die IPv6- Adressenroute von dem Ursprungs-Router G 145 empfängt.
-
6 bildet eine beispielhafte Netzwerkkonfiguration 600 ab. Nachdem der Ursprungs-Router G 145 die Umgehungstunnelverbindung(en) erstellt hat, gibt es vier verschiedene Umgehungstunnelverbindungen 105-120. Der überlastete Router C 125 erkennt die IPv6-Datenpakete nicht, sondern erkennt die IPv4-Datenpakete. Die Erstellung der Umgehungstunnelverbindung verursacht kein Speicherkapazitätsproblem in einem Backbone-Router, z.B. dem Router C 125 in 1. Die Umgehungstunnelverbindung reduziert den Speicherbedarf für den überlasteten Router C 125. Beispielsweise nachdem die Umgehungstunnelverbindung eingerichtet wurde, kann der überlastete Router C 125 eine oder mehrere IPv6-Adressenrouten aus der oder den Routertabellen des überlasteten Routers C 125 entfallen lassen. Da alle IPv4- Adressenrouten bereits in dem Speicher (oder der Routertabelle) des überlasteten Routers vorhanden sein können, kann es sein, dass der überlastete Router C 125 die Umgehungstunnelroute nicht bemerkt. Der überlastete Router C 125 verarbeitet und überträgt nur IPv4-Datenpakete, die IPv6-Datenpakete verkapseln können, auf IPv4- Adressenrouten, die mit dem überlasteten Router C 125 verbunden sind.
-
Bei einer Ausführungsform können die in 3 bis 5 gezeigten Verfahren als Hardware auf einer umkonfigurierbaren Hardware umgesetzt werden, z.B. einer FPGA (frei programmierbaren logischen Anordnung) oder einer CPLD (komplexen programmierbaren logischen Schaltung), unter Verwendung einer Hardware-Beschreibungssprache (Verilog, VHDL, Handel-C oder System C). Bei einer anderen Ausführungsform kann das in 1 gezeigte Verfahren auf einem Halbleiter-Chip umgesetzt werden, z.B. einer ASIC (anwendungsspezifischen integrierten Schaltung) unter Verwendung einer Semi-Custom-Design-Methodik, d.h. Auslegen eines Halbleiter-Chips unter Verwendung von Standardzellen und einer Hardware-Beschreibungssprache.
-
Obwohl die Erfindung insbesondere mit Bezug auf erläuternde und bevorzugte Ausführungsformen derselben gezeigt und beschrieben wurde, wird der Fachmann verstehen, dass die vorstehenden und andere Änderungen an Form und Einzelheiten hier vorgenommen werden können, ohne Geist und Umfang der Erfindung zu verlassen, die nur durch den Umfang der beiliegenden Ansprüche einzuschränken sind.
-
Alle Kombinationen von einem oder mehreren computerlesbaren Medien können verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise ohne Einschränkung ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder Halbleitersystem, ein Gerät oder eine Vorrichtung oder eine beliebige geeignete Kombination derselben sein. Genauere Beispiele (eine nicht erschöpfende Liste) des computerlesbaren Speichermediums würden Folgendes umfassen: eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Festspeicher (ROM), einen löschbaren programmierbaren Arbeitsspeicher (EPROM oder Flash-Speicher), eine tragbare CD (CD-ROM), eine optische Speichervorrichtung, eine magnetische Speichervorrichtung oder eine beliebige geeignete Kombination derselben. Im Kontext der vorliegenden Druckschrift kann ein computerlesbares Speichermedium ein beliebiges materielles Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einem Gerät oder einer Vorrichtung zum Ausführen von Anweisungen enthalten oder speichern kann.
-
Ein computerlesbares Signalmedium kann ein verbreitetes Datensignal umfassen, in dem computerlesbarer Programmcode, beispielsweise im Basisband oder als Teil einer Trägerwelle, ausgebildet ist. Ein derartiges verbreitetes Signal kann viele verschiedene Formen annehmen, wozu ohne Einschränkung eine elektromagnetische, optische Form oder eine beliebige geeignete Kombination davon gehört. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einem Gerät oder einer Vorrichtung zum Ausführen von Anweisungen mitteilen, verbreiten oder transportieren kann.
-
Programmcode, der auf einem computerlesbaren Medium ausgebildet ist, kann unter Verwendung eines beliebigen geeigneten Mediums, einschließlich ohne Einschränkung eines drahtlosen, eines drahtgebundenen, eines Glasfaserkabels, einer HF usw. oder einer beliebigen geeigneten Kombination derselben übertragen werden.
-
Computerlesbarer Programmcode zum Ausführen von Vorgängen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen verfasst sein, wozu eine objektorientierte Programmiersprache, wie etwa Java, Smalltalk, C++ oder dergleichen, und herkömmliche prozedurale Programmiersprachen, wie etwa die Programmiersprache „C“ oder ähnliche Programmiersprachen gehören. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als unabhängiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem Remote-Computer oder vollständig auf dem Remote-Computer oder Server ausgeführt werden. In letzterem Fall kann der Remote-Computer an den Computer des Benutzers über eine beliebige Art von Netzwerk angeschlossen sein, wozu ein lokales Netzwerk (LAN) oder ein Großraumnetzwerk (WAN) gehört, oder die Verbindung kann mit einem externen Computer (z.B. über das Internet unter Verwendung eines Internet-Anbieters) hergestellt werden.
-
Nachstehend werden die Aspekte der vorliegenden Erfindung mit Bezug auf Flussdiagramme und/oder Blockdiagramme von Verfahren, Geräten (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Flussdiagramme und/oder der Blockdiagramme und Kombinationen von Blöcken in den Flussdiagramme und/oder den Blockdiagrammen durch Computerprogrammanweisungen umgesetzt werden kann. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines spezifischen Computers oder einem anderen programmierbaren Datenverarbeitungsgerät bereitgestellt werden, um eine Maschine zu ergeben, so dass die Anweisungen, die über den Prozessor des Computers oder eines anderen programmierbaren Datenverarbeitungsgeräts ablaufen, Mittel erstellen, um die Funktionen/Aktionen umzusetzen, die in dem Block oder den Blöcken des Flussdiagramms und/oder des Blockdiagramms vorgegeben sind. Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, ein anderes programmierbares Datenverarbeitungsgerät oder andere Vorrichtungen anleiten kann, auf eine bestimmte Art und Weise zu funktionieren, so dass die Anweisungen, die in der Speichervorrichtung gespeichert sind, ein Produkt ergeben, das Anweisungen umfasst, welche die Funktion/Aktion umsetzen, die in dem Block oder den Blöcken des Flussdiagramms und/oder des Blockdiagramms vorgegeben ist.
-
Die Computerprogrammanweisungen können auch auf einen Computer, ein anderes programmierbares Datenverarbeitungsgerät oder andere Vorrichtungen geladen werden, um zu bewirken, dass eine Reihe von Betriebsschritten auf dem Computer, einem anderen programmierbaren Gerät oder anderen Vorrichtungen ausgeführt wird, um einen computerumgesetzten Prozess zu ergeben, so dass die Anweisungen, die auf dem Computer oder einem anderen programmierbaren Gerät ablaufen, Prozesse bereitstellen, um die Funktionen/Aktionen umzusetzen, die in dem Block oder den Blöcken des Flussdiagramms und/oder des Blockdiagramms vorgegeben sind.
-
Die Flussdiagramme und/oder Blockdiagramme in den Figuren bilden die Architektur, Funktionalität und die Betätigung möglicher Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß diversen Ausführungsformen der vorliegenden Erfindung ab. In dieser Hinsicht kann jeder Block in den Flussdiagramme und/oder Blockdiagrammen ein Modul, ein Segment oder einen Codeabschnitt darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zum Umsetzen der vorgegebenen logischen Funktion(en) umfasst. Es sei ebenfalls zu beachten, dass bei einigen alternativen Umsetzungen die in dem Block erwähnten Funktionen in einer anderen Reihenfolge als in den Figuren erwähnt erfolgen können. Beispielsweise können zwei Blöcke, die nacheinander gezeigt sind, eigentlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach der betreffenden Funktionalität. Es sei ebenfalls zu beachten, dass jeder Block der Blockdiagramme und/oder der Flussdiagramme und Kombinationen von Blöcken in den Blockdiagrammen und/oder den Flussdiagramme mit speziellen Systemen auf Hardware-Basis, welche die vorgegebenen Funktionen oder Aktionen ausführen, oder mit Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden kann.