DE10296660B4 - Über Netzwerkadressübersetzungs(NAT) -Einrichtungen hinweg betreibbare Kommunikationsprotokolle - Google Patents
Über Netzwerkadressübersetzungs(NAT) -Einrichtungen hinweg betreibbare Kommunikationsprotokolle Download PDFInfo
- Publication number
- DE10296660B4 DE10296660B4 DE10296660T DE10296660T DE10296660B4 DE 10296660 B4 DE10296660 B4 DE 10296660B4 DE 10296660 T DE10296660 T DE 10296660T DE 10296660 T DE10296660 T DE 10296660T DE 10296660 B4 DE10296660 B4 DE 10296660B4
- Authority
- DE
- Germany
- Prior art keywords
- endpoint
- network address
- session
- routable
- registration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2564—NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2578—NAT traversal without involvement of the NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
- H04L61/2528—Translation at a proxy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
- H04L61/2535—Multiple local networks, e.g. resolving potential IP address conflicts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Ein
Kommunikationsprotokoll zum Initiieren einer Kommunikations-Session über eine
Netzwerkadreßübersetzungseinrichtung
(502), welche internen Netzwerkverkehr mit einer internen Netzwerkadresse
und einem internen Port in externen Verkehr mit einer scheinbaren
externen Ursprungsadresse und einem scheinbaren Port übersetzt,
wobei das Protokoll umfaßt:
Vorbereiten (200) eines Session-Setup für eine Session von einer ersten Maschine (500) mit einer nicht routing-fähigen Netzwerkadresse zu einer zweiten Maschine (506), wobei das Session-Setup eine nicht routing-fähige Netzwerkadresse anzeigt, zu welcher eine Session-Bestätigung zu senden ist; und
Senden (202, 204) des Session-Setup an die zweite Maschine (504, 506) über die Netzwerkadreßübersetzungseinrichtung (502), wobei die Netzwerkadreßübersetzungseinrichtung das Session-Setup nicht übersetzt;
wobei die zweite Maschine (504, 506) so konfiguriert ist, daß sie das Session-Setup untersucht (208, 210) und feststellt, ob das Session-Setup die nicht routing-fähige Netzwerkadresse enthält.
Vorbereiten (200) eines Session-Setup für eine Session von einer ersten Maschine (500) mit einer nicht routing-fähigen Netzwerkadresse zu einer zweiten Maschine (506), wobei das Session-Setup eine nicht routing-fähige Netzwerkadresse anzeigt, zu welcher eine Session-Bestätigung zu senden ist; und
Senden (202, 204) des Session-Setup an die zweite Maschine (504, 506) über die Netzwerkadreßübersetzungseinrichtung (502), wobei die Netzwerkadreßübersetzungseinrichtung das Session-Setup nicht übersetzt;
wobei die zweite Maschine (504, 506) so konfiguriert ist, daß sie das Session-Setup untersucht (208, 210) und feststellt, ob das Session-Setup die nicht routing-fähige Netzwerkadresse enthält.
Description
- Die Erfindung bezieht sich allgemein auf eine netzwerkbasierte Telefonie und insbesondere auf die Verwendung von Kommunikationsprotokollen durch einen übersetzenden Zugriffspunkt, wie beispielsweise ein NAT-Gerät, hindurch, ohne daß der übersetzende Zugriffspunkt derart geändert werden muß, daß er das Kommunikationsprotokoll unterstützt.
- In den vergangenen Jahren ergaben sich signifikante Fortschritte bei der Netzwerktechnik sowie verringerte Preise, was zu einem signifikanten Aufbau einer Netzwerkinfrastruktur führte. Wie es in
1 veranschaulicht ist, sind viele Haushalte100 und Unternehmen106 über private und öffentliche Netzwerke104 miteinander verbunden, wobei das meistbekannte Netzwerk das Internet ist. Die meisten Netzwerke benutzen gegenwärtig die Kommunikationsprotokolle Transmission Control Protocol/Internet Protocol (TCP/IP), bei welchen Netzwerkorten global einmalige numerische 32-Bit-Adressen zugewiesen werden, die üblicherweise in der Dotted-Quad-Notation (4 Zahlen, die jeweils einen Wert von Null bis 255 haben) dargestellt werden. Der TCP/IP-Netzwerkverkehr wird auf der Grundlage einer Ziel-IP-Adresse für den Verkehr gelenkt (gerouted). - Unglücklicherweise führte das explosionsartige Wachsen des Internets zu einem Mangel verfügbarer Netzwerkadressen. Um dem entgegenzuwirken, wurden Versuche unternommen, eine einzige Netzwerkadresse unter mehreren Computern aufzuteilen. Ein gut bekanntes Beispiel ist die Netzwerkadreßübersetzung (NAT; Network Address Translation), welche bei der Kommunikation mit einem externen Netzwerk
104 ein internes Netzwerk hinter einem Zugriffspunkt102 ,108 versteckt, indem der Netzwerkverkehr über diesen Zugriffspunkt gerouted wird. Interne Netzwerke verwenden im allgemeinen private Netzwerkadressen, die ohne Übersetzung auf dem öffentlichen Netzwerk nicht routing-fähig sind. Während des Betriebs übersetzen die Zugriffspunkte102 ,108 die Quell-IP-Adresse und -Ports des hinausgehenden Netzwerkverkehrs, um den Verkehr auf eine externe oder öffentliche Adresse des Zugriffspunkts und einen speziellen Port abzubilden. Umgekehrt übersetzt der Zugriffspunkt die Ziel-IP-Adresse und den speziellen Port des eingehenden Netzwerkverkehrs zurück in eine ursprüngliche interne Adresse und einen ursprünglichen internen Port. Jedoch ignorieren Zugriffspunkte grundsätzlich eingehenden Netzwerkverkehr, der nicht in Beantwortung eines hinausgehenden Netzwerkverkehrs, der übersetzt worden ist, empfangen wird, sowie eingehenden Verkehr, der auf nicht abgebildete Ports gerichtet ist. - Die Netzwerkverkehrsübersetzung, die von einem übersetzenden Zugriffspunkt, wie beispielsweise einem NAT-Gateway/Router
102 , einem Firewall108 oder dergleichen, ausgeführt wird, ist für viele Anwendungen transparent. Jedoch durchbrechen derartige Übersetzungen unter bestimmten Umständen einige Protokolle, wie beispielsweise audiovisuelle Konferenzprotokolle, Sicherheitsprotokolle, Spielprotokolle oder andere Protokolle, die eine Netzwerkadresse einer Maschine in den Netzwerkverkehr einbetten. Beispielsweise sind der International Telecommunication Union(ITU)-Standard H.323, das Internet Engineering Task Force (IETF) Media Gateway Control Protocol (MGCP/Megaco), das IETF Session Initiation Protocol (SIP), das IP Security (IPSec), End-to-End-Sicherheitsmodelle, die keine Änderungen des Paket-Headers gestatten, und das File Transfer Protocol (FTP) Beispiele von Protokollen, die durchbrochen werden, wenn sie hinter übersetzenden Zugriffspunkten, wie beispielsweise NAT-Einrichtungen, verwendet werden. - Aus Thernelius, F.: SIP, NAT, and Firewalls, Master's Thesis, ist ein Verfahren bekannt, welches sich den Problemen von SIPs, NATs und Firewalls wirdmet. Insbesondere ist ein Kommunikationsprotokoll zum Initiieren einer Kommunikations-Session über ein NAT beschrieben, wobei interner Netzwerkverkehr mit interner Adresse und Port in externen Verkehr mit externer Adresse und Port übersetzt wird.
- Die WO 00/33537 beschreibt ein System und Verfahren, um eine Mehrzahl von Endpunkten in einem paketgeschalteten Netzwerk bereitzustellen.
- In
1 beispielsweise untersucht ein H.323-Client116 seine Netzwerkkonfiguration und registriert sie bei einem H.323-Gateway118 als Protokolldaten. In ähnlicher Weise registriert sich der H.323-Client110 selbst bei dem Gateway. Da jedoch der H.323-Client110 Netzwerkdienste von einem Internet-Diensteanbieter112 empfängt, der sich in einem privaten Netzwerk hinter einem NAT-Gateway/Router114 befindet, kann die in den Protokolldaten gekennzeichnete Konfiguration für den Client110 nicht von dem H.323-Gateway118 oder dem Client116 verwendet werden, um auf den Client110 zuzugreifen. - Eine vorgeschlagene Lösung für dieses Problem besteht darin, Zugriffspunkte derart zu modifizieren, daß sie von dem Protokoll Kenntnis erhalten. Unglücklicherweise ist dies aufgrund der großen Anzahl installierter Zugriffspunkte eine teure Lösung. Damit sie richtig arbeitet, müssen sämtliche übersetzenden Zugriffspunkte überarbeitet werden, so daß sie das Protokoll unterstützen; wenn irgendein stromauf gelegener nicht-unterstützender übersetzender Zugriffspunkt erreicht wird, schlägt das Protokoll fehl.
- Aufgabe der Erfindung ist es, die genannten Probleme zu lösen und eine Kommunikation zwischen Endpunkten, von denen wenigstens einer hinter einem Zugriffspunkt (NAT) liegt, zu verbessern.
- Die Aufgabe wird erfindungsgemäß gelöst durch ein Kommunikationsprotokoll gemäß Anspruch 1, ein Verfahren gemäß Anspruch 8 oder 14 sowie eine Einrichtung gemäß Anspruch 11, 18 oder 21.
- Die Merkmale und Vorteile der vorliegenden Erfindung werden aus der nachfolgenden detaillierten Beschreibung der vorliegenden Erfindung ersichtlich, in welcher:
-
1 eine bekannte Netzwerkkonfiguration von über ein Netzwerk miteinander verbundenen Rechnereinrichtungen veranschaulicht. -
2 ist ein Ablaufdiagramm gemäß einem Ausführungsbeispiel, das einen allgemeinen Überblick gibt, wie ein Endpunkt innerhalb einer NAT-Einrichtung eine Media-Session mit einem anderen Endpunkt außerhalb der NAT-Einrichtung einrichtet. -
3 ist ein Ablaufdiagramm gemäß einem Ausführungsbeispiel, das einen allgemeinen Überblick veranschaulicht, wie ein Endpunkt innerhalb einer NAT-Einrichtung eine Session mit einem anderen Endpunkt außerhalb der NAT-Einrichtung initiiert. -
4 ist ein Ablaufdiagramm gemäß einem Ausführungsbeispiel, das einen allgemeinen Überblick für zwei Endpunkte innerhalb von NAT-Einrichtungen veranschaulicht, wobei ein Endpunkt den anderen anruft. -
5 veranschaulicht, in Übereinstimmung mit einem Ausführungsbeispiel, eine Top-Down-Zeitleiste von Protokolltransaktionen, bei welchen ein erster Endpunkt hinter einer NAT-Einrichtung einen Ruf von einem zweiten Endpunkt empfängt. -
6 veranschaulicht, in Übereinstimmung mit einem Ausführungsbeispiel, eine Top-Down-Zeitleiste von Protokolltransaktionen, bei welchen der erste Endpunkt eine Kommunikations-Session über die NAT-Einrichtung zu dem zweiten Endpunkt initiiert. -
7 veranschaulicht, in Übereinstimmung mit einem Ausführungsbeispiel, eine Top-Down-Zeitleiste von Protokolltransaktionen, bei welchen der erste Endpunkt eine Kommuni kations-Session zu einem zweiten Endpunkt initiiert, wobei beide Endpunkte sich hinter NAT-Einrichtungen befinden. -
8 veranschaulicht eine geeignete Rechnerumgebung, in welcher bestimmte Aspekte der Erfindung implementiert werden können. - Bei einer Ausführungsform können die Einschränkungen der NAT und anderer übersetzender Zugriffspunkte durch Modifikation von Kommunikationsprotokollen derart überwunden werden, daß die Protokolle in der Lage sind, die Übersetzung zu erkennen und zu kompensieren. So wie er hier verwendet wird, bezieht sich der Begriff "NAT" auf irgendeinen Zugriffspunkt, welcher Ursprungs- und/oder Port-Werte des durchgeleiteten Netzwerkverkehrs ändert. Grundsätzlich kann ein Kommunikationsprotokoll, das Benachrichtigungsinformationen innerhalb von Protokolldaten weiterleitet, wie beispielsweise ITU H.323 oder ein anderes Protokoll, so modifiziert werden, daß ein Endpunkt hinter einer NAT Daten über die NAT-Einrichtung unter Verwendung eines gewünschten Kommunikationsports zum Empfangen von Antwortdaten senden muß. Dies bereitet eine NAT-Einrichtung des Endpunkts darauf vor, Antwortdaten aus einer bestimmten Netzwerkadresse auf dem gewünschten Kommunikationsport zu empfangen.
- Insbesondere wird das Verhalten des Kommunikationsendpunkts derart modifiziert, daß er denselben Port zum Lauschen auf und Hervorbringen von Kommunikations-Sessions (z. B. sowohl für das Signalisieren als auch für das Streaming von Inhalten) verwendet (in der nachfolgenden Beschreibung und in den Ansprüchen bezieht sich der Begriff "Inhalte" auf Nur-Audio-Daten, Nur-Video-Daten, kombinierte Audio- und Video-Daten oder andere Daten, die zwischen Endpunkten übermittelt werden können).
- Empfänger von Protokolldaten, beispielsweise der Registrierungsserver oder andere Kommunikationsendpunkte, werden so konfiguriert, daß sie eingebettete Endpunkt-Netzwerkort-Werte, z. B. Netzwerkadresse, Kommunikationsport (im folgen den einfach Port), etc., untersuchen, um zu sichern, daß sie einer routing-fähigen Netzwerkadresse entsprechen. Wenn eine eingebettete Adresse nicht routing-fähig ist, wurde eine NAT erfaßt, und in den Protokolldaten enthaltene Ursprungsadreß- und Port-Werte der Netzverkehrspakete werden anstelle der eingebetteten Werte verwendet.
- Diese Änderungen eines Kommunikationsprotokolls gestatten die Unterstützung von NAT-Einrichtungen und anderen derartigen übersetzenden Zugriffspunkten unabhängig von speziellen Servern, Proxys oder Überarbeitungen der NAT-Hardware. Obgleich es sein kann, daß die Figuren aus Gründen der Klarheit der Darstellung nicht sämtliche Operationen von sämtlichen Endpunkten als symmetrisch veranschaulichen, können diese Änderungen symmetrisch gemacht werden, so daß es keine Unterscheidung zwischen dem Endpunktverhalten innerhalb oder außerhalb einer NAT gibt.
-
2 ist ein Ablaufdiagramm gemäß einem Ausführungsbeispiel, das eine allgemeine Übersicht veranschaulicht, wie ein Endpunkt innerhalb einer NAT-Einrichtung eine Media-Session mit einem anderen Endpunkt außerhalb der NAT-Einrichtung gemäß einem Protokoll, wie beispielsweise RTP und RTCP, einrichtet. Man beachte, daß RTP/RTCP als Beispiele verwendet werden, da sie gut bekannte Kommunikationsprotokolle sind, die Ruf-Setup und Signalisieroperationen benutzen. Für einen Fachmann ist es jedoch klar, daß die vorliegende Erfindung grundsätzlich auch auf andere Kommunikationsprotokolle anwendbar ist. - Bei dem veranschaulichten Ausführungsbeispiel sendet
200 ein interner Host hinter einer NAT-Einrichtung RTP- und RTCP-Ströme aus dem Port, auf welchem er einen zugehörigen Strom zu empfangen erwartet. Wenn beispielsweise ein Endpunkt erwartet, daß Audio auf Port 2244 empfangen wird, dann initiiert er eine Audioübertragung auf Port 2244. Sofern eine NAT-Einrichtung vorhanden ist, erzeugt204 die NAT, wenn sie einen Datenstrom zur Übersetzung empfängt202 , geeignete Übersetzungstabelleneinträge und ist somit auf den Empfang zugehöriger Antwortdaten vorbereitet. - Externe Hosts, wie beispielsweise der Registrierungsserver oder andere Endpunkte, sind so konfiguriert, daß dann, wenn sie den Datenstrom empfangen
206 , sie in Protokolldaten eingebettete IP-Adressen, beispielsweise eine eingebettete Referenz auf Port 2244, überprüfen, da derartige eingebettete Referenzen von NAT-Einrichtungen nicht gesehen werden. Wenn210 eine eingebettete Adresse routing-fähig ist, dann sendet212 der externe Host Antwortdaten an die eingebettete Adresse. - Wenn jedoch
210 eine eingebettete Adresse nicht routing-fähig ist, sie beispielsweise nicht über das Internet gerouted werden kann, dann identifiziert214 der externe Host die den Netzwerkverkehrspaketen, die die Protokolldaten codieren, zugeordnete Adresse und den Port, da diese dem Ergebnis der NAT entsprechen. Der externe Host sendet216 dann Antwortdaten an die identifizierte Ursprungsadresse und den Port, beispielsweise verbindet der externe Host mit den empfangenen Ports zum Senden des Inhalts zurück an die interne Einrichtung. Dies ist erforderlich, da die NAT-Einrichtung die in den eingebetteten Daten identifizierten Adreß- und/oder Port-Werte ungültig gemacht hat. Um Medien zwischen einem internen Host und einem externen Host strömen zu lassen, sendet der interne Host anfänglich einen Medienstrom, so daß seine NAT-Einrichtung Antwortdaten akzeptieren wird. -
3 ist ein Ablaufdiagramm gemäß einem Ausführungsbeispiel, das eine allgemeine Übersicht veranschaulicht, wie ein Endpunkt innerhalb einer NAT-Einrichtung eine Session mit einem anderen Endpunkt außerhalb der NAT-Einrichtung unter Verwendung von SIP, H.323 oder einem anderen Protokoll initiiert. Bei diesem Ausführungsbeispiel sendet300 der interne Host eine Registrierungsanforderung auf demselben Port, auf welchem er den Empfang von Rufen erwartet, und stellt einen Identitäts-Alias zur Verfügung. Der interne Host lauscht302 dann an einer internen Adresse und einem internen Port. - Der Registrierungsserver, beispielsweise ein Gatekeeper, SIP-Registrator, etc., überprüft
304 die in der Registrierung eingebettete interne Adresse, um zu bestimmen, ob306 sie eine routing-fähige Adresse ist. Sofern sie routing-fähig ist, registriert308 dann der Registrierungsserver die Adresse, den Port und den Identitäts-Alias wie üblich. Sofern sie nicht routing-fähig ist, identifiziert310 dann der Registrierungsserver die Ursprungsadresse und den Port, die den die Protokolldaten codierenden Netzwerkverkehrspaketen zugeordnet sind, da dies dem Ergebnis der NAT entspricht, und registriert312 den internen Host bei der identifizierten Ursprungsadresse mit dem Identitäts-Alias. - Ein externer Endpunkt, der den internen Endpunkt zu rufen versucht, löst den Identitäts-Alias des internen Endpunkts als identifizierte
310 Ursprungsadresse und Port der NAT-Einrichtung auf. Der interne Host lauscht302 an den Ports, die auf die von dem Registrierungsserver registrierten312 externen Ports abgebildet sind. Wenn die NAT-Einrichtung einen eingehenden Ruf empfängt316 , welcher über den Registrierungsserver gerouted ist, bildet die NAT-Einrichtung den Ruf aus dem externen Endpunkt auf den internen Endpunkt ab318 . - Das Inhalte-Streaming kann so eingerichtet werden, wie es oben bei
2 erörtert worden ist. -
4 ist ein Ablaufdiagramm gemäß einem Ausführungsbeispiel, das eine allgemeine Übersicht für zwei Endpunkte innerhalb400 von NAT-Einrichtungen veranschaulicht, wobei ein Endpunkt den anderen unter Verwendung von H.323, SIP oder anderen Protokollen ruft. - Bei diesem Ausführungsbeispiel lauschen
402 beide Endpunkte an internen Adressen, die während einer Registrierung einem Registrierungsserver zur Verfügung gestellt worden sind. Ein erster der Endpunkte versucht, den Identitäts- Alias des anderen Endpunkts aufzulösen404 . Wie oben erörtert wurde, stellt der Registrierungsserver eine routing-fähige Adresse zurück dem Endpunkt zur Verfügung406 , der auf die interne Adresse, an welcher der andere Endpunkt lauscht402 , abbildet. Der erste Endpunkt sendet408 ein Ruf-Setup an den anderen Endpunkt über den Registrierungsserver, und der gerufene Endpunkt antwortet410 auf die Ursprungsadresse und den Ursprungsport des Ruf-Setup. Da sich beide Endpunkte hinter einer NAT befinden, fängt der Registrierungsserver die Kommunikation zum Routen von sowohl Steuer- als auch Medieninformationen ab und agiert als Proxy. - Dann kann ein Inhalte-Streaming eingerichtet
412 werden, wobei es zwei Optionen gibt dies auszuführen. Eine erste Option besteht darin, daß die vorhandene Kommunikationsadresse und der Port aus dem Ruf-Setup verwendet werden können, um Inhalte-Streaming zu übertragen. Eine zweite Option besteht darin, sich über eine Verwendung einer abweichenden Adresse und es einen abweichenden Ports zu benachrichtigen. Da jedoch beide Endpunkte sich hinter NAT-Einrichtungen befinden, dient dann, wenn414 der Port nicht erneut verwenden werden soll, der Registrierungsserver als Proxy oder Vermittler für Inhalte-Ströme416 . Dies ist erforderlich, da nur der Registrierungsserver für beide NAT-Einrichtungen als gültige Quelle für eingehende Daten bekannt ist. Bei einem Ausführungsbeispiel ändert418 der Registrierungsserver-Proxy eingebettete Adressen innerhalb der Protokolldaten, um auf den Registrierungsserver zu verweisen, und tunnelt420 dann den Inhalte-Verkehr zwischen den Endpunkten. Bei einem Ausführungsbeispiel dient der Registrierungsserver selbst dann als Proxy, wenn Signal-Ports erneut verwendet werden416 . -
5 veranschaulicht, gemäß einem Ausführungsbeispiel, eine Top-Down-Zeitleiste von Protokolltransaktionen, bei welchen ein erster Endpunkt EP1500 hinter einer NAT-Einrichtung einen Ruf aus einem zweiten Endpunkt EP2506 empfängt. Man beachte, daß einige Operationen in den veran schaulichten Zeitleisten gleichzeitig oder in einer abweichenden Reihenfolge auftreten können. - Ein Registrierungsserver
504 dient als Vermittler oder Vermittlung, um die Kommunikation zwischen Endpunkten zu erleichtern. Der Registrierungsserver verfolgt die Endpunkt-Identitäten oder -Aliases und Netzwerkorte, beispielsweise Adressen, etc., für die Endpunkte. Da die Kommunikation durch eine NAT-Einrichtung hindurch geleitet wird, wie es unten erörtert werden wird, erfordert das von den Endpunkten benutzte Kommunikationsprotokoll, daß der erste Endpunkt seine NAT-Einrichtung für den Empfang von Daten aus dem zweiten Endpunkt auf einem gewünschten Port vorbereitet. - Wie oben erörtert, gilt das veranschaulichte Kommunikationsprotokoll für ein beliebiges Protokoll, das Protokolldaten benutzt, die eine Netzwerkadresse eines Endpunkts, beispielsweise eine Netzwerkadresse und ggf. einen gewünschten Kommunikationsport, enthält. Angenommen, ein H.323-basiertes Telefonieprotokoll wird verwendet und jeder der EP1
500 , NAT502 und EP2506 hat seine zugehörige IP-Netzwerkadresse und seinen Kommunikationsports508 ,510 ,512 , und angenommen, die IP-Adresse bleibt für die Dauer des Beispiels statisch, aber es werden verschiedene Port-Werte W, X, Y verwendet. Für Fachleute ist es jedoch klar, daß statische IP-Adressen oder selbst das IP-Protokoll nicht erforderlich sind. Beispielsweise können Protokolle, wie AppleTalk, NetBios Enhanced User Interface (Netbeui), etc., verwendet werden. - EP1
500 sendet518 eine Registrierungsnachricht an den Ruf-Registrierungsserver504 , was dem Registrierungsserver mittels eingebetteter Protokolldaten mitteilt, daß EP1 an Adresse A1 Port P1 kontaktiert werden soll und den Identifizierer (z. B. Alias) ID1 aufweist. (Es ist zu beachten, daß sämtliche Port-Bezeichnungen hier Beispiele sind und keine spezielle Bedeutung haben und die Figuren die Bezeichnung A1/P1 verwenden, um Adresse A1 Port P1 darzustellen). - Die Registrierungsnachricht durchläuft die NAT
502 , und die NAT übersetzt520 den die Registrierungsnachricht enthaltenden Netzwerkverkehr so, daß er als aus Adresse A2 Port P2 herrührend erscheint. Der Registrierungsserver stellt fest (nicht dargestellt), daß die eingebettete Adresse A1 Port P1 in den Protokolldaten nicht routing-fähig ist, beispielsweise eine private Adresse innerhalb einer NAT ist, und folglich, daß eine Übersetzung auftrat. Demzufolge registriert522 der Registrierungsserver, daß EP1 sich an der Adresse A2 Port P2 mit dem Identifizierer ID1 befindet, auf der Grundlage der Paket-Kopfteile (Header) des die Registrierungsnachricht enthaltenden Netzwerkverkehrs. - EP2 versucht dann, EP1 zu kontaktieren. Um dies auszuführen, versucht EP2, die gegenwärtige Netzwerkadresse von EP1 aufzulösen
524 , indem er eine Auflösungsanforderung524 für den ID1 des EP1 an den Registrierungsserver504 sendet. Der Registrierungsserver schlägt nach dem Eintrag für ID1 nach und sendet eine Antwort526 , die kennzeichnet, daß EP1 die Netzwerkadresse A2 Port P2 hat. EP2 lauscht528 dann an der Adresse A3 Port P10 (ein beliebiger von EP2 ausgewählter Port) nach zu empfangenden Inhalten und initiiert eine Ruf-Anforderung530 an EP1 an der Adresse A2 Port P2 über den Registrierungsserver. Die Ruf-Anforderung von EP2 wird über den Registrierungsserver504 gerouted, welcher wiederum die Ruf-Anforderung an die NAT-Einrichtung502 weiterleitet. - Angenommen, die NAT-Einrichtung weist eingehenden Netzwerkverkehr, der nicht von einer bekannten Netzwerkadresse und einem Port, beispielsweise einer Adresse, an welche die NAT-Einrichtung zuvor Netzwerkverkehr gesendet hatte, herrührt, zurück, so ist ein Routing der Ruf-Anforderung über den Registrierungsserver erforderlich, um zu bewirken, daß die NAT-Einrichtung die von EP2 herrührende Ruf-Anforderung akzeptiert, da dann die geroutete Anforderung als Antwort auf die Registrierung
518 von EP1 erscheint. Die NAT-Einrichtung übersetzt534 den die Ruf-Anforderung, die an die Adresse A2 Port P2 gerichtet ist, enthaltenen Netzwerkverkehr zur Lieferung an EP1 an die Adresse A1 Port P1. - Sobald EP1 die Ruf-Anforderung empfängt, lauscht
536 er dann an Adresse A1 Port P20 (einen beliebigen von EP1 ausgewählten Port) und bestätigt538 die Ruf-Anforderung an EP2 auf der Adresse A3 Port P20, den beliebigen von EP2 ausgewählten Port). Innerhalb der an EP2 gesendeten Protokolldaten zeigt EP1 an, daß er auf Adresse A1 Port P20 lauscht. Gewöhnlich wäre dann, wenn sich EP1 nicht hinter einer NAT-Einrichtung befinden würde, die Bildung einer Kommunikations-Session abgeschlossen, da EP2 einfach mit dem Senden von Inhalten an die Adresse A1 Port P20 beginnen könnte. Da jedoch EP1 sich hinter einer NAT-Einrichtung befindet, wird der Netzwerkverkehr von EP1, der die Bestätigung enthält, in Adresse A2 Port P30 übersetzt540 . - Da die Ruf-Anforderung
530 ursprünglich an EP1 von dem Registrierungsserver504 weitergeleitet532 wurde, sendet EP1 seine Bestätigung538 an den Registrierungsserver, welcher wiederum diese an EP2 bei A2/P10, der Adresse, an welcher EP2 zu lauschen528 wählte, weiterleitet542 . An diesem Punkt wird der Registrierungsserver nicht mehr als Vermittler benötigt, da EP1 nunmehr weiß, daß er Inhalte an EP2 an der Adresse A3 Port P10 senden soll. Jedoch nimmt bei einem Ausführungsbeispiel EP2 nicht an, daß sich ein weiterer Endpunkt hinter einer NAT-Einrichtung befindet, und testet somit die Bestätigung, um zu identifizieren544 , daß eine Übersetzung stattgefunden hat, beispielsweise, daß die in den Protokolldaten eingebettete Adresse A1 Port P20 nicht routing-fähig ist. - Sobald die Übersetzung identifiziert ist
544 , wartet546 EP2 auf Inhalte, die aus EP1 an EP2 gesendet548 werden sollen, statt sofort Inhalte zu senden, wie es bei einer herkömmlichen Kommunikations-Session erfolgen würde. Man beachte, daß beim Senden548 von Inhalten an EP2 an der Adresse A3 Port P10 einige NAT-Einrichtungen Port P30 erneut verwenden könnten, der vom Senden540 der Bestätigung an EP2 gesetzt wurde, da EP1 fortfährt, an dieselbe Ziel-Adresse und -Port zu senden. Wenn die NAT-Einrichtung den zu sendende Inhalte übersetzt550 , bereitet dies die NAT-Einrichtung des EP1 darauf vor, erwiderte Inhalte aus EP2 zu empfangen. EP2, der von der Übersetzung Kenntnis erlangt, sendet552 seine Inhalte an die NAT-Einrichtung, welche wiederum den die Inhalte enthaltenden Netzwerkverkehr übersetzt554 und ihn an EP1 liefert. - So wurde eine Kommunikations-Session von EP2 an EP1 eingerichtet.
-
6 veranschaulicht, gemäß einem Ausführungsbeispiel, eine Top-Down-Zeitleiste von Protokolltransaktionen, bei welchen der erste Endpunkt EP1500 eine Kommunikations-Session über die NAT-Einrichtung502 an den zweiten Endpunkt EP2506 initiiert. Der erste Endpunkt EP1 registriert sich selbst518 ,520 ,522 bei dem Registrierungsserver504 so, wie es anhand von5 erörtert wurde. - Dann lauscht
600 der EP1 auf der Adresse A1 Port P1, und EP2 lauscht602 auf Adresse A3 Port P3. EP2 sendet604 eine Registrierungsnachricht an den Registrierungsserver, die anzeigt, das er die Netzwerkadresse A3 Port P3 und die Identität ID2 hat. Wie oben anhand von5 bezüglich der Registrierung518 von EP1 erörtert wurde, führt der Registrierungsserver eine (nicht veranschaulichte) Überprüfung durch, um zu bestimmen, ob sich EP2 hinter einem Firewall befindet. Dies ist bei EP2 nicht der Fall, so daß der Registrierungsserver den EP2 mit den zur Verfügung gestellten Adreßwerten registriert. - Um einen Aufruf von EP1 an EP2 zu initiieren, sendet EP1, welcher sich hinter der NAT-Einrichtung
502 befindet, eine Auflösungsanforderung608 an den Registrierungsserver, um ID2 aufzulösen. Die Anforderung wird übersetzt610 und an den Registrierungsserver weitergeleitet, welcher die Registrierung der Adresse A3 Port P3 für EP2 nachschlägt. Der Registrierungsserver führt eine Überprüfung aus und stellt fest612 , daß sich EP1 hinter einer NAT-Einrichtung befindet, beispielsweise die eingebetteten Protokolldaten eine nicht routing-fähige Adresse enthalten, so daß der Registrierungsserver eine Auflösungs-Antwort zurück an EP1 an der Adresse A2 Port P10 sendet, derjenigen Adresse, die von der NAT-Einrichtung zugewiesen610 wurde, wenn diese die Auflösungsanforderung608 übersetzt hat. Bei einem Ausführungsbeispiel sendet der Registrierungsserver einfach Antworten auf Auflösungsanforderungen zurück an die Netzwerkadresse und den Port, die von dem Netzwerkverkehr mit der Auflösungsanforderung identifiziert wird, ohne eingebettete Adressen innerhalb der Protokolldaten zu untersuchen. - Der EP1 wartet
616 dann auf Inhalte, beispielsweise Ruf-Abschluß, auf Adresse A1 Port P20 (einem beliebigen Port) und sendet618 für die von dem Registrierungsserver gesendeten614 Auflösungsdaten eine Ruf-Anforderung an Adresse A3 Port P3. Die Netzwerkadresse A1 Port P20, bei welcher EP1 zu kommunizieren wünscht, wird in die Ruf-Anforderung als Protokolldaten eingebettet. Die Ruf-Anforderung wird von der NAT-Einrichtung übersetzt620 , so daß sie so erscheint, als würde sie aus Adresse A2 (eine routing-fähige Adresse) Port P30 (ein beliebiger Port) herrühren, und dann von der NAT-Einrichtung an EP2 weitergeleitet. EP2 untersucht, wie zuvor erörtert wurde, die Protokolldaten und stellt fest622 , daß Adresse A1 Port P20 keine routing-fähige Netzwerkadresse ist. - Folglich sendet
624 EP2 einen Ruf-Bestätigung an die NAT-Einrichtung bei Adresse A2 Port P30, und die NAT wiederum leitet626 die Bestätigung an EP1 an der Adresse A1 Port P20 weiter. Die Ruf-Bestätigung aus EP1 umfaßt Protokolldaten, die anzeigen, daß EP2 Inhalte aus EP1 an der Adresse A3 Port P40 (ein beliebiger Port) zu empfangen wünscht. Da EP2 erfaßte, daß sich EP1 hinter einer NAT-Einrichtung befindet, sendet EP2 keine Inhalte an EP1, da er statt dessen wartet628 , das EP1 seine NAT-Einrichtung vorbereitet, indem er Inhalte an EP2 sendet. - EP1 sendet
630 Inhalte an EP2 an der Adresse A3 Port P40, wie es bei der Bestätigung624 von EP2 angezeigt ist. Die NAT-Einrichtung übersetzt632 die Medien so, daß sie als von der Adresse A2 Port P50 (ein beliebiger Port) herrührend erscheinen. Für Fachleute ist klar, daß andere NAT-Einrichtungen es vorziehen können, Port-Zuweisungen erneut zu benutzen. Jetzt, nachdem Inhalte aus EP1 empfangen worden sind, kann EP2 erwidernde Inhalte an die NAT-Einrichtung an Adresse A2 Port P50 senden634 , welche wiederum veranlaßt, daß der Inhalt von EP2 so übersetzt636 wird, daß er an die Adresse A1 Port P20 zur Lieferung an EP1 adressiert wird. - Somit wird eine Kommunikations-Session von EP1 an EP2 eingerichtet.
- Bei einem Ausführungsbeispiel schließt die Registrierung eines Endpunkts die vorherige Registrierung eines Mitlausch-Ports (listening port) ein, an welchem der Endpunkt auf Inhalte wartet. Wenn beispielsweise EP1 ID2 auflöst
608 , gibt der Server Adresse A3 Port P3, wie oben erörtert wurde, zusammen mit Port P40 zum Empfangen von Inhalten zurück. Die Kenntnis dieses Ports im Voraus ermöglicht es EP1, seine NAT vorab vorzubereiten, indem er ein Dummy-Paket an EP2 sendet, was es EP2 ermöglicht, sofort Daten, wie beispielsweise Audiodaten, an EP1 zu senden, noch bevor EP1 und EP2 die Aushandlung sämtlicher Session-Parameter, beispielsweise der zu benutzende CODEC, Videobitrate oder Qualität, Merkmale, etc., abgeschlossen haben. -
7 veranschaulicht, in Übereinstimmung mit einer Ausführungsform, eine Top-Down-Zeitleiste von Protokolltransaktionen, bei welchen der erste Endpunkt EP1700 einen Kommunikations-Session an einen zweiten Endpunkt708 initiiert, wobei beide Endpunkte sich hinter NAT-Einrichtungen702 ,706 befinden. - Wie oben bei
4 erörtert worden ist, gibt es verschiedene Techniken, um eine richtige Signalisierung zu erreichen derart, daß die NAT-Einrichtungen702 ,706 in geeigneter weise auf das Empfangen von Antwortdaten vorbereitet werden. Die Registrierung der Endpunkte, das Signalisieren der gewünschten Kommunikationsports und die Feststellung der NAT-Übersetzung erfolgen gemäß den zuvor erörterten Prinzipien. Bei dem veranschaulichten Ausführungsbeispiel gibt EP1 eine Ruf-Setup-Anforderung710 an Adresse A4 Port P4 aus der internen Adresse A1 Port P1 aus, und dieser Ruf wird von der NAT702 des EP1 übersetzt712 , so daß er anscheinend aus Adresse A2 Port P20 herrührt. Bei einem alternativen Ausführungsbeispiel werden Ruf-Setup-Anforderungen an Aliases, beispielsweise ID2, statt an Adresse-Port-Paarungen, wie veranschaulicht, gerichtet. Dieses Ruf-Setup wird an den Registrierungsserver704 weitergeleitet, und der Registrierungsserver ändert714 die Ruf-Setup-Protokolldaten derart, daß die interne Adresse A1 Port P1 statt dessen auf den Registrierungsserver verweist. Im Endeffekt erscheint es so, als ob der Registrierungsserver einen Ruf an EP2 initiierte. Die geänderten Ruf-Setup-Protokolldaten werden von der NAT des EP2 empfangen, welche sie übersetzt716 und an EP2 liefert. - Folglich sendet
718 EP2 eine Bestätigung an den Server, welche anzeigt, daß er auf Adresse A3 Port P30 lauscht. Die NAT720 des EP2 übersetzt die Bestätigung so, daß sie scheinbar aus Adresse A4 Port P40 herrührt. Wenn der Registrierungsserver die Bestätigung empfängt, ändert722 er die Bestätigung so, daß die interne Adresse A3 Port P30 des EP2 statt dessen auf den Registrierungsserver verweist. Die geänderte Bestätigung wird von der NAT702 des EP1 empfangen, welche sie zur Lieferung an EP1 übersetzt724 . So werden beide Endpunkte dazu verleitet, ihre Inhalte an den Registrierungsserver zu senden726 ,728 , welcher wiederum sie an die richtigen Endpunkte700 ,708 weiterleitet. -
8 und die nachfolgende Diskussion sollen eine kurze allgemeine Beschreibung einer geeigneten Rechnerumgebung zur Verfügung stellen, in welcher bestimmte Aspekte der veranschaulichten Erfindung implementiert werden können. Ein beispielhaftes System zum Verkörpern des ersten Endpunkts EP1500 oder des Registrierungsservers504 gemäß5 enthält beispielsweise eine Maschine800 mit einem Systembus802 zum Koppeln verschiedener Maschinenkomponenten. - Typischerweise sind mit dem Bus Prozessoren
804 , ein Speicher806 (z. B. RAM, ROM), Speichereinrichtungen808 , eine Videoschnittstelle810 und Eingabe/Ausgabe-Schnittstellen-Ports812 verbunden. Die Maschine kann darüber hinaus eingebettete Controller enthalten, wie beispielsweise programmierbare Logikbauelemente oder -arrays (PLD, PLA), generische oder programmierbare Array-Logik (GAL, PAL), anwenderprogrammierbare Gate-Arrays (FPGA), anwendungsspezifische integrierte Schaltungen (ASIC), Ein-Chip-Computer, SmartCards, etc. - Die Erfindung kann unter Bezugnahme auf Programmodule beschrieben werden, die im Speicher
806 und/oder in den Speichereinrichtungen808 gespeichert sein können. Die Programmodule umfassen Prozeduren, Funktionen, Programme, Komponenten, Datenstrukturen und dergleichen zum Ausführen bestimmter Aufgaben oder Implementieren bestimmter abstrakter Datentypen. Ein Fachmann erkennt, daß Programmodule Gebilde in einer höheren Programmiersprache oder maschinennahe Hardware-Befehle und/oder Kontexte sein können, und daß sie in einem komprimierten oder verschlüsselten Format benutzt werden können. Daten können im Speicher806 , in den Speichereinrichtungen808 und zugehörigen Medien gespeichert sein. - Die Maschine soll in einer vernetzten Umgebung unter Verwendung logischer Verbindungen zu einer oder zu mehreren fernen Maschinen
814 ,816 über eine Netzwerkschnittstelle818 , ein Modem820 oder einen anderen Kommunikationspfad be trieben werden. Maschinen können miteinander mit Hilfe eines verdrahteten oder drahtlosen Netzwerks822 verbunden werden, wie beispielsweise das Netzwerk104 der1 , einschließlich eines Intranet, des Internet, eines lokalen Netzwerks, eines Weitbereichsnetzwerks, eines zellularen Netzwerks, Kabel, Laser, Satellitenverbindungen, Mikrowellenverbindungen, Bluetooth, optischer, infraroter oder anderer Trägertechnologien. - Die Programmodule können in einer einzigen Maschine implementiert oder in einer verteilten Netzwerkumgebung verarbeitet werden und sowohl im lokalen als auch fernen Speichern gespeichert sein. Der Speicher und die Speichereinrichtungen schließen Festplattenlaufwerke, Disketten, optische Speicher, Magnetkassetten, Bänder, Flash-Speicherkarten, Speicherstifte, digitale Videoplatten, biologische Speicher und dergleichen sowie verdrahtete und drahtlose Übertragungsumgebungen, wie beispielsweise das Netzwerk
822 , über welches Programmodule in Form von Paketen, seriellen Daten, parallelen Daten oder eines anderen geeigneten Übertragungsformats geliefert werden können. - So sei beispielsweise bezüglich der veranschaulichten Ausführungsbeispiele angenommen, daß die Maschine
800 einen Endpunkt betreibt und daß die fernen Einrichtungen814 ,816 dann einen zweiten Endpunkt und einen Registrierungsserver darstellen können. Es ist klar, daß die fernen Maschinen814 ,816 ähnlich der Maschine800 konfiguriert sein können und folglich viele oder sämtliche Elemente, wie sie für die Maschine erörtert wurden, enthalten können. Es ist auch klar, daß die Maschinen800 ,814 ,816 in einem einzigen Bauelement verkörpert sein können oder separate miteinander kommunizierende Komponenten sein können. - Die veranschaulichten Verfahren und deren zugehörige Beschreibung sollen maschinen-zugreifbare Medien veranschaulichen, die Anweisungen oder dergleichen speichern und welche in Einzel- und Multi-Prozessor-Maschinen, transportablen Computern, wie beispielsweise Handheld-Geräten einschließlich persönlichen digitalen Assistenten (PDAs), Mobiltelefonen und dergleichen, enthalten sein können. Nachdem die Prinzipien der Erfindung unter Bezugnahme auf die veranschaulichten Ausführungsformen beschrieben und veranschaulicht worden sind, ist zu erkennen, daß die veranschaulichten Ausführungsbeispiele hinsichtlich der Anordnung und in den Details modifiziert werden können, ohne von diesen Prinzipien abzuweichen.
- Obwohl sich die vorstehende Diskussion auf spezielle Ausführungsformen konzentrierte, ist es klar, daß andere Konfigurationen erwogen werden. Obwohl Ausdrücke, wie beispielsweise "bei einem Ausführungsbeispiel", "bei einem anderen Ausführungsbeispiel" oder dergleichen, hier verwendet worden sind, sollen sich diese Ausdrücke auf mögliche Ausführungsformen beziehen und sind nicht vorgesehen, die Erfindung auf die speziellen Konfigurationen der Ausführungsbeispiele zu beschränken. So wie sie hier verwendet werden, beziehen sich diese Begriffe auf dieselben oder verschiedene Ausführungsbeispiele, und solange nicht implizit oder ausdrücklich etwas anderes ausgesagt ist, sind die Ausführungsbeispiele zu weiteren Ausführungsbeispielen kombinierbar. Demzufolge, angesichts der großen Vielzahl möglicher Kombinationen der oben beschriebenen Ausführungsbeispiele, ist die detaillierte Beschreibung nur veranschaulichend auszulegen und nicht in einem den Schutzumfang der Erfindung einschränkenden Sinne.
Claims (23)
- Ein Kommunikationsprotokoll zum Initiieren einer Kommunikations-Session über eine Netzwerkadreßübersetzungseinrichtung (
502 ), welche internen Netzwerkverkehr mit einer internen Netzwerkadresse und einem internen Port in externen Verkehr mit einer scheinbaren externen Ursprungsadresse und einem scheinbaren Port übersetzt, wobei das Protokoll umfaßt: Vorbereiten (200 ) eines Session-Setup für eine Session von einer ersten Maschine (500 ) mit einer nicht routing-fähigen Netzwerkadresse zu einer zweiten Maschine (506 ), wobei das Session-Setup eine nicht routing-fähige Netzwerkadresse anzeigt, zu welcher eine Session-Bestätigung zu senden ist; und Senden (202 ,204 ) des Session-Setup an die zweite Maschine (504 ,506 ) über die Netzwerkadreßübersetzungseinrichtung (502 ), wobei die Netzwerkadreßübersetzungseinrichtung das Session-Setup nicht übersetzt; wobei die zweite Maschine (504 ,506 ) so konfiguriert ist, daß sie das Session-Setup untersucht (208 ,210 ) und feststellt, ob das Session-Setup die nicht routing-fähige Netzwerkadresse enthält. - Das Kommunikationsprotokoll nach Anspruch 1, ferner umfassend: Einschließen eines ersten Ports in das Session-Setup zur Kommunikation mit einem Kommunikationsendpunkt; wobei die Übersetzung durch die Netzwerkadreßübersetzungseinrichtung (
502 ) dazu führt, daß das Session-Setup einen scheinbaren Ursprung und einen zweiten Port aufweist, die sich von der nicht routing-fähigen Netzwerkadresse und dem ersten Port in dem Session- Setup unterscheiden, und wobei die zweite Maschine (504 ,506 ) so konfiguriert ist, daß sie die Protokolldaten untersucht (214 ) und die nicht routing-fähige Netzwerkadresse identifiziert. - Das Kommunikationsprotokoll nach Anspruch 2, wobei als Endpunkt entweder die zweite Maschine (
506 ) oder ein Registrierungsserver (504 ) zum Registrieren von Kommunikationsendpunkten ausgewählt ist. - Das Kommunikationsprotokoll nach Anspruch 1, ferner umfassend, daß die Netzwerkadreßübersetzungseinrichtung (
502 ): das Session-Setup für die Session mit der zweiten Maschine (506 ) empfängt; das Session-Setup an eine zweite Netzwerkadresse sendet; das Senden in einer Zugriffsautorisierungstabelle aufzeichnet; Daten aus einem Netzwerk empfängt; und die empfangenen Daten mit wenigstens einem Teil des Eintrags der Zugriffsautorisierungstabelle vergleicht, um zu bestimmen, ob die empfangenen Daten eine Antwort auf das Senden darstellen. - Das Kommunikationsprotokoll nach Anspruch 1, wobei die zweite Maschine (
504 ) ein Registrierungsserver zum Registrieren von Maschinen-Aliases mit Netzwerkadressen ist, wobei das Protokoll ferner umfaßt, daß der Registrierungsserver: das Session-Setup empfängt, wobei das Session-Setup Protokolldaten einschließlich eines Alias für die erste Maschine (500 ) enthält; die Protokolldaten überprüft, um festzustellen, ob sie die nicht routing-fähige Netzwerkadresse enthalten; und dann, wenn dies der Fall ist, die erste Maschine (500 ) unter Bezugnahme auf den Alias und eine routing-fähige Netzwerkadresse registriert. - Das Kommunikationsprotokoll nach Anspruch 1, wobei die zweite Maschine (
504 ,506 ) ein Endpunkt für die Session ist, wobei das Protokoll ferner umfaßt, daß die zweite Maschine: das Session-Setup empfängt; bestimmt, ob das Session-Setup anzeigt, daß die Session-Bestätigung an die nicht routing-fähige Netzwerkadresse gesendet wird; und die Session-Bestätigung an die erste Maschine an eine routing-fähigen Netzwerkadresse sendet. - Das Kommunikationsprotokoll nach Anspruch 6, ferner umfassend, daß die Netzwerkadreßübersetzungseinrichtung (
502 ): die Session-Bestätigung für die erste Maschine (500 ) empfängt; und die Session-Bestätigung zur Lieferung an die nicht routing-fähige Netzwerkadresse übersetzt. - Eine Verfahren zum Kommunizieren zwischen einem ersten Endpunkt (
500 ) hinter einem Netzwerkadreßübersetzer (NAT) und einem zweiten Endpunkt (504 ,506 ), umfassend: Empfangen einer ersten Registrierung für den ersten Endpunkt (500 ), wobei die Registrierung eine eingebettete Netzwerkadresse, einen eingebetteten Port und einen eingebetteten Alias für den ersten Endpunkt aufweist, wobei die Registrierung eine scheinbare Ursprungsadresse des NAT aufweist; Feststellen, daß die eingebettete Netzwerkadresse eine nicht routing-fähige Netzwerkadresse ist; und Registrieren des ersten Endpunkts (500 ) mit der scheinbaren Ursprungsadresse des NAT, dem eingebetteten Port und dem eingebetteten Alias. - Das Verfahren nach Anspruch 8, ferner umfassend: Empfangen einer Auflösungsanforderung für den Alias aus dem zweiten Endpunkt (
504 ,506 ); Erwidern auf die Anforderung mit zumindest der scheinbaren Ursprungsadresse des NAT (502 ); Empfangen eines Session-Setup aus dem zweiten Endpunkt (504 ,506 ); und Weiterleiten des Session-Setup an den ersten Endpunkt (500 ) an der scheinbaren Ursprungsadresse des NAT. - Das Verfahren nach Anspruch 9, ferner umfassend: Senden einer Bestätigung über den NAT (
502 ) an den zweiten Endpunkt (504 ,506 ), wobei die Bestätigung die nicht routing-fähige Netzwerkadresse und einen dynamisch zugewiesenen Port des ersten Endpunkts (500 ) aufweist; Bestimmen durch den zweiten Endpunkt (504 ,506 ), ob eine zweite Netzwerkadresse routing-fähig ist; und dann, wenn dies der Fall ist, Warten durch den zweiten Endpunkt auf audiovisuelle Daten, die aus dem ersten Endpunkt (500 ) an dem zweiten Endpunkt (504 ,506 ) gesendet werden sollen. - Eine Einrichtung zur Kommunikation zwischen einem ersten Endpunkt (
500 ) hinter einer Netzwerkadreßübersetzungseinrichtung (NAT) (502 ) und einem zweiten Endpunkt (504 ,506 ), wobei die Einrichtung ein lesbares Medium aufweist, auf dem Befehle zur Ausführung durch eine Prozessor codiert sind, wobei die Befehle in der Lage sind, den Prozessor anzuweisen, folgendes auszuführen: Empfangen einer ersten Registrierung für den ersten Endpunkt (500 ), wobei die Registrierung eine eingebettete Netzwerkadresse, einen eingebetteten Port und einen eingebetteten Alias für den ersten Endpunkt umfaßt, wobei die Registrierung eine scheinbare Ursprungsadresse des NAT aufweist; Bestimmen, daß die eingebettete Netzwerkadresse eine nicht routing-fähige Netzwerkadresse ist; und Registrieren des ersten Endpunkts (500 ) mit der scheinbaren Ursprungsadresse des NAT, dem eingebetteten Port und dem eingebetteten Alias. - Die Einrichtung nach Anspruch 11, wobei die Befehle ferner Befehle enthalten, die in der Lage sind, den Prozessor anzuweisen, folgendes auszuführen: Empfangen einer Auflösungsanforderung für den Alias aus dem zweiten Endpunkt (
504 ,506 ); Erwidern auf die Anforderung mit zumindest der scheinbaren Ursprungsadresse des NAT (502 ); Empfangen eines Session-Setup aus dem zweiten Endpunkt; und Weiterleiten des Session-Setup an den ersten Endpunkt (500 ) an der scheinbaren Ursprungsadresse des NAT. - Die Einrichtung nach Anspruch 12, wobei die Befehle ferner Befehle enthalten, die in der Lage sind, den Prozessor anzuweisen, folgendes auszuführen: Senden einer Bestätigung über den NAT (
502 ) an den zweiten Endpunkt (504 ,506 ), wobei die Bestätigung die nicht routing-fähige Netzwerkadresse und einen dynamisch zugewiesenen Port des ersten Endpunkts umfaßt; Bestimmen, ob die zweite Netzwerkadresse routing-fähig ist, durch den zweiten Endpunkt; und dann, wenn dies der Fall ist, Warten des zweiten Endpunkts (504 ,506 ) auf audiovisuelle Daten, die aus dem ersten Endpunkt an den zweiten Endpunkt gesendet werden sollen. - Ein Verfahren, mit dem ein erster Endpunkt (
500 ) innerhalb einer Netzwerkadreßübersetzungseinrichtung (502 ) eine Kommunikations-Session mit einem zweiten Endpunkt (504 ) außerhalb der Netzwerkadreßübersetzungseinrichtung einrichtet, wobei das Verfahren umfaßt: Kontaktieren eines Registrierungsservers (504 ) zum Auflösen eines Alias für den zweiten Endpunkt; Empfangen einer ersten Session-Registrierung aus dem Registrierungsserver (504 ), wobei die erste Session-Registrierung eine Netzwerkadresse für den zweiten Endpunkt (506 ), die routing-fähig ist, und einen Inhalte-Port, an welchen Inhalte für den zweiten Endpunkt gesendet werden sollen, aufweist; und Vorbereiten der Netzwerkadreßübersetzungseinrichtung (502 ), indem wenigstens ein Netzwerkpaket an den zweiten Endpunkt (506 ) an der routing-fähigen Netzwerkadresse an dem Inhalte-Port gesendet wird, bevor das Einrichten der Kommunikations-Session mit dem zweiten Endpunkt abgeschlossen ist. - Das Verfahren nach Anspruch 14, ferner umfassend: Senden einer zweiten Session-Registrierung für den ersten Endpunkt (
500 ) an den Registrierungsserver (504 ), wobei die zweite Session-Registrierung eine Netzwerkadresse für den ersten Endpunkt, die nicht routing-fähig ist, aufweist. - Das Verfahren nach Anspruch 15, ferner umfassend, daß der Registrierungsserver (
504 ): die zweite Session-Registrierung für den ersten Endpunkt (500 ) aus einer der Netzwerkadreßübersetzungseinrichtung zugeordneten routing-fähigen Netzwerkadresse empfängt; identifiziert, daß die zweite Session-Registrierung eine Netzwerkadresse aufweist, die nicht routing-fähig ist, und in Antwort darauf den ersten Endpunkt (500 ) bezüglich der routing-fähigen Netzwerkadresse, die der Netzwerkadreßübersetzungseinrichtung zugeordnet ist, registriert; die erste Session-Registrierung für den zweiten Endpunkt (506 ) empfängt; und identifiziert, daß die erste Session-Registrierung eine Netzwerkadresse aufweist, die routing-fähig ist, und in Antwort darauf den zweiten Endpunkt (506 ) gemäß der ersten Session-Registrierung registriert. - Das Verfahren nach Anspruch 15, ferner umfassend: wobei der Registrierungsserver (
504 ) so konfiguriert ist, daß er die nicht routing-fähige Netzwerkadresse innerhalb der zweiten Session-Registrierung identifiziert und in Erwiderung dieses Identifizierens den ersten Endpunkt (500 ) bezüglich einer routing-fähigen Netzwerkadresse, die der Netzwerkadreßübersetzungseinrichtung (502 ) zugeordnet ist, registriert. - Eine Einrichtung, mit der ein erster Endpunkt (
500 ) innerhalb einer Netzwerkadreßübersetzungseinrichtung (502 ) eine Kommunikations-Session mit einem zweiten Endpunkt außerhalb der Netzwerkadreßübersetzungseinrichtung einrichtet, wobei die Einrichtung ein lesbares Medium aufweist, auf dem Befehle zur Ausführung durch einen Prozessor codiert sind, wobei die Befehle in der Lage sind, den Prozessor anzuweisen, folgendes auszuführen: Kontaktieren eines Registrierungsservers (504 ), um einen Alias für den zweiten Endpunkt (506 ) aufzulösen; Empfangen einer ersten Session-Registrierung aus dem Registrierungsserver (504 ), wobei die erste Session-Registrierung eine Netzwerkadresse für den zweiten Endpunkt (506 ), die routing-fähig ist, und einen Inhalte-Port für den zweiten Endpunkt, an welchen Inhalte gesendet werden sollen, aufweist; und Vorbereiten der Netzwerkadreßübersetzungseinrichtung (502 ), indem wenigstens ein Netzwerkpaket an den zweiten Endpunkt (506 ) an der routing-fähigen Netzwerkadresse an dem Inhalte-Port gesendet wird, bevor das Einrichten der Kommunikations-Session mit dem zweiten Endpunkt abgeschlossen ist. - Die Einrichtung nach Anspruch 18, wobei die Befehle ferner Befehle einschließen, die in der Lage sind, den Prozessor anzuweisen, folgendes auszuführen: Senden einer zweiten Session-Registrierung für den ersten Endpunkt (
500 ) an den Registrierungsserver, wobei die zweite Session-Registrierung eine Netzwerkadresse für den ersten Endpunkt, die nicht routing-fähig ist, aufweist. - Die Einrichtung nach Anspruch 19, wobei die Befehle ferner Befehle einschließen, die in der Lage sind, den Prozessor anzuweisen, folgendes auszuführen: Empfangen der zweiten Session-Registrierung für den ersten Endpunkt (
500 ) von einer routing-fähigen Netzwerkadresse, die der Netzwerkadreßübersetzungseinrichtung (502 ) zugeordnet ist; Identifizieren, daß die zweite Session-Registrierung eine Netzwerkadresse aufweist, die nicht routing-fähig ist, und, in Beantwortung dessen, Registrieren des ersten Endpunkts (500 ) bezüglich der routing-fähigen Netzwerkadresse, die der Netzwerkadreßübersetzungseinrichtung zugeordnet ist; Empfangen der ersten Session-Registrierung für den zweiten Endpunkt (506 ); und Identifizieren, daß die erste Session-Registrierung eine Netzwerkadresse aufweist, die routing-fähig ist, und, in Beantwortung dessen, Registrieren des zweiten Endpunkts (506 ) in Übereinstimmung mit der ersten Session-Registrierung. - Eine Einrichtung, mit der ein erster Endpunkt (
500 ) innerhalb einer Netzwerkadreßübersetzungseinrichtung (502 ) eine Kommunikations-Session mit einem zweiten Endpunkt (506 ) außerhalb der Netzwerkadreßübersetzungseinrichtung einrichtet, wobei die Einrichtung aufweist: Auflösungsmittel zum Kontaktieren eines Registrierungsservers (504 ), um einen Alias für den zweiten Endpunkt (506 ) aufzulösen; Empfangsmittel zum Empfangen einer ersten Session-Registrierung aus dem Registrierungsserver (504 ), wobei die erste Session-Registrierung eine Netzwerkadresse für den zweiten Endpunkt (506 ), die routing-fähig ist, und einen Inhalte-Port, an welchen Inhalte gesendet werden sollten, für den zweiten Endpunkt (506 ) aufweist; und Vorbereitungsmittel zum Vorbereiten der Netzwerkadreßübersetzungseinrichtung (502 ), indem wenigstens ein Netzwerkpaket an den zweiten Endpunkt (506 ) an der routing-fähigen Netzwerkadresse auf dem Inhalte-Port gesendet wird, bevor das Einrichten der Kommunikations-Session mit dem zweiten Endpunkt abgeschlossen ist. - Die Einrichtung nach Anspruch 21, ferner aufweisend: Sendemittel zum Senden einer zweiten Session-Registrierung für den ersten Endpunkt an den Registrierungsserver (
504 ), wobei die zweite Session-Registrierung eine Netzwerkadresse für den ersten Endpunkt (500 ), die nicht routing-fähig ist, aufweist. - Die Einrichtung nach Anspruch 22, ferner aufweisend: Empfangsmittel zum Empfangen der zweiten Session-Registrierung für den ersten Endpunkt von einer routing-fähigen Netzwerkadresse, die der Netzwerkadreßübersetzungseinrichtung (
502 ) zugeordnet ist; Feststellungsmittel zum Feststellen, daß die zweite Session-Registrierung eine Netzwerkadresse aufweist, die nicht routing-fähig ist, und um in Antwort darauf den ersten Endpunkt (500 ) bezüglich der routing-fähigen Netzwerkadresse, die der Netzwerkadreßübersetzungseinrichtung (502 ) zugeordnet ist, zu registrieren; Empfangsmittel zum Empfangen der ersten Session-Registrierung für den zweiten Endpunkt (506 ); und Feststellmittel zum Feststellen, daß die erste Session-Registrierung eine Netzwerkadresse aufweist, die routing-fähig ist, und um in Antwort darauf den ersten Endpunkt (500 ) in Übereinstimmung mit der zweiten Session-Registrierung zu registrieren.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/837,449 US7272650B2 (en) | 2001-04-17 | 2001-04-17 | Communication protocols operable through network address translation (NAT) type devices |
US09/837,449 | 2001-04-17 | ||
PCT/US2002/011756 WO2002084974A2 (en) | 2001-04-17 | 2002-04-12 | Communications protocols operable through network address translation (nat) type devices |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10296660T5 DE10296660T5 (de) | 2004-04-22 |
DE10296660B4 true DE10296660B4 (de) | 2007-09-06 |
Family
ID=25274472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10296660T Expired - Fee Related DE10296660B4 (de) | 2001-04-17 | 2002-04-12 | Über Netzwerkadressübersetzungs(NAT) -Einrichtungen hinweg betreibbare Kommunikationsprotokolle |
Country Status (8)
Country | Link |
---|---|
US (1) | US7272650B2 (de) |
CN (1) | CN100527750C (de) |
AU (1) | AU2002307311A1 (de) |
DE (1) | DE10296660B4 (de) |
GB (1) | GB2392343B (de) |
HK (1) | HK1061763A1 (de) |
TW (1) | TW567699B (de) |
WO (1) | WO2002084974A2 (de) |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2362482A (en) * | 2000-05-15 | 2001-11-21 | Ridgeway Systems & Software Lt | Direct slave addressing to indirect slave addressing |
GB2365256A (en) | 2000-07-28 | 2002-02-13 | Ridgeway Systems & Software Lt | Audio-video telephony with port address translation |
GB2369746A (en) * | 2000-11-30 | 2002-06-05 | Ridgeway Systems & Software Lt | Communications system with network address translation |
US7477629B2 (en) * | 2001-06-14 | 2009-01-13 | Qualcomm Incorporated | Methods and apparatus for supporting session registration messaging |
US6970445B2 (en) * | 2001-06-14 | 2005-11-29 | Flarion Technologies, Inc. | Methods and apparatus for supporting session signaling and mobility management in a communications system |
US20030009561A1 (en) * | 2001-06-14 | 2003-01-09 | Sollee Patrick N. | Providing telephony services to terminals behind a firewall and /or network address translator |
US6954442B2 (en) * | 2001-06-14 | 2005-10-11 | Flarion Technologies, Inc. | Methods and apparatus for using a paging and location server to support session signaling |
KR100405113B1 (ko) * | 2001-06-22 | 2003-11-10 | 주식회사 엑스큐어넷 | 네트워크상에서의 투명한 게이트웨이 또는 투명한 프록시구현 방법 |
JP4075340B2 (ja) * | 2001-08-27 | 2008-04-16 | ブラザー工業株式会社 | ネットワークシステム、管理装置、記憶媒体、及びプログラム |
WO2003028340A1 (de) * | 2001-08-30 | 2003-04-03 | Siemens Aktiengesellschaft | Vorabaushandlung von nat-adressen |
US8095668B2 (en) * | 2001-11-09 | 2012-01-10 | Rockstar Bidco Lp | Middlebox control |
US7408928B2 (en) * | 2001-12-21 | 2008-08-05 | Nortel Networks Limited | Methods and apparatus for setting up telephony connections between two address domains having overlapping address ranges |
US7181612B1 (en) * | 2002-01-17 | 2007-02-20 | Cisco Technology, Inc. | Facilitating IPsec communications through devices that employ address translation in a telecommunications network |
US7327721B2 (en) * | 2002-02-11 | 2008-02-05 | Avaya Technology Corp. | Determination of endpoint virtual address assignment in an internet telephony system |
US6985479B2 (en) * | 2002-03-04 | 2006-01-10 | Qualcomm Incorporated | Method and apparatus for processing internet protocol transmissions |
US7260649B1 (en) * | 2002-04-16 | 2007-08-21 | Cisco Technology, Inc. | Apparatus and methods for forwarding data between public networks via a private network |
AU2003234506A1 (en) * | 2002-05-06 | 2003-11-17 | Qualcomm Incorporated | System and method for registering ip address of wireless communication device |
US8108554B1 (en) | 2002-05-16 | 2012-01-31 | F5 Networks, Inc. | Method and system for automatically mapping secure network address translations |
US20030233471A1 (en) * | 2002-06-17 | 2003-12-18 | Julian Mitchell | Establishing a call in a packet-based communications network |
US7447901B1 (en) | 2002-06-25 | 2008-11-04 | Cisco Technology, Inc. | Method and apparatus for establishing a dynamic multipoint encrypted virtual private network |
US7366894B1 (en) | 2002-06-25 | 2008-04-29 | Cisco Technology, Inc. | Method and apparatus for dynamically securing voice and other delay-sensitive network traffic |
US7302496B1 (en) * | 2002-11-12 | 2007-11-27 | Cisco Technology, Inc. | Arrangement for discovering a localized IP address realm between two endpoints |
US20040121789A1 (en) * | 2002-12-23 | 2004-06-24 | Teddy Lindsey | Method and apparatus for communicating information in a global distributed network |
TW200412101A (en) * | 2002-12-23 | 2004-07-01 | Shaw-Hwa Hwang | Directly peer-to peer transmission protocol between two virtual network |
US7411917B1 (en) * | 2003-03-26 | 2008-08-12 | Network Equipment Technologies, Inc. | Method and system for providing registration-based SIP NAT traversal |
US7263071B2 (en) | 2003-10-08 | 2007-08-28 | Seiko Epson Corporation | Connectionless TCP/IP data exchange |
US7406533B2 (en) | 2003-10-08 | 2008-07-29 | Seiko Epson Corporation | Method and apparatus for tunneling data through a single port |
US7886057B2 (en) * | 2003-10-20 | 2011-02-08 | Logitech Europe S.A. | Method and apparatus for communicating data between two hosts |
TWI255113B (en) * | 2003-11-10 | 2006-05-11 | Inst Information Industry | Method of media relay passing through Network Address Translation equipments to be decreased |
US7694127B2 (en) * | 2003-12-11 | 2010-04-06 | Tandberg Telecom As | Communication systems for traversing firewalls and network address translation (NAT) installations |
US7810137B1 (en) * | 2003-12-22 | 2010-10-05 | Cisco Technology, Inc. | Method of controlling network access that induces consumption of merchant goods or services |
AU2003292281A1 (en) * | 2003-12-22 | 2005-07-14 | Nokia Corporation | Method and system for maintaining a secure tunnel in a packet-based communication system |
WO2005081499A1 (en) * | 2004-02-23 | 2005-09-01 | Telefonaktiebolaget L.M. Ericsson (Publ) | Voice-over-internet telecommunication networks |
US8085741B2 (en) * | 2004-03-10 | 2011-12-27 | Core Wireless Licensing S.A.R.L. | System and method for pushing content to a terminal utilizing a network-initiated data service technique |
US7680065B2 (en) * | 2005-01-18 | 2010-03-16 | Cisco Technology, Inc. | System and method for routing information packets |
US7924771B2 (en) * | 2004-04-13 | 2011-04-12 | Qualcomm, Incorporated | Multimedia communication using co-located care of address for bearer traffic |
US7933260B2 (en) | 2004-06-29 | 2011-04-26 | Damaka, Inc. | System and method for routing and communicating in a heterogeneous network environment |
US8050272B2 (en) | 2004-06-29 | 2011-11-01 | Damaka, Inc. | System and method for concurrent sessions in a peer-to-peer hybrid communications network |
US8009586B2 (en) | 2004-06-29 | 2011-08-30 | Damaka, Inc. | System and method for data transfer in a peer-to peer hybrid communication network |
US8437307B2 (en) | 2007-09-03 | 2013-05-07 | Damaka, Inc. | Device and method for maintaining a communication session during a network transition |
US7570636B2 (en) * | 2004-06-29 | 2009-08-04 | Damaka, Inc. | System and method for traversing a NAT device for peer-to-peer hybrid communications |
DE602004013301T2 (de) * | 2004-07-15 | 2009-06-25 | Telefonaktiebolaget Lm Ericsson (Publ) | 'Denial-of-Service' Schutz |
US7543064B2 (en) * | 2004-09-30 | 2009-06-02 | Logitech Europe S.A. | Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host |
JP4473695B2 (ja) * | 2004-10-01 | 2010-06-02 | パナソニック株式会社 | 通信端末装置、電化機器及び通信方法 |
WO2006049251A1 (ja) * | 2004-11-08 | 2006-05-11 | Matsushita Electric Industrial Co., Ltd. | 通信端末及び通信方法 |
US7392323B2 (en) * | 2004-11-16 | 2008-06-24 | Seiko Epson Corporation | Method and apparatus for tunneling data using a single simulated stateful TCP connection |
US20060187912A1 (en) * | 2005-02-01 | 2006-08-24 | Kayote Networks Inc. | Method and apparatus for server-side NAT detection |
FI118316B (fi) * | 2005-02-14 | 2007-09-28 | Teliasonera Ab | Tiedonsiirtokanava ainakin kahden yksityisen verkon välillä |
US20060200517A1 (en) * | 2005-03-03 | 2006-09-07 | Steve Nelson | Method and apparatus for real time multi-party conference document copier |
US8095982B1 (en) | 2005-03-15 | 2012-01-10 | Mu Dynamics, Inc. | Analyzing the security of communication protocols and channels for a pass-through device |
US8095983B2 (en) * | 2005-03-15 | 2012-01-10 | Mu Dynamics, Inc. | Platform for analyzing the security of communication protocols and channels |
US7738468B2 (en) * | 2005-03-22 | 2010-06-15 | Logitech Europe S.A. | Method and apparatus for packet traversal of a network address translation device |
US20070043876A1 (en) * | 2005-08-19 | 2007-02-22 | Nokia Corporation | Stimulation traffic for binding refreshment |
US8413248B2 (en) * | 2006-03-22 | 2013-04-02 | Michael B. Rash | Method for secure single-packet remote authorization |
US20070285501A1 (en) * | 2006-06-09 | 2007-12-13 | Wai Yim | Videoconference System Clustering |
US7788394B2 (en) * | 2006-08-31 | 2010-08-31 | General Instrument Corporation | Streaming content over an internet protocol network |
US9172611B2 (en) | 2006-09-01 | 2015-10-27 | Spirent Communications, Inc. | System and method for discovering assets and functional relationships in a network |
US7958230B2 (en) | 2008-09-19 | 2011-06-07 | Mu Dynamics, Inc. | Test driven deployment and monitoring of heterogeneous network systems |
US8316447B2 (en) * | 2006-09-01 | 2012-11-20 | Mu Dynamics, Inc. | Reconfigurable message-delivery preconditions for delivering attacks to analyze the security of networked systems |
CN101491021A (zh) * | 2006-09-22 | 2009-07-22 | 松下电器产业株式会社 | 通信装置、通信方法及通信系统 |
WO2008058906A2 (en) * | 2006-11-13 | 2008-05-22 | Nokia Corporation | Address translation |
US7774637B1 (en) | 2007-09-05 | 2010-08-10 | Mu Dynamics, Inc. | Meta-instrumentation for security analysis |
US8871096B2 (en) * | 2007-09-10 | 2014-10-28 | Res Usa, Llc | Magnetic separation combined with dynamic settling for fischer-tropsch processes |
WO2009043016A2 (en) | 2007-09-28 | 2009-04-02 | Damaka, Inc. | System and method for transitioning a communication session between networks that are not commonly controlled |
WO2009063555A1 (ja) * | 2007-11-13 | 2009-05-22 | Fujitsu Limited | 制御代理装置、制御代理方法および制御代理プログラム |
US8380859B2 (en) | 2007-11-28 | 2013-02-19 | Damaka, Inc. | System and method for endpoint handoff in a hybrid peer-to-peer networking environment |
FR2925247B1 (fr) * | 2007-12-18 | 2011-11-04 | Alcatel Lucent | Controle de l'interface d'emission d'un message de reponse sip |
US9455924B2 (en) * | 2008-01-02 | 2016-09-27 | Media Network Services As | Device and system for selective forwarding |
US8924486B2 (en) * | 2009-02-12 | 2014-12-30 | Sierra Wireless, Inc. | Method and system for aggregating communications |
US8228848B2 (en) * | 2008-11-17 | 2012-07-24 | Sierra Wireless, Inc. | Method and apparatus for facilitating push communication across a network boundary |
WO2010054471A1 (en) | 2008-11-17 | 2010-05-20 | Sierra Wireless, Inc. | Method and apparatus for network port and network address translation |
JP5218357B2 (ja) * | 2009-09-25 | 2013-06-26 | ブラザー工業株式会社 | 通信方法、通信システム、端末装置 |
US8874785B2 (en) | 2010-02-15 | 2014-10-28 | Damaka, Inc. | System and method for signaling and data tunneling in a peer-to-peer environment |
US8892646B2 (en) | 2010-08-25 | 2014-11-18 | Damaka, Inc. | System and method for shared session appearance in a hybrid peer-to-peer environment |
US8725895B2 (en) | 2010-02-15 | 2014-05-13 | Damaka, Inc. | NAT traversal by concurrently probing multiple candidates |
US9043488B2 (en) | 2010-03-29 | 2015-05-26 | Damaka, Inc. | System and method for session sweeping between devices |
US9191416B2 (en) | 2010-04-16 | 2015-11-17 | Damaka, Inc. | System and method for providing enterprise voice call continuity |
US8352563B2 (en) | 2010-04-29 | 2013-01-08 | Damaka, Inc. | System and method for peer-to-peer media routing using a third party instant messaging system for signaling |
US8547974B1 (en) | 2010-05-05 | 2013-10-01 | Mu Dynamics | Generating communication protocol test cases based on network traffic |
US8463860B1 (en) | 2010-05-05 | 2013-06-11 | Spirent Communications, Inc. | Scenario based scale testing |
US8611540B2 (en) | 2010-06-23 | 2013-12-17 | Damaka, Inc. | System and method for secure messaging in a hybrid peer-to-peer network |
US8468010B2 (en) | 2010-09-24 | 2013-06-18 | Damaka, Inc. | System and method for language translation in a hybrid peer-to-peer environment |
US8743781B2 (en) | 2010-10-11 | 2014-06-03 | Damaka, Inc. | System and method for a reverse invitation in a hybrid peer-to-peer environment |
US9106514B1 (en) | 2010-12-30 | 2015-08-11 | Spirent Communications, Inc. | Hybrid network software provision |
WO2012106820A1 (en) | 2011-02-08 | 2012-08-16 | Sierra Wireless, Inc. | Method and system for forwarding data between network devices |
US8407314B2 (en) | 2011-04-04 | 2013-03-26 | Damaka, Inc. | System and method for sharing unsupported document types between communication devices |
US8464219B1 (en) | 2011-04-27 | 2013-06-11 | Spirent Communications, Inc. | Scalable control system for test execution and monitoring utilizing multiple processors |
US8694587B2 (en) | 2011-05-17 | 2014-04-08 | Damaka, Inc. | System and method for transferring a call bridge between communication devices |
US8972543B1 (en) | 2012-04-11 | 2015-03-03 | Spirent Communications, Inc. | Managing clients utilizing reverse transactions |
KR101399292B1 (ko) * | 2012-12-07 | 2014-05-27 | 전남대학교산학협력단 | Sns를 이용한 사물통신 시스템, 방법 및 그 사물통신 서버 |
US9027032B2 (en) | 2013-07-16 | 2015-05-05 | Damaka, Inc. | System and method for providing additional functionality to existing software in an integrated manner |
US9781075B1 (en) | 2013-07-23 | 2017-10-03 | Avi Networks | Increased port address space |
US9357016B2 (en) | 2013-10-18 | 2016-05-31 | Damaka, Inc. | System and method for virtual parallel resource management |
CN104092687B (zh) * | 2014-07-14 | 2018-02-09 | 新华三技术有限公司 | 一种bgp会话建立方法和装置 |
WO2016022574A1 (en) | 2014-08-05 | 2016-02-11 | Damaka, Inc. | System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems |
US20160132161A1 (en) * | 2014-11-10 | 2016-05-12 | StoryCloud, Inc. | Location or crowd source based gaming method and apparatus |
US10237236B2 (en) | 2015-06-25 | 2019-03-19 | Microsoft Technology Licensing, Llc | Media Session |
US10412122B1 (en) * | 2016-01-22 | 2019-09-10 | Cisco Technology, Inc. | Dynamic per-session NAT-behavior selection |
US10091025B2 (en) | 2016-03-31 | 2018-10-02 | Damaka, Inc. | System and method for enabling use of a single user identifier across incompatible networks for UCC functionality |
CN107348937A (zh) * | 2017-07-04 | 2017-11-17 | 厦门大学 | 一种基于混合云的无线医疗喉镜系统 |
CN110392127B (zh) * | 2019-08-15 | 2022-01-11 | 中盈优创资讯科技有限公司 | 网络地址空间识别方法及装置 |
TWI825923B (zh) * | 2022-08-16 | 2023-12-11 | 皓德盛科技有限公司 | 用於金融交易的現場可程式化邏輯閘陣列 |
CN115865944B (zh) * | 2023-02-23 | 2023-05-30 | 苏州浪潮智能科技有限公司 | 设备间点对点通信方法、系统、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000033537A1 (en) * | 1998-12-03 | 2000-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for providing multiple endpoints in a device disposed in a packet-switched network |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6360265B1 (en) * | 1998-07-08 | 2002-03-19 | Lucent Technologies Inc. | Arrangement of delivering internet protocol datagrams for multimedia services to the same server |
US20020120760A1 (en) * | 2000-05-26 | 2002-08-29 | Gur Kimchi | Communications protocol |
AU2001271263A1 (en) | 2000-06-30 | 2002-01-14 | Net2Phone | System, method, and computer program product for resolving addressing in a network including a network address translator |
WO2002007330A2 (en) * | 2000-07-18 | 2002-01-24 | Motorola, Inc. | Wireless bidirectional interface |
US20020042832A1 (en) * | 2000-08-14 | 2002-04-11 | Fallentine Mark D. | System and method for interoperability of H.323 video conferences with network address translation |
US6661799B1 (en) * | 2000-09-13 | 2003-12-09 | Alcatel Usa Sourcing, L.P. | Method and apparatus for facilitating peer-to-peer application communication |
AU2002258113A1 (en) * | 2001-02-20 | 2002-09-24 | Innomedia Pte Ltd. | Device and system for sending datagrams in a real time streaming media communication system |
US7050422B2 (en) | 2001-02-20 | 2006-05-23 | Innomedia Pte, Ltd. | System and method for providing real time connectionless communication of media data through a firewall |
US7293108B2 (en) * | 2001-03-15 | 2007-11-06 | Intel Corporation | Generic external proxy |
US20030009561A1 (en) * | 2001-06-14 | 2003-01-09 | Sollee Patrick N. | Providing telephony services to terminals behind a firewall and /or network address translator |
AU2003234506A1 (en) * | 2002-05-06 | 2003-11-17 | Qualcomm Incorporated | System and method for registering ip address of wireless communication device |
-
2001
- 2001-04-17 US US09/837,449 patent/US7272650B2/en not_active Expired - Fee Related
-
2002
- 2002-03-07 TW TW091104261A patent/TW567699B/zh not_active IP Right Cessation
- 2002-04-12 AU AU2002307311A patent/AU2002307311A1/en not_active Abandoned
- 2002-04-12 GB GB0326644A patent/GB2392343B/en not_active Expired - Fee Related
- 2002-04-12 WO PCT/US2002/011756 patent/WO2002084974A2/en not_active Application Discontinuation
- 2002-04-12 DE DE10296660T patent/DE10296660B4/de not_active Expired - Fee Related
- 2002-04-12 CN CNB028083946A patent/CN100527750C/zh not_active Expired - Fee Related
-
2004
- 2004-06-25 HK HK04104566A patent/HK1061763A1/xx not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000033537A1 (en) * | 1998-12-03 | 2000-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for providing multiple endpoints in a device disposed in a packet-switched network |
Non-Patent Citations (1)
Title |
---|
Thernelius, F.: SIP, NAT, and Firewalls, Master's Thesis [online], May 2000 [recherchiert am 23.11.05] <URL:http://www.cs.columbia.edu/sip/ drafts/Ther0005_SIP.pdf> * |
Also Published As
Publication number | Publication date |
---|---|
DE10296660T5 (de) | 2004-04-22 |
AU2002307311A1 (en) | 2002-10-28 |
GB0326644D0 (en) | 2003-12-17 |
WO2002084974A2 (en) | 2002-10-24 |
HK1061763A1 (en) | 2004-09-30 |
US20020152325A1 (en) | 2002-10-17 |
GB2392343B (en) | 2004-12-01 |
US7272650B2 (en) | 2007-09-18 |
CN100527750C (zh) | 2009-08-12 |
WO2002084974A3 (en) | 2003-05-22 |
GB2392343A (en) | 2004-02-25 |
CN1623310A (zh) | 2005-06-01 |
TW567699B (en) | 2003-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10296660B4 (de) | Über Netzwerkadressübersetzungs(NAT) -Einrichtungen hinweg betreibbare Kommunikationsprotokolle | |
DE60224356T2 (de) | Adressenübersetzer, Verfahren und Vorrichtung zur Nachrichtenverarbeitung | |
DE60215117T2 (de) | Mehrbenutzeranwendungen in multimedia-netzwerken | |
DE60127276T2 (de) | Verfahren und vorrichtung zur erleichterung der peer-zu-peer anwendungskommunikation | |
DE602004007301T2 (de) | Adressierungs-verfahren und -vorrichtung zum aufbau von hip-verbindungen zwischen gewöhnlichen und hip-fähigen netzknoten | |
DE60113435T2 (de) | Audio-video-telefonie mit firewalls und netzwerkadressübersetzung | |
DE60131990T2 (de) | Vorrichtung und verfahren zur selektiven verschlüsselung von über ein netzwerk zu übertragenden multimediadaten | |
DE102007046627B4 (de) | Verfahren und Vorrichtung zum Organisieren von Internet-Kommunikationsvorgängen unter Nutzung einer dynamischen STUN-Infrastrukturkonfiguration | |
US7328280B2 (en) | Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends | |
DE60201827T2 (de) | Legales Abfangen für VOIP Anrufe in einem IP-Fernmeldenetz | |
DE602004010920T2 (de) | Verfahren zur Implementierung eines Multimediaprotokolls mit Durchlauf durch eine Netzwerkadressentransformations-Einrichtung | |
DE60210927T2 (de) | Verfahren und Vorrichtung zur Zulassung der Datenübertragung über Firewalls | |
DE102005062771A1 (de) | Multimedia-Konferenzsystem und -verfahren | |
US20080126528A1 (en) | PEER-TO-PEER (P2P) CONNECTION DESPITE NETWORK ADDRESS TRANSLATORS (NATs) AT BOTH ENDS | |
EP2193649B1 (de) | Verfahren und Vorrichtung zur Verbindung paketorientierter Kommunikationsendgeräte | |
DE10022431A1 (de) | Integriertes IP-Netzwerk | |
DE60316649T2 (de) | Konferenzanwendung die keinen bestimmten Verbindungsport verwendet | |
EP2245832A1 (de) | Verfahren zum authentisieren einer schlüsselinformation zwischen endpunkten einer kommunikationsbeziehung | |
DE102015004668A1 (de) | Aufgeteilte netzwerkadressenübersetzung | |
EP1643712A1 (de) | Vorrichtungen und Verfahren zum Führen von bidirektionellen Verbindungen über eine zwischengeschaltete Firewall mit Adresstransformationsgerät | |
DE60217752T2 (de) | Verfahren und Vorrichtung zur Netzwerkverbindung | |
DE102018208840A1 (de) | Ip-toleranz und signalzusammenarbeit | |
CN115001846A (zh) | 一种跨网数据传输的方法、隔离设备、装置及介质 | |
DE102005043239B4 (de) | Verfahren zum Aufbau und Verwalten einer Verbindung | |
EP1421766B1 (de) | Vorabaushandlung von nat-adressen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law |
Ref document number: 10296660 Country of ref document: DE Date of ref document: 20040422 Kind code of ref document: P |
|
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |