-
Technisches
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft allgemein Netzkommunikation und insbesondere
das Bereitstellen von Verbindbarkeit zwischen Netzen unterschiedlicher
Adressbereiche.
-
Hintergrund
der Erfindung
-
In
der Netzkommunikation besteht der allgemeine Bedarf nach dem Bereitstellen
von Verbindbarkeit zwischen unterschiedlichen Netzen, insbesondere
wenn die Netze unterschiedliche Adressbereiche haben. Beispielsweise
wäre dies
normalerweise der Fall, wenn ein Knoten in einem Privatnetz wünscht, eine
Verbindung zu einem Host in einem öffentlichen Netz aufzubauen.
Das Privatnetz hat üblicherweise
interne Adressen, die außerhalb
des Netzes aus privaten Gründen
oder einfach, weil die interne Adresse für die Verwendung außerhalb
des Netzes ungültig
ist, nicht außerhalb
des Netzes verwendet werden können.
Andere Beispiele schließen
die Verbindbarkeit zwischen Netzen unterschiedlicher öffentlicher
Domänen
ein, sowie zwischen unterschiedlichen Privatnetzen.
-
Mit
dem explosionsartigen Anwachsen der Internetprotokollnetze (IP-Netze),
wie z.B. des Internets, Intranets und anderer Netze, wird der beschränkte IP-Adressraum, der von
der derzeitigen Version des IP-Protokolls,
IPv4, bereitgestellt wird, eine wirkliche Herausforderung. Mit einem 32-Bit-Adressfeld
ist es möglich, 232 unterschiedliche Adressen zuzuordnen,
was mehr als 4 Milliarden global einzigartige Adressen sind. Die
nächste
Version des IP-Protokolls, IPv6, wird ein 128-Bit-Adressfeld haben,
hierdurch eine praktisch unbegrenzte Zahl global einzigartiger IP-Adressen
bereitstellend. Die Herausforderung ist, dass es eine eingeschränkte Anzahl
von IPv4-Adressen für
Betreiber ihrer Netze gibt und IPv6 noch nicht von mehr als einem
sehr eingeschränkten
Satz von Knoten innerhalb des Internets unterstützt wird. Auch wird eine große Anzahl von
Altnetzen, einschließlich
Internet-Subnetzen, wahrscheinlich das IPv4 oder ältere Versionen
des IP-Protokolls über
viele kommende Jahre verwenden.
-
Für Mobilfunk-
oder Zellularnetze stehen Telekommunikationshändler und Betreiber einer großen Herausforderung
gegenüber
beim Unterstützen einer
gewaltigen Zahl von IP-befähigten
Mobilendgeräten
in 2,5G- und 3G-Netzen.
Der IPv4-Adressraum ist offenbar nicht groß genug, um die Bedürfnisse
zu erfüllen,
wenn eine umfassende Verwendung von 2,5G- und 3G-Netzen innerhalb
der nahen Zukunft stattfindet. Heute erhalten Netzbetreiber, die
Adressräume
für ihre
neuen Zellularnetze beantragen, Adressräume weit unterhalb der erwarteten
Nutzerzahl. Das Verhältnis
kann so gering sein wie einige Tausend Adressen für erwartete
Kunden basierend auf Millionen von Teilnehmern.
-
Um
den Bedarf an Adressen zu füllen,
drängen
die Telekommunikationshändler
auf die Einführung
von IPv6 in Endgeräte
als Standardprotokoll zum Verwenden innerhalb von Zellularnetzen
der nächsten
Generation. Ein vollständig
verwendetes IPv6 würde
selbstverständlich
das Adressraumproblem lösen,
aber unglücklicherweise
ist IPv6 im Internet noch nicht weithin verwendet und es wird erwartet,
dass diese Verwendung recht langsam voranschreitet, zumindest in
der nahen Zukunft. Da IPv6 nicht im Internet verwendet wird, werden
Händler
Migrationsschemata verwenden müssen
zum Bereitstellen von Verbindbarkeit zwischen unterschiedlichen
Netzen.
-
Es
gibt eine Anzahl existierender Schemata sowohl für das Ausdehnen eines Adressbereichs
als auch für
das Umsetzen zwischen unterschiedlichen Adressbereichen. Diese Schemata
werden nachstehend kurz umrissen hauptsächlich in Bezug auf das Bereitstellen
von Verbindbarkeit zwischen gemäß dem Internetprotokoll
(IP) arbeitenden privaten und öffentlichen
Netzen.
-
Unter
Bezugnahme auf 1 ist
ein privater Bereich eine Domäne,
wo Hosts Adressen zugeordnet sind, welche nicht innerhalb des Internets
einzigartig sind, oder die einzigartig sind aber aus irgendwelchen
Gründen
vor dem öffentlichen
Bereich versteckt sind. Ein übliches
Beispiel ist das Zuordnen von Hosts in einem privaten Netz 10 mit
Privatadressen [a.a.a.a] bis [a.d.d.d], wie beispielsweise in RFC1918
spezifiziert, um es mehreren Hosts zu ermöglichen, eine einzige oder
einige öffentliche IP-Adressen
zu verwenden, wenn die Anzahl an Privatbereichs-Hosts die Anzahl öffentlicher
Adressen übersteigt,
die dem Privatnetz 10 zugeordnet sind. Da es keine festgelegte
Institution gibt, die die Verwendung privater Adressen koordiniert,
treten diese Adressen an mehreren Orten um die Welt auf und sind
demnach allgemein nicht einzigartig und können demnach nicht innerhalb
des öffentlichen
Bereichs verwendet werden. Damit private Hosts in der Lage sind,
auf das Netz 20 des öffentlichen
Bereichs zuzugreifen, kann ein Gateway 30 verwendet werden,
um mehrere private Hosts in die Lage zu versetzen, eine einzelne
oder einige IP-Adressen [x.x.x.x] bis [x.x.x.z] zum Zwecke des Zugriffs
auf den öffentlichen
Bereich gemeinsam zu verwenden. Das Gateway 30 stellt demnach
das nötige
Mittel zum Verbinden von Hosts innerhalb des privaten Bereichs mit
dem öffentlichen
Bereich bereit, speziell wenn die Anzahl an privaten Hosts größer ist
als die Anzahl verfügbarer öffentlicher
IP-Adressen.
-
Netzadress-Umsetzer (NAT
bzw. Network Address Translator)
-
Existierende
Schemata zum Ausdehnen von Adressbereichen, wie z. B. den IPv4-Adressbereich, basieren
häufig
auf sogenannten Netzadressumsetzer-Gateways (NAT-Gateways), welche
Privatadressen in öffentliche
Adressen umsetzen und umgekehrt [1]. Die unterschiedlichen Arten
von NAT haben gemeinsam, dass sie alle Privatadressen verstecken und öffentliche
Adressen wiederverwenden zum Ermöglichen
von Kommunikation zwischen Hosts in einem privaten Bereich und Hosts
im öffentlichen
Bereich.
-
Traditionelle
NAT
-
Ein
traditionelles NAT-Gateway verwendet üblicherweise einen Satz öffentlicher
IP-Adressen, um sie individuellen privaten Knoten auf einer pro-Sitzung-Basis
zuzuweisen. Wenn ein Host innerhalb des privaten Bereichs wünscht, einen
Host innerhalb eines öffentlichen
Netzes, wie z. B. dem Internet, zu kontaktieren, weist der NAT eine
seiner öffentlichen Adressen
[x.x.x.x] bis [x.x.x.z] dem privaten Host zu. Der NAT überschreibt
dann die Senderadresse in dem IP-Kopf des gehenden Paketes mit der öffentlichen
Adresse, so dass der entsprechende Host im öffentlichen Internet den Eindruck
erhält,
als ob das Paket von der öffentlich
zugewiesenen IP-Adresse käme. Wenn
der öffentliche
Host ein Paket zurück
zu der öffentlich
zugewiesenen Adresse sendet, überschreibt
der NAT die Zieladresse in dem IP-Kopf mit der Privatadresse, so
dass das Paket korrekt in dem Privatbereich geroutet bzw. gelenkt
wird.
-
Dieses
Verfahren des Umsetzens zwischen zwei Bereichen ist einfach, aber
leidet unter zwei Nachteilen, die andere Verfahren zu lösen versucht haben.
Erstens ermöglicht
es einem Host im öffentlichen
Internet nicht, einen Host innerhalb des privaten Bereichs zu kontaktieren,
und zweitens bringt es keine wirklich gute Skalierbarkeit, weil
jedes Mal, wenn ein privater Host wünscht, einen Host im öffentlichen Bereich
zu kontaktieren, eine gesamte öffentliche IP-Adresse
für den
Host reserviert wird.
-
Netzadressport-Umsetzung
(NAPT bzw. Network Address Port Translation)
-
NAPT
mildert das Skalierbarkeitsproblem dadurch, dass es mehrere Hosts
im Privatbereich befähigt,
eine einzelne IP-Adresse
gemeinsam zu verwenden. Dies wird erreicht durch Einschließen von Transportprotokoll-Port-Information
in die Umsetzungsprozedur. Wenn ein Host im Privatbereich wünscht, einen
Host im öffentlichen
Bereich zu kontaktieren, weist das Gateway einen freien Port der Schnittstelle
des öffentlichen
Bereichs der Verbindung zu und verwendet den ursprünglichen
und den zugewiesenen Port gemeinsam mit den IP-Adressen für die Umsetzung.
Auf diese Art kann das NAPT-Gateway eine einzelne IP-Adresse für einige private
Hosts gemeinsam verwenden.
-
Überlege
beispielsweise einen Host [a.a.a.a], der wünscht, einen Host [d.d.d.d]
im öffentlichen
Internet zu kontaktieren. Wenn das erste Paket zu dem Host [d.d.d.d]
den NAT erreicht, weist dieser einen freien Port an einer Schnittstelle,
beispielsweise die öffentliche
IP-Adresse [x.x.x.x], der Verbindung zu und überschreibt die Senderadresse
von [a.a.a.a] in [x.x.x.x] und die Sender-Port-Nummer zu der zugewiesenen Port-Nummer.
Wenn der Empfänger
antwortet, ist die Zieladresse [x.x.x.x], und der Port ist die zugewiesene
Port-Nummer. Wenn dieses Paket das NAPT-Gateway erreicht, überschreibt dieses die Zieladresse
mit [a.a.a.a] und die Ziel-Port-Nummer mit der Ursprungs-Port-Nummer.
-
Demnach
ist die Skalierung des NAPT besser als die des traditionellen NATs,
aber es ist Hosts innerhalb des öffentlichen
Bereichs noch nicht möglich,
eine Sitzung zu Hosts innerhalb des privaten Bereichs zu veranlassen.
-
Bidirektionaler NAT
-
Ein
bidirektionaler NAT ermöglicht
es Hosts im öffentlichen
Internet, Hosts innerhalb eines privaten Bereichs zu erreichen.
Dies wird durch das Einführen
eines speziellen Anwendungsschichts-Gateways (ALG bzw. Application
Layer Gateway) zu einem Domain-Name-Server (DNS bzw. Domain Name
Server) in Verbindung mit dem bidirektionalen NAT erreicht. Das
ALG ist imstande, vollständig
qualifizierte Domain-Namen (FQDN bzw. Fully Qualified Domain Names)
von Privatbereichs-Hosts
aufzulösen
zum Zuordnen von Adressen des öffentlichen Bereichs.
Das ALG ist imstande, eine einem FQDN entsprechende Privatbereichsadresse
umzusetzen in eine Adresse des öffentlichen
Bereichs und umgekehrt. Der bidirektionale NAT ermöglicht es
Hosts innerhalb des öffentlichen
Internets, mit Hosts innerhalb eines privaten Bereichs zu kommunizieren,
aber es gibt eine eins-zu-eins-Abbildung zwischen Hosts und öffentlichen
IP-Adressen, was kaum skaliert, wenn öffentliche IP-Adressen rar
sind.
-
Bereichsspezifisches IP
(RSIP)
-
RSIP
nimmt einen anderen Ansatz als NAT zum Bereitstellen von Verbindbarkeit
zwischen unterschiedlichen Bereichen [2, 3]. RSIP
verwendet einen Spezialknoten, der sich der unterschiedlichen Bereiche
bewusst ist und zwischen den beiden unterscheiden kann.
-
Allgemein
gesagt verwendet RSIP zwei Einheiten, einen RSIP-Server und einen RSIP-Client. Der RSIP-Server
liegt in beiden Bereichen vor und kann Router-Funktionalität zwischen
den Bereichen bereitstellen. Er kann auch der die öffentlichen Adressen
zu privaten Hosts zuordnende Knoten sein. Der RSIP-Client ist ein Knoten
innerhalb des privaten Bereichs, der temporär eine öffentliche Adresse verwenden
kann, wenn er mit öffentlichen
Hosts kommuniziert. Demnach verwendet das RSIP die öffentlichen
Adressen für
beide Teilnehmer bei der Kommunikation zwischen den privaten und öffentlichen
Bereichen und führt
keine Adressumsetzung durch.
-
Ein
Vorteil dieses Schemas ist, dass es keinen Bedarf für das Verwenden
von ALGs für
Anwendungen gibt, da selbst für
private Clients Adressen des öffentlichen
Bereichs verwendet werden. Jedoch ermöglicht gewöhnliches RSIP keine im öffentlichen Bereich
initiierten Verbindungen. Es gibt zwei Arten von RSIP, nämlich bereichsspezifisches
RSIP (RSA-IP) und bereichsspezifisches Adress- und Port-IP (RSAP-IP).
-
Bereichsspezifisches Adress-IP
(RSA-IP)
-
Einem
RSA-IP-Client wird eine öffentliche IP-Adresse
zugewiesen, wenn er mit dem öffentlichen
Bereich kommuniziert. Diese Prozedur ist eine eins-zu-eins-Abbildung
und demnach kann kein anderer Host die Adresse verwenden bis sie
von dem Client freigegeben wird (sogenannte Adress-Granularität). Die
Pakete werden üblicherweise
durch den privaten Bereich zu dem RSA-IP-Server getunnelt oder sie
können
von Endgerät
zu Endgerät
getunnelt werden.
-
Bereichsspezifisches Adress-
und Port-IP (RSAP-IP)
-
RSAP-IP
arbeitet ähnlich
wie RSA-IP, mit dem Unterschied, dass RSAP-IP-Clients öffentliche Adressen
sowie zugeordnete Ports zugewiesen werden (sogenannte Port-Granularität). Auf
diese Weise können
einige RSAP-IP-Clients öffentliche
Adressen teilen. Das Multiplexieren wird durch das Hinzufügen sowohl
von IP-Tunnel als auch zusätzlichem
Transportkopf mit dem zugeordneten Port als Identifizierer ausgeführt, wenn
der öffentliche
Host den Tunnel abschließt.
Wenn der RSAP-IP-Server
den Tunnel abschließt,
basiert Multiplexieren sowohl auf der Zieladresse als auch dem Port.
-
NAT-PT
-
Eine
andere Art von NAT, NAT-PT genannt, fügt spezifische Protokollumsetzung
zwischen IPv4 und IPv6 ein. NAT-PT tritt in drei Arten auf, entsprechend
Standard-NAT, NAPT und bidirektionalem NAT. Bidirektionales NAT-PT
sieht eine Unterstützung
in Bezug auf vom öffentlichen
Bereich initiierte Kommunikation vor, aber mit einer eins-zu-eins-Abbildung der öffentlichen
IP-Adresse zu dem Privatbereichs-Host.
Jedoch skaliert auch dieses Schema nicht sehr gut, bedingt durch
die begrenzte Anzahl verfügbarer öffentlicher
IPv4-Adressen.
-
Im
allgemeinen wird eine im öffentlichen
Bereich initiierte Kommunikation ermöglicht durch manuelles und
statisches Konfigurieren des Gateways derart, dass ein Innenpaket
(Inside Bound Packet) mit gegebenen Zieladresse und Port weitergeleitet wird
zu einem gewissen Knoten im privaten Bereich. Dieses Schema wird
allgemein als statisches Port-Abbilden
bezeichnet.
-
Das
Brückenschlagen
zwischen einem privaten Bereich und einem öffentlichen Bereich könnte auch
in der Sitzungsebene bewirkt werden, zum Beispiel wie in [4] beschrieben.
-
Offensichtlich
gibt es Einschränkungen
in Bezug auf die Anzahl simultaner Ströme, die von dem Gateway unterstützt werden
können,
sowie Einschränkungen
in Bezug auf die Mechanismen zum Einrichten einer von Knoten im öffentlichen
Bereich initiierten Verbindung.
-
RESÜMEE DER
ERFINDUNG
-
Keines
der existierenden Schemata erfüllt die
Bedürfnisse
zum Unterstützen
einer umfangreichen Verwendung einer gewaltigen Anzahl von IP-befähigten Endgeräten in zukünftigen
Netzen oder, allgemeiner, den Bedarf nach effizientem Bereitstellen
von Verbindbarkeit zwischen Netzen unterschiedlicher Adressbereiche.
-
Die
vorliegende Erfindung räumt
diese und andere Nachteile der Anordnungen des Standes der Technik
aus.
-
Es
ist ein allgemeines Ziel der Erfindung, ein verbessertes Schema
zum Bereitstellen von Verbindbarkeit zwischen Netzen unterschiedlicher
Adressbereiche bereitzustellen.
-
Es
ist insbesondere wichtig, verbesserte Skalierbarkeit, beispielsweise
zum Ermöglichen
einer Unterstützung
einer großen
Zahl privater Knoten mit Hilfe einer begrenzten Zahl verfügbarer öffentlicher
Adressen bereitzustellen. Mit anderen Worten, die Multiplexierungseigenschaften
eines Kommunikations-Gateways zu verbessern.
-
Es
ist ebenfalls ein Ziel der Erfindung, eine stabile Unterstützung in
Bezug auf flexible sogenannte außenbereichsveranlasste Kommunikation
bereitzustellen, beispielsweise Kommunikationen, die im öffentlichen
Bereich veranlasst werden.
-
Ein
anderes Ziel der Erfindung ist es, ein verbessertes Verfahren und
System bereitzustellen zum Einrichten einer Verbindung zwischen
einem Außenadressbereich
und einem Innenadressbereich durch ein Zwischen-Gateway.
-
Ein
spezielles Ziel der Erfindung ist es, ein verbessertes Gateway-System
für ein
effizientes Bereitstellen von Verbindbarkeit zwischen unterschiedlichen
Adressbereichen bereitzustellen.
-
Noch
ein anderes Ziel der Erfindung ist es, einen Gateway-Resourcen-Manager
zum Unterstützen
verbesserter Skalierbarkeit und/oder effizienter und flexibler außenbereichsveranlasster
Kommunikation bereitzustellen.
-
Diese
und andere Ziele werden durch die Erfindung erreicht, die durch
die beiliegenden Patentansprüche
definiert ist.
-
Die
Erfindung betrifft allgemein das Bereitstellen von Verbindbarkeit
zwischen zwei unterschiedlichen Adressbereichen, allgemein als Innenbereich
und Außenbereich
bezeichnet, durch Einrichten von Verbindungen durch ein Zwischen-Gateway. Das
Gateway hat normalerweise eine Anzahl von Außenbereichs-Gateway-Adressen,
um eine Darstellung von Innenbereichsknoten im Außenbereich
zu ermöglichen. Üblicherweise
ist der Innenbereich ein Privatadressbereich, wohingegen der Außenbereich ein öffentlicher
Adressbereich ist. Jedoch können
sowohl der Innenbereich als auch der Außenbereich unterschiedliche
Privatadressbereiche sein oder alternativ können beide Bereiche unterschiedliche öffentliche
Domänen
sein.
-
In
dieser Hinsicht ist es eine Aufgabe, außenbereichsinitiierte Verbindungen
in einer flexiblen und effizienten Weise zu ermöglichen. Es ist ebenfalls eine
Aufgabe, in der Lage zu sein, so viele Verbindungen wie möglich über das
Gateway unter Verwendung einer begrenzten Anzahl von Außenbereichsadressen
zu unterstützen,
sowohl für
innenbereichsveranlasste als auch für außenbereichsveranlasste Kommunikation.
-
Eine
Grundidee in Bezug auf einen ersten Aspekt der Erfindung ist, eine
Unterstützung
für eine flexible
außenbereichsveranlasste
Kommunikation durch dynamisches Einrichten neuer Gateway-Verbindungszustände zu ermöglichen,
eingeleitet für jede
neue Verbindung, durch eine jeweilige von einem entsprechenden Außenknoten
veranlasste Benutzerresourcen-Identifizierabfrage.
-
Vorzugsweise
bereitet ein Außenknoten,
der wünscht,
eine neue Verbindung zu einem Innenknoten zu veranlassen, eine Benutzerresourcen-Identifiziererabfrage
(query), wie z. B. eine DNS-Abfrage (Domain Name Server Query) oder
etwas gleichwertiges vor, um zu einem zentralen Zuordnungs- oder Adressierungsmechanismus übertragen
zu werden, welcher Innenbereichs-Netzadressinformation basierend
auf dem Innenknotenidentifizierer bestimmt, der in der Abfrage enthalten
ist. Die Identifiziererabfrage von dem Außenbereichsknoten schließt ferner
vorbestimmte Verbindungsinformation, wie z. B. Außenbereichsknoten-Adressinformation
und/oder Innenbereichsknoten-Port-Information, ein. Diese vorbestimmte
Verbindungsinformation von der Identifiziererabfrage kann dann als
Grundlage zum Identifizieren einer Außenbereichs-Gateway-Adresse
verwendet werden, die geeignet ist zum Einrichten eines neuen dynamischen
Gateway-Verbindungszustandes oder eines Stroms zwischen dem Außenknoten und
dem Innenknoten über
das Gateway. Der neue dynamische Gateway-Verbindungszustand wird
daraufhin zumindest teilweise basierend auf der identifizierten
Außenbereichs-Gateway-Adresse,
der vorbestimmten Verbindungsinformation von der Identifiziererabfrage
und der Innenbereichs-Netzadressinformation
eingerichtet. Auf diese Weise stellt die Erfindung Unterstützung für dynamische
außenbereichsinitiierte
Kommunikation bereit.
-
Beispiele
einer Benutzerresourcen-Identifiziererabfrage schließen eine
DNS-Abfrage ein, eine URI-Abfrage (Universal Resource Identifier
Query) des SIP (Session Initiated Protocol) oder eine ähnliche
Abfrage eines proprietären
Protokolls, wie z. B. eines proprietären Peer-to-Peer-Protokolls bzw. Teilnehmer-zu-Teilnehmer-Protokolls
für Multimedia-Kommunikation,
File-Sharing oder Computerspiele.
-
Für eine außenbereichsveranlasste
Verbindung wird der Dynamik-Gateway-Verbindungszustand üblicherweise,
obwohl nicht notwendigerweise, in zwei Schritten eingeleitet. Zuerst
wird ein teilweise vollständiger
Verbindungszustand basierend auf der identifizierten Außenbereichs-Gateway-Adresse,
der vorbestimmten Verbindungsinformation von der Identifizierer-Abfrage und der Innenbereichs-Netzadresse
erstellt. Auf Empfang eines Paketes vom Außenknoten wird der teilvollständige Gateway-Zustand umgesetzt
in einen vollständigen
Gateway-Verbindungszustand basierend auf dem Paket zugeordneter
ergänzender
Verbindungsinformation. Dieser Außenknoten wird allgemein in
Bezug auf die identifizierte Außenbereichs-Gateway-Adresse
benachrichtigt, um die Kommunikation des Anfangspaketes in dem Kommunikationsstrom
zu dem Gateway zu ermöglichen.
-
Die
vorbestimmte Verbindungsinformation, die zum Identifizieren einer
passenden Außenbereichs-Gateway-Adresse
verwendet wird, kann eine Außennetzadresse
sein, die sich auf den veranlassenden Außenknoten bezieht. In diesem
Fall bezieht die ergänzende
Verbindungsinformation zum Vervollständigen des Gateway-Verbindungszustandes
vorzugsweise eine sich auf den Innenknoten beziehende Port-Nummer sowie eine
sich auf den Außenknoten
beziehende Port-Nummer
ein.
-
Als
eine Alternative oder als eine Ergänzung wurde erkannt, dass es
möglich
ist, in die Identifizierer-Abfrage von dem Außenknoten Information des Ports
einzuschließen,
bei welchem der Innenknoten auf kommende Pakete mithört, einen
vorbestimmten Port oder einen Port, der der Außenseite durch Signalisierung
bekannt gemacht wird. Diese Innenknoten-Port-Information kann dann beim Identifizieren der
Außenbereichs-Gateway-Adresse verwendet werden.
In diesem Fall schließt
die ergänzende
Verbindungsinformation zum Vervollständigen des Gateway-Verbindungszustandes üblicherweise
eine Außennetzadresse
ein, die sich auf den Außenknoten bezieht,
und eine zugeordnete Port-Nummer, oder mindestens die Außenknoten-Port-Nummer.
-
In
vorteilhafter Weise wird die Aufgabe des Einrichtens einer neuen
außenbereichsveranlassten Verbindung
funktionell aufgeteilt zwischen dem Außenknoten, der die veranlassende
Identifizierer-Abfrage sendet, einem Identifizier-zu-Adress-Umsetzer, einem Gateway-Resourcen-Manager
und dem tatsächlichen
Gateway. Der Gateway-Resourcen-Manager spricht üblicherweise auf Information
an wie zum Beispiel die bestimmte Innenbereichs-Netzadresse, die
dem relevanten Innenknoten entspricht, und die vorbestimmte Verbindungsinformation,
die ursprünglich
in der Identifizierer-Abfrage enthalten war, und spricht an auf
das Identifizieren einer geeigneten Außenbereichs-Gateway-Adresse, die zu verwenden
ist für
das Einrichten eines neuen dynamischen Gateway-Verbindungszustandes
basierend auf dieser Information. Der Gateway-Resourcen-Manager
sendet schließlich
eine Zustandseinrichtungsanfrage (request) an das Gateway, welches
den dynamischen Gateway-Verbindungszustand einrichtet.
-
Eine
Grundidee in Bezug auf einen zweiten Aspekt der Erfindung liegt
in der intelligenten Verwendung zusätzlicher Multipex-Information
in dem Prozess des Einrichtens neuer dynamischer Gateway-Verbindungszustände derart,
dass die Anzahl an Verbindungen, die simultan von dem Gateway unterstützt werden
können,
signifikant erhöht
sein kann. Die zusätzliche
Multiplex-Information ist allgemein vorbestimmte Verbindungsinformation,
die Netzadressinformation einschließt und/oder Port-Information,
und das Hauptziel ist, weitere Verbindungsinformation einschließlich einer
Außenbereichs-Gateway-Adresse basierend
auf der gegebenen Adress- und/oder Port-Information zu identifizieren.
Insbesondere ist der Gedanke, weitere Verbindungsinformation zu
identifizieren, die in Kombination mit der vorbestimmten Verbindungsinformation
eine Außenbereichs-Gateway-Zustandsdarstellung
definiert, die kein Gegenstück
in einem vorbestimmten Satz existierender Gateway-Verbindungszustände hat.
Mit Außenbereichs-Gateway-Zustandsdarstellung
ist der Außenbereichsteil
der Gesamt-Gateway-Zustandsdarstellung gemeint.
-
Für außenbereichsveranlasste
Verbindungen wird der Prozess des Identifizierens weiterer Verbindungsinformation
vorzugsweise mit dem Ziel ausgeführt,
eine Außenbereichs- Gateway-Adresse zu identifizieren,
welche in Kombination mit der vorbestimmten Verbindungsinformation
eine teilvollständige
Außenbereichs-Gateway-Zustandsdarstellung definiert,
die kein Gegenstück
in irgendeinem existierenden teilweise vollständigen Gateway-Verbindungszustand
hat. Beispielsweise wird die vorbestimmte Verbindungsinformation
aus der Identifizier-Abfrage extrahiert, wie oben angegeben. Sobald eine
solche Gateway-Adresse identifiziert worden ist, ist der Gateway-Verbindungszustand
bereit, basierend auf der durch die Außenbereichs-Gateway-Adresse
und die vorbestimmte Verbindungsinformation definierte teilvollständige Außendarstellung
eingerichtet zu werden. Die zusätzliche
Multiplex-Information, wie zum Beispiel Außenknoten-Adressinformation und/oder Innenknoten-Port-Information,
ermöglicht
das Unterscheiden einer viel größeren Zahl
gleichzeitiger Verbindungen verglichen mit irgendwelchen Anordnungen
des Standes der Technik. Der obige Prozess des Erhöhens der
Multiplex-Eigenschaft des Gateways erfordert normalerweise einen
Vergleich in Bezug auf alle partiell vollständigen Gateway-Verbindungszustände, die
momentan in dem Gateway vorliegen. Dieser Vergleich könnte durch
den Gateway-Resourcen-Manager direkt in Bezug auf das Gateway ausgeführt werden,
die teilvollständigen
Gateway-Zustände
von dem Gateway anfragend und extrahierend, falls und wenn erforderlich.
Jedoch, um die Signalisierung zwischen dem Gateway und dem Resourcen-Manager
zu reduzieren, wird vorzugsweise eine separate Listendarstellung
existierender teilvollständiger
Gateway-Verbindungszustände
im Resourcen-Manager
aufrechterhalten, oder zumindest kann vom Resourcen-Manager darauf zugegriffen
werden.
-
Ein ähnlicher
Ansatz zum Erhalten von Unterstützung
für eine
viel größere Anzahl
simultaner Verbindungen durch das Gateway kann auch für innenbereichsveranlasste
Verbindungen angewendet werden. Die Idee ist hier, basierend auf
vorbestimmter Verbindungsinformation einschließlich Außenknoten-Adressinformation
und/oder Außenknoten-Port- Information weitere
Verbindungsinformation zu identifizieren, einschließlich einer
Außenbereichs-Gateway-Adresse,
die in Kombination mit der vorbestimmten Verbindungsinformation
eine zumindest teilvollständige
Außenbereichs-Zustands-Darstellung
definiert, die kein Gegenstück
in irgendwelchen existierenden Gateway-Verbindungszuständen hat.
Das Einrichten der Verbindung kann dann basierend auf der erzeugten
Außenbereichsdarstellung veranlasst
werden.
-
Für innenbereichsveranlasste
Verbindungen erfordert der Prozess des Erhöhens der Multiplex-Eigenschaft
des Gateways üblicherweise
einen Vergleich in Bezug auf alle existierenden Gateway-Verbindungszustände, nicht
nur in Bezug auf teilvollständige
Gateway-Zustände,
wie für
die außenbereichsveranlassten
Verbindungen.
-
Für sogenannte
Substitutions-Gateways basierend auf Adress- und Port-Umsetzung kann die weitere,
zu identifizierende Verbindungsinformation auch zugeordnete Gateway-Port-Information zusätzlich zu
der Außenbereichs-Gateway-Adresse
einschließen.
In diesem Fall ist die resultierende Außenbereichsdarstellung eine
vollständige
Außenbereichsdarstellung,
die gemeinsam mit einer entsprechenden Innenbereichsdarstellung
die neue Verbindung durch das Gateway vollständig definiert.
-
Für sogenannte
Weiterleitungs-Gateways, bei welchen die Innenbereichsdarstellung
des Gateway-Zustandes eine virtuelle Punkt-zu-Punkt-Schnittstelle
sein kann, ist die resultierende Außenbereichsdarstellung nur
eine teilvollständige
Darstellung, welche die Basis für
das Erstellen eines teilvollständigen
Gateway-Zustandes bildet. In diesem Falle wird normalerweise auf
das Empfangen eines Paketes vom Innenknoten hin empfohlen, zu prüfen, ob
die teilvollständige
Darstellung in weiterer Kombination mit dem empfangenen Paket zugeordneter
Innenknoten-Port-Information eine einzigartige, vollständige Außenbereichsdarstellung
bildet, die zum Vervollständigen
des Gateway-Verbindungszustandes verwendet werden kann.
-
Der
von der Erfindung gebotene Multiplex-Gewinn ist wirklich signifikant
und führt
zu einer Unterstützung
einer spürbar
größeren Zahl
simultaner Verbindungen verglichen mit irgendwelchen Schemata des
Standes der Technik. Tatsächlich
können
die Erfindung und die von ihr gebotenen Vorteile selbst eine schnelle
Einführung
des IPv6-Protokolls vollständig
unnötig
machen.
-
Die
Erfindung ist in allen Aspekten anwendbar auf irgendwelche geeigneten
Kommunikations-Gateways, die im Stand der Technik bekannt sind und
vom NAT-basierten Gateway, oder allgemeiner, Substitutions-Gateway
bis zum RSIP-basierten Gateway, oder allgemeiner, Weiterleitungs-Gateway reichen.
-
Die
Erfindung bietet die folgenden Vorteile:
- – Dynamische,
flexible und effiziente außenbereichsveranlasste
Kommunikation.
- – Effiziente
Verwendung von benutzeridentifizierten Abfragen wie zum Beispiel
DNS-Abfragen im Gesamtprozess des Einrichtens von außenbereichsveranlassten
Kommunikationen.
- – Verbesserte
Gateway-Multiplex-Eigenschaften.
- – Unterstützung einer
viel größeren Zahl
gleichzeitiger Verbindungen durch das Gateway verglichen mit Gateways
des Standes der Technik sowohl für
außenbereichs-
als auch für
innenbereichsveranlasste Verbindungen.
- – Verbesserte
Skalierbarkeit, beispielsweise, um die Unterstützung einer großen Zahl
von privaten Knoten mit Hilfe einer begrenzten Zahl verfügbarer öffentlicher
Adressen zu ermöglichen.
- – Allgemeine
Anwendbarkeit auf die meisten Gateway-Arten.
-
Weitere
von der Erfindung gebotene Vorteile werden auf das Lesen der nachstehenden
Beschreibung der Ausführungsformen
der Erfindung verstanden werden.
-
Kurzbeschreibung
der Zeichnungen
-
Die
Erfindung gemeinsam mit weiteren Zielen und Vorteilen davon wird
am besten unter Bezugnahme auf die folgende Beschreibung verstanden, wenn
gemeinsam betrachtet mit den beiliegenden Zeichnungen, in welchen
zeigt:
-
1 ein schematisches Diagramm
einer Gateway-Verbindung eines privaten Netzes und eines öffentlichen
Netzes;
-
2 ein Basismodell eines
beispielhaften Gateways, das Verbindbarkeit zwischen einem Innenbereichsnetz
und einem Außenbereichsnetz
bereitstellt;
-
3 ein schematisches Ablaufdiagramm eines
Verfahrens, um die Unterstützung
flexibler außenbereichsveranlasster
Kommunikation zu ermöglichen
in Übereinstimmung
mit einer bevorzugten Ausführungsform
der Erfindung;
-
4 ein schematisches Ablaufdiagramm eines
Basisverfahrens zum Verbessern der Gateway-Multiplex-Eigenschaft für außenbereichsveranlasste
Kommunikation in Übereinstimmung
mit einer bevorzugten Ausführungsform
der Erfindung;
-
5 ein schematisches Ablaufdiagramm eines
Basisverfahrens zum Verbessern der Gateway-Multiplex-Eigenschaft für innenbereichsveranlasste
Kommunikation in Übereinstimmung
mit einer bevorzugten Ausführungsform
der Erfindung;
-
6 ein schematisches Diagramm
eines beispielhaften Gateway-Systems einschließlich eines Gateways und eines
zugeordneten Gateway-Resourcen-Managers, eine effiziente Unterstützung für verbesserte
Gateway-Multiplex-Eigenschaft
bereitstellend;
-
7 ein schematisches Abfolgediagramm, die
relevante Signalisierung zwischen den involvierten Elementen für ein erläuterndes
Beispiel von innenbereichsveranlasster Kommunikation durch ein Substitutions-Gateway
erläuternd;
-
8 ein schematisches Abfolgediagramm, die
relevante Signalisierung zwischen den involvierten Elementen für ein erläuterndes
Beispiel von innenbereichsveranlasster Kommunikation durch ein Weiterleitungs-Gateway
erläuternd;
-
9 ein schematisches Diagramm
eines Beispiels eines Gesamtsystems zum Ermöglichen der Unterstützung flexibler
und effizienter außenbereichsveranlasster
Verbindungen in Übereinstimmung
mit einer bevorzugten Ausführungsform
der Erfindung;
-
10 ein schematisches Abfolgediagramm zum
Erläutern
der relevanten Signalisierung zwischen den involvierten Elementen
eines erläuternden Beispiels
von außenbereichsveranlasster
Kommunikation durch ein Substitutions-Gateway unter Verwendung von
Außenknoten-Adressinformation
für effizientes
Multiplexieren;
-
11 ein schematisches Abfolgediagramm zum
Erläutern
der relevanten Signalisierung zwischen den involvierten Elementen
eines erläuternden Beispiels
von außenbereichsveranlasster
Kommunikation durch ein Substitutions-Gateway unter Verwendung von
Innenknoten-Port-Information für
effizientes Multiplexieren;
-
12 ein schematisches Abfolgediagramm zum
Erläutern
der relevanten Signalisierung zwischen den involvierten Elementen
eines erläuternden Beispiels
von außenbereichsveranlasster
Kommunikation durch ein Weiterleitungs-Gateway unter Verwendung
von Außenknoten-Adressinformation
für effizientes
Multiplexieren;
-
13 ein schematisches Abfolgediagramm zum
Erläutern
der relevanten Signalisierung zwischen den involvierten Elementen
eines erläuternden Beispiels
von außenbereichsveranlasster
Kommunikation durch ein Weiterleitungs-Gateway unter Verwendung
von Innenknoten-Port-Information für effizientes Multiplexieren;
-
14 ein schematisches Blockdiagramm eines
Anwendungsbeispiels eines Systems zum Bereitstellen von Verbindbarkeit
zwischen Knoten unterschiedlicher Adressbereiche in Übereinstimmung
mit einer speziellen Ausführungsform
der Erfindung; und
-
15 ein schematisches Blockdiagramm eines
Anwendungsbeispiels eines Systems zum Bereitstellen von Verbindbarkeit
zwischen Knoten unterschiedlicher Adressbereiche in Übereinstimmung mit einer
anderen speziellen Ausführungsform
der Erfindung.
-
Detaillierte
Beschreibung von Ausführungsformen der
Erfindung
-
Quer
durch die Zeichnungen werden dieselben Bezugszeichen verwendet für entsprechende oder ähnliche
Elemente.
-
Allgemeine Übersicht
-
Im
allgemeinen gibt es einen Bedarf für das Bereitstellen von Verbindbarkeit
zwischen unterschiedlichen Adressbereichen, allgemeiner als Außenbereich
und Innenbereich bezeichnet. Hierzu ist normalerweise ein Zwischen-Gateway
vorgesehen, das eine Anzahl von Außenbereichs-Gateway-Adressen
hat, um Außenbereichsdarstellungen von
Innenbereichsknoten zu ermöglichen.
In vielen praktischen Anwendungen ist der Innenbereich ein privater
Adressenbereich [5], wohingegen der Außenbereich ein öffentlicher
Adressenbereich ist. In anderen Anwendungen sind jedoch der Innenbereich und
der Außenbereich
gegebenenfalls unterschiedliche private Adressenbereiche oder alternativ
unterschiedliche öffentliche
Domänen.
-
Diesbezüglich ist
ein Netz des öffentlichen Bereichs
allgemein ein Netz mit Kommunikationsknoten gemeinsam mit einem
zugeordneten Netzadressraum, der aus global einzigartigen Netzadressen
besteht. Ein Privatbereichsnetz ist andererseits ein Netz mit Knoten,
die zusammen mit einem zugeordneten Netzadressraum möglicherweise
nicht-einzigartige Netzadressen bilden, in dem Sinne, dass zwei
Knoten in unterschiedlichen Instanzen eines privaten Bereichs dieselbe
Netzadresse zugeordnet haben können.
-
Ein
Gateway ist allgemein ein Netzelement, das mit sowohl dem Innenbereich
als auch dem Außenbereich
verbunden ist. Wie zuvor erwähnt,
gibt es unterschiedliche Arten von Gateways, insbesondere Substitutions-Gateways
(einschließlich
unterschiedlicher Arten von NATS) und Weiterleitungs-Gateways (einschließlich unterschiedlicher
Arten von RSIP). Es sollte auch verstanden werden, dass die Gesamt-Gateway-Funktion
nicht nur Schicht-4-Paketweiterleitung einschließt, sondern auch Paketweiterleitung
in irgendeiner Netzschicht, einschließlich auch der Schicht-3-Paketweiterleitung,
umfassen kann.
-
Für ein besseres
Verständnis
der Erfindung kann es nützlich
sein, mit einer kurzen Einführung des
Basismodells eines beispielhaften Gateways zu beginnen, das Verbindbarkeit
zwischen einem Innenbereich und einem Außenbereich bereitstellt, unter Bezugnahme
auf 2. 2 zeigt ein Grundmodell eines beispielhaften
Gateway 30, das einen Innenbereich 10 und einen
Außenbereich 20 miteinander
verbindet. Dem Gateway 30 ist ein Resourcen-Manager 40 zugeordnet,
der u. a. den Pool von Außenbereichs-Netzadressen,
die dem Gateway zugeordnet worden sind, managt. In dem Gateway 30 werden Basis-Gateway-Funktionen
durch ein Außenrandelement 32,
ein Innenrandelement 34 und Paketweiterleitungselement 36 unterstützt. Das
Gateway 30 und der Gateway-Resourcen-Manager 40 können in
getrennten, aber miteinander verbundenen Knoten implementiert sein.
Alternativ kann der Gateway-Resourcen-Manager 40 gemeinsam mit dem
Gateway 30 angeordnet sein, selbst in dem Gateway integriert sein.
-
Für ein Substitutions-Gateway,
wie der Name schon andeutet, wird eine Substitution von Adress-
und Port-Information in Paketköpfen
durchgeführt,
um die geeignete Paketweiterleitung zu ermöglichen. Ein Gateway-Verbindungszustand
in einem Substitutions-Gateway wird normalerweise durch ein Außen-n-Tupel und ein Innen-n-Tupel
dargestellt. Im allgemeinen ist ein n-Tupel ein Satz von n Informationselementen,
die üblicherweise
einschließen:
(eine Quellennetzadresse, eine Quellen-Port-Nummer, eine Ziel-Netzadresse,
eine Ziel-Port-Nummer,
eine Protokollnummer). Ein Außen-n-Tupel
ist üblicherweise
ein n-Tupel mit den zu dem Außenbereich gehörenden Quellen-
und Ziel-Netzadressen. Ein Innen-n-Tupel ist üblicherweise ein n-Tupel mit
zu dem Innenbereich gehörender Quellennetzadresse
und mit einer zum Außenbereich
gehörenden
Ziel-Netzadresse. Um ein geeignetes Paketweiterleiten für den Kommunikationsfluss zu
ermöglichen,
gibt es zwei Grundklassifikationsprozesse:
- – Der Innenrandprozess,
in welchem jedes Innenrandpaket gegen die Außen-n-Tupel des Gateway-Verbindungszustandes
in dem Gateway abgebildet wird und wenn ein übereinstimmendes Außen-n-Tupel
gefunden wird, werden Zieladresse und -Port des Paketkopfes ersetzt
durch die Quellenadresse und Port des Innen-n-Tupels entsprechend
dem identifizierten Außen-n-Tupel.
- – Der
Außenrandprozess,
in welchem jedes Außenrandpaket
gegenüber
dem Innen-n-Tupel des Gateway-Verbindungszustands
in dem Gateway abgebildet wird, und wenn ein übereinstimmendes Innen-n-Tupel
gefunden wird, werden Quelladresse und -Port des Paketkopfes ersetzt
durch Zieladresse und -Port des Außen-n-Tupels entsprechend dem
identifizierten Innen-n-Tupel.
-
Für ein Weiterleitungs-Gateway
wird der Gateway-Verbindungszustand
normalerweise durch ein Außen-n-Tupel
und eine virtuelle Punkt-zu-Punkt-Schnittstelle in Richtung eines
Kommunikationsknotens im Innenbereich dargestellt. Ein Beispiel
einer virtuellen Punkt-zu-Punkt-Schnittstelle ist ein IP-in-IP-Tunnel,
in welchem in Innenrandrichtung ein Paket eingekapselt wird in ein
anderes Paket mit der Zieladresse gleich der Innenknotenadresse und
der Quellenadresse gleich der Innen-Gateway-Adresse und in Außenrandrichtung
das kommende Paket ausgepackt wird, wodurch ein inneres Paket extrahiert
wird. In einem anderen Beispiel könnte statt des Einkapselns
und Auspackens eine Schicht-2-Punkt-zu-Punkt-Verbindung
zwischen dem Gateway und dem Kommunikationsknoten im Innenbereich
vorliegen (beispielsweise in einem GPRS-System, die PDP-Context-Schicht).
-
In
einem Weiterleitungs-Gateway sind die beiden Basisprozesse zum Ermöglichen
geeigneten Paketweiterleitens für
den Kommunikationsstrom definiert als:
- – Der Innenrandprozess,
in welchem jedes Innenrandpaket gegen das Außen-n-Tupel des Gateway-Verbindungszustandes
in dem Gateway abgebildet wird, und wenn ein übereinstimmendes Außen-n-Tupel
gefunden wird, das Paket zu der virtuellen Punkt-zu-Punkt-Schnittstelle
entsprechend dem identifizierten Außen-n-Tupel gesendet wird.
- – Der
Außenrandprozess,
in welchem jedes Außenrandpaket
in eine virtuelle Punkt-zu-Punkt-Schnittstelle kommt und von dem Gateway
zu dem Außenbereich
weitergeleitet wird.
-
Der
Hauptunterschied zwischen Substitution und Weiterleiten ist, dass
beim Weiterleiten der Innenknoten Kenntnis über die momentan zugeordnete Außenbereichsadresse
hat (und die Port-Nummer bzw.
-Nummern). Bei der Substitution weiß der Innenbereichsknoten nichts
von der Außenbereichsadresse
und statt dessen führt
das Gateway eine transparente Umsetzung (Substitution) durch.
-
In
sowohl Substitutions- als auch Weiterleitungs-Gateways kann es teilvollständige Gateway-Verbindungszustände geben,
d. h. Zustände, welche
Verbindungen darstellen, die momentan im Prozess des Eingerichtetwerdens
sind, aber welche noch nicht in einem vollständigen Gateway-Verbindungszustand
für eine
Gateway-Sitzung zerfallen sind. Solche teilvollständigen Gateway-Zustände werden
manchmal als Gateway-Tor, Gate oder Pinhole bezeichnet.
-
In
einem Substitutions-Gateway ist ein Gateway-Tor ein Gateway-Verbindungszustand
mit einem Außen-n-Tupel
und einem Innen-n-Tupel, wobei das Außen-n-Tupel und/oder das Innen-n-Tupel eine oder mehrere
unspezifizierte Verbindungsvariablen haben (Platzhalter bzw. "Wild Cards", gekennzeichnet
durch "*"). Wenn das Gateway
eine Innenrandpaket-/Außenrandpaket-Übereinstimmung des spezifizierten
Wertes des teilvollständigen
Außen-/Innen-n-Tupels
empfängt,
wird das n-Tupel
in dem Sinne komplettiert, dass die bis jetzt unspezifizierten Werte
des teilvollständigen
n-Tupels zu den entsprechenden, dem Paket zugeordneten Werten festgelegt
werden.
-
Im
Weiterleitungs-Gateway ist ein Gateway-Tor ein Gateway-Verbindungszustand
mit einem Außen-n-Tupel
und einem Innen-n-Tupel,
wobei das Außen-n-Tupel
und/oder das Innen-n-Tupel eine oder mehrere unspezifizierte Verbindungsvariablen haben.
Wenn das Gateway eine Innenrandpaket-Übereinstimmung des spezifizierten
Wertes des teilvollständigen
Außen-n-Tupels
empfängt,
wird das n-Tupel in dem Sinne vervollständigt, dass die bis jetzt unspezifizierten
Werte des teilvollständigen n-Tupels zu den dem
Paket zugeordneten entsprechenden Werten festgelegt werden.
-
Ein
Außen-n-Tupel
wird allgemein auch als eine Außenbereichs-Gateway-Zustandsdarstellung bezeichnet,
da es sich auf den Teil der Gesamt-Gateway-Zustandsdarstellung bezieht,
der sich auf den Außenbereich
bezieht.
-
Mit
den obigen Basiseinsichten in den Betrieb eines allgemeinen Gateways
wird das Verständnis
der manchmal eher komplexen Aspekte der Erfindung nun gewissermaßen erleichtert
und überschaubarer.
-
Wie
zuvor erwähnt,
ist es eine Grundaufgabe, außenbereichsveranlasste
Verbindungen in einer flexiblen und effizienten Weise zu ermöglichen.
Es ist auch höchst
wünschenswert,
die Multiplex-Eigenschaften des Gateways sowohl für innenbereichsveranlasste
als auch für
außenbereichsveranlasste Kommunikation
zu verbessern. Das Hauptziel in Bezug auf das letztere ist, imstande
zu sein, so viele Verbindungen wie möglich durch das Gateway unter Verwendung
einer begrenzten Anzahl von Außenbereichsadressen
zu unterstützen.
-
Beispielhafte
Basisprozeduren für
außenbereichsveranlasste
Kommunikation
-
Die
Erfinder haben erkannt, dass ein flexibler und dynamischer Mechanismus
zum Ermöglichen außenbereichsveranlasster
Kommunikation dadurch erhalten wird, dass eine Benutzerresourcen-Identifiziererabfrage,
wie z. B. eine DNS-Abfrage oder äquivalente
Abfrage, die von einem Außenbereichsknoten
veranlasst wird, das Einrichten des Verbindungszustandes in dem
Gateway anstößt. Eine
Basisprozedur in Bezug auf eine bevorzugte Ausführungsform der Erfindung ist
allgemein in dem Ablaufdiagramm der 3 umrissen.
Im Schritt S1 bereitet ein Außenbereichsknoten,
der wünscht,
eine neue Verbindung zu einem speziellen Innenknoten zu veranlassen, eine
Benutzerresourcenabfrage, wie z. B, eine DNS-Abfrage oder äquivalentes,
vor, um zu einem zentralen Zuordnungs- oder Adressiermechanismus übertragen
zu werden. Im Schritt S2 wird eine Innenbereichs-Netzadresse für den Innenknoten
basierend auf einem Innenknoten-Identifizierer, der in der Abfrage
enthalten ist, bestimmt. In dem Fall einer DNS-Abfrage kann dies
beispielsweise durch einen konventionellen Domain-Namen-zu-Netzadressen-Umsetzer
erzielt werden. Die Identifizier-Abfrage schließt ferner vorbestimmte Verbindungsinformation ein,
die von einem Gateway-Resourcen-Manager
gehandhabt wird, welcher diese Information als eine Basis zum Identifizieren
einer zum Einrichten eines neuen dynamischen Gateway-Verbindungszustandes
geeigneten Außenbereichs-Gateway-Adresse verwendet,
wie in Schritt S3 angezeigt. Die vorbestimmte Verbindungsinformation
kann beispielsweise die Netzadresse der Außenknoten- oder Innenknoten-Port-Information
sein. Im letzteren Fall kann die Port-Information ein vordefinierter
Innenknoten-Empfänger-Port sein oder eine
Empfänger-Port-Nummer, die
dem Außenknoten
durch explizite Signalisierung bekannt gemacht wird. Als nächstes werden
in Schritt S4 der neue dynamische Gateway-Verbindungszustand für einen
Strom zwischen dem Außenknoten und
dem Innenknoten durch das Gateway zumindest teilweise basierend
auf der identifizierenden Außenbereichs-Gateway-Adresse,
der vorbestimmten Verbindungsinformation und der Innenbereichs-Netzadresse
eingerichtet. Dies bedeutet, dass die Erfindung eine Unterstützung zur
dynamischen außenbereichsveranlassten
Kommunikation bereitstellt. Unter anderem ermöglicht dies alle Arten von "Push-Services" bzw. fremdinitiierte
Dienste, Notification Services bzw. Meldungsdienste und Instant
Messaging Services bzw. Direktmeldungsdienste.
-
Für eine außenbereichsveranlasste
Verbindung wird der Dynamik-Gateway-Verbindungszustand üblicherweise,
aber nicht erforderlichenfalls, in zwei Schritten eingerichtet.
Zuerst wird ein teilvollständiger
Gateway-Verbindungszustand erstellt basierend auf der identifizierten
Außenbereichs-Gateway-Adresse,
der vorbestimmten Verbindungsinformation, die von der Identifizierer-Abfrage
hergeleitet worden ist, sowie der Innenbereichs-Netzadresse. Auf
den Empfang eines Paketes vom Außenknoten hin "zerfällt" der teilvollständige Gateway-Zustand
in einen vollständigen
Gateway-Verbindungszustand, wenn
ergänzende
Verbindungsinformation, wie zum Beispiel Adress- und/oder Port-Information
in dem Paketkopf, verwendet wird zum Auffüllen des unspezifizierten Teils
des Gateway-Zustandes. Dem Außenknoten
wird allgemein die identifizierte Außenbereichs-Gateway-Adresse
gemeldet, um eine Kommunikation des Anfangspaketes in Richtung des
Gateways zu ermöglichen.
-
Verbesserte Gateway-Multiplex-Fähigkeit
-
In
einem weiteren Aspekt der Erfindung nimmt die Anzahl von außenbereichsveranlassten Kommunikationen,
die simultan von dem Gateway unterstützt werden können, signifikant
zu durch intelligente Verwendung einer oder mehrerer Multiplex-Variablen in dem
Prozess des Einrichtens neuer dynamischer Gateway-Verbindungszustände. Hier schließt die zusätzliche
Multiplex-Information vorzugsweise die vorbestimmte Verbindungsinformation ein, üblicherweise
Außenknoten-Adressinformation und/oder
Innenknoten-Port-Information, wie von der veranlassenden Benutzerresourcen-Identifiziererabfrage
extrahiert. Jedoch ist vom Standpunkt des Gateway-Resourcen-Managers
der Ursprung der beim Zustandseinrichtungsprozess zu verwendenden
vorbestimmten Verbindungsinformation nicht kritisch, solange eine
geeignete Verbindungsinformation empfangen wird.
-
4 ist ein schematisches
Ablaufdiagramm eines Grundverfahrens zum Verbessern der Gateway-Multiplex-Eigenschaften für außenbereichsveranlasste
Kommunikation in Übereinstimmung
mit einer bevorzugten Ausführungsform
der Erfindung. Im folgenden wird die Außenbereichs-Gateway-Adresse einfach als
Außen-Gateway-Adresse bezeichnet.
-
Wie
im Schritt S11 angezeigt, bezieht das beispielhafte Verfahren das
Empfangen einer vorbestimmten, in dem Zustandseinrichtungsprozess
zu verwendenden Verbindungsinformation ein. Für ein Substitutions-Gateway
wird ferner eine Verbindungsinformation, üblicherweise eine Außen-Gateway-Adresse,
im Schritt S12 ausgewählt.
Um einen Gateway-Resourcen-Konflikt zwischen mehreren simultan ablaufenden
Verbindungseinrichtungen zu vermeiden, wird das durch eine Kombination
der Außen-Gateway-Adresse
und der vorbestimmten Information definierte teilvollständige Außen-n-Tupel verglichen
mit allen existierenden teilvollständigen Gateway-Verbindungszuständen analysiert,
wie im Schritt S13 angezeigt. Die Analyse schließt das Prüfen ein, ob die obige Kombination
von Verbindungsinformation, die kein teilvollständiges Außen-n-Tupel definiert, ein
Gegenstück
in existierenden teilvollständigen Gateway-Verbindungszuständen hat.
Wenn das teilvollständige
Außen-n-Tupel
bereits in einem existierenden teilvollständigen Gateway-Zustand vorliegt (JA),
gibt es schon eine Bindung zwischen der Außen-Gateway-Adresse und der vorbestimmten Verbindungsinformation.
Dies bedeutet allgemein, dass eine andere Außen-Gateway-Adresse ausgewählt werden
muss aus dem Gateway-Adresspool, Schritte S12–S13 wiederholend. Der Gateway-Resourcen-Manager
wiederholt den Prozess mit der nächsten
Adresse im Außen- Gateway-Adresspool,
bis eine "freie" Adresse gefunden
wird oder das Ende des Adresspools erreicht wird. Wenn es möglich ist, eine
Außen-Gateway-Adresse
zu identifizieren, welche in Kombination mit der vorbestimmten Verbindungsinformation
kein Gegenstück
in irgendeinem existierenden Teil-Gateway-Zustand hat (NEIN), wird die
Prozedur mit Schritt S14 fortgesetzt. Im Schritt S14 wird das Verbindungseinrichten
basierend auf dem teilvollständigen
Außen-n-Tupel
veranlasst (und natürlich
auch der entsprechenden Innendarstellung), das Vervollständigen in
Schritt S15 auf den Empfang des ersten Paketes im Kommunikationsstrom
abwartend.
-
Wenn
alle Außen-Gateway-Adressen
im Adresspool durchlaufen worden sind ohne das Auffinden eines einzigartigen
Teil-Außen-n-Tupels,
kann die Verbindungsanfrage zurückzuweisen
sein. Es ist jedoch auch möglich,
den Durchlauf der Adressen im Gateway-Adresspool noch einmal zu
starten, unter der Annahme, dass die Verzögerung der erwähnten Auswahlprozedur
das Risiko, dass zwei Verbindungen gleichzeitig eingerichtet werden,
minimieren sollte, so dass irgendwelche existierende Datenverbindungseinrichtung
Zeit gehabt haben sollte, auf den Empfang des ersten Paketes hin
abgeschlossen zu werden.
-
Wie
oben erwähnt,
geht der Teil-Gatewayzustand, wenn das erste Paket ankommt, in einen
Komplett-Gateway-Verbindungszustand über. Vollständige Gateway-Verbindungszustände können ferner durch
ergänzende
Verbindungsinformation unterschieden werden, die entsprechenden
Paketen zugeordnet ist, und brauchen demnach nicht in der Liste
wiedergegeben zu werden, die in Schritt S13 verwendet wird. Daher
wird, sobald eine vollständige Verbindung
vorliegt, wenn ein Teil-Gateway-Zustand in einen Vollständig-Gateway-Zustand übergeht,
der Teil-Gateway-Zustand
von der Liste unklarer Kandidaten entfernt.
-
Der
obige Prozess des Verbesserns der Multiplex-Eigenschaften des Gateways
erfordert offensichtlich einen Vergleich in Bezug auf alle teilvollständigen Gateway-Verbindungszustände, die
momentan im Gateway existieren. Dieser Vergleich könnte durch
den Gateway-Resourcen-Manager direkt in Bezug auf das Gateway durchgeführt werden,
die teilvollständigen
Gateway-Zustände von
dem Gateway wenn erforderlich anfordernd und extrahierend. Jedoch,
um die Signalisierung zwischen dem Gateway und dem Resourcen-Manager
zu reduzieren, wird vorzugsweise eine separate Auflistungsdarstellung
von existierenden teilvollständigen
Gateway-Verbindungszuständen
im Resourcen-Manager aufrechterhalten oder zumindest zugreifbar
gehalten für
den Resourcen-Manager.
-
Für Weiterleitungs-Gateways
sollte verstanden werden, dass die Innenbereichsknoten allgemein
von den Außenbereichsadressen,
die sie verwenden, wissen, was bedeutet, dass solche Außenbereichsadressen üblicherweise
Innenknoten vorzugeordnet sind. Dies bedeutet, dass für Weiterleitungs-Gateways
Schritt S12 früher
in der Gesamtereigniskette ausgeführt wird und dass Schritt S13
eher zu einer Prüfung
wird, ob die Kombination einer vorzugeordneten Außen-Gateway-Adresse
und empfangene vorbestimmte Verbindungsinformation irgendein Gegenstück unter
den existierenden teilvollständigen
Gateway-Zuständen
hat.
-
Beispielhafte Szenarien
-
Überlege
beispielsweise den öffentlichen Host
B, der eine Verbindung zu zwei privaten Knoten A1 und A2 wünscht. Der
Host B veranlasst eine Verbindungseinrichtung in Richtung des Knotens
A1, und der Gateway-Resourcen-Manager findet eine freie Außen-Gateway-Adresse,
beispielsweise aOGl. Simultan veranlasst der Host B eine Verbindungseinrichtung
in Richtung des Knotens A2, und der Gateway-Resourcen-Manager versucht,
eine nützliche Außen-Gateway-Adresse
zu identifizieren. Unter Verwendung von Innenknoten-Empfängerportinformation
in dem Gateway-Adressidentifizierungsprozess ist es möglich, unter
der Annahme, dass private Knoten A1 und A2 an unterschiedlichen
Port-Nummern mithören,
dieselbe öffentliche
Gateway-Adresse aOGl für
anhängige
Verbindungen in Richtungen beider privater Knoten A1 und A2 zuzuweisen,
da nun die beiden anhängigen
Verbindungen basierend auf der Ziel-Port-Information pA1 und pA2 unterschieden
werden können.
Folglich bedeutet dies, dass jede öffentliche Gateway-Adresse
für irgendeine
Anzahl von privaten Knoten verwendet werden kann, solange sie alle
an unterschiedlichen Port-Nummern mithören.
-
Ferner
sei angenommen, dass der öffentliche
Host B wünscht,
Verbindungen zu noch einem weiteren privaten Knoten A3 zu veranlassen,
der an derselben Port-Nummer mithört wie der Knoten A1. Unter
der Voraussetzung, dass die Verbindung zwischen dem Host B und dem
Knoten A1 bereits vollständig
eingerichtet worden ist, wenn der Host B einen Verbindungsaufbau
in Richtung des Knotens A3 veranlasst, ist es eigentlich sicher,
dieselbe öffentliche
Gateway-Adresse für
den Knoten A3 auszuwählen,
da sicher angenommen werden kann, dass der Host B unterschiedliche
Port-Nummern verwenden wird, wenn er einen Verkehr in Richtung der
privaten Knoten A1 und A3 sendet. Die Port-Nummer des öffentlichen
Hosts B wird als Quellen-Port-Information im Paketkopf angehängt und
kann als ergänzende Verbindungsinformation
zum Unterscheiden eines gegebenen Paketstroms von einem anderen
Strom vom B verwendet werden.
-
In
einem anderen Beispiel seien zwei öffentliche Hosts B1 und B2
betrachtet, von denen jeder wünscht,
zu demselben privaten Netz, das hinter einem Gateway versteckt ist,
eine Verbindung aufzubauen. Der Host B1 veranlasst einen Verbindungsaufbau,
und der Gateway-Resourcen-Manager findet eine freie öffentliche
Gateway-Adresse, beispielsweise aOG1. Gleichzeitig veranlasst der
Host B2 einen Verbindungsaufbau, und der Gateway-Resourcen-Manager
versucht, eine nützliche öffentliche Gateway-Adresse
zu verwenden. Unter Verwendung der öffentlichen Host-Adresse in
dem Prozess des Identifizierens einer nützlichen Außen-Gateway-Adresse kann dieselbe
Gateway-Adresse für den
Host B2 ausgewählt
werden, da die beiden anhängigen
Verbindungen basierend auf der Quellen-Adress-Information aOB1 und
aOB2 unterschieden werden können.
Im allgemeinen bedeutet diese Tatsache, dass jede öffentliche
Gateway-Adresse verwendet werden kann für irgendeine Anzahl verschiedener öffentlicher
Hosts.
-
Zudem
angenommen, dass der öffentliche Host
B1 wünscht,
Verbindungen zu zwei unterschiedlichen privaten Knoten A1 und A2
aufzubauen. Vorausgesetzt, dass die Verbindung zwischen dem Host B1
und dem Knoten A1 bereits vollständig
eingerichtet worden ist, wenn der Host B1 einen Verbindungsaufbau
in Richtung des Knotens A2 veranlasst, ist es eigentlich sicher,
dieselbe öffentliche
Gateway-Adresse für
den Knoten A2 auszuwählen,
da es sicher angenommen werden kann, dass der Host B1 unterschiedliche
Port-Nummern verwenden wird, wenn er Verkehr in Richtung der privaten
Knoten A1 und A2 sendet. Die Port-Nummer des öffentlichen Hosts B1 wird als
Quellen-Port-Information im Paketkopf angehängt und kann als Komplementär-Verbindungsinformation
für das
Unterscheiden eines gegebenen Paketstroms von anderen Strömen vom
B1 verwendet werden. Dies ermöglicht
es selbst privaten Knoten A1 und A2, dieselbe Port-Nummer mitzuhören. Es
ist ein klarer Vorteil, in der Lage zu sein, es der Anwendungssoftware
in privaten Knoten zu ermöglichen,
einen Port frei zu wählen.
-
Niederkomplexe-Implementierung
-
Wenn
ein niedrigerer Grad an Implementations-Komplexität wünschenswert
ist mit einem niedrigen Einfluss auf existierende Gateway-Implementierungen,
ist es möglich,
das schrittweise Zustandseinrichten zu eliminieren und einen vollständigen Gateway-Verbindungszustand
direkt basierend auf nur der verfügbaren Verbindungsinformation
vor dem Paketempfang einzurichten. In einer bevorzugten niederkomplexen
Implementierung fordert der Gateway-Resourcen-Manager eine Zuordnung einer öffentlichen
Gateway-Adresse
zu einem gegebenen privaten Knoten, aber nur für den von einem speziellen öffentlichen
Host kommenden Verkehr, noch die öffentliche Gateway-Adresse
verfügbar
haltend für Verkehr
in denselben oder andere private Knoten von anderen öffentlichen
Hosts. Natürlich
ist der Nachteil, dass für
Ströme,
die von einem speziellen öffentlichen
Host kommen, die Anzahl privater Knoten, die gleichzeitig Information
empfangen können,
begrenzt ist auf die Anzahl verfügbarer öffentlicher
Gateway-Adressen. Jedoch können
von unterschiedlichen öffentlichen
Hosts stammende Ströme
noch derselben öffentlichen
Gateway-Adresse zugeordnet werden.
-
Beispielhafte
Basisprozeduren für
innenbereichsveranlasste Kommunikation
-
Verbesserte
Gateway-Multiplex-Kapazität
-
Ein ähnlicher
Ansatz für
das Unterstützen
einer viel größeren Anzahl
simultaner Verbindungen durch das Gateway kann auch für innenbereichsveranlasste
Verbindungen angewendet werden, wie allgemein in dem Basisablaufdiagramm
der 5 dargelegt. Im
Schritt S21 wird eine vorbestimmte Verbindungsinformation einschließlich Außenknoten-Adress-Information und/oder
Außenknoten-Port-Information
von dem Gateway-Resourcen-Manager empfangen. Für ein Substitutions-Gateway wird ferner
im Schritt S22 Verbindungsinformation einschließlich mindestens einer Außen-Gateway-Adresse
ausgewählt.
In Schritt S23 wird getestet, ob die Kombination von vorbestimmter Verbindungsinformation
und weiterer Verbindungsinformation, die gemeinsam eine mindestens
teilweise vollständige
Außenbereichsdarstellung
eines einzurichtenden neuen Gateway-Verbindungszustandes definieren,
irgendein Gegenstück
in den existierenden Gateway-Verbindungszuständen hat. Wenn das zumindest
teilvollständige
Außen-n-Tupel
bereits in einem existierenden Gateway-Zustand vorliegt (JA), muss
eine andere Außen-Gateway-Adresse aus
dem Gateway-Adresspool ausgewählt
werden, die Schritte S22–S23
wiederholend. Der Gateway-Resourcen-Manager wiederholt den Prozess mit der
nächsten
Adresse im Außen-Gateway-Adresspool
bis eine "freie" Adresse gefunden
worden ist oder das Ende des Adresspools erreicht wird. Wenn es
möglich
ist, eine Außen-Gateway-Adresse
zu identifizieren, die in Kombination mit der vorbestimmten Verbindungsinformation
ein mindestens teilweise vollständiges
Außen-n-Tupel
definiert, das kein Gegenstück
in irgendeinem existierenden Gateway-Zustand hat (NEIN), wird die
Prozedur mit Schritt S24 fortgesetzt. Im Schritt S24 wird das Verbindungseinrichten
basierend auf dem mindestens teilweise vollständigen Außen-n-Tupel veranlasst (und
natürlich
auch der entsprechenden Innendarstellung).
-
Es
sollte speziell bemerkt werden, dass für innenbereichsveranlasste
Verbindungen ein Vergleich in Bezug auf alle existierenden Gateway-Verbindungszustände üblicherweise
erforderlich ist, nicht nur in Bezug auf teilweise vollständige Gateway-Zustände wie
für außenbereichsveranlasste Verbindungen.
-
Für sogenannte
Substitutions-Gateways basierend auf Adressund Port-Umsetzung kann
die weitere zu identifizierende Verbindungsinformation auch zugeordnete
Gateway-Port-Information
zusätzlich
zu der Außen-Gateway-Adresse
einschließen.
In diesem Fall ist die entsprechende Außenbereichsdarstellung eine
vollständige
Außenbereichsdarstellung,
welche gemeinsam mit einer entsprechenden Innenbereichsdarstellung
die neue Verbindung durch das Gateway vollständig definiert.
-
Andererseits
ist für
sogenannte Weiterleitungs-Gateways, bei welchen die Innenbereichsdarstellung
des Gateway-Zustandes eine virtuelle Punkt-zu-Punkt-Schnittstelle
sein kann, die resultierende Außenbereichsdarstellung
normalerweise nur eine teilvollständige Darstellung. Diese teilvollständige Außenbereichsdarstellung
bildet die Basis für
das Erstellen eines teilvollständigen
Gateway-Zustandes, welcher daraufhin umgesetzt wird in einen vollständigen Gateway-Zustand
auf den Empfang des ersten Paketes von dem Innenknoten hin. Zusätzlich,
wie zuvor erwähnt,
sind sich beim Weiterleitungs-Gateway
die Innenbereichsknoten im allgemeinen der Außenbereichsadressen, die sie
verwenden, bewusst, was bedeutet, dass Außenbereichsadressen bereits vorzugeordnet
worden sind.
-
Der Gateway-Resourcen-Manager
-
Die
obigen Prozesse des Erhöhens
der Multiplex-Eigenschaften des Gateways, um in der Lage zu sein,
eine viel größere Anzahl
simultaner Verbindungen zu unterscheiden verglichen mit irgendwelchen
Systemen des Standes der Technik, erfordern offensichtlich einen
Vergleich in Bezug auf verschiedene Sätze von Gateway-Verbindungszuständen, die
momentan in dem Gateway vorliegen. Unter Bezugnahme auf das vereinfachte
Blockdiagramm der 6 könnte dieser
Vergleich durch den Gateway-Resourcen-Manager 40 direkt
in Bezug auf das Gateway 30 ausgeführt werden, das Extrahieren
relevanter Gateway-Zustände aus
der Gateway-Datenbank 38 in dem Gateway anfordernd, falls
und wenn erforderlich. Jedoch, um die Signalisierung zwischen dem
Gateway 30 und dem Gateway-Resourcen-Manager 40 zu reduzieren,
wird die Analyse vorzugsweise in Bezug auf eine oder mehrere Listendarstellungen
der relevanten Gateway-Verbindungszustände durchgeführt. Diese
Listendarstellung 42 wird passend in dem Resourcen-Manager 40 bereitgehalten oder
an einem externen Ort, der es der Resourcen-Zuordnungslogik 44 im
Resourcen-Manager ermöglichen
kann, effizient auf die Information zuzugreifen.
-
Im
allgemeinen kann der Resourcen-Manager als Software, Hardware, Firmware
oder irgendeine Kombination davon implementiert sein. In dem Fall
einer Software-Implementation werden die Schritte, Funktionen und
Aktionen in Bezug auf den Resourcen-Manager abgebildet auf ein Computerprogramm,
welches dann von einem Computer oder einem gleichwertigen Verarbeitungssystem
ausgeführt
die relevante Resourcenzuordnung bewirkt.
-
Abfolgediagramme
für innenbereichsveranlasste
Kommunikation Für
ein detaillierteres Verständnis
der Erfindung wird die Erfindung nun unter Bezugnahme auf beispielhafte
Signalabfolgediagramme beschrieben. Aus Gründen der Einfachheit beginnen
wir mit innenbereichsveranlasster Kommunikation.
-
Substitutionstyp
-
7 ist ein schematisches
Abfolgediagramm zum Darstellen der relevanten Signalisierung zwischen
den einbezogenen Elementen für
ein erläuterndes
Beispiel von innenbereichsveranlasster Kommunikation durch ein Substitutions-Gateway. Das
Gateway (GW) kann eine von einem Knoten A im Innenbereich zu einem
Knoten B im Außenbereich veranlasste
Kommunikation ermöglichen.
Es sei angenommen, dass der Knoten A Information in Bezug auf die
Ziel-Netzadresse
aOB üblicherweise über eine
konventionelle DNS-Abfrage
basierend auf einem FQDN erhalten hat. Die Ziel-Port-Nummer pB kann eine
wohlbekannte Port-Nummer sein oder kann durch explizite Signalisierung
bekannt gemacht werden. Eine beispielhafte Abfolge zum Unterstützen eines
Kommunikationsflusses zwischen A und B durch das Gateway könnte sein:
- 1. Knoten A hat die Netzadresse aIA und wählt den
Quellen-Port (Ephemer-Port)
pA. Das Gateway (GW) empfängt
das erste Paket in einem gewissen, von dem Innenbereich veranlassten
Kommunikationsstrom.
- 2. Das Gateway sendet eine Anfrage (request) einschließlich der
Ziel-Netzadresse aOB und/oder der Port-Nummer pB an den Gateway-Resourcen-Manager
(GRM).
- Im Prozess X ordnet der Gateway-Resourcen-Manager eine Netzadresse
aOG von dem Gateway-Adressenpool zu und gibt dieser Adresse vorzugsweise
auch eine Port-Nummer pG von dem Gateway-Portpool basierend auf
der Ziel-Adresse aOB und/oder dem Ziel-Port pB.
- Das Gateway führt üblicherweise
die Ziel-Adresse und/oder den Ziel-Port als vorbestimmte Verbindungsinformation
dem Gateway-Resourcen-Manager zu, welcher untersucht, ob es eine
Bindung zwischen der nächsten
Gateway-Adresse in dem Gateway-Adresspool und der Ziel-Adresse und/oder
dem Ziel-Port gibt. Wenn eine solche Bindung existiert, wiederholt
der Resourcen-Manager
den Prozess mit der nächsten
Gateway-Adresse in dem Pool bis eine freie Gateway-Adresse ohne
Bindung gefunden wird (oder das Ende des Gateway-Adresspools erreicht wird).
- In diesem speziellen Beispiel führt der GRM-Manager einen Algorithmus
aus, der versucht, aOG und pG auszuwählen, so dass das Außen-n-Tupel (src:(aOB,
pB); dest:(aOG, pG);...) kein Außen-n-Tupel eines bereits existierenden
Gateway-Verbindungszustandes ist. (src entspricht einer Quellenangabe
und dest entspricht einer Zielangabe.)
- 3. Die zugeordnete Gateway-Adresse aOG und die zugeordnete Port-Nummer
pG werden zurück zu
dem Gateway gesendet.
- Im Prozess a erstellt das Gateway einen neuen Gateway-Verbindungszustand
basierend auf der verfügbaren
Verbindungsinformation. Das Innen-n-Tupel erhält die Werte: (aIA, pA; aOB,
pB) und das Außen-n-Tupel
erhält
die Werte: (aOB, pB; aOG, pG).
- 4. Das Paket wird in dem Gateway durch den Außenrandprozess
verarbeitet und durch das Gateway weitergeleitet zu dem Außenbereichsknoten B.
- 5. Ein Antwortpaket in dem Kommunikationsstrom wird von dem
Gateway von dem Knoten B empfangen.
- 6. Das Antwortpaket wird von dem Innenrandprozess verarbeitet
und zu dem Innenbereichsknoten A geliefert.
-
Die
Multiplex-Kapazität
wird über
die Grenzen des Standes der Technik hinaus verbessert, und die Anzahl
von Strömen
kann größer sein
als (Anzahl von Netzadressen in dem Gateway-Adress-Pool)·(Anzahl von benutzbaren Ports).
-
Weiterleitungstyp
-
8 ist ein schematisches
Abfolgediagramm zum Zeigen der relevanten Signalisierung zwischen
den einbezogenen Elementen eines illustrativen Beispiels von innenbereichsinitiierter
Kommunikation durch ein Weiterleitungs-Gateway.
-
Für die Weiterleitung
ist es wünschenswert, obwohl
nicht erforderlich, die Port-Granularitäts-Alternative durch Sicherstellen
ausreichender Port-Multiplexierung für die Adress-Granularitäts-Alternative
zu vermeiden. Speziell in dem Fall der Kommunikation, die im Außenbereich
veranlasst wird, wie später
beschrieben unter Bezugnahme auf l2 und 13, sollte der empfangene
Innenknoten vorzugsweise imstande sein, Port-Nummern frei zu wählen. Dies
ist nicht erfüllt
in der Port-Granularitäts-Alternative.
Demnach wird im folgenden hauptsächlich
Bezug genommen auf die Adress-Granularitäts-Alternative, wenn die Weiterleitungsoption
diskutiert wird.
-
Eine
beispielhafte Abfolge zum Unterstützen eines Kommunikationsstroms
von Innenknoten A1 und A2 zu einem Außenknoten B über das
Gateway könnte
sein:
- 1. Knoten A1 wünscht, einen Kommunikationsstrom
in Richtung des Knotens B zu veranlassen, welcher zum Außenbereich
gehört.
Knoten A1 sendet eine Anfrage einschließlich der Ziel-Netzadresse
aOB und der Port-Nummer pB an das Gateway (GW). In dem IETF-RSIP-Bezugssystem
(RFC3103) könnte
diese Meldung "ASSIGN REQUEST
RSA-IP" sein.
- 2. Das Gateway sendet eine Anfrage an den Gateway-Resourcen-Manager
(GRM). Im Prozess X ordnet der GRM-Manager eine Netzadresse aOG vom Gateway-Adresspool
zu.
- Das Gateway führt üblicherweise
die Ziel-Adresse und/oder den Ziel-Port als vorbestimmte Verbindungsinformation
dem Gateway-Resourcen-Manager zu. In diesem Beispiel sind sowohl Ziel-Adressinformation
als auch Port-Information in der Anfrage enthalten. Zum Verbessern
der Multiplex-Kapazität
führt der
Gateway-Resourcen-Manager
einen Algorithmus aus, der bei gegebenen aOB und pB versucht, aOG
derart auszuwählen,
dass ein Außen-n-Tupel
(src:(aOB, pB); dest:(aOG, *); ...) kein Außen-n-Tupel von einem bereits
existierenden Gateway-Verbindungszustand ist. Wenn dies nicht möglich ist
(alle möglichen
Gateway-Adressen aOG werden bereits verwendet), Auswählen der
Gateway-Adresse, die bereits in der letzten Zahl von Gatway-Verbindungszuständen verwendet
worden ist.
- 3. Die zugeordnete Gateway-Adresse aOG wird zurück zu dem
Gateway gesendet.
- 4. Im Prozess a erstellt das Gateway einen neuen teilvollständigen Gateway-Verbindungszustand basierend
auf der verfügbaren
Verbindungsinformation. Die Innenbereichsdarstellung wird durch A1
gekennzeichnet und stellt eine virtuelle Punkt-zu-Punkt-Verbindung
zu dem Innenknoten A1 dar, wohingegen das Außen-n-Tupel einen Wert: (aOB,
pB; aOG, *) erhält. "*" bedeutet, dass dieses Feld momentan
nicht spezifiziert ist. Eine die zugeordnete Gateway-Adresse aOG
einschließende
Antwort wird zurück
zum Knoten A1 gesendet.
- 5. Knoten A2 wünscht
auch, einen Kommunikationsstrom in Richtung von Knoten B zu veranlassen,
und sendet eine Anfrage einschließlich der Ziel-Netzadresse
aOB und der Port-Nummer pB zum Gateway (GW).
- 6. Das Gateway sendet eine entsprechende Anfrage zu dem Gateway-Resourcen-Manager (GRM).
Im Prozess Y ordnet der GRM-Manager eine Netzadresse aOG von dem
Gateway-Adresspool zu, vorzugsweise unter Verwendung desselben Algorithmuses
wie im oben beschriebenen Prozess X. Aus Gründen der Erläuterung
sei angenommen, dass alle Gateway-Adressen im Gateway-Adresspool durchlaufen
worden sind ohne das Auffinden einer vollständig "freien" Adresse, was den Resourcen-Manager zwingt, die
zuletzt verwendete Gateway-Adresse auszuwählen. In diesem Beispiel sei
ferner angenommen, dass die zuletzt verwendete Adresse dieselbe
Adresse aOG ist, die zuvor dem Knoten A1 zugeordnet worden ist.
- 7. Die zugeordnete Gateway-Adresse aOG wird zurückgesendet
zu dem Gateway.
- 8. Im Prozess b erstellt das Gateway einen weiteren teilvollständigen Gateway-Verbindungszustand.
Die Innenbereichsdarstellung wird durch A2 gekennzeichnet und stellt
eine virtuelle Punkt-zu-Punkt-Verbindung zum Innenknoten A2 dar,
wohingegen das Außen-n-Tupel
die Werte: (aOB, pB; aOG, *) erhält. "*" bedeutet, dass dieses Feld für den Moment
nicht spezifiziert ist. Eine die zugewiesene Gateway-Adresse aOG
einschließende
Antwort wird zu dem Knoten A2 zurückgesendet.
- 9. Knoten A1 wählt
einen Quellen-Port pA1 (einen sogenannten Ephemeral-Port) für den Kommunikationsstrom
aus und sendet das erste Paket. Dieses Paket wird vom Gateway empfangen.
- Im Prozess c zerfällt
das entsprechende teilvollständige
Außen-n-Tupel
in ein vollständiges
Außen-n-Tupel
(aOB, pB; aOG, pA1), wodurch der bis jetzt unspezifizierte Wert
im Außen-n-Tupel mit
dem Wert pA1 aufgefüllt
wird.
- 10. Das Paket wird durch den Außenrandprozess verarbeitet
und durch das Gateway weitergeleitet zum Außenbereichsknoten B.
- 11. Ein Antwortpaket im Kommunikationsstrom wird durch das Gateway
vom Knoten B empfangen.
- 12. Das Paket wird von dem Innenrandprozess des Gateways verarbeitet
und zum Knoten A1 geliefert.
- 13. Knoten A2 wählt
einen Quellen-Port pA2 (einen sogenannten Ephemeral-Port) für den Kommunikationsstrom
aus und sendet das erste Paket. Dieses Paket wird von dem Gateway
empfangen.
- Im Prozess Z wird untersucht, ob pA2 gleich pA1 ist. Wenn pA2
= pA1 gilt, gibt es eine Kollision und der zweite teilvollständige Gateway-Verbindungszustand
(in Box c) sollte nicht zerfallen. Statt dessen sollte das Gateway
vorzugsweise versuchen, den Knoten A2 zu veranlassen, durch Neufestlegen
des Kommunikationsstroms ein anderes pA2 auszuwählen, beispielsweise durch
Senden eines TCP-Zurückstellsignals.
- Angenommen, dass pA2 sich von pA1 unterscheidet, zerfällt das
teilvollständige
Außen-n-Tupel
im Prozess d in ein vollständiges
Außen-n-Tupel (aOB;
pB; aOG, pA2), wobei der bis jetzt unspezifizierte Wert im Außen-n-Tupel durch den Wert pA2
aufgefüllt
wird.
- 14. Das Paket wird von dem Außenrandprozess verarbeitet
und durch das Gateway zum Außenbereichsknoten
B weitergeleitet.
- 15. Ein Antwortpaket im Kommunikationsstrom wird vom Gateway
vom Knoten B empfangen.
- 16. Das Paket wird durch den Innenrandprozess verarbeitet und
zum Knoten A2 geliefert.
-
Die
Multiplex-Kapazität
kann bis zu einem Punkt erhöht
werden, wo die Adress-Granularitäts-Alternative
verwendet werden kann statt der Port-Granularitäts-Alternative. Dies bedeutet,
dass beliebige Ephimeral-Port-Nummern verwendet werden können.
-
Im
folgenden wird die Erfindung unter Bezugnahme auf außenbereichsveranlasste
Kommunikation beschrieben, die von einer DNS-Abfrage (DNS query)
oder äquivalenten
Nutzer-Resourcen-Identifiziererabfrage
angestoßen
wird.
-
Beispielhaftes
Basisblockdiagramm für
außenbereichsveranlasste
Kommunikation Für
ein besseres Verständnis
der von der Erfindung einbezogenen komplexen Mechanismen ist es
nützlich,
mit einer beispielhaften Gesamtsystemübersicht unter Bezugnahme auf 9 zu beginnen.
-
9 ist ein schematisches
Diagramm zu Zeigen eines Beispiels eines Gesamtsystems zum Ermöglichen
der Unterstützung
flexibler und effizienter außenbereichsveranlasster
Kommunikationen gemäß einer
bevorzugten Ausführungsform
der Erfindung. Das beispielhafte Gesamtsystem für die Zwischenverbindung eines
Innenknotens A und eines Außenknotens
B umfasst ein Zwischen-Gateway 30, einen zugeordneten Gateway-Resourcen-Manager 40,
einen Namen-zu-Adressen-Umsetzer (N/A-Umsetzer) 50 oder
einen äquivalenten
Umsetzer gemeinsam mit einem zugeordneten AAA-Server 60. Der N/A-Umsetzer 50 kann
beispielsweise ein modifizierter DNS-Server sein, der eine einen
Namen einschließende
Abfrage annimmt und schließlich
mit einer eine zum Außenbereich
gehörende
Netzadresse einschließenden
Antwort antwortet. Optional können
Abfrage und Antwort auch Port-Nummern-Information einschließen. Ein
Name ist eine global einzigartige Zeichenkette, die jeweiligen Knoten
zugeordnet ist. Beispielsweise könnte
der Name eines Kommunikationsknotens ein FQDN (Fully Qualified Domain
Name bzw. voll-qualifizierter Domain-Name) sein, ausgebildet als
Mobiltelefonnummer, MSISDN, gemeinsam mit dem Domain-Namen des Betreibers, z.
B. "070123456789.operator.country". Der AAA-Server 60 schließt Funktionalität zum Managen von
dynamischen Profildaten einschließlich Namensinformation und
innenbereichsbezogener Netzadressinformation für die momentan innerhalb des
Innenbereichs befindlichen Kommunikationsknoten ein. Allgemeiner
ist der N/A-Umsetzer 50 ein Identifizierer-zu-Adress-Umsetzer,
der eine allgemeine Identifiziererabfrage, einschließlich einer
DNS-Abfrage, einer SIP-URI-Abfrage [6] und ähnlicher
Abfragen irgendwelcher proprietärer
Protokolle, akzeptiert.
-
In
einem beispielhaften Grundszenario wird eine Client-Anwendung in einem
Innenknoten A, wie zum Beispiel einem Mobilendgerät oder einer
anderen Knotenausrüstung,
gestartet. Die Client-Anwendung öffnet
einen Socket, d. h. eine Netzschnittstelle (einer unteren Schicht)
und startet das Mithören
an einem Port. Beispielsweise, angenommen, dass der Client eine
private IPv4-Adresse hinter dem Gateway 30 hat und dass
außerhalb
des Gateways in Richtung des Außenknotens
B beispielsweise ein Anwendungs-Server eines Diensteanbieters oder
eine andere Knotenausrüstung
ist, findet ein normales öffentliches
Routing bzw. Wegelenkung statt. Es wird ferner angenommen, dass
das Mobilendgerät
oder die andere Ausrüstung
des Knotens A einen Namen hat oder einen ähnlichen Identifizierer und
dass es/sie sich im privaten Innenbereich registriert hat, so dass
der AAA-Server 60 ein Profil einschließt mit dem Namen gemeinsam
mit der privaten Netzadresse oder einem äquivalenten Symbol zum Identifizieren
einer Punkt-zu-Punkt-Schnittstelle. Der Anwendungs-Server des Knotens
B kann gegebenenfalls im voraus die Port-Nummer kennen (ein sogenannter wohlbekannter
oder vordefinierter Port), an der die Client-Software mithört, oder
alternativ kann die Client-Software die Port-Nummer an den öffentlichen Anwendungs-Server
in einer Registrierungsmeldung signalisiert haben. Der Knoten B
hat normalerweise auch Kenntnis bezüglich des Namens des Knotens A.
-
In
dem Beispiel der 9 sind
die Steuersignalisierungs-Schnittstellen
durch Volllinien dargestellt, und Paketdaten-Schnittstellen sind durch unterbrochene
Linien dargestellt.
-
Zuerst
sendet der Knoten B Anwendungs-Server eine DNS-Abfrage (1)
oder eine äquivalente
Abfrage an den N/A-Umsetzer 50. Die Abfrage schließt auch
Information in Bezug auf öffentliche Netzadressen
des Knotens B und/oder Information darüber ein, an welchem Port der
Knoten A mithört. Der
N/A-Umsetzer 50 sendet eine Anfrage (2) einschließlich des
Namens des Knotens A an den AAA-Server 60, welcher mit
einer Antwort (3) antwortet, die die Privatnetzadresse
des Knotens A einschließt,
oder äquivalent
ein eine Punkt-zu-Punkt- Schnittstelle
zum Knoten A darstellendes Symbol. Der N/A-Umsetzer 50 sendet dann eine
Zuordnungsanfrage (4) einschließlich des Namens und der zugeordneten
Privatnetzadressdarstellung des Knotens A gemeinsam mit der öffentlichen
Netzadresse des Knotens B und/oder der Innenknoten-Port-Nummer an
den Gateway-Resourcen-Manager (GRM) 40. Basierend auf dieser
Information identifiziert der Gateway-Resourcen-Manager 40 eine
geeignete öffentliche
Gateway-Adresse für den
Knoten A und sendet eine Anfrage (5) an das Gateway (GW) 30 zum
Erstellen eines Gateway-Verbindungszustandes.
Nach dem Erstellen des Gateway-Verbindungszustandes
sendet das Gateway 30 eine Antwort (6) zum Bestätigen des
Zustandseinrichtens an den Resourcen-Manager 40. Der Resourcen-Manager 40 sendet
dann eine Antwort (7) einschließlich der dem Knoten A zugeordneten öffentlichen
Gateway-Adresse in Richtung des N/A-Umsetzers 50, welcher
wiederum diese Information in einer letztendlichen Antwort (8)
zum Knoten (B) weiterleitet. Der Anwendungs-Server des Knotens B
sendet nun (9) das erste Paket zu dem Gateway 30,
welches, wenn erforderlich, eine ergänzende Verbindungsinformation,
zum Beispiel die von dem Knoten B verwendete Port-Nummer, aufnimmt
und vielleicht auch die Adresse des Knotens B, um das Gateway 30 in
die Lage zu versetzen, einen möglicherweise unvollständigen Gateway-Verbindungszustand
in einen vollständigen
Gateway-Zustand umzusetzen. Auf das Zerfallen eines unvollständigen Gateway-Verbindungszustandes
hin informiert das Gateway 30 vorzugsweise (10)
den Resourcen-Manager 40, welcher wiederum seine Listendarstellung
von Gateway-Verbindungszuständen
aktualisiert. In dem Gateway 30 kooperiert der Innenrandprozess
mit dem Paketweiterleitungsprozess zum Liefern des Paketes durch
das Gateway 30 und in Richtung (11) des Knotens
A. Der Knoten A kann antworten (12) und sendet Information
durch das Gateway 30 und in Richtung (13) des
Knotens B.
-
Es
ist auch möglich,
die DNS-Abfrage direkt dem Gateway-Resourcen-Manager bereitzustellen, welcher
wiederum die Namensinformation an eine zugeordnete Namen-zu-Adress-Umsetzfunktion weiterleitet,
die eine Innennetzadresse zurücksendet, welche
sich auf den relevanten Innenknoten bezieht. Wie zuvor weist der
Gateway-Resourcen-Manager dem Innenknoten basierend auf vorbestimmter
Verbindungsinformation, die in der DNS-Abfrage enthalten ist, eine öffentliche
Gateway-Adresse zu und sendet eine DNS-Antwort einschließlich der zugewiesenen Adresse
an den anfordernden Außenknoten.
-
Aus
der Sicht eines Implementierungspunktes kann der den Namen-zu-Adress-Umsetzer
und den Gateway-Resourcen-Manager einschließende Gesamt-Zentraladressiermechanismus
in einem einzelnen Prozess, in unterschiedlichen, an einem einzelnen
Knoten ablaufenden Prozessen oder in unterschiedlichen Prozessen,
die physikalisch auf mehrere Knoten verteilt sind, realisiert werden.
-
Wenn
die Außenknoten-Netzadresse
zum Identifizieren einer geeigneten Gateway-Adresse verwendet wird,
wird empfohlen, dass die Namensabfrage direkt geliefert wird und
nicht durch Zwischenknoten weitergeleitet wird. In dem Fall, wenn ein
DNS-Server verwendet wird für
das Nachschauen von Namen, entspricht dies dem Sperren sogenannter
rekursiver Nachschauvorgänge
(recursive look-ups) durch Einstellen des RD-Bits (Recursive Desired
Bit) auf "0" und sich statt dessen
auf iterative Nachschauvorgänge
(iterative look-ups)zu verlassen. Ungesteuertes Cachen sollte ebenfalls
vermieden werden durch das Einstellen des TTL-Parameters (Time-To-Live-Parameter) auf einen
Wert, der kleiner ist als der Zeitabstand zwischen zwei aufeinanderfolgenden
Stromveranlassungen in Richtung desselben Innenbereichsknotens und
derselben Port-Nummer.
-
Wie
zuvor angedeutet, kann es erforderlich sein, das Zustandseinrichten
in zwei Phasen durchzuführen.
Stattdessen ist es tatsächlich
möglich,
eine vollständigen
Gateway-Verbindungszustand
direkt basierend auf der verfügbaren
Verbindungsinformation einschließlich der Außenknotenadresse
und/oder des Innenknoten-Ports einzurichten, den Bedarf für das bei
(10) angedeutete Signalisieren eliminierend. Dies reduziert offensichtlich
in gewissem Umfang den Multiplex-Gewinn,
da die Außenknoten-Port-Nummer
beim Einrichten des Gateway-Verbindungszustandes nicht als ein Unterscheidungsparameter
verwendet werden kann. Eine solche Lösung kann jedoch ausreichend
sein, je nach den Umständen.
-
Allgemeine
Mechanismen zum Steuern von NAT/FW-Zuständen sind durch die Internet
Engineering Task Force-Arbeitsgruppe zu Middlebox Communication
(MIDCOM) vorgeschlagen worden.
-
Abfolgediagramme
für außenbereichsveranlasste Kommunikation
-
Substitutionstyp – Quellenadresse
bekannt
-
10 ist ein schematisches
Abfolgediagramm zum Zeigen der relevanten Signalisierung zwischen
den einbezogenen Elementen für
ein erläuterndes
Beispiel von außenbereichsveranlasster Kommunikation
durch ein Substitutions-Gateway unter Verwendung von Außenknoten-Adressinformation
(Quelle) zur effizienten Multiplexierung.
-
In
diesem Beispiel ist der Anfangszustand, dass ein Kommunikationsknoten
A im Innenbereich eine Anwendung gestartet hat, die auf kommenden Verkehr
an dem Port Nummer pA mithört.
Knoten A hat den "Namen" nA. Knoten A hat
sich selbst im Innenbereich registriert, so dass der AAA-Server
ein Profil hat, das nA gemeinsam mit der Netzadresse (aIA) einschließt, die
dem Knoten A zugewiesen ist. Ein Kommunikationsknoten B im Außenbereich wünscht, eine
Kommunikation in Richtung des Knotens A einzurichten. Knoten B hat
Kenntnis über
nA und pA.
-
In
der folgenden Abfolge gibt es drei Innenknoten mit Namen nA1, nA2
und nA3, Innenbereichsadressen aIA1, aIA2 und aIA3, die jeweils
an Ports pA1, pA2 bzw. pA3 mithören.
Auch gibt es zwei Außenknoten
mit Außenbereichsadressen
aOB1 und aOB2, die jeweils auf Ports pB1 bzw. pB2 senden.
- 1. Knoten B1 sendet eine Abfrage einschließlich nA1
an den N/A-Umsetzer. Die Adresse aOB1 ist im Quellenfeld des Abfragepakets
sichtbar.
- 2. Der N/A sendet eine Anfrage einschließlich nA1 an den AAA-Server.
- 3. Der AAA-Server schaut nach der Netzadresse aIA1, die nA1
entspricht, und sendet eine Antwort an den N/A einschließlich nA1
und aIA1.
- 4. Der N/A sendet eine Anfrage einschließlich nA1, aIA1 und aOB1 an
den Gateway-Resourcen-Manager (GRM).
Im Prozess X führt der
Gateway-Resourcen-Manager den folgenden Algorithmus durch: In diesem
Fall wird angenommen, dass es keine existierenden Teil-Gateway-Zustände gibt,
die auch als Tore bzw. Gates bezeichnet werden. Der Gateway-Resourcen-Manager
kann demnach frei aus der Gateway-Adressliste aOG auswählen, gewöhnlich die
erste verfügbare
Adresse nehmend.
- 5. Der Gateway-Resourcen-Manager sendet eine Anfrage an das
Gateway zum Erstellen des Teil-Gateway-Zustandes (Gate bzw. Tor),
der in Box a beschrieben ist.
- 6. Das Gateway sendet nach Erstellen des Teil-Gateway-Zustandes eine Antwort
zurück.
- 7. Der Gateway-Resourcen-Manager sendet eine Antwort einschließlich nA1
und aOG.
- 8. Der N/A sendet eine Antwort einschließlich nA1, aOG an den Knoten
B1.
- 9. Der Knoten B2 sendet eine Abfrage einschließlich nA2
und aOB2 an den N/A. Die Adresse aOB2 ist im Quellenfeld des Abfragepaketes
sichtbar.
- 10. Der N/A sendet eine Anfrage einschließlich nA2 an den AAA-Server.
- 11. Der AAA-Server schaut nach der Netzadresse aIA2, die nA2
entspricht, und sendet eine Antwort einschließlich nA2 und aIA2 an den N/A.
- 12. Der N/A sendet eine Anfrage einschließlich nA2, aIA2 und aOB2 an
den Gateway-Resourcen-Manager.
- Im Prozess Y führt
der Gateway-Resourcen-Manager den folgenden Algorithmus durch: Versuchen,
aOG aus der Gateway-Adressliste derart auszuwählen, dass das Außen-n-Tupel (teilweise unspezifiziert)
(src:(aOB2,*); dest:(aOG,*);...) kein Außen-n-Tupel eines bereits existierenden Teil-Gateway-Zustandes
ist. In diesem Fall, da aOB2 nicht gleich aOB1 ist, ist es in Ordnung,
irgendein aOG auszuwählen,
selbst dasselbe aOG, wie es im Prozess X oben ausgewählt worden
ist. Wäre
das nicht der Fall, müsste
ein anderes aOG ausgewählt
werden als das im Prozess X ausgewählte.
- 13. Der Resourcen-Manager sendet eine Anfrage zu dem Gateway
zum Erstellen des Gateway-Zustandes, der in der zweiten Zeile in
Box b beschrieben ist.
- 14. Das Gateway sendet nach dem Erstellen des Teil-Gateway-Zustandes eine Antwort.
- 15. Der Resourcen-Manager sendet eine Antwort einschließlich nA2
und aOG.
- 16. der N/A sendet eine Antwort einschließlich nA2 und aOG an den Knoten
B2.
- 17. Der Knoten B1 sendet das erste Paket in dem Kommunikationsstrom
in Richtung des Knotens A1.
- 18. In dem Gateway zerfällt
der Teil-Gateway-Zustand in einen kompletten Gateway-Zustand, wodurch
das Außen-n-Tupel vollständig wird,
so dass es ist: (src:(aOB1, pB1); dest:(aOG, pA1);...) und das Innen-n-Tupel
(src:aIAl, pA1); dest:(aOB1, pB1);...) wird, wie in Box c zu sehen.
- 19. Das Paket wird weitergeleitet durch das Gateway in Richtung
des Knotens A1.
- 20. Der Knoten A1 sendet das nächste Paket in dem Kommunikationsstrom
in Richtung des Knotens B1.
- 21. Das Paket wird weitergeleitet durch das Gateway in Richtung
des Knotens B1.
- 22. Der Knoten B1 sendet eine Abfrage einschließlich nA3
an den N/A. Die Adresse aOB1 ist im Quellenfeld des Abfragepaketes
sichtbar.
- 23. Der N/A sendet eine Anfrage einschließlich nA3 an den AAA-Server.
- 24. Der AAA-Server schaut nach der Netzadresse aIA3, die nA3
entspricht, und sendet eine Antwort einschließlich nA3 und aIA3 an den N/A.
- 25. Der N/A sendet eine Anfrage einschließlich nA3, aIA3 und aOB1 an
den Resourcen-Manager.
- Im Prozess Z führt
der Resourcen-Manager den folgenden Algorithmus aus: Versuchen,
aOG aus der Gateway-Adressliste
derart auszuwählen, dass
das Außen-n-Tupel
(teilweise unspezifiziert) (src:(aOB1,*);dest:(aOG,*); ...) kein
Außen-n-Tupel
eines bereits existierenden Teil-Gateway-Zustandes ist. Es ist in
Ordnung, dass der vollständige
Gateway-Zustand in der ersten Zeile in Box c bereits existiert.
Dies liegt daran, weil wir sicher annehmen können, dass der Knon B1 eine Port-Nummer
verwendet wird, die sich von pB1 unterscheidet, wenn er Verkehr
in Richtung des Knotens A3 sendet.
- 26. Der Resourcen-Manager sendet eine Anfrage an das Gateway
zum Erstellen des in der dritten Zeile in Box d beschriebenen Teil-Gateway-Zustandes.
- 27. Das Gateway sendet nach dem Erstellen des Gateway-Zustandes eine Antwort.
- 28. Der Resourcen-Manager sendet eine Antwort einschließlich nA3,
aOG.
- 29. Der N/A sendet eine Antwort einschließlich nA3, aOG an den Knoten
B1.
- Im Prozess V startet das Gateway vorzugsweise einen Zeitgeber
bzw. Timer nach dem Erstellen eines Teil-Gateway-Zustandes. Wenn der Timer einen
gewissen Wert, die Gate-Lebensdauer, erreicht und der Teil-Gateway-Zustand noch nicht zerfallen
ist, wird der Teil-Gateway- Zustand
gelöscht
und das Gate wird freigegeben bzw. ausgelöst.
- 30. Das Gateway informiert den Resourcen-Manager darüber, dass
der Teil-Gateway-Zustand gelöscht
worden ist. Der Resourcen-Manager aktualisiert seine Liste existierender
Teil-Gateway-Zustände
entsprechend.
-
Wie
oben erwähnt,
kann es in praktischen Fällen
passieren, dass die Antwort in Schritten 8, 16 und 29 gecacht bzw.
temporär
zwischengespeichert wird. Jedoch müssen für diese Lösung, um zufriedenstellend
zu arbeiten, die gecachten Daten als ungültig angesehen werden nach
einem Zeitintervall, welches kleiner ist als der Zeitabstand zwischen
zwei aufeinanderfolgenden Stromveranlassungen in Richtungen desselben
Innenbereichsknotens und derselben Port-Nummer.
-
Substitutionstyp – Ziel-Port
ist bekannt
-
11 ist ein schematisches
Abfolgediagramm zum Zeigen der relevanten Signalisierung zwischen
den einbezogenen Elementen für
ein erläuterndes
Beispiel von außenbereichsveranlasster Kommunikation
durch ein Substitutions-Gateway unter Verwendung von Innenknoten-Port-Information (Ziel)
für effizientes
Multiplexieren.
-
Dies
gilt, wenn die Port-Nummer pA, an der der Knoten A mithört, dem
N/A-Umsetzer in der Namensabfrage bekannt wird.
Beispielsweise
kann die DNS-Abfrage die Form haben:
"_port.protocol._MSISDN_operator.country". Ein spezielles
Beispiel wäre "_4712.-tcp.070123456789.telia.se". Alternativ könnte die
DNS-Abfrage die Form haben:
"-service._protocol._MSISDN.operator.country". Ein spezielles
Beispiel in diesem Fall wäre
"_http._tcp.0733634026.telia.se". Die Zeichenkette "http" würde dann
umgesetzt werden in eine Port-Nummer, in diesem Fall 80.
-
Im
folgenden Beispiel ist der Anfangszustand, dass ein Kommunikationsknoten
A im Innenbereich eine Anwendung gestartet hat, die auf kommenden
Verkehr an dem Port Nummer A mithört. Der Knoten A hat den Namen
nA. Der Knoten A hat sich selbst in dem Innenbereich registriert,
so dass der AAA-Server
ein Profil hat, welches nA gemeinsam mit der Netzadresse aIA einschließt, die
dem Knoten A zugewiesen ist. Ein Kommunikationsknoten B im Außenbereich
wünscht,
eine Kommunikation in Richtung des Knotens A einzurichten. Der Knoten
B hat Kenntnis bezüglich
nA und pA.
-
In
der folgenden Abfolge gibt es drei Innenknoten mit Namen nA1, nA2
und nA3, Innenbereichsadressen aIA1, aIA2 und aIA3, die jeweils
an den Ports pA1, pA2 bzw. pA3 mithören.
- 1.
Knoten B sendet eine Abfrage einschließlich nA1 und pA1 an den N/A.
- 2. Der N/A sendet eine Anfrage einschließlich nA1 an den AAAS-Server.
- 3. Der AAA-Server schaut nach der Netzadresse aIA1, die dem
nA1 entspricht, und sendet eine Antwort einschließlich nA1
und aIA1 an den N/A.
- 4. Der N/A sendet eine Anfrage einschließlich nA1, aIA1 und pA1 zu
dem Gateway-Resourcen-Manager (GRM). Im Prozess X führt der
Resourcen-Manager den folgenden Algorithmus aus: In diesem Fall
wird angenommen, dass es keine existierenden Teil-Gateway-Zustände gibt, die
auch als Gates bzw. Tore bezeichnet werden. Der Resourcen-Manager kann demnach
aOG frei aus der Gateway-Adressenliste
auswählen.
- 5. Der Resourcen-Manager sendet eine Anfrage zu dem Gateway
zum Erstellen des in Box a beschriebenen Gateway-Zustandes.
- 6. Das Gateway sendet nach dem Erstellen des Teil-Gateway-Zustands (Gate bzw.
Tor) eine Antwort.
- 7. Der Resourcen-Manager sendet eine Antwort einschließlich nA1,
aOG und pA1.
- 8. Der N/A sendet eine Antwort zum Knoten B einschließlich nA1,
aOG und pA1.
- 9. Der Knoten B sendet eine Abfrage einschließlich nA2
und pA2 an den N/A.
- 10. Der N/A sendet eine Anfrage einschließlich nA2 an den AAA-Server.
- 11. Der AAA-Server schaut nach der Netzadresse aIA2, die dem
nA2 entspricht, und sendet eine Antwort einschließlich nA2
und aIA2 an den N/A.
- 12. Der N/A sendet eine Anfrage einschließlich nA2, aIA und pA2 an den
Resourcen-Manager. Im Prozess Y führt der Resourcen-Manager den
folgenden Algorithmus aus: Versuchen, aOG aus der Gateway-Adressenliste derart
auszuwählen, dass
das Außen-n-Tupel
(teilweise unspezifiziert) (src:(*,*); dest:(aOG,pA2); ...) kein
Außen-n-Tupel eines
bereits existierenden Teil-Gateway-Zustandes ist. In diesem Beispiel
sei angenommen, dass pA2 nicht gleich pA1 ist. Dies bedeutet, dass
es in Ordnung ist, dasselbe aOG auszuwählen, wie es im obigen Prozess
X ausgewählt
worden ist. Wenn pA2 gleich pA1 ist, sollte der Resourcen-Manager
versuchen, einen Adresse aus der Gateway-Adressenliste auszuwählen, die
sich von der aOG unterscheidet.
- 13. Der Resourcen-Manager sendet eine Anfrage zu dem Gateway
zum Erstellen des Gateway-Zustandes, der in der zweiten Zeile in
Box b beschrieben worden ist.
- 14. Das Gateway sendet nach dem Erstellen des Teil-Gateway-Zustandes eine Antwort.
- 15. Der Resourcen-Manager sendet eine Antwort einschließlich nA2,
aOG und pA2.,
- 16. Der N/A sendet eine Antwort einschließlich nA2, aOG und pA2 an den
Knoten B.
- 17. Der Knoten B sendet das erste Paket im Kommunikationsstrom
in Richtung des Knotens A1.
- 18. In dem Gateway zerfällt
der Teil-Gateway-Zustand in einen vollständigen Gateway-Zustand, wodurch
das Außenn-Tupel
vollständig
wird, derart, dass es lautet: (src:(aOB,pB); dest:(aOG,pA1);...)
und das Innen-n-Tupel
lautet (src:(aIA1,pA1); dest:(aOB,pB);...), wie in Box c zu sehen.
- 19. Das Paket wird weitergeleitet durch das Gateway in Richtung
des Knotens A1.
- 20. Der Knoten A1 sendet das nächste Paket in dem Kommunikationsstrom
in Richtung des Knotens B.
- 21. Das Paket wird von dem Gateway weitergeleitet in Richtung
des Knotens B.
- 22. Der Knoten B sendet eine Abfrage einschließlich nA3
und pA3 an den N/A.
- 23. Der N/A sendet eine Anfrage einschließlich nA3 an den AAA-Server.
- 24. Der AAA-Server schaut nach der Netzadresse aIA3, die nA3
entspricht, und sendet eine Antwort einschließlich nA3 und aIA3 an den N/A.
- 25. Der N/A sendet eine Anfrage einschließlich nA3, aIA3 und pA3 an
den Resourcen-Manager. Im Prozess Z führt der Resourcen-Manager den folgenden
Algorithmus aus: Versuche, aOG aus der Gateway-Adressliste derart auszuwählen, dass
das Außen-n-Tupel
(teilweise unspezifiziert) (src:(*,*); dest:(aOG, pA3); ...) kein
Außen-n-Tupel
eines bereits existierenden Teil-Gateway-Zustandes ist. Es ist in
Ordnung, dass der vollständige
Gateway-Zustand in der ersten Zeile in Box C bereits existiert.
Die liegt daran, dass sicher angenommen werden kann, dass der Knoten
B eine von pB verschiedene Port-Nummer verwenden wird, wenn er Verkehr
in Richtung des Knotens A3 sendet. Wenn alle Adressen in der Gateway-Adressliste
in existierenden Teil-Gateway-Zuständen gemeinsam
mit der Port-Nummer pA3 enthalten sind, dann sollte der Resourcen-Manager
eine neue Port-Nummer
pG derart auswählen,
dass das Außen-n-Tupel
(teilweise unspezifiziert) (src:(*,*); dest:(aOG, pG); ...) kein Außen-n-Tupel
eines bereits existierenden Teil-Gateway-Zustandes ist.
- 26. Der Gateway-Resourcen-Manager sendet eine Anfrage an das
Gateway zum Erstellen des in der dritten Zeile in Box d beschriebenen
Gateway-Zustandes.
- 27. Das Gateway sendet nach dem Erstellen des Teil-Gateway-Zustandes eine Antwort.
- 28. Der Resourcen-Manager sendet eine Antwort einschließlich nA3,
aOG und pG.
- 29. Der N/A sendet eine Antwort einschließlich nA3, aOG und pG an den
Knoten B. Im Prozess V startet das Gateway einen Zeitgeber bzw.
Timer nach dem Erstellen eines Teil-Gateway-Zustandes. Wenn der
Timer einen bestimmten Wert erreicht und der Teilzustand noch nicht
zerfallen ist, wird der Teilzustand gelöscht.
- 30. Das Gateway informiert den Resourcen-Manager darüber, dass
der Teilzustand gelöscht
worden ist, und der Resourcen-Manager aktualisiert seine Liste existierender
Teil-Gateway-Zustände entsprechend.
-
Wie
in der obigen Abfolge gezeigt, gibt es zwei Fälle. In den Antworten (Schritte
8, 16 und 29) von dem N/A-Umsetzer ist entweder die Port-Nummer
gleich der Port-Nummer, die in den entsprechenden Abfragen (Schritte
1, 9 und 22) gesendet worden ist, oder nicht. Der erstere Fall ist
der erwünschte,
da die Anwendung im Knoten B erwartet, in Richtung der Port-Nummer pA zu senden.
Es wird empfohlen, dass der letztere Fall nur als Notlösung verwendet wird,
da er das Implementieren von Änderungen
in der Anwendung im Knoten B erfordern kann.
-
Wie
zuvor müssen
gecachte Daten, die Antworten zurück zu einem Außenknoten
zugeordnet sind, mit Vorsicht behandelt werden.
-
Weiterleitungstyp – Quellenadresse
bekannt
-
12 ist ein schematisches
Abfolgediagramm zum Zeigen der relevanten Signalisierung zwischen
den einbezogenen Elementen für
ein erläuterndes
Beispiel von außenbereichsveranlasster Kommunikation
durch ein Weiterleitungs-Gateway unter Verwendung von Außenknoten-Adressinformation
(Quelle) zur effizienten Multiplexierung.
-
Diese
Lösung
gilt, wenn die Netzadresse des Knotens B dem N/A-Umsetzer in der
Namensabfrage bekannt wird. Dies ist der Fall, wenn die Namensabfrage
direkt geliefert wird und nicht durch Zwischenknoten weitergeleitet
wird. In dem Fall, wenn DNS für das
Nachschauen von Namen verwendet wird, entspricht dies dem Sperren
von rekursivem Nachschauen (recursive lookups) statt des Weiterleitens von
iterativem Nachschauen (iterative look-ups).
-
Wie
zuvor erwähnt,
weiß im
Weiterleitungsfall der Innenbereichsknoten von der Außenbereichs-Netzadresse,
die ihm zugewiesen worden ist. Demnach muss eine Anwendungs-Software, die auf einem
Außenbereichsknoten
läuft und
einen Kommunikationsstrom erwartet, der von dem Außenbereich
veranlasst ist, sich an die momentan zugewiesene Außenbereichs-Netzadresse
binden. Wir können
demnach annehmen, dass allen Innenknoten Außenbereichsadressen zugewiesen
worden sind. Da wir allgemein mehr Knoten unterstützen müssen als
die Anzahl von Außenbereichsadressen,
die dem Gateway verfügbar
sind, müssen
wir annehmen, dass einigen Innenknoten dieselbe Außenbereichsadresse
zugewiesen worden ist. In der folgenden Abfolge zeigen wir drei
Innenknoten A1, A2 und A3, alle mit derselben Außenbereichsadresse aOG. Wir
nehmen ferner an, dass der Gateway-Resourcen-Manager nachverfolgt,
welche Außenbereichsadresse
welchem speziellen Innenknoten zugewiesen worden ist basierend auf
einigen in den Abfolgemeldungen durch die Symbole "A1", "A2" und "A3" wiedergegebene Indizes.
Wenn die virtuelle Punkt-zu-Punkt-Verbindung in Richtung des Innenknotens
als ein IP-in-IP-Tunnel
implementiert wird, wäre
ein Beispiel, dass das Symbol "A1" die Innenbereichsadresse aIA1
ist, die dem Knoten A1 zugewiesen worden ist.
- 1.
Knoten B1 sendet eine Abfrage einschließlich nA1 an den N/A-Umsetzer.
Die Adresse aOB1 ist in dem Quellenfeld des Abfragepaketes sichtbar.
- 2. Der N/A-Umsetzer sendet eine Abfrage einschließlich nA1
an den AAA-Server.
- 3. Der AAA-Server schaut nach dem Symbol A1, das nA1 entspricht,
und sendet eine Antwort einschließlich nA1 und A1 an den N/A.
- 4. Der N/A sendet eine Anfrage einschließlich nA1, A1 und aOB1 zu dem
Gateway-Resourcen-Manager (GRM). Im Prozess X führt der Gateway-Resourcen-Manager
den folgenden Algorithmus aus: In diesem Fall wird angenommen, dass
es keine existierenden Teil-Gateway-Zustände
gibt, die auch Gates oder Tore genannt werden. Basierend auf dem
Symbol A1 findet der Resourcen-Manager aOG, die Außenbereichsadresse,
die momentan dem Knoten A1 zugeordnet worden ist.
- 5. Der Gateway-Resourcen-Manager sendet eine Anfrage an das
Gateway, um den Gateway-Zustand, der in Box a beschrieben worden
ist, zu erstellen.
- 6. Das Gateway sendet nach dem Erstellen des Gateway-Zustandes eine Antwort.
- 7. Der Resourcen-Manager sendet eine Antwort einschließlich nA1
und aOG.
- 8. Der N/A sendet eine Antwort einschließlich nA1 und aOG.
- 9. Der Knoten B2 sendet eine Abfrage einschließlich nA2
an den N/A. Die Adresse aOB2 ist im Quellenfeld des Abfragepaketes
sichtbar.
- 10. Der N/A sendet eine Anfrage einschließlich nA2 an den AAA-Server.
- 11. Der AAA-Server schaut nach dem Symbol A2, das nA2 entspricht,
und sendet eine Antwort einschließlich nA2 und A2 an den N/A.
- 12. Der N/A sendet eine Anfrage einschließlich nA2, A2 und aOB2 an den
Gateway-Resourcen-Manager.
- Im Prozess Y führt
der Resourcen-Manager den folgenden Algorithmus aus: Basierend auf
dem Symbol A2 findet der Resourcen-Manager aOG, die Außenbereichsadresse,
die momentan dem Knoten A2 zugewiesen ist. Wenn das Außen-n-Tupel (teils unspezifiziert) (src:(aOB2,*);dest:(aOG,*);
...) kein Außen-n-Tupel
eines bereits existierenden Teil-Gateway-Zustandes ist, dann ist
es in Ordnung, einen neuen Teil-Gateway-Zustand zu erstellen mit
dem Außen-n-Tupel.
In diesem Fall, da aOB2 nicht gleich aOB1 ist, ist es in Ordnung,
einen neuen Teil-Gateway-Zustand (Gate bzw. Tor) zu erstellen mit
dem Außen-n-Tupel
(teils unspezifiziert) (src:(aOB2, *); dest:(aOG, *); ...).
- 13. Der Gateway-Resourcen-Manager sendet eine Anfrage an das
Gateway, um den in der zweiten Zeile in Box b beschriebenen Gateway-Zustand
zu erstellen.
- 14. Das Gateway sendet nach dem Erstellen des Teil-Gateway-Zustandes eine Antwort.
- 15. Der Gateway-Resourcen-Manager sendet eine Antwort einschließlich nA2
und aOG.
- 16. Der N/A sendet eine Antwort nA2 und aOG an den Knoten B2.
- 17. Der Knoten B1 sendet das erste Paket in dem Kommunikationsstrom
in Richtung des Knotens A1.
- 18. In dem Gateway zerfällt
der Teil-Gateway-Zustand in einen vollständigen Gateway-Zustand, wodurch
das Außen-n-Tupel vervollständigt wird, so
dass es lautet: (src:(aOB1,pB);dest:(aOG,PAl);...), wie in Box c zu
sehen.
- 19. Das Paket wird weitergeleitet durch das Gateway in Richtung
des Knotens A1 (Weiterleitung).
- 20. Der Knoten A1 sendet das nächste Paket in dem Kommunikationsstrom
in Richtung des Knotens B1.
- 21. Das Paket wird weitergeleitet durch das Gateway in Richtung
des Knotens B1 (Weiterleitung).
- 22. Der Knoten B1 sendet eine Abfrage einschließlich nA3
an den N/A. Die Adresse aOB1 ist in dem Quellenfeld des Abfragepaketes
sichtbar.
- 23. Der N/A sendet eine Abfrage einschließlich nA3 an den AAA-Server.
- 24. Der AAA-Server schaut nach dem Symbol A3, das nA3 entspricht,
und sendet eine Antwort einschließlich nA3 und A3 an den N/A.
- 25. Der N/A sendet eine Anfrage einschließlich nA3, A3 und aOB1 zu dem
Gateway-Resourcen-Manager.
- Im Prozess Z führt
der Resourcen-Manager den folgenden Algorithmus aus: Basierend auf
dem Symbol A3 findet der Resourcen-Manager aOG die Außenbereichsadresse,
die momentan dem Knoten A3 zugewiesen ist. Wenn das Außen-n- Tupel (teilweise
unspezifiziert) (src:(aOB1,*);dest:(aOG,*);...) kein Außen-n-Tupel
eines bereits existierenden Teil-Gateway-Zustandes (Gate bzw. Tor)
ist, dann ist es in Ordnung, einen neuen Teil-Gateway-Zustand zu erstellen mit diesem
Außen-n-Tupel.
Es ist in Ordnung, dass der vollständige Gateway-Zustand in der
ersten Zeile in Box c bereits existiert. Dies liegt daran, dass
wir sicher annehmen können,
dass der Knoten B1 eine von pB1 verschiedene Port-Nummer verwenden
wird, wenn er Verkehr in Richtung des Knotens A3 sendet. In dem
Fall, dass ein Teil-Gateway-Zustand mit dem Außen-n-Tupel (teilweise unspezifiziert) (src:(aOB1,*);dest:(aOG,*);...)
bereits existiert, ist nicht genügend
Information verfügbar,
um die bald kommenden Kommunikationsströme zu unterscheiden. Vorzugsweise
sollte der Resourcen-Manager demnach den N/A instruieren, entweder überhaupt
nicht in Richtung des Knotens B2 zu antworten oder mit einer expliziten
Fehlermeldung. Dieser Fehlerfall ist nicht in der Abfolge gezeigt.
- 26. Der Gateway-Resourcen-Manager sendet eine Anfrage an das
Gateway, um den Teil-Gateway-Zustand (Gate bzw. Tor) zu erstellen,
der in der dritten Zeile in Box d gezeigt ist.
- 27. Das Gateway sendet nach dem Erstellen des Teil-Gateway-Zustandes eine Antwort.
- 28. Der Resourcen-Manager sendet eine Antwort einschließlich nA3
und aOG.
- 29. Der N/A sendet eine Antwort einschließlich nA3 und aOG an den Knoten
B1.
- Im Prozess V startet das Gateway einen Zeitgeber bzw. Timer
nach dem Erstellen eines Teil-Gateway-Zustandes.
- Wenn der Timer einen bestimmten Wert erreicht und der Teilzustand
noch nicht zerfallen ist, wird der Zustand gelöscht.
- 30. Das Gateway informiert den Gateway-Resourcen-Manager darüber, dass
das Teil-Gateway gelöscht
worden ist, und der Resourcen-Manager aktualisiert seine Liste existierender
Teil-Gateway-Zustände
entsprechend.
-
Wie
zuvor müssen
gecachte Daten, die Antworten zurück zu einem Außenknoten
zugeordnet sind, mit Vorsicht behandelt werden.
-
Weiterleitungstyp – Ziel-Port
bekannt
-
13 ist ein schematisches
Abfolgediagramm zum Zeigen der relevanten Signalisierung zwischen
den einbezogenen Elementen für
ein erläuterndes
Beispiel von außenbereichsveranlasster Kommunikation
durch ein Weiterleitungs-Gateway unter Verwendung von Innenknoten-Port-Information (Ziel)
für effizientes
Multiplexen.
-
Dies
gilt, wenn die Port-Nummer pA, an der der Knoten A mithört, dem
N/A-Umsetzer in der Namensabfrage (name query) bekannt wird.
-
In
der folgenden Abfolge zeigen wir drei Innenknoten A1, A2 und A3,
die alle dieselbe Außenbereichsadresse
aOG haben. Auch wird angenommen, dass der Gateway-Resourcen-Manager
nachverfolgt, welche Außenbereichsadresse
einem speziellen Innenknoten zugewiesen worden ist, basierend auf
irgendeinem Index, in den Abfolgemeldungen durch die Symbole "A1", "A2" und "A3" dargestellt.
- 1. Der Knoten B sendet eine Abfrage einschließlich nA1
und pA1 an den N/A.
- 2. Der N/A sendet eine Anfrage einschließlich nA1 an den AAA-Server.
- 3. Der AAA-Server schaut nach dem Symbol A1, das nA1 entspricht,
und sendet einen Antwort einschließlich nA1 und A1 an den N/A.
- 4. Der N/A sendet eine Anfrage einschließlich nA1, A1 und pA1 zu dem
Gateway-Resourcen-Manager.
- Im Prozess X führt
der Resourcen-Manager den folgenden Algorithmus aus: In diesem Fall
wird angenommen, dass es keine existierenden Teil-Gateway-Zustände gibt,
die auch als Gates bzw. Tore bezeichnet werden. Basierend auf dem Smbol
A1 findet der Resourcen-Manager aOG, die Außenbereichsadresse, die momentan
dem Knoten A1 zugewiesen ist.
- 5. Der Gateway-Resourcen-Manager sendet eine Anfrage zu dem
Gateway, um den in Box a beschriebenen Gateway-Zustand zu erstellen.
- 6. Das Gateway sendet nach dem Erstellen des Teil-Gateway-Zustandes eine Antwort.
- 7. Der Resourcen-Manager sendet eine Antwort einschließlich nA1,
aOG und pA1.
- 8. Der N/A sendet eine Antwort einschließlich nA1, aOG und pA1 zum
Knoten B.
- 9. Der Knoten B sendet eine Abfrage (query) einschließlich nA2
und pA2 zu dem N/A.
- 10. Der N/A sendet eine Anfrage (request) einschließlich nA2
zu dem AAA-Server.
- 11. Der AAA-Server schaut nach dem Symbol A2, das nA2 entspricht,
und sendet eine Antwort einschließlich nA2 und A2 an den N/A.
- 12. Der N/A sendet eine Anfrage einschließlich nA2, A2 und pA2 zu dem
Gateway-Resourcen-Manager.
- Im Prozess Y führt
der Gateway-Resourcen-Manager den folgenden Algorithmus aus: Basierend auf
dem Symbol A2 findet der Resourcen-Manager aOG, die Außenbereich-Adresse, die momentan
dem Knoten A2 zugewiesen ist. Wenn das Außen-n-Tupel (teilweise unspezifiziert) (src:(*,*);dest:(aOG,pA2);...)
kein Außen-n-Tupel eines
bereits existierenden Teil-Gateway-Zustandes (Gate bzw. Tor) ist,
dann ist es in Ordnung, mit diesem Außen-n-Tupel einen neuen Teil-Gateway-Zustand
zu erstellen. In diesem Fall bedeutet dies, dass wenn pA2 nicht
gleich pA1 ist, es in Ordnung ist, einen neuen Teil-Gateway-Zustand zu erstellen
mit dem Außen-n-Tupel
(teilweise unspezifiziert) (src:(*,*);dest:(aOG,pA2);...). Andererseits,
wenn pA2 gleich pA1 ist, ist nicht genügend Information verfügbar zum
Unterscheiden der bald kommenden Informationsströme. Der Resourcen-Manager sollte
daher vorzugsweise den N/A-Umsetzer anweisen, entweder überhaupt
nicht zu antworten oder mit einer expliziten Fehlermeldung zu antworten.
Dieser Fehlerfall ist nicht in der Abfolge gezeigt.
- 13. Der Gateway-Resourcen-Manager sendet eine Anfrage zu dem
Gateway zum Erstellen des in der zweiten Zeile in Box b beschriebenen
Gateway-Zustandes.
- 14. Das Gateway antwortet nach dem Erstellen des teilweisen
Gateway-Zustandes (Gate bzw. Tor).
- 15. Der Resourcen-Manager sendet eine Antwort einschließlich nA2,
aOG und pA2.
- 16. Der N/A sendet eine Antwort einschließlich nA2, aOG und pA2 zum
Knoten B.
- 17. Der Knoten B sendet das erste Paket im Kommunikationsstrom
in Richtung des Knotens A1.
- 18. In dem Gateway zerfällt
der Teil-Gateway-Zustand in einen vollständigen Gateway-Zustand, wodurch
das Außenn-Tupel
komplettiert wird, so dass es lautet: (src:(aOB, pB); dest:(aOG, pA1);...),
wie in Box c zu sehen.
- 19. Das Paket wird weitergeleitet von dem Gateway in Richtung
des Knotens A1 (Weiterleitung).
- 20. Der Knoten A1 sendet das nächste Paket in dem Kommunikationsstrom
in Richtung des Knotens B.
- 21. Das Paket wird von dem Gateway in Richtung des Knotens B
weitergeleitet (Weiterleitung).
- 22. Der Knoten B sendet eine Abfrage einschließlich nA3
und pA3 zu dem N/A.
- 23. Der N/A sendet eine Anfrage einschließlich nA3 an den AAA-Server.
- 24. Der AAA-Server schaut nach dem Symbol A3, das nA3 entspricht,
und sendet eine Antwort einschließlich nA3 und A3 an den N/A.
- 25. Der N/A sendet eine Anfrage einschließlich nA3, A3 und pA3 an den
Resourcen-Manager.
- Im Prozess Z führt
der Resourcen-Manager den folgenden Algorithmus aus: Basierend auf
dem Symbol A3 findet der Resourcen-Manager aOG, die Außenbereichsadresse,
die momentan dem Knoten A3 zugewiesen ist. Wenn das Außen-n-Tupel (src:(*,*);dest:(aOG,pA3);...)
(teilweise unspezifiziert) kein Außen-n-Tupel eines bereits existierenden
Teil-Gateway-Zustandes (Gate bzw. Tor) ist, dann ist es in Ordnung,
einen neuen Teil-Gateway-Zustand
mit diesem Außen-n-Tupel zu
erstellen. Wenn dies nicht möglich
ist, haben wir denselben Fehlerfall wie im Prozess Y oben. Es ist
in Ordnung, dass der vollständige
Gateway-Zustand in der ersten Zeile in Box c bereits vorliegt. Dies
liegt daran, dass wir sicher annehmen können, dass der Knoten B eine
von pB unterschiedliche Port-Nummer verwenden wird, wenn er Verkehr
in Richtung des Knotens A3 sendet.
- 26. Der Gateway-Resourcen-Manager sendet eine Anfrage zu dem
Gateway, um den Gateway-Zustand zu erstellen, der in der dritten
Zeile von Box d beschrieben ist.
- 27. Das Gateway antwortet nach dem Erstellen des Teil-Gateway-Zustandes.
- 28. Der Gateway-Resourcen-Manager sendet eine Antwort einschließlich nA3,
aOG und pG.
- 29. Der N/A sendet eine Antwort nA3, aOG und pG zum Knoten B.
- Im Prozess V startet das Gateway einen Timer bzw. Zeitgeber
nach dem Erstellen eines Teil-Gateway-Zustandes. Wenn der Zeitgeber einen
gewissen Wert erreicht und das Gate noch nicht zerfallen ist, wird
das Gate gelöscht.
- 30. Das Gateway informiert den Resourcen-Manager darüber, dass
das Gate gelöscht
worden ist, und der Resourcen-Manager
aktualisiert seine Liste existierender Gates bzw. Tore entsprechend.
-
Implementierungsbeispiele
-
14 ist ein schematisches
Blockdiagramm zum Erläutern
eines Implementierungsbeispiels eines Systems zum Bereitstellen
von Verbindbarkeit zwischen Knoten unterschiedlicher Adressbereiche
gemäß einer
speziellen Ausführungsform
der Erfindung. Die Implementierung der 14 entspricht im allgemeinen der Gesamtsystemübersicht der 9, aber mit dem Gateway 30 und
dem Gateway-Resourcen-Manager 40 in
einem modifizierten Firewall-/Netzadress-Umsetzerknoten (FW/NAT) und dem N/A-Umsetzer
in einem modifizierten DNS-Server implementiert. Dies bedeutet,
dass der Gateway-Resourcen-Manager 40 gemeinsam mit dem Gateway 30 angeordnet
ist und vielleicht sogar in das Gateway integriert ist.
-
15 ist ein schematisches
Blockdiagramm zum Zeigen eines Implementierungsbeispiels eines Systems
zum Bereitstellen von Verbindbarkeit zwischen Knoten unterschiedlicher
Adressbereiche gemäß einer
anderen speziellen Ausführungsform der
Erfindung. In diesem Beispiel sind der Gateway-Resourcen-Manager 40 und
der N/A-Umsetzer 50 in einem modifizierten DNS-Server implementiert, wohingegen
das Gateway 30 in einem modifizierten FW/NAT-Knoten implementiert
ist.
-
In
noch einer anderen Implementierung ist der Gateway-Resourcen-Manager 40 in
einem getrennten Netzknoten implementiert.
-
Die
oben beschriebenen Ausführungsformen sind
bloß als
Beispiele wiedergegeben, und es sollte verstanden werden, dass die
vorliegende Erfindung nicht darauf beschränkt ist. Weitere Modifikationen, Änderungen
und Verbesserungen, die die offenbarten und hier beanspruchten grundlegenden
Prinzipien beibehalten, liegen innerhalb des Schutzbereichs der
Erfindung.
-
REFERENZANGABEN
-
- [1] IP network Address Translator (NAT) Terminology and
Considerations, P. Srisuresh, M. Holdrege, RFC 2663 der Internet
Engineering Task Force, August 1999.
[2] Realm Specific IP:
Framework, M. Borella, J. Lo, D. Grabelsky, G. Montenegro, RFC 3102
der Internet Engineering Task Force, Oktober 2001.
[3] Realm
Specific IP: Protocol Specifcation, M. Borella, D. Grabelsky, J.
Lo, K. Taniguchi, RFC 3103 der Internet Engineering Task Force,
Oktober 2001.
[4] http://www.permeo.com/pdf/solutionpaperl.pdf, 2002.
[5]
Address Allocation for Private Internets, Y. Rekhter, B. Moskowitz,
D. Karrenberg, G. J. de Groot, E. Lear, RFC 1918 der Internet Engineering
Task Force, Februar 1996.
[6] SIP : Session Initiation Protocol,
M. Handley, H. Schulzrinne, E. Schooler, J. Rosenberg, RFC 2543 der
Internet Engineering Task Force, März 1999 2001.
-
ZUSAMMENFASSUNG
-
MECHANISMEN ZUM BEREITSTELLEN
VON VERBINDBARKEIT ZWISCHEN
-
NETZEN UNTERSCHIEDLICHER
ADRESSBEREICHE
-
Die
Erfindung betrifft allgemein das Bereitstellen von Verbindbarkeit
zwischen zwei unterschiedlichen Adressbereichen, allgemein als Innenbereich
und Außenbereich
bezeichnet, durch Einrichten von Verbindungen durch ein Zwischen-Gateway. Das
Gateway hat normalerweise eine Anzahl von Außenbereichs-Gateway-Adressen, um eine
Darstellung von Innenbereichsknoten im Außenbereich zu ermöglichen.
In einem ersten Aspect wird Unterstützung für flexible außenbereichsveranlasste
Kommunikation ermöglicht
durch dynamisches Einrichten neuer Gateway-Verbindungszustände, eingeleitet
für jede
neue Verbindung, durch eine jeweilige von einem entsprechenden Außenknoten
veranlasste Benutzerresourcen-Identifizierabfrage. In einem zweiten
Aspekt der Erfindung ermöglicht
die intelligente Verwendung zusätzlicher
Multipex-Information in dem Prozess des Einrichtens neuer dynamischer Gateway-Verbindungszustände das
signifikante Erhöhen
der Anzahl an Verbindungen, die simultan von dem Gateway unterstützt werden
können
unter Verwendung einer begrenzten Zahl von Außenbereichsadressen.
-
(2)