-
Die
vorliegende Erfindung betrifft Kommunikation in einem Kommunikationsnetz,
das verschiedene miteinander verbundene Netze einschließt. Insbesondere
betrifft die vorliegende Erfindung ein Verfahren und ein Überlagerungsnetz
bzw. Overlay-Netz oberhalb des Kommunikationsnetzes und ein Computerprogramm,
das entworfen ist zum Bereitstellen des Managements der Routing-Information.
Speziell behandelt die Erfindung das Routing durch solche Overlay-Netze.
-
BESCHREIBUNG
DES STANDES DER TECHNIK
-
Ein
INTERNET ist irgendein Satz von Netzen, die miteinander über Router
verbunden sind. Das INTERNET ist das größte Beispiel eines Internets.
Ein Internet kann über
Drahtleitungsverbindungen oder über
Luftschnittstellen wie zum Beispiel mit Hilfe von Kurzbereichsfunkwellen
wie Bluetooth oder ein mobiles Netz funktionieren.
-
Das
Internet ist das weltweit durchverbundene, auf der TCP/IP-Protokollfamilie
basierende WAN bzw. Weitbereichsnetz. Das komplexe Problem des Routings
in großen
Netzen kann durch Strukturieren eines Netzes in eine Hierarchie
kleinerer Netze vereinfacht werden, wobei jede Ebene für ihr eigenes Routing
zuständig
ist. Im Wesentlichen hat das INTERNET drei Ebenen:
Die Backbones
bzw. Weitverkehrsnetze, die mittleren Ebenen und die Stichleitungsnetze
bzw. Stub-Netze. Die Backbone- bzw.
Weitbereichsnetze wissen, wie zwischen den mittleren Ebenen ein
Routing auszuführen
ist, die mittleren Ebenen wissen, wie ein Routing zwischen den Stichleitungsnetzen
auszuführen ist
und jedes Stichleitungsnetz (das ein autonomes System ist) weiß, wie internes
Routing auszuführen ist.
-
Alle
miteinander verbundenen Netze schließen einen oder mehrere miteinander
verbundene Knoten ein. Kommunikation zwischen zwei Knoten des INTERNET
wird durch Übertragen
von in Paketen organisierten Digitaldaten zwischen den beiden Knoten
erreicht. Die Netzschicht (network layer) des Internet-Protokolls
ist sehr leistungsfähig
beim Handhaben von Benutzerpaketen, die in irgendeinem Quellenknoten
und irgendeinem Zielknoten über
das INTERNET unter Verwendung von Zwischen-Internet-Bereichen wandern,
welche unterschiedliche Technologien und getrennte Verwaltung haben.
Dies wird dadurch erreicht, dass die vollständige Kontrolle, wie die Pakete
zu leiten bzw. routen sind, an die Netze gegeben wird, die eingebunden
sind und durch leichtes Zugreifbarmachen der jedem Paket zugeordneten
Adressen. Dies impliziert, dass der Benutzer nicht leicht das Routing
seiner Pakete beeinflussen kann und dass die Pakete offen sind für die Analyse und
Manipulation durch Abfangende. In der vorliegenden Beschreibung
bezieht sich der Begriff "Benutzer" auf einen Pakete
sendenden und empfangenen Computer.
-
Das
Internet-Protokoll (IP) spezifiziert formal das Format von Internet-Paketen,
die Datagramme genannt werden, und verkörpert informell die Idee der
verbindungslosen Zustellung. Verbindungslose Zustellung bedeutet,
dass in einer Folge von Paketen zwischen zwei Teilnehmern jedes
Paket unabhängig geroutet
und weitergeleitet wird. Verbindungsbasierte Zustellung bedeutet,
dass es zuerst eine Verbindungseinrichtungsphase gibt, in der eine
Weiterleitungsstrecke (Weiterleitungspfad) eingerichtet wird. Pakete
werden dann entlang dieses Pfades weitergeleitet, bis eine Kommunikation
beendet ist. Die Verbindung wird dann ausgelöst. Analog zu einem physikalischen
Rahmen ist das IP-Datagramm
aufgeteilt in Kopf- bzw. Header- und Daten-Bereiche. Neben anderen Informationen
enthält
der Datagramm- Header
die Quellen- und Ziel-IP-Adressen, eine Fragmentierungssteuerung,
eine Rangfolge und eine Prüfsumme,
die verwendet wird zum Erfassen von Sendefehlern. Neben Feldern
mit festgelegter Länge (Festlängenfelder)
kann jeder Datagramm-Header mindestens ein Optionsfeld einschließen. Das
Optionsfeld ist von variabler Länge
abhängig
von der Anzahl und dem Typ der verwendeten Optionen sowie der Größe des jeder
der Optionen zugeordneten Datenbereichs. In einem beispielhaften
Internet-Protokoll, das IP genannt wird, ist jedem Knoten im Internet
eine Internet-Adresse zugeordnet, die einzigartig ist über das
gesamte Internet. Ein ein Paket empfangender Knoten kann die Quellen-
und Zielknoten durch Überprüfen der
in dem Header gespeicherten IP-Adressen identifizieren.
-
Für weitere
Information bezüglich
eines Internets siehe Information Sciences Institute, RFC 791 "Internet Protocol", September 1991.
Die IP-Adressen werden in hierarchischer Weise zugeordnet; die Internet-Adresse
jedes Knotens enthält einen
Adressenabschnitt, der das Sub-Netz des Knotens angibt, und einen
innerhalb des Sub-Netzes gültigen
Host-Abschnitt, der einen speziellen Host oder Router identifiziert
und zwischen den individuellen Knoten innerhalb eines speziellen
Sub-Netzes unterscheidet.
-
Der
Gedanke des Schichtens ist grundlegend beim Protokoll-Entwurf, weil er
ein Konzeptrahmenwerk für
den Protokoll-Entwurf
bereitstellt. In einem geschichteten Modell behandelt jede Schicht
einen Teil des Kommunikationsproblems und entspricht gewöhnlich einem
Protokoll. Protokolle folgen dem Schichtungsprinzip, welches festlegt,
dass die Softwareimplementierende Schicht "n" auf
der Ziel-Maschine exakt empfängt,
was die Software-implementierende Schicht "n" auf
der Quellenmaschine sendet. In der Praxis verwendet Protokoll-Software das
Multiplexen und Demultiplexen zum Unterscheiden zwischen mehreren
Protokollen innerhalb einer gegebenen Schicht, was die Protokoll-Software
komplexer macht als das geschichtete Modell suggeriert.
-
Das
Internet-Protokoll (IP) stellt eines der beiden Hauptprotokolle
dar, die bei Internetworking bzw. dem Zusammenarbeiten zwischen
Netzen verwendet werden. Ein Benutzer betrachtet das Internet als
ein einzelnes virtuelles Netz, das alle Hosts miteinander verbindet
und durch welches eine Kommunikation möglich ist; seine unterlagerte
Architektur ist sowohl versteckt als auch irrelevant. Konzeptionell stellt
ein IP-Internet drei Sätze
von Diensten in drei abhängigen
Schichten bereit. Die drei Schichten werden unten genauer offenbart.
-
In 2 werden
die drei Schichten eines IP-Stapel-Internets gemäß dem Stand der Technik dargestellt;
ihre Anordnung in 2 suggeriert die Abhängigkeit
unter ihnen. Bei der niedrigsten Schicht 1 stellt ein verbindungsloser
Zustellungsdienst eine Grundlage bereit, auf der alles ruht. Bei
der nächsten Schicht 2 stellt
ein Transportdienst eine höhere
Plattform bereit, von der Anwendungsdienste abhängen. D.h., Internet-Software
wird um drei konzeptionelle hierarchisch angeordnete Netzdienste
herum entworfen.
-
Ein
Nachteil des konventionellen Internet ist, dass nur eine spezifische
Art von Routing, z.B. hierarchisches Routing, leicht durch die derzeitige
Paketstruktur und das Paket-Übertragungsprotokoll
unterstützt
wird. Das Routing wird definiert durch Protokolle zwischen Routern.
Das resultierende Routing ist durch den Sender weder steuerbar noch
vorhersagbar. Demnach erlaubt es das konventionelle Internet nicht
leicht einem Quellenknoten, die gesamte Route oder die Weise, über die
ein Paket zu routen ist, zu spezifizieren. Auch ist es nicht einfach
für einen
Benutzer, ein Paket über
eine alternierende Abfolge von Knoten umzulenken, beispielsweise,
um die erforderliche Dienstequalität im Internet zu erhalten.
D.h., Richtlinien-Routing
wird durch Netze ausgeführt
und nicht durch Benutzer.
-
Zweitens
werden die Quellen- und Zielknotenidentifikations-, die Routing-
und die Pakethandhabungsfunktionen in dem konventionellen Internet
beliebig ausgeführt.
Beispielsweise, wenn eine spezifische Dienstequalität in dem
Paket erforderlich ist, die sich durch eine niedrige Verzögerung unterscheidet, ist
es schwierig, vorherzusagen, ob ein Knoten das Paket mit einer geringen
Verzögerung
behandeln wird oder das Paket entlang einer Strecke mit geringer
Verzögerung
routen wird, um eine Niedrigverzögerung
zu erreichen.
-
Im
Wesentlichen ist das Internet ein Übertrager von Verkehr von einem
Punkt zu einem anderen und der verfolgte Pfad zwischen diesen beiden
Punkten ist in hohem Maße
eine Entscheidung von ungebundenen Netzen und außerhalb der Kontrolle des Benutzers.
Es gibt jedoch Situationen, in denen es wünschenswert wäre, eine
bessere Kontrolle des Routings zu haben. Es ist beispielsweise üblich, dass Firmen
Intranets aufbauen, die einige unabhängige Sub-Netze umfassen, welche über externe
Netze miteinander verbunden sind, um ein Firmennetz zu bilden. Um
Firmenstandard in Bezug auf beispielsweise die Dienstequalität zu erfüllen, sollten
bevorzugte Netzbetreiber verwendet werden, mit denen eine Firma
spezielle Vereinbarungen haben kann. Es sollte auch einfach sein,
rasch zwischen unterschiedlichen Betreibern umzuschalten oder abzustimmen, wie
Verkehr zwischen den Betreibern verteilt wird.
-
Ein
bekannes Verfahren zum Steuern des Routings in einem Internet wird
als Quellen-Routing (Source-Routing; INTERNET-DRAFT; The Dynamic Source Routing Protocol)
bezeichnet. Dynamic Source Routing (DSR) ist ein Routing-Protokoll,
das beispielsweise entworfen worden ist zur Verwendung in mobilen
Adhoc-Netzen. Das Protokoll ermöglicht
es Knoten, dynamisch eine Quellenroute über mehrere Netz-Teilstrecken
bzw. Hops zu irgendeinem Ziel in dem Adhoc-Netz zu entdecken. Beim
Verwenden von Source-Routing übertägt jedes
zu routende Paket in seinem Header die vollständige Reihenfolgenliste von Knoten,
die das Paket durchlaufen muss. Ein Nachteil von DSR ist, dass es
Kenntnisse der Netztopologie erfordert. Diese Information wird im Allgemeinen
weder dem gewöhnlichen
Benutzer verfügbar,
noch irgendeinem gewöhnlichen
Host im Netz. Zudem kann die Netztopologie sich zu dem Zeitpunkt
des Ungültigmachen
vorangehend entdeckter Routen bzw. Leitwege ändern. Ein anderer Nachteil
von DSR ist, dass die vollständige
in einer Reihenfolge angeordnete Liste, die viele Adressen einschließt, einen übermäßigen Überhang
(Overhead) nach sich zieht. Zudem ist der Inhalt der Routing-Tabellen nicht definiert.
-
Eine
andere bekannte Art, wie die Quelle das Routing der Pakete beeinflussen
kann ist, die Verfahren der IP-in-IP-Einkapselung. Das Verfahren bedeutet,
dass ein ursprüngliches
IP-Paket in ein Paket eingepackt wird, das zu einem Zwischenknoten
gerichtet ist. Der Zwischenknoten entfernt die Verpackung und leitet
das Paket zu dem ursprünglichen
Ziel weiter. Das Verfahren kann rekursiv angewendet werden. Die
eingekapselte IP-Adresse befindet sich in der Nutzlast und die Nutzlast
wird wie irgendeine andere Nachricht von einer Maschine zu einer
anderen gesendet.
-
Das
Patent WO-A-9858474 offenbart ein Verfahren, in dem der Quellenknoten
ein Routing in Übereinstimmung
mit den Qualitäts-Verbindungsparametern
anfordert. Die Quelle hat keine Kontrolle über den sich aus der Anforderung
ergebenden Pfad.
-
Das
Patent US-A-5,353,283 beschreibt ein Verfahren des Sendens eines
Pakets über
eine Abfolge von Knoten in einem Netz. Das gesendete Paket enthält eine
Abfolge von einem oder mehreren Identifizierern in einer Abfolge
von Feldern und einen Zeiger, der auf einen speziellen Identifizierer
in der Abfolge von Identifizierern in einem Feld eines Routing-Abschnittes eines
Kopfes in dem Paket zeigt. Ein Knoten der Abfolge von Knoten, bei
dem das Paket angeordnet ist, wählt eine
Weiterleitungstabelle aus einem Satz von Weiterleitungstabellen
aus, die in einem Speicher bei diesem Knoten gewartet werden. Der
Knoten holt dann erneut eine Eingabe von der ausgewählten Weiterleitungstabelle,
die durch den Identifizierer in der Abfolge von Identifizierern
identifiziert wird, der durch den Zeiger gezeigt wird. Der Knoten
sendet dann das Paket zu dem nächsten Knoten
der Abfolge von Knoten, der durch den geholten Weiterleitungstabelleneintrag
angegeben wird. Das Verfahren gemäß US-A-5,353,283 ist nützlich für private
virtuelle Netze, virtuelle globale ISP und ist transparent in Bezug
auf Zwischennetze.
-
Der
Nachteil des Verfahrens gemäß US-A-5,353,283
ist, dass eine neue Art von Header erforderlich ist und dass das
Verfahren nicht in dem derzeit verfügbaren Internet funktioniert,
d.h., das Verfahren gemäß US-A-5,353,283
erfordert einen neuen Standard. Das Verfahren funktioniert nur über Netze,
die den neuen Standard implementiert haben. Zudem ist der Überhang
groß.
-
Eines
der Probleme, die sich aus dem Anbringen existierender IP-Netze
im Internet ergeben, ist, dass lokale Hosts global einzigartige
Adressen haben müssen,
um durch die Backbone-Router
des Internets identifiziert zu werden. Die Internet-Router sind nicht
imstande, Pakete korrekt zu routen, wenn die IP-Adressen nicht einzigartig
sind. Endbenutzer, die mit Hosts verbunden sind, welche keine geeignete
Adresse haben, können
nicht erreicht werden und können
keine Anwendungssitzungen einrichten.
-
Netzadressübersetzung
(NAT bzw. Network Address Translation) löst das Problem durch Neuzuordnen
von IP-Adressen. Es verwendet einen Pool verfügbarer global einzigartiger
Adressen, die konstant wiederverwendet werden. Interne Netzadressen
werden in Übereinstimmung
mit internen Überlegungen
des Netzes zugeordnet. Es gibt Sätze
von Adressen, die für
lokale Nutzung zugewiesen sind. Diese Adressen sind nicht außerhalb
lokaler Netze gültig
und können
daher mit einer gewissen Häufigkeit
wiederverwendet werden für
interne Adressierung in unterschiedlichen lokalen Netzen. Globale Adressen
müssen
einzigartig bleiben, um zwischen unterschiedlichen Hosts zu unterscheiden.
Wenn ein Paket geroutet wird, ersetzt NAT die lokal gültige Adresse
durch eine temporäre
globale Adresse. Sobald die Anwendungssitzung beendet ist, kann
die globale Adresse zu dem Pool zurückgegeben werden, um wieder
zugeordnet zu werden. Es sollte bemerkt werden, dass NAT nur einen Übersetzer
auf der Sendeseite einbezieht und keine Kommunikation mit anderen
Netzknoten, d.h., ein Adressübersetzer auf
der Empfangsseite, erforderlich ist.
-
NAT
verbessert den Sicherheitspegel innerhalb des Netzes durch Verstecken
seiner internen Struktur. NAT ermöglicht es auch einer Anzahl
von Benutzern, eine geringe Anzahl globaler Adressen zu teilen,
weil globale Adressen nur erforderlich sind, wenn ein Benutzer außerhalb
des lokalen Sub-Netzes kommuniziert. Wenn die externe Verbindbarkeit eines
Sub-Netzes von einem
externen Netz zu einem anderen geändert wird, gibt es keinen
Bedarf, die IP-Adresse für
jeden und alle Hosts im internen Netz zu ersetzen – die Aufgabe
wird durch NAT erreicht.
-
RESÜMEE DER ERFINDUNG
-
Das
Hauptproblem bei der Wegelenkung bzw. beim Routing in einem Internet
gemäß dem Stand
der Technik ist, dass ein Quellenknoten große Schwierigkeiten hat beim
Spezifizieren der Art, in der ein Paket geroutet wird.
-
Ein
andres Problem beim Routing gemäß dem Stand
der Technik ist, dass die Zwischenknoten die Routing-Entscheidungen
treffen und eine Benutzerorganisation Schwierigkeiten hat beim Kontrollieren
der Pfade eines Datenpakets.
-
Ein
weiteres Problem bei existierenden Verfahren und Anordnungen für Quellen-Routing,
d.h., wenn der sendende Host den exakten Pfad spezifiziert, dem
das Datagramm folgen muss, um sein Ziel zu erreichen, ist, dass
der Sender exakte Kenntnis über
die benötigten
Netzknoten haben muss, um zu entscheiden, wie Pakete geroutet werden
sollten.
-
Die
obigen Probleme werden durch Vorsehen eines Überlagerungsnetzes gelöst, das
vollständig
von einem Dienste-Anbieter bzw. Service-Provider gesteuert werden
kann. Das Routing von Paketen zwischen Knoten in dem Überlagerungsnetz
wird mit Hilfe eines darunter liegenden Kommunikationsnetzes vorgenommen.
Die Knoten in dem Überlagerungsnetz
umfassen spezifische Knoten in dem Kommunikationsnetz. Daher ist
das Routing von Paketen gemäß der Erfindung
transparent für
Knoten, die nicht zu dem Überlagerungsnetz
gehören.
-
In
dem Verfahren und der Anordnung gemäß der Erfindung organisiert
einer oder organisieren mehrere föderative Knoten die Routing-Information. Die
föderartiven
Knoten sind mit dem Netz verbunden und jeder umfasst einen Computer
und Software, die entworfen sind zum Bereitstellen des Organisierens
der Routing-Information. Das Organisieren der Leitwege in dem Überlagerungsnetz
kann sicherlich verteilt werden über
einige Hosts aus Gründen
der Skalierbarkeit großer Überlagerungsnetze
und aus Zuverlässigkeitsgründen.
-
Genauer,
das Überlagerungsnetz
gemäß der Erfindung
umfasst mindestens einen Virtuell-Leitweg-Administrator (VRA bzw.
Virtual Route Administrator), der sich in einem Knoten in dem Überlagerungsnetz
befindet. Der VRA verwaltet das Einrichten von Leitwegen von irgendeiner
Quelle zu irgendeinem Ziel über Überlagerungsknoten
in einer geeigneten Weise. Die Knoten im Überlagerungsnetz sind so angeordnet,
dass mindestens drei Knoten, ein Sendeknoten, ein VRA und ein Virtuell-Leitweg- Server (VRS bzw.
Virtual Route Server) gewisse Signalisierungsinformation austauschen
vor dem Senden eines Pakets über
einen spezifizierten Pfad. Die Signalisierung erfordert keine Änderung
der momentan existierenden Kommunikationsprotokolle in Zwischennetzen.
Auf der Sendeseite werden Format und Inhalte von Paketen umgewandelt,
um Pakete in die Lage zu versetzen, entlang des Pfades, der durch den
VRA ausgewählt
wird, zu routen. Der VRS befindet sich auf der Empfangsseite und
wandelt die Pakete um in ihr ursprüngliches Format. Einem Fachmann
ist es offensichtlich, dass ein Virtuell-Leitweg-Server (VRS) in
irgendeinem gewöhnlichen Router
bereitgestellt werden kann.
-
Die
erfindungsgemäßen Verfahren
können durch
eines oder einige Computer-Softwareprodukte bereitgestellt werden.
Das Computer-Softwareprodukt ist direkt in den internen Speicher
einer unabhängigen
Zugriffseinheit in dem Kommunikationsnetz in Übereinstimmung mit der Erfindung
ladbar. Die unabhängige
Zugriffseinheit kann mit den Knoten im Überlagerungsnetz verbunden
sein.
-
Das
erfindungsgemäße Routing-Verfahren leiht
sich gewisse Aspekte von Internetstandards wie Netzadressenumsetzung
(NAT bzw. Network Address Translation), Dynamisches Quellen-Routing bzw. Dynamic
Source Routing, IP-in-IP-Einkapselung etc. aus.
-
Der
Hauptzweck der Erfindung ist es, eine Benutzerorganisation in die
Lage zu versetzen, das Routing von Paketen für ihr Überlagerungsnetz über unterschiedliche
externe Netze zu steuern.
-
Ein
Zweck der Erfindung ist, dass sie es einer Benutzerorganiation ermöglicht,
die Leistungsfähigkeit
zu überwachen,
wenn unterschiedliche Leitwege ausgewählt werden.
-
Ein
weiterer Zweck der Erfindung ist es, eine Organisation in die Lage
zu versetzen, den Verkehr durch vorausgewählte Router zu leiten, um eine
bessere Dienstequalität
bereitzustellen und die Struktur der internen Netze für externe
Parteien in gemeinsamen externen Netzen zu verschleiern.
-
Noch
ein weiterer Zweck der Erfindung ist es demnach, ein Überlagerungsnetz
bereitzustellen, das unter vollständiger Kontrolle eines Dienstebereitstellers
stehen kann.
-
Ein
Vorteil der Erfindung ist, dass Sender durch eine dritte Partei,
einen VRA unterstützt
werden können,
der die erforderliche Kenntnis aufbauen und anwenden kann. Im Gegensatz
zu individuellen Benutzern kann der VRA einen Gesamtüberblick
des Überlagerungsnetzes
bilden und pflegen.
-
Ein
anderer Vorteil der Erfindung ist, dass eine Benutzerorganisation
imstande ist, die Leistungsfähigkeit
zu überwachen,
wenn unterschiedliche Leitwege ausgewählt werden.
-
Ein
fernerer Vorteil der Erfindung ist, dass sie einen Betreiber eines Überlagerungsnetzes
in die Lage versetzt, rasch zwischen unterschiedlichen Anbietern
eines externen Netzes umzuschalten oder anzupassen, wie der Verkehr
zwischen solchen Netzen aufgeteilt wird.
-
Noch
ein weiterer Vorteil der Erfindung ist, dass die Diensteanbieter
ihren Klienten neue Dienstearten anbieten können. Die Erfindung ermöglicht neue
Arten von Geschäftsvereinbarungen
auf dem Gebiet der Kommunikation.
-
Ein
anderer Vorteil mit der Benutzung virtueller Adressen gemäß der Erfindung
ist, dass das Datagramm mit besserer Sicherheit übertragen werden kann.
-
Der
Ausdruck "umfasst/umfassend", wenn er in dieser
Beschreibung benutzt wird, wird verwendet zum Spezifizieren des
Vorhandenseins genannter Merkmale, Ganzzahlen, Schritte oder Komponenten, aber
nicht zum Ausschließen
des Vorhandenseins oder des Hinzufügens eines oder mehrere anderer Merkmale,
Ganzzahlen, Schritte, Komponenten oder Gruppen davon.
-
Der
weitere Bereich der Anwendbarkeit der vorliegenden Erfindung wird
aus der nachstehend wiedergegebenen Beschreibung ersichtlich. Jedoch sollte
verstanden werden, dass die detaillierte Beschreibung und die spezifischen
Beispiele, während sie
bevorzugte Ausführungsformen
der Erfindung angeben, nur als erläuternd wiedergegeben werden,
da verschiedene Änderungen
und Modifikationen innerhalb des Schutzbereichs der Erfindung Fachleuten aus
dieser detaillierten Beschreibung ersichtlich werden.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Es
zeigt:
-
1 ein
Diagramm des Überlagerungsnetzes
gemäß der Erfindung
oberhalb eines großen Kommunikationsnetzes.
-
2 ein
Diagramm der drei Schichten in dem Internet;
-
3a–e beispielhafte
Diagramme von Signalnachrichten;
-
4 ein
Ablaufdiagramm eines bevorzugten Verfahrens gemäß der Erfindung;
-
5 ein
Diagramm des VRH und seiner Funktionalität; und
-
6 ein
Ablaufdiagramm eines anderen bevorzugten Verfahrens gemäß der Erfindung.
-
Die
Erfindung wird nun detaillierter unter Bezugnahme auf bevorzugte
beispielhafte Ausführungsformen
davon und auch unter Bezugnahme auf die beiliegenden Zeichnungen
beschrieben.
-
DETAILLIERTE
BESCHREIBUNG
-
1 stellt
ein Überlagerungsnetz
in Übereinstimmung
mit der Erfindung oberhalb eines großen Kommunikationsnetzes dar.
Das große
Kommunikationsnetz umfasst jeden Knoten in 1. Das beispielhafte Überlagerungsnetz
umfasst sechs Knoten, die Teil des großen Kommunikationsnetzes sind, nämlich die
Knoten A, B, W, X, Y und Z. Der Knoten A befindet sich in einem
unabhängigen
Netz 101, der Knoten B befindet sich in einem unabhängigen Netz 102,
der Knoten X ist mit einem unabhängigen
Netz 131 verbunden, der Knoten Y ist mit einem unabhängigen Netz 132 verbunden
und der Knoten Z ist mit einem unabhängigen Netz 130 verbunden.
In dieser Ausführungsform
befindet sich ein Virtuell-Leitweg-Administrator VRA in dem Knoten W und
einem unabhängigen
Netz 150. In dieser Ausführungsform ist der VRA der
einzige Host in dem unabhängigen Netz 150.
Jedoch kann ein VRA in irgendeinem der anderen unabhängigen Netze
angeordnet sein. Zudem kann die VRA-Funktionalität über einige unabhängige Netze
verteilt sein. Der VRA verwaltet den Routing-Pfad von einem Quelle-Host
S zu einem empfangenden Host D in einer vorbestimmten Weise quer über das
große
Kommunikationsnetz, welches das INTERNET sein kann, z.B. durch Anwenden
differenzierter Trägerdienste über das öffentliche
INTERNET. Es wird demnach implizit verstanden, dass VRA Kenntnis über die
Topologie des Überlagerungsnetzes
hat, um geeignete Leitwege zu bestimmen. Jedoch muss der VRA die
Topologie des vollständigen
darunter liegenden Netzes nicht kennen. Eine ein Netz des Überlagerungsknotens
organisierende Organisation kann beispielsweise eine Anzahl von
Grenzknoten (Routern) mit einer Vielzahl von unabhängigen Zwischennetzen
in dem Internet verbunden haben, die als Zwischeneinrichtungen zwischen sendenden
und empfangenden Hosts agieren, wobei der sendende Host beispielsweise
der Host S in dem unabhängigen
Netz 101 ist und der empfangende Host der Host D in dem
unabhängigen
Netz 102. Zum Beispiel können das Quellen-Netz und das
Ziel-Netz Teile eines Firmennetzes bilden. In einer weiteren Ausführungsform
können
Quellen- und Ziel-Netze getrennte verteilte Zugangsnetze eines Internet-Diensteanbieters
(ISP bzw. Internet Service Provider) sein. Jeder sendende Host ist
mit einem Softwareprogrammmodul versehen oder hat über einen Proxy
Zugang zu einem solchen, welches Modul hier Virtuell-Leitweg-Handhaber
(VRH bzw. Virtual Route Handler) genannt wird. Der VRH handhabt
den Pfad, d.h., die Abfolge von Routern, die in dem Überlagerungsnetz
zu durchlaufen sind.
-
Der
visuelle Leitweg-Handhaber VRH und seine Funktionalität sind in 5 offenbart.
Der Standard-IP-Protokollstapel ist bei dem Bezugszeichen 108 gezeigt,
wohingegen bei dem Bezugszeichen 106 eine Erweiterung IP' des Protokollstapels
gezeigt ist. Es ist für
einen Fachmann ersichtlich, dass diese Implementierung der Erweiterung
IP' nur ein Beispiel ist
und dass andere Implementierungen möglich sind. Die Erweiterung
IP' kann beispielsweise
auch bei einem Router wie dem Standard-Router des veranlassenden
Hosts implementiert sein. Der erweiterte Protokollstapel 106 verwendet
ein Softwareprogrammmodul 107, das Virtuell-Leitweg-Handhaber bzw.
VRH oder Virtual Route Handler genannt wird. Genauer stellt der
VRH eine Nachricht zusammen, die die Virtuell-Leitweg-Administration VRA (Administration
virtueller leitwege), die in 1 gezeigt wird,
adressiert, um eine Spezifikation des Pfades zu erfragen, der zu
verwenden ist unter Vorgabe der derzeitigen Quelle S, des Ziels
D und des gewünschten
Dienstetyps. Wenn die Antwort verfügbar ist, verwendet der VRH
die durch den VRA gegebene Pfadspezifikation zum Modifizieren des
ursprünglichen IP-Paketes, um es dem
ausgewählten
Pfad folgen zu lassen. Einige unterschiedliche Verfahren können verwendet
werden, um das Routing entlang des ausgewählten Pfades voranzutreiben.
-
Nun
wird der Prozess des Sendens von Information von dem Quellen-Host
S zu dem Ziel-Host D detaillierter unter Bezugnahme auf 1 beschrieben.
Jedes unabhängige
Netz, das zu dem Überlagerungsnetz
gehört,
ist mit einem Virtuell-Leitweg-Server
(VRS) versehen, der über
das öffentliche
Internet über
eine einzigartige öffentliche
Internet-Adresse erreichbar ist. Die beiden unabhängigen Netze 101 und 102 sind
in diesem Beispiel zwei Zweige derselben Organisation. Der Host-Computer
S in dem unabhängigen
Netz 101 sendet in diesem Beispiel eine Nachricht über das
Internet zu einem Ziel, dem empfangenden Host D in dem unabhängigen Netz 102.
Ein Benutzer, d.h., der Host-Computer S, der von dem Grenzknoten
A bedient wird, welcher eine Übertragung
einer Nachricht anfordert, lässt
ein Anwendungsprogramm ablaufen, z.B. ein kommerziell verfügbares Programm.
Die Erweiterung IP' des
Standard-IP-Protokollstapels wird verwendet. Der erweiterte Protokollstapel
verwendet die Software des Virtuell-Leitweg-Handhabers (VRH-Software).
Genauer, der VRH stellt eine Nachricht zusammen, die den Virtuell-Leitweg-Administrator (VRA)
in dem unabhänigen
Netz 150 adressiert. Die Nachricht wird entlang des Pfades 110 gesendet
und umfasst die Adresse des sendenden Hosts S, der durch einen Knoten
A bedient wird, die Adresse des empfangenden Host D, der durch den
Knoten B bedient wird, und ein Datenfeld. Das Datenfeld ist ferner
in einige Informationseinheiten strukturiert, die in 3a klarer
gezeigt sind.
-
3a zeigt
ein vereinfachtes IP-Datagramm, wobei Felder 201 und 202 die
Quellen-IP-Adresse bzw. die Ziel-IP-Adresse umfassen. Genauer, das
Zielfeld 202 umfasst die Adresse eines ausgewählten VRA.
Der Wert der Adresse des VRA in dem Feld 202 kann Teil
der bei der Installation des Softwareprogramms dem VRH vorgelegten
Konfigurationsdaten sein oder kann dynamisch zugeordnet werden.
Die Datenfelder 203–205 umfassen
den Datenteil des Datagramms, wohingegen das Feld 203 einmal
mehr die Quellenadresse umfasst, das Feld 204 das Endziel
umfasst, d.h., die Adresse des empfangenden Hosts D in dem unabhängigen Netz 102, und
das Feld 205 den Dienstetyp TOS umfasst, wie zum Beispiel "bestes Bestreben" oder "Echtzeit".
-
Wenn
der VRA in dem unabhängigen
Netz 150, siehe 1, ein Datagramm in Übereinstimmung
mit 3a empfangen hat, interpretiert er den Empfang
als eine Anfrage zum Auswählen
eines Pfades von dem Quellen-Host S in dem unabhängigen Netz 101 zu
dem empfangenden Host D in dem unabhängigen Netz 102. Der
Pfad wird ausgewählt,
um Bedingungen zu erfüllen,
die durch Parameter bestimmt werden, welche den Dienstetyp TOS angeben.
D.h., TOS kann anzeigen, dass die Quellenanwendung eine Sprache-über-Internetprotokoll-Quelle bzw.
Voice-Over-IP-Quelle
ist, hierdurch eine Verbindung anfordernd, die einen Echtzeitdatenstrom handhaben
kann.
-
Als
Reaktion auf die Anforderung eines Pfades gibt der VRA eine Nachricht
an den VRH zurück, der
als sendender Host S dient, wobei diese Nachricht Information über einen
ausgewählten
Pfad umfasst und ein Verfahren zum Vorantreiben der Leitweglenkung
(Routing) über
diesen Pfad. Der VRA weist Adressen zu und bestimmt das Verfahren
zum Umwandeln der Pakete. Wenn der Virtuell-Leitweg-Handhaber VRH
(Behandler virtueller Leitwege) die Antwort von dem VRA entlang
des Pfades 110 in 1 empfangen
hat, kann er die Routing-Information
verwenden, um ein Datagramm umzusetzen, das Quellen-Routing-Information über die
verschiedenen Routing-Knoten
in dem ausgewählten
Pfad umfasst, wie durch die mindestens eine Adresse "IP-Adresse des ersten
Hop" (wobei Hop
eine Teilstrecke bezeichnet), IP-Adresse des zweiten Hop" etc. angibt, wie durch 3c beispielhaft
umgesetzt. Die Quellen-Routing-Option oder das Einkapseln stellt
einer Benutzerorganisation Mittel bereit zum Vorgeben eines Pfades
durch das Internet. Netzbetreiber können Quellen-Routing zum Überwachen
des Durchsatzes verwenden. Quellen-Routing kann zum Vorantreiben von
IP-Datagrammen zum Durchlaufen eines vorausgewählten Netzes verwendet werden,
selbst wenn Router normalerweise einen Pfad wählen würden, der dieses nicht einschließt. Die
Fähigkeit,
solche Prüfungen
auszuführen,
ist speziell wichtig in einer Produktionsumgebung, weil sie die
Freiheit verleiht, Datagramme eines Benutzers über Netze zu routen, von denen
bekannt ist, dass sie korrekt arbeiten während des gleichzeitigen Testens
anderer Netze. Sicherlich ist solches Routing nur nützlich für Leute,
die Netztopologie verstehen; der Durchschnittsbenutzer braucht sie
nicht zu kennen oder zu verwenden. Die offenbarte Erfindung ermöglicht das
Erfassen und die Überwachung
alternativer Pfade, die in Verbindung mit dem VRA zu implementieren
sind.
-
Das
IP-Protokoll unterstützt
zwei Arten des Quellen-Routings. Die erste Art, die strenge Quellen-Routing-Option
genannt wird, spezifiziert einen exakten Leitweg durch Ausgeben
einer Liste der IP-Adressen, der das Datagramm folgen muss, d.h., einer
Abfolge vorausgewählter
Router. Der Pfad zwischen zwei aufeinander folgenden Adressen in
der Liste der IP-Adressen muss aus einem einzelnen physikalischen
Netz bestehen; ein Fehler resultiert, wenn ein Gateway einem strengen
Quellen-Leitweg nicht
folgen kann. Die zweite Art, die loses Quellen-Routing genannt wird, schließt auch
eine Abfolge von IP-Adressen
ein. Das lose Quellen-Routing spezifiziert, dass das Datagramm der
Abfolge von IP-Adressen folgen muss, aber erlaubt mehrere Netzwerk-Hops
bzw. Teilstrecken, d.h., es wird zugelassen, dass das Datagramm
zwischen den Knoten der Liste über
andere Knoten verläuft.
D.h., wenn die Knoten A, Z und B spezifiziert sind, kann das Datagramm
die Strecke A, Z, z1, b1, b2 auf diese Weise zu dem letztendlichen
Ziel nehmen.
-
3c zeigt
detaillierter ein beispielhaftes Format des Datagramms beim Anwenden
der Quellen-Routing-Optionen. Das Datagramm enthält ein CODE-Feld, ein LÄNGEN-Feld,
ein ZEIGER-Feld und
eine Anzahl von Feldern, die die IP-Adressen der Knoten spezifizieren,
die das Datagramm auf seinem Weg zu dem letztendlichen Ziel besuchen
muss, welche hier "IP-Adresse
des ersten Hop" 325, "IP-Adresse des zweiten
Hop" 330,
etc. genannt werden. Das CODE-Feld 305 enthält die Optionsklasse
und die Optionszahl und gibt an, dass das Datagramm Quellen-Routing-Information
hat. Das LÄNGEN-Feld 310 spezifiziert
die gesamte Länge
der Option, wie sie in dem IP-Datagramm erscheint, einschließlich der
ersten drei Oktette. Das ZEIGER-Feld 320 spezifiziert den
Versatz innerhalb der Option des nächsten verfügbaren Schlitzes.
-
Beide
Quellen-Leitweg-Optionen erfordern Router, die in den Knoten entlang
des Pfades angeordnet sind, um Einträge in der Adressenliste mit
ihren Lokalnetzadressen zu überschreiben.
Wenn demnach das Datagramm am Ziel ankommt, enthält es eine Liste aller gesuchten
Adressen.
-
Jeder
Router überprüft die ZEIGER-
und LÄNGEN-Felder
in dem Datagramm gemäß 3c, um
zu sehen, ob die Liste ausgeschöpft
ist. Das Datagramm gemäß 3c wird
unten detaillierter offenbart. Wenn die Liste ausgeschöpft ist,
ist der Zeiger größer als
die Länge
und der Router routet das Datagramm wie gewöhnlich zu seinem Ziel. Wenn
die Liste nicht ausgeschöpft
ist, folgt das Gateway dem Zeiger, nimmt die IP-Adresse auf, ersetzt sie durch die Adresse
des Routers und routet das Datagramm unter Verwendung der Adresse,
die es von der Liste erhalten hat.
-
Zwei
Router, die Routing-Information austauschen, werden als äußere Nachbarn
bezeichnet, wenn sie zu zwei unterschiedlichen autonomen Systemen
gehören
und als innere Nachbarn, wenn sie zu demselben autonomen System
gehören.
D.h., in 1 sind b1 und b2 innere Nachbarn,
Z und X sind äußere Nachbarn.
Das Protokoll, das von den äußeren Nachbarn
verwendet wird, um Erreichbarkeitsinformation zu anderen autonomen
Systemen zu verteilen, wird äußeres Gateway-Protokoll oder EGP
genannt und die Gateways (Router), die es verwenden, werden äußere Gateways
(Grenzknoten) genannt. In dem verbundenen Internet ist EGP insbesondere wichtig,
weil autonome Systeme es zum Verteilen von Erreichbarkeits-Information zu dem
Kernsystem verwenden. EGP hat drei Hauptmerkmale. Als Erstes unterstützt es einen
Nachbar-Akquisitionsmechanismus,
der es einem Router ermöglicht,
einen anderen aufzufordern, einzuwilligen, dass die beiden Erreichbarkeits-Information
kommunizieren sollten. Ein Router akquiriert einen EGP-Peer oder
einen EGP-Nachbarn. EGP-Peers sind nur Nachbarn in dem Sinne, dass
sie Routing-Information austauschen; es liegt keine Information über geographische
Nähe vor. Zweitens überprüft ein Router
kontinuierlich, ob seine EGP-Nachbarn anworten. Drittens tauschen EGP-Nachbarn
periodisch Erreichbarkeitsinformation durch Weiterleiten von "Routing-Aktualisierungsnachrichten" aus.
-
Nun
wird eine detailliertere Erläuterung
der Verwendung der virtuellen Sendeadresse VS in Bezug auf 1 und
das Datagramm in 3b wiedergegeben.
-
Das
Datagramm in 3b umfasst ein erstes Feld 211,
das die Adresse des VRA in dem Knoten W umfasst, ein zweites Feld 210,
das die Adresse des sendenden Hosts S im Knoten A umfasst, ein drittes
Feld 209, das Information in Bezug auf den Dienstetyp TOS
umfasst, ein viertes Feld 206, das den virtuellen sendenden
Host VS angibt, ein fünftes Feld 208,
das die Adresse des VRS angibt; ein sechstes Feld 207a,
das die erste virtuelle Adresse VD1 angibt, und ein letztes Feld 207b,
das die zweite virtuelle Adresse VD2 angibt.
-
Der
VRA am Knoten W hat eine Vielzahl von IP-Adressen verfügbar, von
welcher Vielzahl der VRA irgendeine Adresse auswählen kann, die als der Wert VS
einzugeben ist. VRA agiert als Grenzrouter in Richtung des Internet
und tauscht Routing-Information mit anderen äußeren Grenzknoten (Routern)
aus mit Hilfe eines Protokolls, z.B. dem oben offenbarten äußeren Gateway-Protokoll
oder EGP (Exterior Gateway Protocol).
-
Die
Vielzahl von IP-Adressen, die oben erwähnt worden sind, sind virtuell
im Sinne, dass sie alle zu dem VRA gehören und nicht zu irgendeinem individuellen
physikalischen Host korrespondieren. Der VRA behandelt diese virtuellen
Host-Adressen als
Referenten zu Internet-Pfaden von einem Sender, z.B. dem Host S
in dem unabhängigen
Netz 101, zu einem Empfänger,
dem Host D in dem unabhängigen Netz 102.
Demnach wird jeder Paketübermittlung entlang
eines Pfades von einem sendendem Host zu einem empfangenden Host
eine Referenz in der Form einer virtuellen Host-Adresse VS zugewiesen. Der
VRA informiert den Virtuell-Leitweg-Server VRS bei dem empfangenden
Host in dem unabhängigen Netz 102,
wenn er eine Anforderung für
einen Pfad entlang des Pfades 110 in 1 empfängt bezüglich der
virtuellen Adresse VS, die dieser Anforderung zugewiesen ist. Demnach
sendet der VRA eine Nachricht entlang des Pfades 120 zu
dem VRS bei dem Knoten B, z.B. in dem in 3e gezeigten
Format. 3 zeigt ein Datagramm, wobei
der Sender der VRA ist, der Empfänger
der VRS ist und die Nutzlast die Adresse des VS enthält, die
Adresse des ursprünglich
sendenden Host S, die Adresse des empfangenden Host D und das Verfahren,
das zu verwenden ist zum Vorantreiben des ausgewählten Pfades. VRS kreiert eine
Aufzeichnung, die durch die Adresse VS identifiziert wird, und speichert
die ursprüngliche
Sendeadresse des sendenden Host S und die ursprüngliche Empfängeradresse
des empfangenden Host D. Dann bestätigt der VRS in dem Knoten
B die Anforderung entlang des Pfades 120. Damit der VRA
weiß,
welcher VRS-Knoten die für den
Pfad ausgewählte
VS-Referenz empfangen sollte, wird der VRA mit Tabellen versehen,
in denen Netzadressen mindestens einem VRS im empfangenden Netz
zugeordnet sind.
-
Nun
wird Bezug genommen auf den Empfang bei dem VRS in Übereinstimmung
mit der vorliegenden Ausführungsform
des VRS, der sich in dem Knoten B in 1 befindet,
von einem Datagramm, das ein eingekapseltes Datagramm umfasst, wobei der
VRS die Adresse des sendenden Host analysiert, das heißt, eine
virtuelle Adresse VS. Durch Abfragen der Aufzeichnung der virtuellen
Adresse VS entdeckt der VRS die Ursprungsadresse des sendenden Hosts
S und die Adresse des empfangenden Host D. Der VRS erstellt dann
ein Datagramm in Übereinstimmung
mit 3d, das die Adresse des Quellen-Host S 203 umfasst,
die Adresse des Empfangs-Host D 204 und die ursprünglichen
Anwendungsdaten 250, welches letztendlich durch das Zielnetz 102 zu
dem Endziel, dem empfangenden Host D geroutet wird. Demnach gibt
es gemäß dieser
Ausführungsform
einer Eins-zu-Eins-Entsprechung zwischen der virtuellen Adresse
VS und einem Pfad, der durch den VRA definiert wird. Auch, wenn
ein Paket bei seinem letztendlichen Ziel ankommt, wird es wiederhergestellt
in seiner ursprünglichen
Form.
-
In
einer anderen Ausführungsform
wird stattdessen das Separieren unterschiedlicher Pfade durch Einführen eines
Index erzielt, der durch ein zu dem Nutzlastteil des Paketes hinzugefügtes Datenfeld
repräsentiert
wird. In 3f ist ein Datagramm gezeigt,
das von dieser Ausführungsform
verwendet wird. Dieses Datagramm umfasst die Adressen der virtuellen
Adresse VS bzw. des VRS, und eine Nutzlast, die die um eine Indexfeldreferenz
vermehrte Ursprungsnutzlast umfasst. Auf diese Weise verwendet der
Adressen-zuordnende Knoten VRA dieselbe virtuelle Adresse VS für alle Pfade.
Der empfangende VRS-Knoten analysiert nun statt des Analysierens der
virtuellen Adresse VS zum Einholen der wahren Adressen das Indexfeld.
Die virtuelle Adresse VS agiert in diesem Fall als ein Indikator,
dass das Indizierverfahren verwendet wird.
-
Von
der Tatsache, dass eine virtuelle Adresse VS, die verwendet wird,
zu dem Virtuell-Leitweg-Administrator VRA gehört, folgt leicht, dass in dem
Fall eines Fehlers bei der Übertragung
entlang des Pfades eine entsprechende Fehlermeldung zurückgegeben
werden wird zu dem wahrgenommenen Sender, d.h. zu der Adresse. Da
die virtuelle Adresse VS einen virtuellen Host in dem den VRA einschließenden Netz 150 angibt,
wird die Fehlermeldung tatsächlich
durch den VRA empfangen. Demnach hat der VRA in einer Ausführungsform
Wartungsfunktionen, um Aktionen auf Sendefehlern zu bestimmen und
Falschabläufe
zum Erzeugen von Statistiken und Dienstequalitätsmessungen aufzuzeichnen.
-
Wieder
zurück
zu dem Zuweisen einer virtuellen Sendeadresse VS, wird es aus dem
Obigen klar, dass die virtuelle Adresse VS auch eine Referenz zu
einer gewissen Quellen-Ziel-Kombination
ist. Um wiederholte Anforderungen für eine virtuelle Adresse VS
und eine entsprechende Pfaddefinition zu vermeiden, wird es dem
Virtuell-Leitweg-Handhaber VRH ermöglicht, eine zugeordnete virtuelle Adresse
VS für
eine gewisse Zeit zu verwenden. Demnach wird während dieser Zeit die für eine Quellen-Ziel-Kombination
zugeordnete virtuelle Adresse VS durch den VRH in einer Cache-Funktion
zwischengespeichert, ist demnach unmittelbar zugreifbar, um verwendet
zu werden für
eine Abfolge von Datagrammen zwischen derselben Quelle und demselben
Ziel.
-
In
einer Ausführungsform
hält die
bei dem Pfad 110 angegebene Kommunikation an den Prinzipien
fest ähnlich
jenen des dynamischen Host-Konfigurationsprotokolls DHCP. Der VRA
verwendet ähnlich
einem DHCP-Server einen Satz virtueller Adressen VS, die bereits
beschrieben worden sind. In dieser Ausführungsform könnten temporäre Adressen verwendet
werden. Verworfene Adressen können wieder
verwendet werden. Ein Vorteil dieses Verfahrens ist, dass die Gesamtzahl
verwendeter Adressen begrenzt werden kann.
-
Ein
Nachteil der beschriebenen Ausführungsform
des hier unter Bezugnahme auf 1 offenbarten
Verfahrens ist, dass ein Host, z.B. Host S im Netz 101,
der mit dem VRA über
das globale Internet kommuniziert, die Adresse des sendenden Hosts aufdeckt.
Dies ist ein Nachteil in Bezug auf die Sicherheit, da eine unerlaubte
Benutzung der Adresse möglich
ist, z.B. zum Erstellen einer gefälschten Antwort. Es ist demnach
von Interesse, imstande zu sein, diese Kommunikation auf eine sichere
Weise vorzunehmen zum Schützen
relevanter Information. Im Folgenden wird eine Ausführungsform
beschrieben, die dieses Ziel erreicht.
-
Nun
wird eine bevorzugte Ausführungsform des
Verfahrens gemäß der Erfindung
unter Bezugnahme auf 1 auf das Ablaufdiagramm in 6 offenbart.
Ein VRS befindet sich in jedem der Knoten A und B, durch die sendenden
und empfangenden Netze 101 und 102 jeweils ähnliche
Knotenstrukturen haben. Zusätzlich
zu den zuvor beschriebenen VRS-Funktionen bei kommender Kommunikation führt der
VRS Funktionen aus, wie sie nachstehend für gehende Kommunikation beschrieben
werden. Die Kommunikation zwischen dem VRA und dem sendenden Host
S wird nun aufgeteilt in zwei Schritte, wodurch der VRS in dem Knoten
A als ein Zwischenknoten agiert. Die Prozedur ist in 6 erläutert. In
einem ersten Schritt, siehe Block 910, sendet der sendende
Host eine Anforderung für
eine virtuelle Adresse VS zu dem VRS, der sich im Knoten A befindet.
Das Format dieser Anforderung bzw. Anfrage entspricht 3a,
weil die Empfängeradresse 202 ersetzt
wird durch die Adresse des VRS im Knoten A. In einem zweiten Schritt,
siehe Block 920, erstellt der VRS eine Nachricht, die einen
verschlüsselten
Datenabschnitt umfasst, der entlang dem Pfad 110 gesendet
wird. Das Format entspricht der 3a, jedoch
die Sendeadresse 201 ist ersetzt worden durch die Adresse
des VRS. Demnach agiert der VRS als ein Proxy in Richtung des äußeren Internet.
In ähnlicher
Weise wird die Kommunikation zwischen dem VRA und dem anderen VRS,
z.B. dem in dem Knoten B befindlichen VRS verschlüsselt. Während der VRA-
und der VRS-Knoten ein getrenntes Netz für das Routingmanagement umfassen,
kann eine solche Verschlüsselung
beim Implementieren jener Knoten geplant werden. Beim Vergleichen
mit dem Gesamtnetz verbundener Hosts wird das Routingmanagement-Netz
viel leichter zu handhaben sein. Wegen des VRS wird kein interner
Knoten in einem unabhängigen
Netz, z.B. dem unabhängigen
Netz 101, seine Netzadresse zum globalen Internet aufdecken.
-
Soweit
ist die Erfindung offenbart worden, wie sie auf eine Kommunikation
zwischen Hosts anwendbar ist, wenn die kommunizierenden Parteien zu
demselben Überlagerungsnetz
gehören.
Das Überlagerungsnetz
wird durch eine Organisation betrieben und es umfasst geographisch
verteilte Netze, die über
externe Netze, welche von anderen Organisationen bereitgestellt
werden, miteinander verbunden sind.
-
Im
Block 925 wird die spezifizierte Zieladresse in einer neuen
Nachricht analysiert. Der VRA-Server verwendet das Ergebnis von
dieser Analyse. Im Block 930 findet der VRA, dass der Empfänger ein externes
Ziel ist, das nicht zu dem Überlagerungsnetz
gehört.
Externe Adressen werden dadurch erkannt, dass sie nicht zu Adressen
gehören,
die für
die lokale Verwendung zugewiesen sind. Bei dem Internet werden spezifische
Adressenbereiche für
private Verwendung innerhalb privater Netze zugewiesen. In diesem
Fall verwendet der VRA das zuvor erwähnte Netzadressumsetzungsverfahren.
Der VRA nimmt sich selbst als den virtuellen Sender und wird demnach
der Empfänger
der Rücknachricht
und führt dann
Firewall-Funktionen
aus. In einer anderen Ausführungsform
verwendet der VRA eine andere Adresse zum Zuweisen einer anderen
Firewall. Der VRA wählt
diese Firewall aus einem Pool von Firewall-Hosts aus. In einem solchen
Fall muss der VRA mit der anderen Firewall kommunizieren, um den
geeigneten Zusammenhang zwischen der zugeordneten globalen Adresse
der ursprünglichen
Sende/Host-Adresse festzulegen. Die Firewall, die die interne Adresse
des ursprünglichen
Quellen-Hosts kennt, leitet Rückpakete
zu diesem Ziel weiter. Die Firewall und der VRS des Ziels gehören zu dem
Routing-Management-Netz. Wenn das Ziel nicht zu dem Überlagerungsnetz
gehört,
geht der Ablauf weiter zu Block 935 und nur das Senden
von Adressersatz kann angewendet werden, keine andere Paketumwandlung
kann verwendet werden. Letztendlich geht im Block 940 das
nachfolgende Routing auf normale Weise weiter.
-
In 6 geht
der Ablauf, wenn der empfangende Knoten zu dem Überlagerungsnetz gehört, vom
Block 930 zum Block 950. Im Block 950 wählt der
VRA eine virtuelle Quellenadresse VS und ein Paketumwandlungsverfahren
aus. Daraufhin interagiert der VRA im Block 955 mit dem
VRS des Zielknotens. Dann sendet der VRA im Block 960 Information bezüglich VS
und dem ausgewählten
Verfahren zu dem VRS des Quellenknotens. Letztendlich leitet der VRS
des Quellenknotens im Block 965 Information bezüglich VS
und des Verfahrens zu dem Virtuell-Leitweg-Handhaber VRH des Quellenknotens weiter.
-
Eine
weitere Ausführungsform
der Erfindung kann verwendet werden, wenn zu dem Überlagerungsnetz
gehörende
Hosts mit Hosts kommunizieren, die zu externen Netzen gehören. Innerhalb
des Überlagerungsnetzes
sind alle Hosts, Router, etc., die betroffen sind, imstande, alles
von ihnen erforderliche bereitzustellen, um das offenbarte Verfahren
zu erfüllen.
Diese Fähigkeit
kann nicht von externen Netzen und Hosts verlangt werden. Sie leiten
nur das weiter, was sie als Verbindungspakete sehen. Demnach erfordert
das Verfahren gemäß der Erfindung nicht,
dass externe Netze und Hosts das Verfahren verwenden können. Für nach außen gehende
Kommunikation von Hosts, die zu dem Überlagerungsnetz gehören, sind
Hosts, die zu externen Netzen EXT1, EXT2 gehören (siehe 1)
werden nun Ausgangs- bzw. Egress-Proxies
eingeführt,
um als ausgehende Gateways (Ausbruchpunkte) zu agieren. In ähnlicher
Weise werden nun Eingangs- bzw. Ingress-Proxies eingeführt als
kommende Gateways (Einbruchspunkte). Egress- und Ingress-Proxies agieren
jeweils in Richtung der VRA-ähnlichen
Ziele und Quellen des Überlagerungsnetzes.
Demnach kann der die bereits offenbarten Verfahren verwendende VRA
Pfade innerhalb des Überlagerungsnetzes
administrieren, die das Überlagerungsnetz
bei Egress-Proxies verlassen und in das Überlagerungsnetz bei Ingress-Proxies
eintreten. Es kann viele kommende und gehende Gateways an unterschiedlichen
Orten geben. Der VRA kann das geeigneteste auswählen, um verwendet zu werden,
z.B. abhängig von
der Ursprungsquelle und dem letztendlichen Ziel. Der VRA kann auch
berücksichtigen,
wo Zwischenspeicherungsdienste und Firewall-Dienste für gehenden
und kommenden Verkehr jeweils verfügbar sind. Der VRA organisiert
bzw. handhabt demnach die Auswahl von Pfaden zwischen Hosts und
Egress- und Ingress-Proxies.
Für gehende
Anforderungen versorgt der VRA den Egress-Proxy mit einer virtuellen
Quellenadresse, die zu dem Ingress-Proxy gehört, der für die Antworten ausgewählt worden
ist. VRA informiert dann den Ingress-Proxy von dem realen Ziel,
das der virtuellen Quellenadresse entspricht. Demnach kann der Ingress-Proxy
Antworten, die mit virtuellen Quellenadressen als ihr Dummy-Ziel bereitgestellt
werden, weiterleiten zu ihren realen Bestimmungsorten. In 1 kann
ein Ingress-Proxy, wenn der Host S des Netzes 101 mit einem
Host in dem externen Netz 131 kommuniziert, in dem Knoten A
angeordnet sein, ein Egress-Proxy kann in dem Knoten B angeordnet
sein, wobei die Knoten A und B zu derselben Organisation gehören. Das
Ziel kann in dem unabhängigen
Netz 131 angeordnet sein. Gehender Verkehr von dem Host
S verlässt
dann das Überlagerungsnetz
bei dem Knoten B und der zugehörige
Rückverkehr
tritt in das Überlagerungsnetz
bei dem Knoten A ein.
-
Das
erfindungsgemäße Verfahren
wird nun unter Bezugnahme auf 1 und 4 beschrieben.
In Block 810 sendet der Virtuell-Leitweg-Handhaber VRH eine Nachricht
zu dem Virtuell-Leitweg-Administrator
VRA, VRR auffordernd, einen Pfad zu dem letztendlichen Ziel, z.B.
dem empfangenden Host D für
den sendenden Host S bereitzustellen. Daraufhin wählt der
VRA im Block 820 einen Pfad aus, wobei der Pfad beim Virtuell-Leitweg-Server VRS
endet, der den empfangenden Host D bedient. Im Block 830 sendet
der VRA eine Nachricht zu dem VRS, die Nachricht informiert den
VRS, dass der VRA eine virtuelle Quellenadresse erstellt hat, die
für den ausgewählten Pfad
zu verwenden ist. Dann speichert der VRS im Block 840 Information über ein
ausgewähltes
Verfahren für
die Paketumwandlung. Die für
das Wiederherstellen der Pakete erforderlichen Daten sind in der
von dem VRA empfangenen Nachricht enthalten. Wenn eine reine virtuelle
Quellenadresse verwendet wird, werden die zugeordneten reinen Quellen-
und Zieladressen bereitgestellt. Wenn das virtuelle Quellen- und
Indexverfahren verwendet wird, wird die dem Index zugeordnete Ursprungsadresse
bereitgestellt. Zudem, wenn das Verfahren des Quellen-Routings,
das verwendet wird, sich geändert
hat, werden Ursprungsinformationspakete, die erforderlich sind zum
Extrahieren der Ursprungsinformation bereitgestellt. Im Block 850 speichert dann
der VRS die Information in einer in VRS angeordneten oder mit dem
VRS verbundenen Datenbank. Daraufhin sendet der VRS im Block 860 eine Nachricht
zu dem VRA, betätigend,
dass der VRS Information in Bezug auf die Wiederherstellung der Adressen
gespeichert hat. Letztendlich informiert der VRA im Block 870 den
VRS, dass das ausgewählte Verfahren
und die Daten für
die Umwandlung der Pakete zu verwenden sind. Die Nutzlastpakete
wandern dann von dem sendenden Host S durch die Knoten a1, A, Z,
B, b3 und b4 im Internet, bevor sie den empfangenen Host D erreichen.
-
In
einer weiteren Ausführungsform
der Erfindung ist der von dem VRA empfangene Pfad ein loser Quellen-Routing-Pfad,
d.h., ein Satz von vorbestimmten Routern, die durchlaufen werden
auf dem Leitweg vom sendenden Host zum empfangenen Host, aber mehrere
Hops bzw. Teilstrecken sind zugelassen zwischen zwei der Router.
Mehrere Hops werden in dieser Beschreibung als Hops über einige Zwischenrouter
definiert.
-
In
noch einer weiteren Ausführungsform
bestimmt der Vra mindestens eine virtuelle Verbindung, die einen
Satz vorbestimmter Router umfasst. Ein Fachmann versteht, dass der
Pfad das Umschalten entlang verbindungsorientierter Abschnitte umfassen kann,
d.h., basierend auf dem Verfahren der TAG-Vermittung bzw. der Etiketten-Vermittlung,
das dem Fachmann vom Internet bekannt ist. Diese mindestens eine
virtuelle Verbindung kann dann als Komponentenpfade in den kompletten
Pfad von dem sendenden Host zum empfangenden Host eingefügt werden.
Die Auswahl solch eines Komponentenpfades kann beispielsweise durch
ein Etikett (TAG), das an einem Paket angebracht wird, in Übereinstimmung
mit beispielsweise RFC2105 gesteuert werden, welches von der Internet
Engineering Task Force (IETF) ausgegeben wird (die RFC genannten Internet-Request-for-Comments-Dokumente
sind dann beschriebene Definitionen der Protokolle und Vereinbarungen
des Internet). Alle Pakete mit demselben TAG bzw. Etikett werden
dann auf demselben Pfad zu einem Ziel innerhalb eines Netzes miteinander
verbundener Etikettenvermittlungen weitergeleitet.
-
Aus
der obigen Offenbarung folgt leicht, dass das gesteuerte Routing-Verfahren
gemäß dem hier offenbarten
Verfahren zu einer sicheren Übertragung führt, da
weder die ursprüngliche
Sendeadresse noch die letztendliche Zieladresse von externen Parteien
aus Information, die in den gesendeten Datagrammen angeordnet ist,
aufgespürt
werden können.
-
Ein
anderer Vorteil des hier offenbarten Verfahrens ist, dass eine Rücknachricht
von dem Host D, wenn dasselbe Verfahren, wie es oben für die Vorwärtsnachricht
beschrieben worden ist, angewendet wird, keine Information einschließt, die
eine externe Partei befähigt,
eine Beziehung zwischen der Vorwärtsnachricht
und der Rückwärtsnachricht
zu erlangen. Demnach werden die Möglichkeiten des Decodierens
verschlüsselter
Nachrichten anderer betrügerischer
Attacken verringert werden.
-
Das
hier offenbarte Verfahren kann implementiert werden zum Erstellen
eines Firmenüberlagerungsnetzes
oberhalb eines öffentlichen
Internet. Das Überlagerungsnetz
kann für
die interne Verwendung eingerichtet werden oder durch einen Internet-Diensteanbieter
(ISP), um einen globalen Netzdienst über geographisch verteilte
lokale Zugangsnetze anzubieten.