EP1924072A1 - Connection setup in a private IP network without contacting a public STUN server - Google Patents
Connection setup in a private IP network without contacting a public STUN server Download PDFInfo
- Publication number
- EP1924072A1 EP1924072A1 EP06023662A EP06023662A EP1924072A1 EP 1924072 A1 EP1924072 A1 EP 1924072A1 EP 06023662 A EP06023662 A EP 06023662A EP 06023662 A EP06023662 A EP 06023662A EP 1924072 A1 EP1924072 A1 EP 1924072A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- terminal
- address
- data network
- local
- www
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
- H04M7/0075—Details of addressing, directories or routing tables
-
- 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/2546—Arrangements for avoiding unnecessary translation
-
- 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/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- 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/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Definitions
- the invention relates to a method for setting up a packet-oriented communication connection according to the preamble of patent claim 1 and to a terminal for setting up a packet-oriented communication connection in a data network according to patent claim 7.
- Data networks are used not only for the transmission of electronic messages (e.g., e-mails), the transmission of Internet pages and other so-called “offline” content, but also for real-time communication links.
- the latter communication links mostly consist of data streams ("media streams"), which consist of a series of data packets, which are usually transmitted by means of the Internet protocol between terminals, servers or other network elements.
- the useful contents for example digitized audio signals, moving images, etc.
- IP datagrams data packets
- IP address communication address
- LAN local area network
- public data network usually the Internet.
- Commonly used communication protocols such as ITU-TH.323 or SIP (Session Initiation Protocol) are used for the construction and operation of such a packet-oriented communication connection.
- a terminal establishing the communication connection and the called remote site either another terminal or a network component, such as gateway, gatekeeper, server etc.
- protocol signaling messages exchanged, which prepare the subsequent exchange of the actual payload data (payload streams).
- Such a signaling message is referred to, for example, in the environment of the SIP protocol as an "Invite" message, that is, as an "invitation message”.
- Such a message includes in addition to the communication address (here: IP address) of the called terminal and a "sender address", ie the IP address of the calling terminal.
- the "sender address” is used both for addressing the signaling messages in the reverse direction, ie from the called terminal to the calling terminal, as well as for addressing all payload packets that are to be transmitted from the called terminal to the calling terminal.
- both terminals belong to the same address space.
- IP address can be used, which is permanently assigned to this terminal.
- Terminals that are arranged in local data networks eg company intranets, home networks, etc.
- IP address is usually not equipped with a globally valid Internet address (IP address).
- IPv4 the address space of the currently used version of the Internet Protocol
- IPv4 consists of only four bytes, with the result that the address space formed therewith (address supply) is insufficient to all computers and Network elements worldwide with their own, unique IP address equip.
- IP addresses which are only locally unique.
- Such private networks are connected to the public, global Internet with special network elements (routers, gateways). These network elements (gateway, router) are in turn with one or equipped with several globally valid and unique IP addresses, with the help of which they can be addressed from the Internet. Data packets that are transmitted from a local area network with local addresses via such a network element to a device on the Internet are converted in this network element with respect to the sender address.
- NAT Network Address Translation
- the described NAT method works simply and securely for such data packets in which the sender address is entered only in the so-called "header" of the IP data packets and therefore only has to be exchanged in the header of the NAT instance.
- the sender addresses are also coded in the so-called “higher protocol layers", which means that address information is also contained in the payload of the data packets, ie outside the "header” must be processed by the NAT process.
- the NAT instance used in each case must "know” the structure of the useful content of the data packets of the most diverse communication protocols, which leads to the NAT instance having to be very complicated. Such a method is thus complicated and thus maintenance-intensive and not reliable in every case.
- STUN server Simple Traversal of UDP Messages over NAT
- STUN servers are usually located outside the local data networks, for example, directly connected to the Internet and are often provided by Internet providers.
- a calling terminal which is located for example in a local data network, can by a Query message to the STUN server, the global Internet address (IP address) assigned to this terminal.
- IP address the global Internet address assigned to this terminal.
- IP address the address thus determined is often the IP address that would be used by the NAT entity in the query message data packet instead of the calling party's local IP address.
- the thus-obtained IP address can then be used by the calling terminal in the already mentioned "higher protocol layers" of the communication protocol used as a "sender address", so that a communication with a called terminal is easily possible even if this called terminal is arranged outside of its own local network.
- a problem with the described method is that in particular larger private data networks, although having a uniform "private" address space, but may consist of a variety of domains and sub-networks, so that a calling terminal in contacting a called terminal based on the IP Address of the called terminal can not distinguish whether this called terminal is part of its own private data network, so its own address space, or not.
- the described method which involves the contacting of the STUN server, is frequently made for all communication connections, although in many cases this is not necessary at all.
- many communication links are unnecessarily routed over the Internet, although in fact it is a communication link that could be fully handled in its own private network.
- this also means an increased security risk, because it can be assumed that the data packets routed via the Internet can be more easily “tapped” or manipulated than data packets transported "internally" in a private data network.
- the solution provides a method for establishing a packet-oriented communication connection from a first to a second terminal in a data network, wherein the data network consists of a local data network with local addresses of a local address space and an associated public data network with global addresses, the first Terminal is arranged in the local data network, and wherein the first terminal is associated with a local address for communication links within the local data network and a global address for communication links with terminals of the public data network.
- a test data packet is sent to the second terminal by the first terminal, the route of the test data packet being detected in the data network; in a second step, the first and second terminal are checked on the basis of the detected route are arranged in the same local address space, and in a third step, in cases where the result of the check is positive, the local address of the first terminal is used as the sender address for establishing the communication connection, and the global address in the other cases.
- communication links between terminals of a local address space are not routed unnecessarily over a public network, thereby saving resources, reducing costs and increasing data security.
- network elements such as routers and NAT instances need not be reprogrammed, so that the method can be used in common infrastructures.
- the solution also provides a terminal for establishing a packet-oriented communication connection in a data network before, with a device for sending a test data packet to a second terminal, with a means for detecting the passing of the test data packet route in the data network, with a means for evaluating the detected route, which can be determined by these means, whether the second terminal is arranged in the same address space as the first terminal, with a means for detecting a global address associated with the first terminal, and with a device for establishing the communication connection to the second terminal, this device being designed such that in the cases in which the second terminal is arranged in the same address space as the first terminal, a local address of the first terminal is used as the sender address, and in the other cases a detected global address of the first terminal.
- the use of such a terminal avoids the disadvantages of using STUN servers and other methods that generally use global addresses for communication links by providing a case-by-case decision to use global or local addresses.
- the terminal and thus also the method can be used in networks in which the participating terminals are not arranged in the same subnetwork or the same domain.
- Connections to terminals outside the local address space of the first terminal can be established easily and with conventional network technology, eg simple NAT instances, if, in or before the third step, at least in those cases where the result of the check is negative, that the first global address assigned by accessing a STUN server is determined.
- the number of hops during the transmission of the test data packet to the second terminal is detected and evaluated for the check.
- the number of hops of a further test data packet to the STUN server is then advantageously determined and compared with the number of hops of the test data packet to the second terminal. With an identical number of hops, it can be concluded that the called terminal and the STUN server are located in the same address space, ie the public network. In these cases, it is often possible to dispense with further analyzes of the first-mentioned test data packet.
- An optimized routing can be carried out if the check determines whether the second terminal and the STUN server are located in a data network with the same address space and, in the positive case, in the third step, the global address is used.
- a common use case is covered when the Internet is used as the public data network.
- the single figure shows a schematic representation terminals in a local and in a public data network.
- terminals E1, E2, E3 are shown in the local area network LAN and the public data network WWW.
- the local data network LAN is a widely branched data network of a company in these embodiments.
- the public data network WWW is the Internet in this embodiment; Of course, other data networks LAN, WWW be used.
- the local data network LAN is linked via a router R to the public data network WWW.
- IP addresses the respectively assigned communication addresses
- the IP address displayed at the router is the Internet address associated with the Internet-facing interface (not shown) of the router R; the router R can therefore be addressed via the IP address 246.154.17.3 from the public data network WWW. From the local data network LAN out the router R is also addressable; the associated IP address is not shown.
- Data packets which are routed from the terminals E1, E2 into the public data network WWW are received by the router R or the NAT instance with the "sender address" 246.154.17.3, ie the IP address of the NAT instance and of the router R , provided in their IP headers.
- the local data network LAN which is shown here for reasons of clarity only with the relevant network elements for this description, namely the terminals E1, E2 and the router R, is divided into different domains and sub-data networks, so that the terminals E1 and Although E2 belong to the same address space, there is no information in the terminals E1 and E2 as to which of the terminals E1, E2, E3 are arranged in the local area network LAN and which belong to another data network, for example the public data network WWW.
- an addressing server STUN (Simple Traversal of UDP messages over NAT), also called a STUN server, is arranged in the public data network.
- the STUN server has among other things a function, the communication connections, mostly Internet telephone calls according to the SIP standard, allowed between terminals E1, E2 in a local area network and terminals E3 in a public data network.
- the STUN server acts as a "switching station" for the user data streams, wherein the data packets of the user data streams are received by the STUN server in each case from a transmitting terminal and forwarded to the receiving terminal.
- this function should not be used for the communication links in this embodiment, because for reasons of data security and resource optimization and not least to minimize the maturity of the data packets, the user data streams and the signaling messages exchanged directly between the terminals E1, E2 and E3 should be.
- terminals E1, E2, E3 can determine by means of a query message to the STUN server under which globally valid IP address of this particular terminal E1, E2, E3 can be reached.
- a corresponding query message of the terminal E1 would answer the addressing server STUN (STUN server) in the present embodiment with a response message, which includes the IP address 246.154.17.3 together with an associated IP port number. Namely, this is the address which is assigned to the NRT instance installed by the router R or the NRT instance installed in the router R as those "sender addresses" transmitted from the local area network LAN to components and instances of the global data network WWW.
- An identical query message of the terminal E3 would answer the addressing server STUN with the IP address 194.221.5.4, because data packets of the terminal E3 are not "redirected" by a NAT instance, so that the network interface of the terminal E3 associated IP - Vietnamese 194.221.5.4 per se a valid Internet address shown.
- a first case example will be explained with reference to the figure, in which a real-time communication connection is to be established from the terminal E1 to the terminal E2. It is assumed that in the terminal E1 information about the communication address of the terminal E2, ie in this case the IP address 107.246.115.4, is present. If the IP address of the desired communication partner does not exist, such an address can be obtained by accessing a SIP proxy server, a directory server, a DNS server or the like. be learned; such a procedure corresponds to the state of the art.
- the terminal E1 Since in the terminal E1 there is no information as to whether the terminal E2 or the IP address of the terminal E2 belong to the same address space, ie the same local data network LAN as the terminal E1, the terminal E1 now sends a test message or a Test data packet to the IP address of the terminal E2. The course of this test data packet or the test message is recorded; This is also called “tracing".
- the passed network elements in particular routers, are registered and the number of necessary "hops" of the test message is determined on their way from the terminal E1 to the terminal E2.
- an analysis gives the traversed nodes for the test data packet Information about whether the address of the called terminal E2 belongs to the same private data network LAN.
- Such an analysis can also be used to determine whether the test data packet has been routed from the local data network LAN into a global data network WWW and from there back into the same local data network LAN. Even in such cases, a "direct communication" using only the locally valid IP addresses is possible and advantageous.
- the terminal E1 establishes a communication connection to the "external" terminal E3.
- the terminal can also be arranged in a third, local data network "behind" another NAT instance.
- the dispatch of a test data packet from the terminal E1 to the terminal E3 takes place, wherein an analysis of the course of the test data packet shows that the data packet has only passed through one "hop", namely the router R.
- the terminal E1 another data packet, namely a query message to determine the own "external" IP address to the addressing server STUN.
- the course of this second test message is also analyzed, and as a result a "hop" is also determined via the router R.
- This analysis can be performed either by the terminal E1 itself or by an external entity.
- SNMP Simple Network Management Protocol
- Such a service can not only analyze the history of data packets (test messages), but also often has detailed information about the topology of the "own” network, its domain structure and "own” address space, so that an analysis of the The test data packet passing through network elements (eg routers) directly information about it can give whether the achieved goal of the test data packet, namely the terminal E2, is an "external" terminal or not.
- the addressing server STUN sends to the terminal E1 a response message comprising the "externally visible" IP address and IP port number of the terminal E1; the IP address is identical to the "external” IP address of the router R, namely 246.154.17.3.
- the terminal E1 Based on the knowledge that the called terminal E3 is located outside of its own address space, the terminal E1 now uses its "externally visible" IP address 246.154.17.3 in the higher protocol layers of the SIP protocol, in particular as "sender address", which originates from the terminal E3 is to be used for response messages and for the user E3 from the terminal E3 to the terminal E1 useful data stream.
- the IP headers of the data packets which are sent from the terminal E1 to the terminal E3 initially carry the locally valid IP address of the terminal E1 as the "sender address", namely 107.246.124.3.
- This "sender address" in the IP header is first replaced by the router R or the NAT instance of the router R by the "external" IP address 246.154.17.3.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren zum Aufbau einer paketorientierten Kommunikationsverbindung gemäß dem Oberbegriff des Patentanspruchs 1 und ein Endgerät zum Aufbau einer paketorientierten Kommunikationsverbindung in einem Datennetzwerk gemäß Patentanspruch 7.The invention relates to a method for setting up a packet-oriented communication connection according to the preamble of patent claim 1 and to a terminal for setting up a packet-oriented communication connection in a data network according to patent claim 7.
Datennetze werden nicht nur für die Übertragung elektronischer Nachrichten (z.B. E-Mails), der Übertragung von Internet-Seiten und anderen sog. "Offline"-Inhalten verwendet, sondern auch für Echtzeit-Kommunikationsverbindungen. Die letztgenannten Kommunikationsverbindungen bestehen zumeist aus Datenströmen ("Media-Streams"), die aus einer Reihe von Datenpaketen bestehen, die zumeist mittels des Internet-Protokolls zwischen Endgeräten, Servern oder anderen Netzelementen übertragen werden. Ein bekanntes Beispiel für solche datenstrom-orientierten Kommunikationsverbindungen sind Internet-Telefonate, die sog. VoIP-Verbindungen (VoIP = Voice Over Internet Protocol). Dabei werden die Nutzinhalte (beispielsweise digitalisierte Audio-Signale, Bewegtbilder etc.) in Datenpakete (IP-Datagramme) eingefügt, mit einer Kommunikationsadresse (IP-Adresse) des Empfänger-Gerätes versehen und dann mittels eines lokalen Datennetzes (LAN = Local Area Network) oder mit einem öffentlichen Datennetz (meist das Internet) übertragen.Data networks are used not only for the transmission of electronic messages (e.g., e-mails), the transmission of Internet pages and other so-called "offline" content, but also for real-time communication links. The latter communication links mostly consist of data streams ("media streams"), which consist of a series of data packets, which are usually transmitted by means of the Internet protocol between terminals, servers or other network elements. A well-known example of such data stream-oriented communication links are Internet telephone calls, the so-called VoIP connections (VoIP = Voice Over Internet Protocol). In this case, the useful contents (for example digitized audio signals, moving images, etc.) are inserted in data packets (IP datagrams), provided with a communication address (IP address) of the receiver device and then by means of a local area network (LAN). or with a public data network (usually the Internet).
Für den Aufbau und Ablauf einer solchen paketorientierten Kommunikationsverbindung werden in der Regel gebräuchliche Kommunikationsprotokolle wie ITU-T-H.323 oder SIP (Session Initiation Protocol) verwendet. Dabei werden zwischen einem die Kommunikationsverbindung etablierenden Endgerät und der gerufenen Gegenstelle (entweder ein weiteres Endgerät oder eine Netzkomponente, wie z.B. Gateway, Gatekeeper, Server etc.) protokollgemäß Signalisierungsmeldungen ausgetauscht, die den nachfolgenden Austausch der eigentlichen Nutzdatenverbindung (Nutzdatenströme) vorbereiten. Eine solche Signalisierungsmeldung wird beispielsweise im Umfeld des SIP-Protokolls als "Invite"-Meldung, also als "Einladungs-Meldung" bezeichnet. Eine solche Meldung umfasst neben der Kommunikationsadresse (hier: IP-Adresse) des gerufenen Endgerätes auch eine "Absender-Adresse", also die IP-Adresse des rufenden Endgerätes. Die "Absender-Adresse" wird sowohl zur Adressierung der Signalisierungsmeldungen in umgekehrter Richtung, also von dem gerufenen Endgerät zu dem rufenden Endgerät, als auch für die Adressierung aller Nutzdaten-Pakete verwendet, die von dem gerufenen Endgerät zu dem rufenden Endgerät übertragen werden sollen.Commonly used communication protocols such as ITU-TH.323 or SIP (Session Initiation Protocol) are used for the construction and operation of such a packet-oriented communication connection. In this case, between a terminal establishing the communication connection and the called remote site (either another terminal or a network component, such as gateway, gatekeeper, server etc.) according to protocol signaling messages exchanged, which prepare the subsequent exchange of the actual payload data (payload streams). Such a signaling message is referred to, for example, in the environment of the SIP protocol as an "Invite" message, that is, as an "invitation message". Such a message includes in addition to the communication address (here: IP address) of the called terminal and a "sender address", ie the IP address of the calling terminal. The "sender address" is used both for addressing the signaling messages in the reverse direction, ie from the called terminal to the calling terminal, as well as for addressing all payload packets that are to be transmitted from the called terminal to the calling terminal.
In den Fällen, in denen sowohl das gerufene Endgerät als auch das gerufene Endgerät entweder beide in demselben lokalen Datennetzwerk oder beide in demselben globalen Datennetzwerk (beispielsweise das Internet) angeordnet sind, gehören beide Endgeräte demselben Adressraum an. In diesen Fällen kann sowohl für das gerufene Endgerät als auch für das rufende Endgerät für die Zwecke des Aufbaus der Kommunikationsverbindung jeweils diejenige IP-Adresse verwendet werden, die diesem Endgerät jeweils fest zugeordnet ist. Endgeräte, die in lokalen Datennetzwerken (z.B. Firmen-Intranets, Heim-Netzwerken etc.) angeordnet sind, sind meist nicht mit einer global gültigen Internet-Adresse (IP-Adresse) ausgestattet. Ein Grund dafür ist derjenige, dass der Adressraum der derzeit gebräuchlichen Version des Internet-Protokolls ("IPv4") nur aus vier Byte besteht, was zur Folge hat, dass der damit gebildete Adressraum (Adressen-Vorrat) nicht ausreicht, um alle Computer und Netzelemente weltweit mit einer eigenen, eindeutigen IP-Adresse auszustatten. Aus diesem Grund werden Geräte privater Kommunikationsnetze oder Datennetze mit IP-Adressen adressiert, welche nur lokal eindeutig sind. Solche privaten Netze sind mit speziellen Netzelementen (Routern, Gateways) mit dem öffentlichen, globalen Internet verbunden. Diese Netzelemente (Gateway, Router) wiederum sind mit einer oder mehreren global gültigen und eindeutigen IP-Adressen ausgestattet, mit deren Hilfe sie aus dem Internet heraus adressiert werden können. Datenpakete, die von einem lokalen Datennetz mit lokalen Adressen über ein solches Netzelement zu einem Gerät im Internet übertragen werden, werden in diesem Netzelement bezüglich der Absender-Adresse umgesetzt. Ein solches Verfahren ist das bekannte NAT-Verfahren (NAT = Network Address Translation), welches in den betroffenen Datenpaketen die lokal gültige Absender-Adresse durch eine global gültige Internet-Adresse ersetzt und die in Gegenrichtung aus dem Internet eintreffenden Datenpakete mit der lokalen IP-Adresse des betroffenen Computers oder Endgerätes adressiert und somit an den richtigen lokalen Endpunkt weiterleitet.In the cases where both the called terminal and the called terminal are both located on the same local data network or both are on the same global data network (eg the Internet), both terminals belong to the same address space. In these cases, for each of the called terminal as well as for the calling terminal for the purposes of establishing the communication link that IP address can be used, which is permanently assigned to this terminal. Terminals that are arranged in local data networks (eg company intranets, home networks, etc.) are usually not equipped with a globally valid Internet address (IP address). One reason for this is that the address space of the currently used version of the Internet Protocol ("IPv4") consists of only four bytes, with the result that the address space formed therewith (address supply) is insufficient to all computers and Network elements worldwide with their own, unique IP address equip. For this reason, devices of private communication networks or data networks are addressed with IP addresses, which are only locally unique. Such private networks are connected to the public, global Internet with special network elements (routers, gateways). These network elements (gateway, router) are in turn with one or equipped with several globally valid and unique IP addresses, with the help of which they can be addressed from the Internet. Data packets that are transmitted from a local area network with local addresses via such a network element to a device on the Internet are converted in this network element with respect to the sender address. Such a method is the known NAT method (NAT = Network Address Translation), which replaces the locally valid sender address in the affected data packets by a globally valid Internet address and the incoming in the opposite direction from the Internet data packets with the local IP Address of the affected computer or terminal addressed and thus forwarded to the correct local endpoint.
Das beschriebene NAT-Verfahren funktioniert einfach und sicher für solche Datenpakte, in denen die Absender-Adresse nur im sog. "Header" der IP-Datenpakete eingetragen ist und damit auch nur im Header von der NAT-Instanz ausgetauscht werden muss. Bei vielen Kommunikationsprotokollen wie dem bereits erwähnten SIP-Protokoll sind die Absender-Adressen aber auch in den sog. "höheren Protokollschichten" codiert, was bedeutet, dass auch im Nutzinhalt der Datenpakete, also außerhalb des "Headers", Adressangaben enthalten sind, die ebenfalls durch den NAT-Process bearbeitet werden müssen. Das bedeutet jedoch, dass die jeweils verwendete NAT-Instanz den Aufbau des Nutzinhalts der Datenpakete verschiedenster Kommunikationsprotokolle "kennen" muss, was dazu führt, dass die NAT-Instanz sehr aufwendig gestaltet sein muss. Ein solches Verfahren ist somit aufwendig und damit auch wartungsintensiv und nicht in jedem Fall betriebssicher.The described NAT method works simply and securely for such data packets in which the sender address is entered only in the so-called "header" of the IP data packets and therefore only has to be exchanged in the header of the NAT instance. In many communication protocols, such as the already mentioned SIP protocol, the sender addresses are also coded in the so-called "higher protocol layers", which means that address information is also contained in the payload of the data packets, ie outside the "header" must be processed by the NAT process. However, this means that the NAT instance used in each case must "know" the structure of the useful content of the data packets of the most diverse communication protocols, which leads to the NAT instance having to be very complicated. Such a method is thus complicated and thus maintenance-intensive and not reliable in every case.
Eine Lösung dieses Problems besteht in dem Einsatz sog. STUN-Server (STUN = Simple Traversal of UDP Messages over NAT). STUN-Server sind üblicherweise außerhalb der lokalen Datennetze angeordnet, also beispielsweise direkt an das Internet angeschlossen und werden häufig von Internet-Providern bereitgestellt. Ein rufendes Endgerät, welches sich beispielsweise in einem lokalen Datennetzwerk befindet, kann durch eine Abfragenachricht an den STUN-Server die diesem Endgerät zugeordnete globale Internet-Adresse (IP-Adresse) in Erfahrung bringen. Bei der Verwendung einer NAT-Instanz ist die so ermittelte Adresse oft diejenige IP-Adresse, die durch die NAT-Instanz in das Datenpaket der Abfragemeldung anstelle der lokalen IP-Adresse des rufenden Endgerätes eingesetzt würde. Die so in Erfahrung gebrachte IP-Adresse kann von dem rufenden Endgerät dann in den bereits erwähnten "höheren Protokollschichten" des verwendeten Kommunikationsprotokolls als "Absenderadresse" verwendet werden, so dass eine Kommunikation mit einem gerufenen Endgerät auch dann problemlos möglich ist, wenn dieses gerufene Endgerät außerhalb des eigenen lokalen Netzes angeordnet ist.A solution to this problem is the use of the so-called STUN server (Simple Traversal of UDP Messages over NAT). STUN servers are usually located outside the local data networks, for example, directly connected to the Internet and are often provided by Internet providers. A calling terminal, which is located for example in a local data network, can by a Query message to the STUN server, the global Internet address (IP address) assigned to this terminal. When using a NAT instance, the address thus determined is often the IP address that would be used by the NAT entity in the query message data packet instead of the calling party's local IP address. The thus-obtained IP address can then be used by the calling terminal in the already mentioned "higher protocol layers" of the communication protocol used as a "sender address", so that a communication with a called terminal is easily possible even if this called terminal is arranged outside of its own local network.
Ein Problem bei dem geschilderten Verfahren besteht darin, dass insbesondere größere private Datennetze zwar einen einheitlichen "privaten" Adressraum aufweisen, jedoch aus einer Vielzahl von Domänen und Sub-Netzen bestehen können, so dass ein rufendes Endgerät bei der Kontaktierung eines gerufenen Endgerätes anhand der IP-Adresse des gerufenen Endgerätes nicht unterscheiden kann, ob dieses gerufene Endgerät Bestandteil des eigenen privaten Datennetzes, also des eigenen Adressraums, ist, oder nicht. Aus diesem Grund wird häufig für alle Kommunikationsverbindungen das geschilderte Verfahren, welches die Kontaktierung des STUN-Servers beinhaltet, vorgenommen, obwohl das in vielen Fällen überhaupt nicht nötig ist. Somit werden viele Kommunikationsverbindungen unnötig über das Internet geroutet, obwohl es sich de facto um eine Kommunikationsverbindung handelt, die im eigenen, privaten Netz vollständig abgewickelt werden könnte. Neben einer unnötigen Belegung von Ressourcen bedeutet dies auch ein erhöhtes Sicherheitsrisiko, weil davon auszugehen ist, dass die über das Internet gerouteten Datenpakete leichter "abgehört" oder manipuliert werden können, als "intern" in einem privaten Datennetz transportierte Datenpakete.A problem with the described method is that in particular larger private data networks, although having a uniform "private" address space, but may consist of a variety of domains and sub-networks, so that a calling terminal in contacting a called terminal based on the IP Address of the called terminal can not distinguish whether this called terminal is part of its own private data network, so its own address space, or not. For this reason, the described method, which involves the contacting of the STUN server, is frequently made for all communication connections, although in many cases this is not necessary at all. Thus, many communication links are unnecessarily routed over the Internet, although in fact it is a communication link that could be fully handled in its own private network. In addition to an unnecessary allocation of resources, this also means an increased security risk, because it can be assumed that the data packets routed via the Internet can be more easily "tapped" or manipulated than data packets transported "internally" in a private data network.
Es ist also eine Aufgabe der vorliegenden Erfindung, Kommunikationsverbindungen lokaler Endgeräte zu anderen Endgeräten zu optimieren.It is therefore an object of the present invention to optimize communication links of local terminals to other terminals.
Die Lösung dieser Aufgabe ist in den unabhängigen Patentansprüchen angegeben.The solution to this problem is specified in the independent claims.
Die Lösung sieht dabei ein Verfahren zum Aufbau einer paketorientierten Kommunikationsverbindung von einem ersten zu einem zweiten Endgerät in einem Datennetzwerk vor, wobei das Datennetzwerk aus einem lokalen Datennetzwerk mit lokalen Adressen eines lokalen Adressraums und einem damit verbundenen öffentlichen Datennetz mit globalen Adressen besteht, wobei das erste Endgerät im lokalen Datennetzwerk angeordnet ist, und wobei dem ersten Endgerät eine lokale Adresse für Kommunikationsverbindungen innerhalb des lokalen Datennetzwerks und eine globale Adresse für Kommunikationsverbindungen mit Endgeräten des öffentlichen Datennetzwerks zugeordnet sind. Dabei wird in einem ersten Schritt durch das erste Endgerät ein Test-Datenpaket zu dem zweiten Endgerät versendet, wobei die Route des Test-Datenpaketes im Datennetzwerk erfasst wird, in einem zweiten Schritt wird anhand der erfassten Route überprüft, ob das erste und das zweite Endgerät in demselben lokalen Adressraum angeordnet sind, und in einem dritten Schritt wird in den Fällen, in denen das Ergebnis der Überprüfung positiv ist, für den Aufbau der Kommunikationsverbindung die lokale Adresse des ersten Endgerätes als Absenderadresse verwendet, und in den anderen Fällen die globale Adresse. Dadurch werden Kommunikationsverbindungen zwischen Endgeräten eines lokalen Adressraums nicht unnötig über ein öffentliches Netzwerk geroutet, wodurch Ressourcen eingespart, Kosten gesenkt und die Datensicherheit erhöht wird. Dabei brauchen Netzelemente wie Router und NAT-Instanzen nicht umprogrammiert werden, so dass das Verfahren in gebräuchlichen Infrastrukturen einsetzbar ist.The solution provides a method for establishing a packet-oriented communication connection from a first to a second terminal in a data network, wherein the data network consists of a local data network with local addresses of a local address space and an associated public data network with global addresses, the first Terminal is arranged in the local data network, and wherein the first terminal is associated with a local address for communication links within the local data network and a global address for communication links with terminals of the public data network. In this case, in a first step, a test data packet is sent to the second terminal by the first terminal, the route of the test data packet being detected in the data network; in a second step, the first and second terminal are checked on the basis of the detected route are arranged in the same local address space, and in a third step, in cases where the result of the check is positive, the local address of the first terminal is used as the sender address for establishing the communication connection, and the global address in the other cases. As a result, communication links between terminals of a local address space are not routed unnecessarily over a public network, thereby saving resources, reducing costs and increasing data security. In this case, network elements such as routers and NAT instances need not be reprogrammed, so that the method can be used in common infrastructures.
Die Lösung sieht außerdem ein Endgerät zum Aufbau einer paketorientierten Kommunikationsverbindung in einem Datennetzwerk vor, mit einer Einrichtung zum Versenden eines Test-Datenpaketes zu einem zweiten Endgerät, mit einem Mittel zur Erfassung der von dem Test-Datenpaket durchlaufenden Route in dem Datennetzwerk, mit einem Mittel zur Auswertung der erfassten Route, wobei durch diese Mittel feststellbar ist, ob das zweite Endgerät in demselben Adressraum wie das erste Endgerät angeordnet ist, mit einem Mittel zur Erfassung einer dem ersten Endgerät zugeordneten globalen Adresse, und mit einer Einrichtung zum Aufbau der Kommunikationsverbindung zu dem zweiten Endgerät, wobei diese Einrichtung derart ausgestaltet ist, dass in den Fällen, in denen das zweite Endgerät in demselben Adressraum angeordnet ist wie das erste Endgerät, eine lokale Adresse des ersten Endgerätes als Absenderadresse verwendet wird, und in den anderen Fällen eine erfasste globale Adresse des ersten Endgerätes. Durch den Einsatz eines solchen Endgerätes werden die Nachteile beim Einsatz von STUN-Servern und anderer Verfahren, die das grundsätzliche verwenden globaler Adressen für Kommunikationsverbindungen vorsehen, vermieden, indem eine fallweise Entscheidung die Verwendung globaler oder lokaler Adressen vorgesehen werden kann. Dabei ist das Endgerät und damit auch das Verfahren auch in Netzwerken einsetzbar, in denen die beteiligten Endgeräte nicht in demselben Subnetzwerk oder derselben Domäne angeordnet sind.The solution also provides a terminal for establishing a packet-oriented communication connection in a data network before, with a device for sending a test data packet to a second terminal, with a means for detecting the passing of the test data packet route in the data network, with a means for evaluating the detected route, which can be determined by these means, whether the second terminal is arranged in the same address space as the first terminal, with a means for detecting a global address associated with the first terminal, and with a device for establishing the communication connection to the second terminal, this device being designed such that in the cases in which the second terminal is arranged in the same address space as the first terminal, a local address of the first terminal is used as the sender address, and in the other cases a detected global address of the first terminal. The use of such a terminal avoids the disadvantages of using STUN servers and other methods that generally use global addresses for communication links by providing a case-by-case decision to use global or local addresses. In this case, the terminal and thus also the method can be used in networks in which the participating terminals are not arranged in the same subnetwork or the same domain.
Vorteilhafte Ausgestaltungen des Verfahrens sind in den abhängigen Patentansprüchen angegeben. Die für das Verfahren beschriebenen Merkmale und Vorteile sind sinngemäß auch auf das erfindungsgemäße Endgerät anzuwenden, und umgekehrt.Advantageous embodiments of the method are specified in the dependent claims. The features and advantages described for the method are mutatis mutandis to apply to the terminal according to the invention, and vice versa.
Verbindungen zu Endgeräten außerhalb des lokalen Adressraums des ersten Endgerätes können einfach und mit gebräuchlicher Netztechnik, z.B. einfachen NAT-Instanzen, etabliert werden, wenn in dem oder vor dem dritten Schritt zumindest in den Fällen, in denen das Ergebnis der Überprüfung negativ ist, die dem ersten Endgerät zugeordnete globale Adresse durch Zugriff auf einen STUN-Server ermittelt wird.Connections to terminals outside the local address space of the first terminal can be established easily and with conventional network technology, eg simple NAT instances, if, in or before the third step, at least in those cases where the result of the check is negative, that the first global address assigned by accessing a STUN server is determined.
In vielen Fällen reicht es aus, wenn für die Überprüfung die Anzahl der Hops bei der Übertragung des Test-Datenpaketes zu dem zweiten Endgerät erfasst und ausgewertet wird. Für die Überprüfung wird dann vorteilhaft die Anzahl der Hops eines weiteren Test-Datenpaketes zu dem STUN-Server ermittelt und mit der Anzahl der Hops des Test-Datenpaketes zu dem zweiten Endgerät verglichen. Bei einer identischen Anzahl der Hops kann darauf geschlossen werden, dass sich das gerufene Endgerät und der STUN-Server in demselben Adressraum, also dem öffentlichen Netzwerk, befinden. In diesen Fällen kann oft auf weitere Analysen des erstgenannten Test-Datenpaketes verzichtet werden.In many cases it is sufficient if the number of hops during the transmission of the test data packet to the second terminal is detected and evaluated for the check. For the check, the number of hops of a further test data packet to the STUN server is then advantageously determined and compared with the number of hops of the test data packet to the second terminal. With an identical number of hops, it can be concluded that the called terminal and the STUN server are located in the same address space, ie the public network. In these cases, it is often possible to dispense with further analyzes of the first-mentioned test data packet.
Ein optimiertes Routing kann durchgeführt werden, wenn durch die Überprüfung festgestellt wird, ob sich das zweite Endgerät und der STUN-Server in einem Datennetz mit demselben Adressraum befinden und im positiven Fall im dritten Schritt die globale Adresse verwendet wird. Ein häufiger Anwendungsfall wird dabei abgedeckt, wenn als das öffentliche Datennetzwerk das Internet verwendet wird.An optimized routing can be carried out if the check determines whether the second terminal and the STUN server are located in a data network with the same address space and, in the positive case, in the third step, the global address is used. A common use case is covered when the Internet is used as the public data network.
Ausführungsbeispiele des erfindungsgemäßen Verfahrens werden nachfolgend anhand der Zeichnung erläutert. Sie dienen gleichzeitig der Erläuterung von Ausführungsbeispielen für erfindungsgemäße Endgeräte.Embodiments of the method according to the invention are explained below with reference to the drawing. At the same time, they serve to explain exemplary embodiments of terminals according to the invention.
Dabei zeigt die einzige Figur in schematischer Darstellung Endgeräte in einem lokalen und in einem öffentlichen Datennetz.The single figure shows a schematic representation terminals in a local and in a public data network.
In der Figur sind Endgeräte E1, E2, E3 in dem lokalen Datennetz LAN und dem öffentlichen Datennetz WWW dargestellt. Das lokale Datennetz LAN ist in diesen Ausführungsbeispielen ein weit verzweigtes Datennetz eines Unternehmens. Das öffentliche Datennetz WWW ist in diesem Ausführungsbeispiel das Internet; selbstverständlich können auch andere Datennetze LAN, WWW verwendet werden. Das lokale Datennetz LAN ist über einen Router R mit dem öffentlichen Datennetz WWW verknüpft.In the figure, terminals E1, E2, E3 are shown in the local area network LAN and the public data network WWW. The local data network LAN is a widely branched data network of a company in these embodiments. The public data network WWW is the Internet in this embodiment; Of course, other data networks LAN, WWW be used. The local data network LAN is linked via a router R to the public data network WWW.
Zu den Endgeräten E1, E2, E3 sind die jeweils zugeordneten Kommunikationsadressen (hier: IP-Adressen) dargestellt. Die bei dem Router dargestellte IP-Adresse ist diejenige Internet-Adresse, die dem Internet-seitigen Interface (nicht dargestellt) des Routers R zugeordnet ist; der Router R ist also über die IP-Adresse 246.154.17.3 aus dem öffentlichen Datennetz WWW heraus adressierbar. Aus dem lokalen Datennetz LAN heraus ist der Router R ebenfalls adressierbar; die zugehörige IP-Adresse ist nicht dargestellt. Der Router R ist mit einer NAT-Instanz ("NAT-Sever") ausgestattet, der der Adressumsetzung ("Network Address Translation") bzw. der Port-Umsetzung (PAT = Port Address Translation) dient. Datenpakete, die von den Endgeräten E1, E2 in das öffentliche Datennetz WWW geroutet werden, werden von dem Router R bzw. der NAT-Instanz mit der "Absenderadresse" 246.154.17.3, also der IP-Adresse der NAT-Instanz und des Routers R, in ihrem IP-Header versehen.To the terminals E1, E2, E3, the respectively assigned communication addresses (here: IP addresses) are shown. The IP address displayed at the router is the Internet address associated with the Internet-facing interface (not shown) of the router R; the router R can therefore be addressed via the IP address 246.154.17.3 from the public data network WWW. From the local data network LAN out the router R is also addressable; the associated IP address is not shown. The router R is equipped with a NAT instance ("NAT server"), which serves the address translation ("Network Address Translation") or the port conversion (PAT = Port Address Translation). Data packets which are routed from the terminals E1, E2 into the public data network WWW are received by the router R or the NAT instance with the "sender address" 246.154.17.3, ie the IP address of the NAT instance and of the router R , provided in their IP headers.
Das lokale Datennetz LAN, welches hier aus Gründen der Übersichtlichkeit nur mit den für diese Beschreibung relevanten Netzelementen, nämlich den Endgeräten E1, E2 und dem Router R, dargestellt ist, ist in verschiedene Domänen und Teil-Datennetze unterteilt, so dass die Endgeräte E1 und E2 zwar demselben Adressraum angehören, aber in den Endgeräten E1 und E2 keine Informationen darüber vorliegen, welche der Endgeräte E1, E2, E3 in dem lokalen Datennetz LAN angeordnet sind, und welche einem anderen Datennetz, beispielsweise dem öffentlichen Datennetz WWW, angehören.The local data network LAN, which is shown here for reasons of clarity only with the relevant network elements for this description, namely the terminals E1, E2 and the router R, is divided into different domains and sub-data networks, so that the terminals E1 and Although E2 belong to the same address space, there is no information in the terminals E1 and E2 as to which of the terminals E1, E2, E3 are arranged in the local area network LAN and which belong to another data network, for example the public data network WWW.
Neben dem Endgerät E3 ist in dem öffentlichen Datennetz auch ein Adressierungs-Server STUN (Simple Traversal of UDP messages over NAT), auch STUN-Server genannt, angeordnet.In addition to the terminal E3, an addressing server STUN (Simple Traversal of UDP messages over NAT), also called a STUN server, is arranged in the public data network.
Der STUN-Server weist unter anderem eine Funktion auf, die Kommunikationsverbindungen, meist Internet-Telefonate gemäß dem SIP-Standard, zwischen Endgeräten E1, E2 in einem lokalen Datennetz und Endgeräten E3 in einem öffentlichen Datennetz gestattet. Dabei fungiert der STUN-Server als "Vermittlungs-Station" für die Nutzdatenströme, wobei die Datenpakete der Nutzdatenströme durch den STUN-Server jeweils von einem sendenden Endgerät empfangen und an das empfangende Endgerät weitergeleitet werden. Diese Funktion soll jedoch für die Kommunikationsverbindungen in diesem Ausführungsbeispiel nicht verwendet werden, weil aus Gründen der Datensicherheit und der Ressourcen-Optimierung und nicht zuletzt auch zur Minimierung der Laufzeiten der Datenpakete die Nutzdatenströme und auch die Signalisierungsmeldungen direkt zwischen den Endgeräten E1, E2 und E3 ausgetauscht werden sollen. Das in der RFC3489 (RFC = Request for Comment) beschriebene Verfahren soll also nicht verwendet werden.The STUN server has among other things a function, the communication connections, mostly Internet telephone calls according to the SIP standard, allowed between terminals E1, E2 in a local area network and terminals E3 in a public data network. In this case, the STUN server acts as a "switching station" for the user data streams, wherein the data packets of the user data streams are received by the STUN server in each case from a transmitting terminal and forwarded to the receiving terminal. However, this function should not be used for the communication links in this embodiment, because for reasons of data security and resource optimization and not least to minimize the maturity of the data packets, the user data streams and the signaling messages exchanged directly between the terminals E1, E2 and E3 should be. The procedure described in RFC3489 (RFC = Request for Comment) should therefore not be used.
Eine weitere, hier genutzte Funktion der STUN-Server besteht darin, dass Endgeräte E1, E2, E3 mittels einer Abfragenachricht an den STUN-Server ermitteln können, unter welcher global gültigen IP-Adresse dieses jeweilige Endgerät E1, E2, E3 erreicht werden kann. Eine entsprechende Abfragenachricht des Endgerätes E1 würde der Adressierungs-Server STUN (STUN-Server) im vorliegenden Ausführungsbeispiel mit einer Antwortnachricht beantworten, welche die IP-Adresse 246.154.17.3 zusammen mit einer zugeordneten IP-Port-Nummer umfasst. Dies ist nämlich die Adresse, die den von dem Router R bzw. der in dem Router R installierten NRT-Instanz denjenigen Datenpaketen als "Absenderadresse" zugeordnet wird, die aus dem lokalen Datennetz LAN heraus zu Komponenten und Instanzen des globalen Datennetzes WWW übertragen werden. Eine gleichlautende Abfragenachricht des Endgerätes E3 würde der Adressierungs-Server STUN mit der IP-Adresse 194.221.5.4 beantworten, weil Datenpakete des Endgerätes E3 nicht durch eine NAT-Instanz "umadressiert" werden, so dass die dem Netzwerk-Interface des Endgerätes E3 zugeordnete IP-Adresse 194.221.5.4 per se eine gültige Internet-Adresse dargestellt.Another function of the STUN server used here is that terminals E1, E2, E3 can determine by means of a query message to the STUN server under which globally valid IP address of this particular terminal E1, E2, E3 can be reached. A corresponding query message of the terminal E1 would answer the addressing server STUN (STUN server) in the present embodiment with a response message, which includes the IP address 246.154.17.3 together with an associated IP port number. Namely, this is the address which is assigned to the NRT instance installed by the router R or the NRT instance installed in the router R as those "sender addresses" transmitted from the local area network LAN to components and instances of the global data network WWW. An identical query message of the terminal E3 would answer the addressing server STUN with the IP address 194.221.5.4, because data packets of the terminal E3 are not "redirected" by a NAT instance, so that the network interface of the terminal E3 associated IP -Adresse 194.221.5.4 per se a valid Internet address shown.
Im Folgenden wird anhand der Figur ein erstes Fallbeispiel erläutert, bei dem von dem Endgerät E1 zu dem Endgerät E2 eine Echtzeit-Kommunikationsverbindung aufgebaut werden soll. Dabei wird vorausgesetzt, dass in dem Endgerät E1 eine Information über die Kommunikationsadresse des Endgerätes E2, also in diesem Fall die IP-Adresse 107.246.115.4, vorliegt. Bei Nicht-Vorliegen der IP-Adresse des gewünschten Kommunikationspartners kann eine solche Adresse durch Zugriff auf einen SIP-Proxy-Server, einen Directory-Server, einen DNS-Server o.ä. in Erfahrung gebracht werden; ein solches Vorgehen entspricht dem Stand der Technik. Da in dem Endgerät E1 keine Informationen darüber vorliegen, ob das Endgerät E2 bzw. die IP-Adresse des Endgerätes E2 zu demselben Adressraum, also zu demselben lokalen Datennetz LAN, gehört wie das Endgerät E1, versendet nun das Endgerät E1 eine Testnachricht bzw. ein Test-Datenpaket zu der IP-Adresse des Endgerätes E2. Der Verlauf dieses Test-Datenpaketes bzw. der Test-Nachricht wird dabei aufgezeichnet; man spricht dabei auch vom "Tracing". Dabei werden durch entsprechende Netzwerk-Diagnosemittel, die dem Stand der Technik entsprechen, die durchlaufenen Netzelemente, insbesondere Router, registriert, sowie die Anzahl der notwendigen "Hops" der Testnachricht auf ihrem Weg von dem Endgerät E1 zu dem Endgerät E2 ermittelt.In the following, a first case example will be explained with reference to the figure, in which a real-time communication connection is to be established from the terminal E1 to the terminal E2. It is assumed that in the terminal E1 information about the communication address of the terminal E2, ie in this case the IP address 107.246.115.4, is present. If the IP address of the desired communication partner does not exist, such an address can be obtained by accessing a SIP proxy server, a directory server, a DNS server or the like. be learned; such a procedure corresponds to the state of the art. Since in the terminal E1 there is no information as to whether the terminal E2 or the IP address of the terminal E2 belong to the same address space, ie the same local data network LAN as the terminal E1, the terminal E1 now sends a test message or a Test data packet to the IP address of the terminal E2. The course of this test data packet or the test message is recorded; This is also called "tracing". In this case, by means of corresponding network diagnostic means which correspond to the state of the art, the passed network elements, in particular routers, are registered and the number of necessary "hops" of the test message is determined on their way from the terminal E1 to the terminal E2.
Die Analyse des versendeten Test-Datenpaketes bzw. dessen "Weg" ergibt, dass kein "Hop" zurückgelegt wurde, dass also kein Router verwendet wurde. Damit ist für das Endgerät E1 erwiesen, dass das Endgerät E2 im gleichen (lokalen) Adressraum angeordnet ist, wodurch die "eigene" IP-Adresse des Endgerätes E1, nämlich die 107.246.124.3, nicht nur im Header der an das Endgerät E2 versendeten Datenpakete (hier speziell der SIP-Invite-Message), sondern auch in den "höheren Protokollschichten" der Kommunikation (hier: SIP-Kommunikation) verwendet werden kann. Dabei können auch Fälle eintreten, in denen die Anzahl der "Hops" ungleich Null ist, obwohl sich beide betroffenen Endgeräte E1, E2 in demselben privaten, lokalen Datennetz LAN befinden. In solchen Fällen gibt eine Analyse der durchlaufenen Netzknoten für das Test-Datenpaket Aufschluss darüber, ob die Adresse des gerufenen Endgerätes E2 zu demselben privaten Datennetz LAN gehört. Durch solch eine Analyse kann auch ermittelt werden, ob das Test-Datenpaket aus dem lokalen Datennetz LAN in ein globales Datennetz WWW und von dort aus wieder zurück in dasselbe lokale Datennetz LAN geroutet wurde. Auch in solchen Fällen ist eine "Direkt-Kommunikation" unter ausschließlicher Verwendung der lokal gültigen IP-Adressen möglich und vorteilhaft.The analysis of the sent test data packet or its "path" shows that no "hop" was covered, so that no router was used. Thus it has been proved for the terminal E1 that the terminal E2 is arranged in the same (local) address space, whereby the "own" IP address of the terminal E1, namely the 107.246.124.3, not only in the header of the data packets sent to the terminal E2 (here in particular the SIP Invite message), but also in the "higher protocol layers" of the communication (here: SIP communication) can be used. In this case, cases may occur in which the number of "hops" is not equal to zero, although both affected terminals E1, E2 are in the same private, local data network LAN. In such cases, an analysis gives the traversed nodes for the test data packet Information about whether the address of the called terminal E2 belongs to the same private data network LAN. Such an analysis can also be used to determine whether the test data packet has been routed from the local data network LAN into a global data network WWW and from there back into the same local data network LAN. Even in such cases, a "direct communication" using only the locally valid IP addresses is possible and advantageous.
Im Folgenden wird der Fall betrachtet, dass das Endgerät E1 eine Kommunikationsverbindung zu dem "externen" Endgerät E3 aufbaut. Abweichend vom figürlich dargestellten Fall kann das Endgerät auch in einem dritten, lokalen Datennetz "hinter" einer weiteren NAT-Instanz angeordnet sein. Auch hier findet nun der Versand eines Test-Datenpaketes von dem Endgerät E1 zum Endgerät E3 statt, wobei eine Analyse des Verlaufes des Test-Datenpaketes ergibt, dass das Datenpaket nur einen "Hop", nämlich den Router R, durchlaufen hat. Nun versendet das Endgerät E1 ein weiteres Datenpaket, nämlich eine Abfragemeldung zur Ermittlung der eigenen "externen" IP-Adresse zu dem Adressierungs-Server STUN. Auch der Verlauf dieser zweiten Test-Nachricht wird analysiert, wobei ebenfalls als Ergebnis ein "Hop" über den Router R ermittelt wird. Damit ist für das Endgerät E1 erwiesen, dass sich der Adressierungs-Server STUN und das Endgerät E3 in demselben Datennetz WWW befinden.In the following, the case is considered that the terminal E1 establishes a communication connection to the "external" terminal E3. Deviating from the case shown in the figure, the terminal can also be arranged in a third, local data network "behind" another NAT instance. Here, too, the dispatch of a test data packet from the terminal E1 to the terminal E3 takes place, wherein an analysis of the course of the test data packet shows that the data packet has only passed through one "hop", namely the router R. Now sends the terminal E1 another data packet, namely a query message to determine the own "external" IP address to the addressing server STUN. The course of this second test message is also analyzed, and as a result a "hop" is also determined via the router R. Thus it has been proved for the terminal E1 that the addressing server STUN and the terminal E3 are located in the same data network WWW.
Diese Analyse kann, genau wie die zuvor stehend beschrieben Analysen, entweder durch das Endgerät E1 selbst, oder durch eine externe Instanz durchgeführt werden. Insbesondere bietet sich der Einsatz eines entsprechend ausgestatteten SNMP-Servers (SNMP = Simple Network Management Protocol) an. Ein solcher Dienst kann nicht nur den Verlauf von Datenpaketen (Test-Nachrichten) analysieren, sondern besitzt oft auch eine detaillierte Information über die Topologie des "eigenen" Netzwerkes, dessen Domänen-Struktur und den "eigenen" Adressraum, so dass eine Analyse der von dem Test-Datenpaket durchlaufenden Netzelemente (z.B. Router) direkt Aufschluss darüber geben kann, ob das erreichte Ziel des Test-Datenpaketes, nämlich das Endgerät E2, ein "externes" Endgerät ist, oder nicht.This analysis, like the analyzes described above, can be performed either by the terminal E1 itself or by an external entity. In particular, the use of a suitably equipped SNMP server (SNMP = Simple Network Management Protocol) offers. Such a service can not only analyze the history of data packets (test messages), but also often has detailed information about the topology of the "own" network, its domain structure and "own" address space, so that an analysis of the The test data packet passing through network elements (eg routers) directly information about it can give whether the achieved goal of the test data packet, namely the terminal E2, is an "external" terminal or not.
Aufgrund der Abfragenachricht übersendet der Adressierungs-Server STUN zu dem Endgerät E1 eine Antwortnachricht, die die "extern sichtbare" IP-Adresse und IP-Portnummer des Endgerätes E1 umfasst; die IP-Adresse ist dabei identisch mit der "externen" IP-Adresse des Routers R, nämlich 246.154.17.3. Aus der Erkenntnis heraus, dass sich das berufene Endgerät E3 außerhalb des eigenen Adressraumes befindet, verwendet das Endgerät E1 nun seine "externen sichtbare" IP-Adresse 246.154.17.3 in den höheren Protokollschichten des SIP-Protokolls, insbesondere als "Absenderadresse", die von dem Endgerät E3 für Antwortnachrichten und für den vom Endgerät E3 zum Endgerät E1 zu richtenden Nutzdatenstrom verwendet werden soll. Die IP-Header der Datenpakete, die von dem Endgerät E1 zum Endgerät E3 versendet werden, tragen jedoch als "Absenderadresse" zunächst die lokal gültige IP-Adresse des Endgerätes E1, nämlich 107.246.124.3. Diese "Absenderadresse" im IP-Header wird erst durch den Router R bzw. die NAT-Instanz des Routers R durch die "externe" IP-Adresse 246.154.17.3 ersetzt.Based on the query message, the addressing server STUN sends to the terminal E1 a response message comprising the "externally visible" IP address and IP port number of the terminal E1; the IP address is identical to the "external" IP address of the router R, namely 246.154.17.3. Based on the knowledge that the called terminal E3 is located outside of its own address space, the terminal E1 now uses its "externally visible" IP address 246.154.17.3 in the higher protocol layers of the SIP protocol, in particular as "sender address", which originates from the terminal E3 is to be used for response messages and for the user E3 from the terminal E3 to the terminal E1 useful data stream. However, the IP headers of the data packets which are sent from the terminal E1 to the terminal E3, initially carry the locally valid IP address of the terminal E1 as the "sender address", namely 107.246.124.3. This "sender address" in the IP header is first replaced by the router R or the NAT instance of the router R by the "external" IP address 246.154.17.3.
Claims (7)
wobei das Datennetzwerk (LAN, WWW) aus einem lokalen Datennetzwerk (LAN, WWW) mit lokalen Adressen eines lokalen Adressraums und einem damit verbundenen öffentlichen Datennetz (WWW) mit globalen Adressen besteht,
wobei das erste Endgerät (E1) im lokalen Datennetzwerk (LAN) angeordnet ist und
wobei dem ersten Endgerät (E1) eine lokale Adresse (107.246.124.3) für Kommunikationsverbindungen innerhalb des lokalen Datennetzwerks (LAN) und eine globale Adresse (246.154.17.3) für Kommunikationsverbindungen mit Endgeräten (E3) des öffentlichen Datennetzwerks (WWW) zugeordnet sind,
dadurch gekennzeichnet, dass
wherein the data network (LAN, WWW) consists of a local data network (LAN, WWW) with local addresses of a local address space and an associated public data network (WWW) with global addresses,
wherein the first terminal (E1) is arranged in the local area network (LAN) and
wherein the first terminal (E1) is assigned a local address (107.246.124.3) for communication connections within the local data network (LAN) and a global address (246.154.17.3) for communication connections with terminals (E3) of the public data network (WWW),
characterized in that
dadurch gekennzeichnet, dass
in dem oder vor dem dritten Schritt zumindest in den Fällen, in denen das Ergebnis der Überprüfung negativ ist, die dem ersten Endgerät (E1) zugeordnete globale Adresse (246.154.17.3) durch Zugriff auf einen STUN-Server (STUN) ermittelt wird.Method according to claim 1,
characterized in that
in or before the third step, at least in those cases where the result of the check is negative, the global address (246.154.17.3) associated with the first terminal (E1) is determined by accessing a STUN server (STUN).
dadurch gekennzeichnet, dass
für die Überprüfung die Anzahl der Hops bei der Übertragung des Test-Datenpaketes zu dem zweiten Endgerät (E2, E3) erfasst und ausgewertet wird.Method according to one of the preceding claims,
characterized in that
the number of hops during the transmission of the test data packet to the second terminal (E2, E3) is detected and evaluated for the check.
sofern rückbezogen auf Patentanspruch 2,
dadurch gekennzeichnet, dass
für die Überprüfung die Anzahl der Hops eines weiteren Test-Datenpaketes zu dem STUN-Server (STUN) ermittelt und
mit der Anzahl der Hops des Test-Datenpaketes zu dem zweiten Endgerät (E2, E3) verglichen wird.Method according to claim 3,
if dependent on claim 2,
characterized in that
for verification purposes, the number of hops of another test data packet to the STUN server (STUN) is determined and
is compared with the number of hops of the test data packet to the second terminal (E2, E3).
dadurch gekennzeichnet, dass
durch die Überprüfung festgestellt wird, ob sich das zweite Endgerät (E2, E3) und der STUN-Server (STUN) in einem Datennetz (LAN, WWW) mit demselben Adressraum befinden und im positiven Fall im dritten Schritt die globale Adresse (246.154.17.3) verwendet wird.Method according to claim 4,
characterized in that
the check determines whether the second terminal (E2, E3) and the STUN server (STUN) are located in a data network (LAN, WWW) with the same address space and in the positive case in the third step the global address (246.154.17.3 ) is used.
dadurch gekennzeichnet, dass
als das öffentliche Datennetzwerk (WWW) das Internet verwendet wird.Method according to one of the preceding claims,
characterized in that
as the public data network (WWW) the Internet is used.
gekennzeichnet durch
marked by
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06023662A EP1924072A1 (en) | 2006-11-14 | 2006-11-14 | Connection setup in a private IP network without contacting a public STUN server |
US11/983,863 US20080137544A1 (en) | 2006-11-14 | 2007-11-13 | Method and terminal for setting up a packet-oriented communication link |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06023662A EP1924072A1 (en) | 2006-11-14 | 2006-11-14 | Connection setup in a private IP network without contacting a public STUN server |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1924072A1 true EP1924072A1 (en) | 2008-05-21 |
Family
ID=37882152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06023662A Withdrawn EP1924072A1 (en) | 2006-11-14 | 2006-11-14 | Connection setup in a private IP network without contacting a public STUN server |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080137544A1 (en) |
EP (1) | EP1924072A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9699030B1 (en) * | 2014-06-26 | 2017-07-04 | Juniper Networks, Inc. | Overlay tunnel and underlay path correlation |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005046182A1 (en) * | 2003-11-08 | 2005-05-19 | Marconi Uk Intellectual Property Limited | Call set-up systems |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7200658B2 (en) * | 2002-11-12 | 2007-04-03 | Movielink, Llc | Network geo-location system |
US7302496B1 (en) * | 2002-11-12 | 2007-11-27 | Cisco Technology, Inc. | Arrangement for discovering a localized IP address realm between two endpoints |
-
2006
- 2006-11-14 EP EP06023662A patent/EP1924072A1/en not_active Withdrawn
-
2007
- 2007-11-13 US US11/983,863 patent/US20080137544A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005046182A1 (en) * | 2003-11-08 | 2005-05-19 | Marconi Uk Intellectual Property Limited | Call set-up systems |
Non-Patent Citations (4)
Title |
---|
AOUN S SEN NORTEL NETWORKS C: "Identifying intra-realm calls and Avoiding media tromboning", IETF STANDARD-WORKING-DRAFT, INTERNET ENGINEERING TASK FORCE, IETF, CH, 1 January 1900 (1900-01-01), XP015000106, ISSN: 0000-0004 * |
KHLIFI H ET AL: "VoIP and NAT/firewalls: issues, traversal techniques, and a real-world solution", IEEE COMMUNICATIONS MAGAZINE IEEE USA, vol. 44, no. 7, July 2006 (2006-07-01), pages 93 - 99, XP002429657, ISSN: 0163-6804 * |
ROSENBERG DYNAMICSOFT G CAMARILLO ERICSSON J: "Examples of Network Address Translation (NAT) and Firewall Traversal for the Session Initiation Protocol (SIP)", IETF STANDARD-WORKING-DRAFT, INTERNET ENGINEERING TASK FORCE, IETF, CH, no. 3, 19 July 2004 (2004-07-19), XP015034712, ISSN: 0000-0004 * |
ROSENBERG DYNAMICSOFT J: "Interactive Connectivity Establishment (ICE): A Methodology for Network Address Translator (NAT) Traversal for the Session Initiation Protocol (SIP) draft-rosenberg-sipping-ice-01", IETF STANDARD-WORKING-DRAFT, INTERNET ENGINEERING TASK FORCE, IETF, CH, no. 1, 30 June 2003 (2003-06-30), XP015005078, ISSN: 0000-0004 * |
Also Published As
Publication number | Publication date |
---|---|
US20080137544A1 (en) | 2008-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60210927T2 (en) | Method and device for authorizing data transmission via firewalls | |
DE602004010920T2 (en) | Method for implementing a multimedia protocol with a pass through a network address transformation device | |
DE10353925B4 (en) | Procedure for exchanging data between two hosts | |
EP2193649B1 (en) | Method and device for connecting packet-oriented communication terminals | |
DE102015004668B4 (en) | DIVISIONAL NETWORK ADDRESS TRANSLATION | |
DE102005062771A1 (en) | Multimedia conference system and procedure | |
DE102005020098A1 (en) | Systems and methods for collecting and issuing subscriber identification data | |
DE60217752T2 (en) | Method and device for network connection | |
EP1282280A1 (en) | Method, control device and program module for controlling and guiding of data streams of a communication connection between two participants of a packet data network | |
DE102005035733A1 (en) | Method for data exchange between network elements | |
DE102005020924A1 (en) | Method and device for implementing Internet Protocol addresses within a communication network | |
EP1623559B1 (en) | Method for data exchange between network elements in networks with differing address ranges | |
EP2036313B1 (en) | Method for managing communication connections by network address translating (nat) network nodes | |
EP1430693B1 (en) | Method and device for implementation of a firewall application for communication data | |
EP1924072A1 (en) | Connection setup in a private IP network without contacting a public STUN server | |
EP3614642B1 (en) | Method for setting up a stream, method for providing stream identification information, use of a name service server, device, computer program and computer readable medium | |
EP2108229B1 (en) | Method and communication arrangement for transporting multimedia data between ip terminals in a local area network for a wan | |
EP2279603B1 (en) | Apparatus and method for renegotiating a multimedia connection as well as associated communication system, digital storage medium, computer program product and computer program | |
DE10250201B4 (en) | Method and device for exchanging data by means of a tunnel connection | |
DE10345017A1 (en) | Gateway and method for linking a packet-based IP network to a switched or PSTN network in which the gateway first queries a receiving terminal to determine if it is IP enabled and if so uses IP tunneling | |
EP3959850B1 (en) | Method for providing connection set-up data, and arrangement having a plurality of communication servers and a mediator | |
EP2649751B1 (en) | Method and system for monitoring a communication system | |
DE10061128A1 (en) | Method for carrying out surveillance measures in telecommunications and data networks with, for example, IP protocol (Internet protocol) | |
EP1522183B1 (en) | Method for converting addresses in packet networks and control element for communications networks | |
EP1383295B1 (en) | Method for mapping addresses in packet networks and address translation device for communication networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR MK RS |
|
17P | Request for examination filed |
Effective date: 20081118 |
|
17Q | First examination report despatched |
Effective date: 20081217 |
|
AKX | Designation fees paid |
Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20090828 |