-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft Verfahren und Vorrichtungen zum Verarbeiten
von Daten in einem Computernetzwerk. Genauer gesagt betrifft die vorliegende
Erfindung Mechanismen zur Paketweiterleitung, die entweder gemeinsame
Dienste anfordern oder bereitstellen, die einer Vielzahl von virtuellen
privaten Netzwerken (VPNs) über
ein Diensteanbieter-Netzwerk zur Verfügung stehen.
-
Damit
ein einzelner Computer mit anderen Computern oder Web Servern innerhalb
eines Netzwerks (z. B. dem Internet) kommunizieren kann, muß der einzelne
Computer eine einzigartige IP-Adresse aufweisen. Die IP Protokoll
Version 4 spezifiziert 32 Bits für
die IP-Adresse, was theoretisch etwa 4.294.967.296 einzigartige
IP-Adressen ergibt. Aber es gibt momentan tatsächlich nur zwischen 3,2 und 3,3
Milliarden IP-Adressen, die zur Verfügung stehen, da die Adressen
in Klassen aufgeteilt sind und für
das Multicasting (Mehrfachversendung), das Testen und andere spezielle
Verwendungen auf die Seite gelegt sind. Mit der Explosion des Internet
reicht die Anzahl an IP-Adressen nicht aus, um jeden Computer mit
einer einzigartigen IP-Adresse zu versehen.
-
Eine
Lösung
für das
Adressieren von Computern mit der begrenzten Anzahl an IP-Adressen wird
als die Network Address Translation (NAT) bezeichnet. Die NAT erlaubt
es einer dazwischen liegenden Vorrichtung (z. B. einem Computer,
Router oder Switch), die sich zwischen dem Internet-Netzwerk und
einem lokalen Netzwerk befindet, als ein Agent für eine Gruppe von lokalen Computern
zu dienen. Ein kleiner Bereich von IP-Adressen oder eine einzige
IP-Adresse wird zugewiesen, um die Gruppe von lokalen Computern
zu repräsentieren.
Jeder Computer in der lokalen Gruppe erhält auch eine lokale IP-Adresse, die nur
innerhalb dieser lokalen Gruppe verwendet wird. Aber die lokalen
IP-Adressen der Gruppe können
ein Duplikat einer IP-Adresse sein, die innerhalb eines anderen
lokalen Netzwerks verwendet wird. Wenn ein lokaler Computer versucht,
mit einem Computer außerhalb
des lokalen Netzwerks zu kommunizieren, dann gleicht die dazwischen
liegende Vorrichtung die lokale IP-Adresse des lokalen Computers
mit einer der zugewiesenen IP-Adressen der dazwischen liegenden
Vorrichtung ab. Die dazwischen liegende Vorrichtung ersetzt dann
die lokale Adresse des lokalen Computers durch die abgeglichene zugewiesene
IP-Adresse. Diese abgeglichene und zugewiesene IP-Adresse wird dann
für die
Kommunikation zwischen dem lokalen Computer und dem Computer auf
der Außenseite verwendet.
Auf diese Weise erlauben es die NAT-Techniken, dass eine IP-Adresse quer
durch lokale Netzwerke dupliziert werden kann.
-
Zusätzlich zu
den IP-Adressen kann ein Paket auch eine oder mehrere Adresse(n)
enthalten, die in der Nutzlast eingebettet ist/sind, die eine Ersetzung
bzw. Umwandlung erfordert/erfordern. Spezielle Anwendungen können Adresse(n)
in der Nutzlast für
verschiedene anwendungsspezifische Zwecke einbetten. Der aktuelle
Lösungsweg
für die
Unterstützung
von Anwendungen, die IP-Adressen in der Nutzlast (z. B. DNS (Domain
Name Server), FTP (File Transfer Protocol), H.225/H.245) in einer
NAT-Umgebung einbetten, liegt darin, anwendungsspezifisches Wissen
innerhalb der NAT-Vorrichtung selber hinzuzufügen. Dieser Lösungsweg
wird im Einzelnen in dem Request for Comments Dokument RFC 2663 der
Internet Engineering Task Force mit dem Titel IP "Network Adress Translator
(NAT) Terminology and Consideration" von P. Srisuresh und M. Holdrege von Lucent
Technologies (August 1999) beschrieben.
-
Ein
Unternehmensnetzwerk ist typischerweise ein privates Netzwerk, das
mit einem Unternehmen wie etwa einer Firma oder einem Geschäft assoziiert
ist. Damit ein Unternehmensnetzwerk mit einem Diensteanbieter-Netzwerk oder dem
Internet kommunizieren kann, fängt
die NAT-Vorrichtung Pakete ab und führt eine Network Address Translation
für Pakete
durch, bevor sie die Pakete zu dem beabsichtigten Empfänger weiterleitet.
Obgleich ein Unternehmensnetzwerk an einem einzelnen Standort oder
an einer einzigen Stelle implementiert sein kann, ist ein Unternehmensnetzwerk
oftmals an physisch verschiedenen Stellen implementiert. Mit anderen
Worten, mehrere Standorte, die mit einem einzigen Unternehmen (z.
B. Firma) assoziiert sind, können
von einem Diensteanbieter als ein einziges Netzwerk betrachtet werden.
Dies wird dadurch erzielt, dass jedes Unternehmen (z. B. Geschäft oder
Kunde) mit einem virtuellen privaten Netzwerk (VPN) assoziiert wird. Auf
diese Weise können
mehrere Kundenstandorte, die mit einem einzigen Unternehmen assoziiert
sind, von einem Diensteanbieter als eine einzige Entität betrachtet
werden.
-
In Übereinstimmung
mit verschiedenen Mechanismen aus dem Stand der Technik kann jedes Unternehmen
(z. B. ein Kunde) mit einem virtuellen privaten Netzwerk identifiziert
werden. Jeder Unternehmensstandort verwendet typischerweise private Adressen,
die von dem Diensteanbieter nicht erkannt werden. Als eine Folge
davon wird typischerweise eine NAT-Vorrichtung dazu verwendet, Adressen
von Paketen, die zwischen dem Unternehmen und dem Diensteanbieter-Netzwerk
gesendet werden, umzuwandeln bzw. zu ersetzen.
-
Verschiedene
Firmen und Unternehmen können
Dienste aufweisen, die sie Kunden oder Partnern anbieten oder mit
diesen teilen möchten.
So kann ein Diensteanbieter den Wunsch haben, Dienste (d. h., gemeinsame
Dienste) mehreren Unternehmenskunden anzubieten. Zum Beispiel können solche
gemeinsamen Dienste Voice over IP, Voice Gatekeeper und den Internet-Zugang
umfassen. Deshalb sollten Kunden, die auf diese gemeinsamen Dienste zugreifen,
die von dem Diensteanbieter angeboten werden, einzigartig adressierbar
sein. Obwohl IPv6 einen IP-Adressenraum verspricht, der die Konnektivitätsbedürfnisse
der überschaubaren
Zukunft überschreitet,
befindet sich IPv6 immer noch in den frühen Phasen der Entwicklung.
Als eine Folge davon wird das Befähigen, dass Unternehmensklienten
auf einzigartige Weise adressierbar sind, typischerweise durch NAT
erreicht.
-
Typischerweise
wird die NAT-Vorrichtung an jedem Unternehmensstandort implementiert.
Als eine Folge davon muß ein
Pool öffentlicher
Adressen typischerweise jedem Unternehmenskunden vorab zugeordnet
werden. Außerdem
kann, da eine NAT-Vorrichtung typischerweise an jedem Unternehmensstandort
plaziert wird, die Implementierung der NAT durch ein Unternehmen,
das mehrere Standorte aufweist, schwerfällig sowie auch kostspielig
sein.
-
Angesichts
des Obigen wäre
es vorteilhaft, wenn verbesserte Techniken zur Bereitstellung der NAT
implementiert werden könnten.
-
Die
EP 1298853 offenbart ein
Verfahren zum Senden von VPN-Verkehr über das Internet, bei dem eine
VPN-Adresse für
ein Paket erzeugt wird, das einen VPN-Identifikator und eine private
Adresse umfasst. Die VPN-Adresse wird verwendet, um einen Paket-Header
zu bilden, der zu dem Paket für
die Übertragung
hinzugefügt
wird, und der Paket-Header wird beim Empfang in seine ursprüngliche
Form umgewandelt.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
In
einer ersten Ausführungsform
der Erfindung ist ein Verfahren gemäß Anspruch 1 zum Durchführen von
Paketweiterleitung bereitgestellt, das Folgendes umfasst: Halten
einer Vielzahl von Sätzen
von Routinginformationen, wobei jeder der Sätze von Routinginformationen
mit einem anderen virtuellen privaten Netzwerk assoziiert ist; und
Routen eines Pakets mittels eines Verfahrens, das die folgenden
Schritte umfasst: Empfangen eines Pakets, wobei das Paket eine IP-Quelladresse
und eine IP-Zieladresse aufweist, wobei das Paket des Weiteren Informationen
aufweist, die einen der Vielzahl von Sätzen von Routinginformationen
angeben, um das Paket zu routen; Durchführen von Network Address Translation,
NAT, für
das Paket; Identifizieren eines Eintrags in einem der Sätze von
Routinginformationen unter Verwendung der IP-Zieladresse; und Routen des Pakets unter
Verwendung des identifizierten Routingtabelleneintrags. Das Verfahren umfasst
des Weiteren die folgenden Schritte: Empfangen einer Default-Route,
die von einer Netzwerkvorrichtung herausgegeben wird, die einen
oder mehrere gemeinsame Dienste bereitstellt, die für jedes
virtuelle private Netzwerk zur Verfügung stehen; und Aktualisieren
der Sätze
von Routinginformationen, damit sie die Default-Route zu der Netzwerkvorrichtung,
die einen oder mehrere gemeinsame Dienste bereitstellt, die für jedes
virtuelle private Netzwerk zur Verfügung stehen, umfassen. De Erfindung
stellt auch eine Netzwerkvorrichtung, wie sie im Anspruch 21 dargelegt
ist, und ein entsprechendes Computerprogramm, Computerprogrammerzeugnis
oder computer-lesbares Medium bereit, wie diese in Anspruch 20 dargelegt
sind.
-
Verfahren
und Vorrichtungen zum Durchführen
der Paketweiterleitung werden offenbart. In bevorzugten Ausführungsbeispielen
wird die NAT an einer Diensteanbieter-Netzwerkvorrichtung durchgeführt, die
mit einer Schnittstelle eines Diensteanbieter-Netzwerks assoziiert
ist. Wenn ein Paket von der Diensteanbieter-Netzwerkvorrichtung
empfangen wird, wird NAT für
das Paket durchgeführt,
und es wird dementsprechend geroutet.
-
In Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung umfasst eine Netzwerkvorrichtung, die hier als eine
Diensteanbieter-Edge
Box bezeichnet wird, auch eine NAT-Vorrichtung zum Durchführen von
NAT oder ist mit einer solchen assoziiert. Damit der Diensteanbieter
in die Lage versetzt wird, NAT durchführen zu können, muß er in der Lage sein, zwischen
potentiell identischen privaten Adressen in zwei oder mehr VPNs
unterscheiden zu können.
Deshalb hält
die Netzwerkvorrichtung eine Vielzahl von Routingtabellen (d. h.,
virtuelle Routen-Weiterleitungstabellen (VRFs; virtual route forwarding
tables)), wobei jede der Routingtabellen mit einem anderen virtuellen
privaten Netzwerk (z. B. einem Kunden) assoziiert ist. In Übereinstimmung
mit einem Ausführungsbeispiel
wird dann, wenn ein Paket von der Innenseite eines virtuellen privaten
Netzwerks heraus zu einer Adresse außerhalb des virtuellen privaten
Netzwerks umgewandelt und gesendet wird, ein VRF- oder VPN-Identifikator in
dem Ersetzungstabelleneintrag gespeichert. Außerdem wird die entsprechende
Routingtabelle, die von dem VRF oder VPN identifiziert wird, mit
Routinginformationen für
das Paket je nach Zweckdienlichkeit aktualisiert. Wenn ein Paket
von der öffentlichen Domäne empfangen
wird, enthält
das Paket Informationen, die eine der Vielzahl von Routingtabellen
angeben oder identifizieren, die für das Routen des Pakets geeignet
ist. In Übereinstimmung
mit einem Ausführungsbeispiel
umfasst das Paket einen VRF- oder VPN-Identifikator. Wenn die NAT
für das
Paket durchgeführt
wird, wird die geeignete der Routingtabellen identifiziert (z. B.
durch die Verwendung des VRF- oder VPN-Identifikators, der in dem
Ersetzungstabelleneintrag gespeichert ist). Ein Eintrag in der Routingtabelle
wird dann unter Verwendung der IP-Quell- und -Zieladressen identifiziert,
die aus dem empfangenen Paket erhalten wurden. Das Paket wird dann
unter Verwendung des identifizierten Routingtabelleneintrags geroutet.
-
In Übereinstimmung
mit verschiedenen Ausführungsbeispielen
ist die vorliegende Erfindung mit Netzwerken kompatibel, die mit
Multi Protocol Label Switching (MPLS)-Fähigkeiten erweitert wurden,
wie diese in RFC 2547 mit dem Titel "BGP/MPLS VPNs" von Rosen et al. im März 1999
definiert worden sind. So kann das empfangene Paket ein MPLS-Tag
enthalten, das einen VPN-Identifikator (oder einen VRF-Tabellenidentifikator)
enthält.
Deshalb kann die NAT zum Beispiel durch die Verwendung einer Ersetzungstabelle
zustande gebracht werden, die einen VPN-Identifikator in jedem Tabelleneintrag
enthält.
-
Um
das umgewandelte Paket zu routen, kann die Diensteanbieter-Netzwerkvorrichtung
eine Vielzahl von Routingtabellen (d. h., virtuelle Routen-Weiterleitungstabellen)
halten, die mit einer Vielzahl von VPNs assoziiert sind. Eine der
Routingtabellen wird entsprechend einem VPN- oder VRF-Tabellenidentifikator
identifiziert, der in dem Paket vorhanden ist (z. B. das MPLS-Tag)
(der auch in dem Ersetzungstabelleneintrag gespeichert werden kann,
der zur Durchführung
von NAT verwendet wird). Wenn die Routingtabelle identifiziert ist,
wird ein Eintrag in der Routingtabelle unter Verwendung der IP-Quell- und
-Zieladressen aus dem Paket identifiziert. Das Paket kann dann unter
Verwendung des identifizierten Routingtabelleneintrags geroutet
werden.
-
In Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung identifiziert das MPLS-Tag eines Pakets, das von der
Netzwerkvorrichtung empfangen wurde, die Diensteanbieter-Netzwerkvorrichtung,
die für
die Durchführung von
NAT verantwortlich ist. Auf diese Weise leitet die empfangende Vorrichtung
dann, wenn die empfangende Vorrichtung nicht mit dem Vorrichtungsidentifikator
identisch ist, das Paket lediglich vorwärts weiter. Wenn die empfangende
Vorrichtung von dem Vorrichtungsidentifikator in dem MPLS-Tag identifiziert
wird, führt
die empfangende Netzwerkvorrichtung die NAT durch und routet das
Paket so, wie dies hier offenbart wird.
-
In Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung wird jede Routingtabelle mit Default-Routen für gemeinsame
Dienste aktualisiert. Mit anderen Worten, wenn Bekanntmachungen
für gemeinsame
Dienste empfangen werden, werden die herausgegebenen Default-Routen
in jeder der Routingtabellen hinzugefügt oder aktualisiert. Auf diese
Weise wird jede Routingtabelle, die mit jedem virtuellen privaten
Netzwerk assoziiert ist, aktualisiert, um zu ermöglichen, dass gemeinsame Dienste
von jedem virtuellen privaten Netzwerk empfangen werden können. Natürlich ist
es auch möglich, Default-Routen
für gemeinsame
Dienste auf andere Weise zu identifizieren, wie etwa in einer separaten Routingtabelle
oder in einer einzigen Tabelle, die von allen VPNs durch die Verwendung
eines Tag oder Identifikators für
gemeinsame Dienste gemeinsam benutzt wird.
-
In Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung führt
die NAT-Vorrichtung eine Network Address Translation (NAT) durch.
Allgemein gesagt werden Mechanismen (z. B. in einer kombinierten
Router-/NAT-Vorrichtung) für das
Umwandeln von Netzwerkadressen von Verkehr bereitgestellt, der zwischen
zwei privaten Domänen oder
Bereichen stattfindet. Diese Mechanismen können auch dazu verwendet werden,
Verkehr umzuwandeln, der zwischen einer privaten und einer öffentlichen
Domäne
stattfindet.
-
Ebenfalls
offenbart wird ein Network Address Translation (NAT) System, das
dahingehend betätigbar
ist, eine Network Address Translation durchzuführen. Das NAT-System umfasst
einen oder mehrere Prozessoren und einen oder mehrere Speicher. Wenigstens
einer der Speicher und der Prozessoren sind so ausgelegt, dass sie
wenigstens einige der oben beschriebenen Verfahrensoperationen bereitstellen.
Ebenfalls offenbart ist ein Computerprogrammerzeugnis für das Durchführen der
Network Address Translation für
Daten. Das Computerprogrammerzeugnis weist wenigstens ein computer-lesbares
Medium und Computerprogrammbefehle auf, die innerhalb des computer-lesbaren
Produkts gespeichert sind, die zur Durchführung wenigstens einiger der
oben beschriebenen Verfahrensoperationen eingerichtet sind.
-
Diese
und weitere Merkmale und Vorteile von Ausführungsbeispielen der vorliegenden
Erfindung werden in der nachfolgenden Beschreibung der Erfindung
und den beigefügten
Zeichnungen ausführlicher
dargestellt, die beispielshalber die Prinzipien der Erfindung veranschaulichen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine schematische Veranschaulichung von Abschnitten eines Netzwerks,
in dem die Techniken der vorliegenden Erfindung durch ein Diensteanbieter-Netzwerk
in Übereinstimmung
mit einem Ausführungsbeispiel
der vorliegenden Erfindung implementiert werden können.
-
2 ist
ein Diagramm, das eine Vielzahl von virtuellen Routen-Weiterleitungstabellen
veranschaulicht, die von einer Anbieter-NAT-Vorrichtung in Übereinstimmung mit verschiedenen
Ausführungsbeispielen
der Erfindung gehalten werden.
-
3 ist
ein Prozessablaufdiagramm, das ein Paket veranschaulicht, das ein
Multi Protocol Label Switching (MPLS) Tag enthält und das von einer NAT-Vorrichtung
in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung weitergeleitet wird.
-
4 ist
ein Diagramm, das eine Ersetzungstabelle veranschaulicht, die von
einer NAT-Vorrichtung in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung gehalten wird.
-
5 ist
ein Prozessablaufdiagramm, das ein Verfahren zur Verarbeitung eines
Pakets durch eine NAT-Vorrichtung in Übereinstimmung mit verschiedenen
Ausführungsbeispielen
der Erfindung veranschaulicht.
-
6 ist
ein Prozessablaufdiagramm, das ein Verfahren zum Aktualisieren einer
Vielzahl von virtuellen Routen-Weiterleitungstabellen mit einer Default-Route
für gemeinsame
Dienste in Übereinstimmung
mit verschiedenen Ausführungsbeispielen der
Erfindung veranschaulicht.
-
7 ist
eine schematische Darstellung eines Router, in dem Ausführungsbeispiele
der vorliegenden Erfindung implementiert werden können.
-
AUSFÜHRLICHE BESCHREIBUNG SPEZIFISCHER
AUSFÜHRUNGSBEISPIELE
-
Nun
wird im Einzelnen Bezug auf ein spezifisches Ausführungsbeispiel
der Erfindung genommen. Ein Beispiel dieses Ausführungsbeispiels ist in den
beigefügten
Zeichnungen veranschaulicht. Obwohl die Erfindung in Verbindung
mit diesem spezifischen Ausführungsbeispiel
beschrieben wird, ist es selbstverständlich, dass dieses nicht zur
Beschränkung
der Erfindung auf ein einziges Ausführungsbeispiel gedacht ist.
Im Gegenteil, es ist so gedacht, dass die Erfindung Alternativen,
Modifikationen und Äquivalente
abdeckt, wie sie innerhalb des Schutzumfangs der Erfindung enthalten
sein können,
wie diese von den anhängenden
Ansprüchen
definiert ist. In der nachfolgenden Beschreibung werden zahlreiche
spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der
vorliegenden Erfindung bereitzustellen. Die vorliegende Erfindung
kann ohne einige oder alle dieser spezifischen Einzelheiten praktiziert
werden. In anderen Fällen
sind wohl bekannte Prozessoperationen nicht im Einzelnen beschrieben
worden, um die vorliegende Erfindung nicht unnötig zu verschleiern.
-
In
der folgenden Beschreibung schlagen verschiedene Ausführungsbeispiele
der Erfindung eine Lösung
vor, um ein Anbieter-Netzwerk in die Lage zu versetzen, "gemeinsame Dienste" mehreren VPNs und
assoziierten Kunden bereitstellen zu können. Diese Dienste können den
Internet-Zugang, Voice Gatekeepers und Proxies umfassen, sind aber
nicht auf diese beschränkt.
Um solche Dienste für
Kunden zu unterstützen,
die assoziierte virtuelle private Netzwerke aufweisen, hält das Anbieter-Netzwerk
Routinginformationen für
jedes virtuelle private Netzwerk, die in Zusammenhang mit der NAT-Verarbeitung verwendet
werden. Auf diese Weise kann die Unterstützung für IP-Dienste auf mehrere Unternehmenskunden
ausgeweitet werden. Auf diese Weise kann die Belastung der Durchführung der
NAT von den Kunden auf das Diensteanbieter-Netzwerk verlagert werden.
-
1 ist
eine schematische Veranschaulichung von Abschnitten eines Netzwerks 100,
in dem die Techniken der vorliegenden Erfindung in Übereinstimmung
mit einem Ausführungsbeispiel
der vorliegenden Erfindung implementiert werden können. Allgemein
gesagt stellt die vorliegende Erfindung Mechanismen zum Durchführen der
Network Address Translation (NAT) zwischen einer Vielzahl von unterschiedlichen
Domänen
bereit. Die unterschiedlichen Domänen können beide private Domänen sein,
können
beide auch öffentliche
Domänen
sein, oder es kann eine privat und die andere öffentlich sein. In Übereinstimmung
mit einem bevorzugten Ausführungsbeispiel
entsprechen ausgewählte
Domänen virtuellen
privaten Netzwerken (VPNs). Außerdem kann
jede der Domänen
eine andere Version von IP implementieren. In dem veranschaulichten
Ausführungsbeispiel
sind diese NAT-Techniken in einer kombinierten Router- und NAT-Vorrichtung 104 implementiert.
Natürlich
können
die NAT-Techniken der vorliegenden Erfindung in jeder geeigneten
Anzahl und in jedem geeigneten Typ von Vorrichtungen implementiert
werden. In Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung wird die NAT-Vorrichtung in einer Diensteanbieter-Edge
Box implementiert, die an einer Eingangsschnittstelle des Diensteanbieter-Netzwerks
und/oder an einer Ausgangsschnittstelle des Diensteanbieter-Netzwerks implementiert
ist.
-
In
dem veranschaulichten Beispiel weist die Diensteanbieter-Edge Box
(und NAT-Vorrichtung) 104 fünf Schnittstellen INT1 bis
INT5 auf. Vier der Schnittstellen INT1 bis INT4 sind jeweils mit
einer privaten Domäne
gekoppelt. Zum Beispiel ist die Schnittstelle INT1 mit der privaten
Domäne
1 103 gekoppelt, und die Schnittstelle INT4 ist mit der
privaten Domäne
4 gekoppelt. Jede Domäne
kann jegliche geeignete Anzahl von lokalen und privaten Netzwerken
umfassen. Wie gezeigt ist, umfasst die Domäne 1 103 ein privates
lokales Netzwerk (LAN) 102 von Hostcomputern (z. B. 102a, 102b und 102c).
In diesem Beispiel ist die Domäne
1 103 als ein virtuelles privates Netzwerk (VPN) implementiert
und wird als VPN 1 bezeichnet, das einem ersten Kundenstandort,
Standort 1, des Kunden A entspricht. Die Domäne 2 114 ist mit dem
VPN 2 assoziiert, das dem Kunden B entspricht. Die Domäne 3 116 ist
mit einem zweiten Kundenstandort, einem Standort 2, des Kunden A
assoziiert und ist deshalb auch mit dem VPN 1 assoziiert. Die Domäne 4 118 ist
mit dem VPN 3 assoziiert, das dem Kunden C entspricht, und umfasst den
Host 120 und den DNS Server 122. Die Domäne 4 118 kann
andere Server- oder Client-Plattformen umfassen
(nicht gezeigt). Die Diensteanbieter-Edge Box (und NAT-Vorrichtung) 104 ist
auch mit einer öffentlichen
Domäne
5 (z. B. Diensteanbieter-Netzwerk) 108 durch die Schnittstelle
INT 5 gekoppelt. Die Domäne
5 108 umfasst den Server 112, auf den durch den
Router 110 zugegriffen werden kann. Auf diese Weise kann
auf einen gemeinsamen Dienst, wie etwa einen Web Server und eine
assoziierte Webseite, über
den Server 112 zugegriffen werden.
-
In
dem ganzen Netzwerk 100 kann jegliche Anzahl von Routern
und/oder NAT-Vorrichtungen verteilt sein. Zum Beispiel kann jede
Domäne
mit ihrer eigenen Router-/NAT-Vorrichtung assoziiert sein. Aber
in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung führt
die Diensteanbieter-Edge Box 104 die NAT für mehrere
Kunden durch, wodurch die Notwendigkeit für eine separate NAT-Vorrichtung
an jedem VPN oder an jedem Kundenstandort beseitigt wird.
-
Ein
Diensteanbieter kann den Wunsch haben, eine Vielfalt von gemeinsamen
Diensten zu entwickeln und den Zugriff auf diese gemeinsamen Dienste
bereitzustellen. Tatsächlich
können
zusätzliche
Dienstangebote ein Differenzierer gegenüber Mitbewerbern sein. Unternehmenskunden
können deshalb
von breiteren Angeboten durch Diensteanbieter profitieren. Darüber hinaus
entbindet das Verlagern der Belastung der Durchführung von irgendwelchen notwendigen
Adressenumsetzungen auf das Diensteanbieter-Netzwerk die Kunden
von einer komplizierten administrativen Aufgabe. Als eine Folge
davon können
Kunden weiterhin private Adressierungen verwenden, aber dennoch
Zugang zu gemeinsamen Diensten und dem Internet aufrecht erhalten.
Außerdem
kann die Einbindung der NAT-Funktion innerhalb des Diensteanbieter-Netzwerks
auch die Gesamtkosten für
Unternehmenskunden herabsetzen, da die Kunden-Unternehmens-Router
an dem Rand der Unternehmensnetzwerke nicht die NAT-Funktion durchführen müssen.
-
Da
die Diensteanbieter-Edge Box den VPN-Zugang für jedes Kunden-Unternehmensnetzwerk
(für ferne
Kunden) bereitstellt, hält
der Diensteanbieter eine Vielzahl von Routingtabellen (d. h., virtuelle
Routen-Weiterleitungstabellen)
für jedes
der VPNs. Auf diese Weise kann der Diensteanbieter zwischen potentiell
identischen privaten Adressen unterscheiden, die von mehreren VPNs
unterstützt werden.
-
2 ist
ein Diagramm, das eine Vielzahl von virtuellen Routen-Weiterleitungstabellen
veranschaulicht, die von einer Anbieter-NAT-Vorrichtung in Übereinstimmung mit verschiedenen
Ausführungsbeispielen
der Erfindung gehalten werden. Wie gezeigt ist, ist die Diensteanbieter-Edge
Box 208 mit einem oder mehreren virtuellen privaten Netzwerken gekoppelt.
Insbesondere in diesem Beispiel sind drei unterschiedliche VPNs 202, 204 und 206 mit
der Diensteanbieter-Edge Box 208 gekoppelt. Die Diensteanbieter-Edge Box 208 hält eine
Vielzahl von VRF-Tabellen 209, wobei jede der Routingtabellen mit
einem anderen VPN assoziiert ist. Wie gezeigt ist, ist die VRF-Tabelle 1 210 mit
dem VPN1 assoziiert, die VRF-Tabelle 2 212 ist mit dem
VPN2 assoziiert, und die VRF-Tabelle 3 214 ist mit dem
VPN3 assoziiert. Die Routingtabellen 210, 212, 214 können in
der Anbieter Edge Box 208 gespeichert werden (wie gezeigt
ist), oder können
in einem Speicher gespeichert werden, der mit der Anbieter Edge
Box 208 assoziiert ist.
-
Um
ein Paket routen zu können,
muß der Diensteanbieter
zuerst einmal die geeignete Routingtabelle identifizieren. Traditionellerweise
verwaltete jedes Kunden-Unternehmensnetzwerk seine eigene Routingtabelle.
Durch das Unterstützen
von mehreren Routingtabellen kann das Diensteanbieter-Netzwerk die
geeignete Routingtabelle identifizieren und ein Paket dementsprechend
weiter leiten. Dies kann dadurch erzielt werden, dass Informationen
beschafft werden, die eine VPN- und/oder VRF-Tabelle anzeigen, um
das Paket zu routen. Insbesondere können diese Informationen aus
dem zu routenden Paket erhalten werden.
-
Viele
Diensteanbieter erweitern im Augenblick ihre Netzwerke mit Multi
Protocol Label Switching (MPLS). 3 ist ein
Prozessablaufdiagramm, das ein Paket veranschaulicht, das ein Multi
Protocol Label Switching (MPLS)-Tag enthält und das von einer NAT-Vorrichtung
in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung weitergeleitet wird. Wie gezeigt ist, umfasst das
Paket 300 einen IP-Header 302, der eine IP-Zieladresse 304 und
eine IP-Quelladresse 306 enthält. In diesem Beispiel ist
die IP-Zieladresse 304 der Server 112 und die
IP-Quelladresse 306 ist der Host 120. Das Paket 300 umfasst
des Weiteren eine Nutzlast 308 und ein MPLS-Tag 310.
Eine vereinfachte Version des MPLS-Tag zeigt einen Anbieter-Randvorrichtungs-Identifikator (provider
edge device identifier) 312, der die Anbieter-Randvorrichtung identifiziert, von
der aus das Pakete gesendet wurde. Außerdem identifiziert ein VPN-Identifikator 314 das
virtuelle private Netzwerk, von dem das Paket gesendet worden ist.
In diesem Beispiel identifiziert der VPN-Identifikator 314 das VPN3.
Eine ausführlichere
Beschreibung der Inhalte eines MPLS-Tag ist in RFC 2547 offenbart.
-
Um
eine NAT durchzuführen,
wird typischerweise eine Ersetzungstabelle verwendet. 4 ist ein
Diagramm, das eine Ersetzungstabelle veranschaulicht, die von einer
NAT-Vorrichtung in Übereinstimmung
mit verschiedenen Ausführungsbeispielen der
Erfindung gehalten wird. Insbesondere umfasst die Ersetzungstabelle 400 eine
Vielzahl von Einträgen 402.
Jeder Eintrag 402 enthält
einen VPN-Identifikator oder VRF-Tabellen-Identifikator 404,
eine "innere" lokale Adresse 406,
eine "innere" öffentliche Adresse 408,
eine "äußere" lokale Adresse 410 und eine "äußere" öffentliche
Adresse 412. Mit anderen Worten gesagt entsprechen die "lokalen" Adressen den IP-Adressen,
die innerhalb eines virtuellen privaten Netzwerks verwendet werden
können
(d. h., private Adressen), und die "öffentlichen" Adressen entsprechen
den IP-Adressen, die außerhalb
des virtuellen privaten Netzwerks verwendet werden können (d.
h., öffentliche
Adressen). Lokale Adressen werden verwendet, wenn Pakete zu Knoten
innerhalb des virtuellen privaten Netzwerks gesendet werden, während öffent liche
Adressen verwendet werden, wenn Pakete zu Knoten außerhalb
des virtuellen privaten Netzwerks gesendet werden. Die "äußeren" Adressen entsprechen den Adressen oder
Knoten außerhalb
des virtuellen privaten Netzwerks, während die "inneren" Adressen diejenigen Adressen oder Knoten
identifizieren, die sich innerhalb des virtuellen privaten Netzwerks
befinden. In diesem Beispiel weist der Server 112 von 1 die
Adresse 192.1.1.1 auf, und der Host 120 der 1 weist
die Adresse 10.1.1.1 auf. Insbesondere die Adresse 10.1.1.1 kann
von mehreren Hosts mehrerer VPNs gemeinsam genutzt werden. So kann
der VPN-Identifikator des Ersetzungstabelleneintrags dazu verwendet
werden, zwischen diesen Hosts zu unterscheiden. Der VPN-Identifikator kann
zum Beispiel aus einem MPLS-Tag des Pakets erhalten werden.
-
In Übereinstimmung
mit einem Ausführungsbeispiel
wird eine NAT dann, wenn ein Paket von der Innenseite des VPN zu
der Außenseite
des VPN gesendet wird, durchgeführt
und ein Ersetzungstabelleneintrag wird erzeugt. Wie oben beschrieben
ist, wird der VRF- oder VPN-Identifikator in dem Ersetzungstabelleneintrag
gespeichert. Die zugehörige Routingtabelle,
wie sie von dem VRF- oder VPN-Identifikator identifiziert wird,
wird ebenfalls aktualisiert.
-
Wenn
der zugehörige
Eintrag unter Verwendung der IP-Quell- und – Zieladressen und des VPN-Identifikators
identifiziert worden ist, werden die entsprechenden öffentlichen
Adressen beschafft, um die NAT durchzuführen, damit ein Paket von dem Host
zu der Webseite übertragen
wird. Das Paket kann dann mit den modifizierten öffentlichen Adressen übertragen
werden. In diesem Beispiel wird die Hostadresse 10.1.1.1 in 172.1.1.1
umgesetzt bzw. durch diese ersetzt, und die Serveradresse bleibt gleich,
da sie eine öffentliche
Adresse ist. Auf diese Weise wird dann, wenn ein Paket von einer
privaten IP-Quelladresse
gesendet wird, die IP-Quelladresse von einer privaten Adresse zu
einer öffentlichen Adresse
ersetzt.
-
Um
ein Paket von der Webseite zu dem Host zu übertragen, betrachtet die Server-Anbieter-Box den
geeigneten Ersetzungstabelleneintrag unter Verwendung der IP-Quell-
und -Zieladressen. Die Quell-IP-Adresse des Servers bleibt gleich,
während die
Ziel-IP-Adresse 172.1.1.1 in 10.1.1.1 umgewandelt wird. Auf diese
Weise wird dann, wenn ein Paket von einer öffentlichen IP- Quelladresse gesendet wird,
die öffentliche
IP-Zieladresse durch eine private Adresse ersetzt, wenn sich die
IP-Zieladresse in einem privaten Netzwerk oder VPN befindet. Ein
Verfahren zur Verarbeitung eines Pakets, das durch eine Diensteanbieter-Netzwerkvorrichtung
von außerhalb des
VPN empfangen wird, wird unten unter Bezugnahme auf 5 noch
ausführlicher
beschrieben werden.
-
Wie
oben unter Bezugnahme auf 4 beschrieben
worden ist, können
Ersetzungs- und Routingtabellen aktualisiert werden, wenn ein Paket
von innerhalb eines VPN zu einem Knoten außerhalb des VPN übertragen
wird. 5 ist ein Prozessablaufdiagramm, das ein Verfahren
zur Verarbeitung eines Pakets durch eine Diensteanbieter-Netzwerk-NAT-Vorrichtung
in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung veranschaulicht, das von außerhalb des VPN empfangen wird
und zu einem Knoten innerhalb des VPN adressiert ist. Wie bei Block 502 gezeigt
ist, wird die NAT durchgeführt.
Zum Beispiel kann das MPLS-Tag, die dies oben beschrieben ist, die
Netzwerkvorrichtung identifizieren, die für das Durchführen der
NAT und das Routen des Pakets verantwortlich ist. Außerdem kann
das MPLS-Tag auch das VPN-Netzwerk identifizieren. Auf diese Weise
kann das VPN aus dem MPLS-Tag ermittelt werden, um einen Eintrag
in einer Ersetzungstabelle wie etwa denjenigen zu identifizieren,
der oben unter Bezugnahme auf 4 beschrieben
worden ist. Wenn ein Eintrag in der Ersetzungstabelle einmal unter
Verwendung der IP-Quelladresse (und/oder des Ports), der IP-Zieladresse
(und/oder des Ports) und des VPN-Identifikators, die aus dem Paket
erhalten wurden, identifiziert ist, wird die NAT bei dem Paket unter Verwendung
der Inhalte des Ersetzungstabelleneintrags durchgeführt.
-
Wenn
die NAT durchgeführt
worden ist, kann das Paket geroutet werden. Insbesondere eine der Vielzahl
von Routingtabellen, die von der Diensteanbieter-Netzwerkvorrichtung
gehalten werden, muß beim
Block 504 identifiziert werden, damit das Paket geroutet
werden kann. Wie oben beschrieben ist, ist der VPN- und/oder VRF-Tabellen-Identifikator
in einem MPLS-Tag in Übereinstimmung
mit einem Ausführungsbeispiel
identifiziert. Dieser VPN-Identifikator wird auch vorzugsweise in
dem Ersetzungstabelleneintrag gespeichert. Auf diese Weise kann
die zugehörige
Routingtabelle, die mit einem spezifischen VPN assoziiert ist, unter
Verwendung des VPN- Identifikators
identifiziert werden, der aus dem MPLS-Tag oder alternativ aus dem
VPN-Identifikator erhalten wird, der in dem Ersetzungstabelleneintrag
gespeichert ist, der vorher verwendet wurde, um bei dem Paket die
NAT durchzuführen.
-
Nach
der Identifikation der Routingtabelle, die mit dem VPN assoziiert
ist, wird ein Eintrag in der Routingtabelle unter Verwendung der
IP-Quelladresse
und der IP-Zieladresse in dem Paket identifiziert, wie dies bei
Block 506 gezeigt ist. Das Paket wird dann unter Verwendung
des identifizierten Routingtabelleneintrags beim Block 508 geroutet.
-
Um
zu gewährleisten,
dass jede VRF-Tabelle (Routingtabelle) aktualisiert wird, werden
herausgegebene Routen zu jeder der Routingtabellen hinzugefügt, die
von der Diensteanbieter-Edge Box gehalten werden. 6 ist
ein Prozessablaufdiagramm, das ein Verfahren zur Aktualisierung
einer Vielzahl von virtuellen Routen-Weiterleitungstabellen mit
einer Default-Route zu gemeinsamen Diensten in Übereinstimmung mit verschiedenen
Ausführungsbeispielen
der Erfindung veranschaulicht, wie dies bei 600 gezeigt
ist. Jede Netzwerkvorrichtung, die einen oder mehrere gemeinsame
Dienste bereitstellt, die für
jedes VPN zur Verfügung
stehen, gibt eine "Default-Route" zum Erreichen der
Netzwerkvorrichtung heraus. Wie bei Block 602 gezeigt ist,
werden eine oder mehrere herausgegebene Default-Routen zu gemeinsamen
Diensten, die für
jedes VPN zur Verfügung
stehen, von der Diensteanbieter-Edge Box empfangen. Jede der Vielzahl
von Routingtabellen, die jedem VPN entsprechen, wird dann beim Block 604 aktualisiert,
damit sie die Default-Routen) enthält. Mit anderen Worten, jede
Default-Route definiert eine Route zum Gelangen zu einer Netzwerkvorrichtung,
die einen oder mehrere gemeinsame Dienste bereitstellt, die für jedes
VPN zur Verfügung stehen.
-
Im
Allgemeinen können
die Techniken zur Durchführung
der Network Address Translation und des Routens in Übereinstimmen
mit verschiedenen Ausführungsbeispielen
der Erfindung in Software und/oder Hardware implementiert werden.
Zum Beispiel können
sie in einem Betriebssystem-Kernel, in einem separaten Benutzerprozess,
in einem Bibliotheksprogrammpaket, das in Netzwerkanwendungen eingebunden
ist, auf einer speziell konstruierten Maschine oder auf einer Netzwerk-Schnittstellenkarte implementiert
werden. In einem spezifischen Ausführungsbeispiel der vorliegenden
Erfindung werden die Techniken der vorliegenden Erfindung in Software, wie
etwa einem Betriebssystem, oder in einer Anwendung, die in einem
Betriebssystem läuft,
implementiert.
-
Ein
Software- oder Software/Hardware-Hybrid-Paket-Verarbeitungssystem der vorliegenden
Erfindung wird vorzugsweise in einer programmierbaren Mehrzweckmaschine
implementiert, die von einem Computerprogramm, das in einem Speicher
gespeichert ist, selektiv aktiviert oder rekonfiguriert wird. Eine
solche programmierbare Maschine kann eine Netzwerkvorrichtung sein,
die zur Handhabung von Netzwerkverkehr ausgelegt ist. Solche Netzwerkvorrichtungen
weisen typischerweise mehrere Netzwerkschnittstellen auf, die zum
Beispiel Frame Relay Schnittstellen und ISDN-Schnittstellen umfassen. Spezifische
Beispiele für
solche Netzwerkvorrichtungen umfassen Router und Switches. Zum Beispiel
können
die Paketverarbeitungssysteme der vorliegenden Erfindung speziell
konfigurierte Router sein, wie etwa die speziell konfigurierten
Router-Modelle 1600, 2500, 2600, 3600, 4500, 4700, 7200, 7500 und
12000, die von der Firma Cisco Systems, Inc., aus San Jose, Kalifornien
erhältlich
sind. Eine allgemeine Architektur für einige dieser Maschinen wird
aus der unten gegebenen Beschreibung offensichtlich werden. In einem
alternativen Ausführungsbeispiel
kann das Paketverarbeitungssystem (z. B. die NAT-Vorrichtung oder
die Diensteanbieter-Edge Box) in einer Mehrzweck-Netzwerk-Hostmaschine wie
etwa einem Personal Computer oder einem Arbeitsplatzrechner implementiert
sein. Des Weiteren kann die Erfindung zumindest teilweise auf einer
Karte (z. B. einer Schnittstellenkarte) für eine Netzwerkvorrichtung
oder eine Mehrzweckdatenverarbeitungsvorrichtung implementiert werden.
-
Nun
wird Bezug auf 7 genommen. Ein Router 10,
der zur Implementierung von Ausführungsbeispielen
der vorliegenden Erfindung geeignet ist, umfasst eine Master-Zentraleinheit
(CPU) 62, Schnittstellen 68 und einen Bus 15 (z.
B. einen PCI-Bus). Wenn die CPU 62 unter der Steuerung
einer geeigneten Software oder Firmware agiert, ist die CPU 62 für solche
Routeraufgaben wie etwa Routingtabellen-Berechnungen und Netzwerkmanagement
verantwortlich. Sie kann auch für
die Feststellung, ob eine Adresse eine private Adresse ist, die Feststellung,
ob eine Bindung für
eine private Adresse vorhanden ist, und die Umsetzung einer privaten Adresse
oder einer DNS-Nutzlastadresse in eine öffentliche Pooladresse, etc.,
verantwortlich sein. Sie bewerkstelligt all diese Funktionen vorzugsweise
unter der Steuerung einer Software, die ein Betriebssystem (z. B.
das Internetwork Operating System (IOS®) von
Cisco Systems, Inc.) und irgendeine geeignete Anwendungssoftware
einschließt.
Die CPU 62 kann einen oder mehrere Prozessoren 63 einschließen, wie
etwa einen Prozessor aus der Motorola-Familie von Mikroprozessoren
oder der MIPS-Familie
von Mikroprozessoren. In einem alternativen Ausführungsbeispiel ist der Prozessor 63 eine
speziell entworfene Hardware zur Steuerung der Operationen des Routers 10.
In einem spezifischen Ausführungsbeispiel
bildet auch ein Speicher 61 (wie etwa ein nichtflüchtiger
RAM und/oder ROM) einen Teil der CPU 62. Aber es gibt viele
verschiedene Arten und Weisen, wie ein Speicher mit dem System gekoppelt sein
kann. Der Speicherblock 61 kann für eine Vielfalt von Zwecken
verwendet werden, wie zum Beispiel für das Cachen und/oder Speichern
von Daten, Programmieranweisungen, etc..
-
Die
Schnittstellen 68 werden typischerweise als Schnittstellenkarten
bereitgestellt (die manchmal als "Leitungskarten" bezeichnet werden). Im Allgemeinen
steuern sie das Senden und Empfangen von Datenpaketen oder Datensegmenten über das
Netzwerk und unterstützen
manchmal andere Peripheriegeräte,
die mit dem Router 10 verwendet werden. Unter den Schnittstellen,
die bereitgestellt werden können,
befinden sich Ethernet Schnittstellen, Frame Relay Schnittstellen,
Kabelschnittstellen, DSL-Schnittstellen, Token Ring Schnittstellen
und dergleichen. Außerdem
können
verschiedene Schnittstellen mit sehr hoher Geschwindigkeit bereitgestellt
werden, wie etwa Fast Ethernet Schnittstellen, Gigabit Ethernet
Schnittstellen, ATM Schnittstellen, HSSI Schnittstellen, POS Schnittstellen,
FDDI Schnittstellen und dergleichen. Im Allgemeinen können diese
Schnittstellen Ports umfassen, die für die Kommunikation mit den
zweckmäßigen Medien
geeignet sind. In einigen Fällen
können
sie auch einen unabhängigen
Prozessor umfassen, und in einigen Fällen sogar einen flüchtigen
RAM. Die unabhängigen
Prozessoren können
solche kommunikationsintensiven Aufgaben wie etwa das Paket-Switching, die
Mediensteuerung und das Medienmanagement steuern. Durch das Bereitstellen
von separaten Prozessoren für
kommunikationsintensive Aufgaben erlauben es diese Schnittstellen,
dass der Master-Mikroprozessor 62 Routingberechnungen,
Netzdiagnosen, Sicherheitsfunktionen, etc. effizient durchführen kann.
-
Obwohl
das System, das in 7 gezeigt ist, ein spezifischer
Router der vorliegenden Erfindung ist, ist dies auf keinen Fall
die einzige Router-Architektur,
in der die vorliegende Erfindung implementiert werden kann. Zum
Beispiel wird auch oft eine Architektur, die einen einzigen Prozessor
aufweist, der sowohl Kommunikationen als auch Routingberechnungen
etc. handhabt, verwendet. Außerdem
können auch
andere Arten von Schnittstellen und Medien mit dem Router verwendet
werden.
-
Ungeachtet
der Konfiguration der Netzwerkvorrichtung kann diese einen oder
mehrere Speicher oder Speichermodule verwenden (wie etwa zum Beispiel
den Speicherblock 65), die zur Speicherung von Daten, Programmanweisungen
für die
Mehrzweck-Netzwerkoperationen und/oder die hier beschriebenen erfinderischen
Techniken eingerichtet sind. Die Programmanweisungen können zum
Beispiel den Betrieb eines Betriebssystems und/oder einer oder mehrerer
Anwendungen steuern. Der Speicher oder die Speicher kann/können auch
so konfiguriert sein, dass er/sie eine virtuelle Routen-Weiterleitungstabelle
für jedes
virtuelle private Netzwerk speichert/speichern.
-
Da
solche Informationen und Programmanweisungen verwendet werden können, um
die hier beschriebenen Systeme/Verfahren zu implementieren, betrifft
die vorliegende Erfindung auch maschinenlesbare Medien, die Programmanweisungen,
Zustandsinformationen, etc. zum Durchführen verschiedener, hier beschriebener
Operationen enthalten. Beispiele für maschinenlesbare Medien umfassen, sind
aber nicht beschränkt
auf magnetische Medien wie etwa Festplatten, Floppy Disks und Magnetbänder; optische
Medien wie etwa CD-ROM Disks und DVDs; magnetooptische Medien wie
etwa Floptical Disks; und Hardwarevorrichtungen, die speziell für die Speicherung
und Durchführung
von Programmanweisungen konfiguriert sind, wie etwa Nur-Lese-Speichervorrichtungen
(ROM) und Direktzugriffsspeicher (RAM). Die Erfindung kann auch
in einer Trägerwelle
verwirklicht werden, die über
ein geeignetes Medium wandert, wie etwa Luftwellen, optische Leitungen,
elektrische Leitungen, etc.. Beispiele für Programmanweisungen umfassen
sowohl einen Maschinencode, wie etwa denjenigen, der von einem Compiler
erzeugt wird, als auch Dateien, die Codes höherer Ebene enthalten, die
von dem Computer unter Verwendung eines Interpretierers ausgeführt werden
können.
-
Obwohl
die obige Erfindung für
die Zwecke der Klarheit des Verständnisses in einigen Einzelheiten
beschrieben worden ist, wird es offensichtlich sein, dass bestimmte Änderungen
und Modifikationen innerhalb des Schutzumfangs der angehängten Ansprüche praktiziert
werden können.
Zum Beispiel kann, obwohl die vorliegende Erfindung unter Bezugnahme
auf die Verwendung von mehreren Routingtabellen beschrieben worden
ist, eine einzige Routingtabelle für mehrere VPNs verwendet werden,
indem ein VPN-Identifikator in jeden Routingtabelleneintrag eingefügt wird.
Deshalb sollten die beschriebenen Ausführungsbeispiele als veranschaulichend
und nicht als beschränkend
betrachtet werden, und die Erfindung sollte nicht auf die hier gegebenen
Einzelheiten beschränkt
sein, sondern sollte durch die folgenden Ansprüche definiert sein.