Abstract:
A private IP address is converted into a public IP address in a communications network without adapting a client software. The conversion of the private IP addresses into the public IP addresses is carried out via a network address translation. The private IP address of each terminal included in a payload of the IP data packet is convertible into a corresponding public IP address and, if necessary, vice-versa.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is the US National Stage of International Application No. PCT/EP2006/061542, filed Apr. 12, 2006 and claims the benefit thereof. The International Application claims the benefits of German application No. 102005020924.6 DE filed May 4, 2005, both of the applications are incorporated by reference herein in their entirety. 
     
    
     FIELD OF INVENTION 
       [0002]    The invention relates to a method and to a device for translating internet protocol addresses inside a communication network. 
       BACKGROUND OF INVENTION 
       [0003]    Methods of the type in question are nowadays used on a large scale for transmitting voice, audio, video and/or payload data beyond network boundaries, for example between internal and public data networks. When transmitting data via internet protocol networks (IP networks), problems repeatedly occur when an address translation takes place at a network boundary using Network Address Translation (NAT). NAT is of fundamental importance to internet technology for various reasons in this connection. Among other things, various types of access security in the form of a firewall as well as error tolerance and high availability are supported. Basic network administration functions are also simplified. 
         [0004]    Since the address space provided in the founding years of the internet will in the foreseeable future no longer be sufficient for the allocation of IP addresses, with the expansion of internal and highly complex data networks in particular demanding more and more IP addresses, NAT is primarily used to outwardly conceal the internally used IP addresses, however. This makes administration of internal networks easier on the one hand and reduces costs on the other since fewer public IP addresses that are subject to a cost have to be outwardly used than are required internally. A large number of terminals may thus be mapped in an internal network onto a single public IP address by varying the port address of the public IP address. 
         [0005]    With NAT, the IP header of an IP data packet is modified before the packet is sent. The internal IP address, including port number, is replaced by a public IP address with a different port number. A NAT host stores the assignment (mapping) of internal IP address to the public (external) IP address. If the NAT host accordingly receives an IP data packet, it maps the public (external) IP address to the internal IP address again. The NAT host is to be understood in this connection as meaning a computer that connects two networks together and on which corresponding software (NAT engine) handles the address translation. 
       SUMMARY OF INVENTION 
       [0006]    The translation of private IP addresses into public IP addresses is very complex and overtaxes many communication protocols. In connection with Voice over IP (VoIP) there is the additional problem of the NAT host only changing the IP header of each VoIP data packet by converting the private IP address of an internal client into the corresponding public IP address but not the VoIP protocol data required for correct delivery, in particular the private IP address in the payload part of the VoIP data packet. This means that the VoIP data packets of the external client cannot be delivered to the destination client. 
         [0007]    It has already been proposed to expand the software in the terminals (clients) so that the address translation can be carried out via the look-ahead mechanism by a NAT host while retaining existing NAT configurations (patent application EP 1421766 A1). The method presented therein requires a very complex adaptation of the client on the software side, however, which often overtaxes users in the home sector in particular. 
         [0008]    The object of the present invention is to provide a method that allows the translation of private IP addresses into public IP addresses in a communications network in as user-friendly a manner as possible and without the need to adapt the client software. 
         [0009]    A further object of the present invention is to provide a device for performing the inventive method. 
         [0010]    This object is achieved with respect to the method and to the device of the independent claims. 
         [0011]    Advantageous embodiments and developments are the subject matter of the dependent claims. 
         [0012]    An advantage of the present invention lies in the fact that the VoIP software on the clients does not have to be adapted for use in communications networks which are separated from pubic communications networks by a NAT host. A server system, for example a proxy server or preferably a gatekeeper, connected between private and public networks, assumes the functionality of the address translation of private IP addresses into public IP addresses. NAT addresses are thereby centrally negotiated in advance by this proxy server or gatekeeper in a VoIP network and the private IP addresses which are contained in the VoIP protocol data of each VoIP data packet are translated into the corresponding public IP addresses. Negotiation takes place via appropriate protocols, through the use of which the proxy server contacts a NAT name server, preferably a STUN (Simple Traversal of UDP over NATs) server. Moving the address translation to the intermediately connected server system means that it is no longer necessary to implement a NAT negotiation protocol on the clients; the clients thus remain unchanged. Translation of the IP addresses in the header of each VoIP data packet continues to be carried out by an explicit NAT host. 
         [0013]    A further advantage of the present invention lies in the fact that the use of VoIP applications is significantly simplified for users in communications networks which integrate public and private IP addresses and are therefore dependent on NAT. Previously, a complex and time-consuming configuration of the clients was necessary or specific software was required in order to be able to communicate by VoIP in NAT environments also, so until now VoIP products could only be configured by experienced users or technical personnel, while private users often found performing the configuration to be beyond their capabilities. Adapting the software is particularly complicated in what are known as “embedded systems” in which, in contrast to standalone systems such as PCs, new software can only be integrated with difficulty. The present invention represents a significant advantage in particular for “embedded systems” of this type. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]    The invention will be described in more detail hereinafter with reference to an exemplary embodiment and with reference to the accompanying drawing, in which: 
           [0015]      FIG. 1  shows address translation by NAT in a communications network. 
       
    
    
     DETAILED DESCRIPTION OF INVENTION 
       [0016]      FIG. 1  shows the inventive translation of private IP addresses into public IP addresses in a communications network consisting of two terminals (clients) C 1 , C 2 , a server system S, a proxy server (preferably a gatekeeper) PS, a NAT address server (preferably a STUN server) NA, and a NAT host NH. The communications network is divided into a private zone A and a public zone B, for example the public internet. The NAT host NH is located at the interface between the two communications networks A and B. According to the invention the proxy server PS is actively involved in the address translation by NAT. The sequence of steps in a VoIP session between two clients C 1  and C 2  with respect to the inventive address translation is described by way of example below. 
         [0017]    Client C 1  with private IP address 141.23.209.105 starts a connection setup for a VoIP session with client C 2  to which the IP address 192.178.63.4 is assigned. The connection request first of all reaches the proxy server PS in the form of a VoIP data packet via the private communications network A. The VoIP data packet comprises a header, which contains the IP address of the sender C 1 , and a payload part, which contains the VoIP protocol data. The VoIP protocol data contains both the IP address, including port details of the sender C 1  (141.23.209.105:1245) and the IP address of the receiver of client C 2  (192.178.63.4:1720). Since the payload part containing the VoIP protocol data remains untouched by the Nat host NH, the proxy server PS accordingly firstly translates the private IP address of the client C 1  (141.23.209.105:1245) into the correct public IP address (145.30.62.1:48324). For this purpose the proxy server PS contacts a NAT address server NA and transmits the private IP address of the client C 1 , including port details (141.23.209.105:1245). The NAT address server NA then sends the corresponding public IP address, including port details, for the client C 1  (145.30.62.1:48324) to the proxy server PS. The proxy server PS accordingly replaces the private IP address of client C 1  (141.23.209.105:1245) in the VoIP protocol data with the correct public IP address (145.30.62.1:48324) and sends the VoIP data packet V 2  onward to the NAT host NH. The NAT host NH accordingly replaces the private IP address of the sender C 1  (141.23.209.105:1245) in the header of the VoIP data packet with the correct public IP address (145.30.62.1:48324) and sends the VoIP data packet V 3  to the client C 2 . The client C 2  can accordingly extract the correct public address (145.30.62.1:48324) of the requesting client C 1  from the thus modified VoIP protocol data and in turn accordingly send an appropriate response in the form of a VoIP data packet V 4  back to the client C 1 . The header of the VoIP data packet V 4  contains the public IP address of the receiver C 1  (145.30.62.1:48324). The public address of C 1  (145.30.62.1:48324) is also entered in the VoIP protocol data of the VoIP data packet V 4  as the receiver. The VoIP data packet V 4  reaches the NAT host NH, which translates the public IP address of client C 1  (145.30.62.1:48324) into the correct private IP address (141.23.209.105:1245) and sends the thus modified VoIP data packet V 5  onward to client C 1 . Before the VoIP data packet V 5  reaches client C 1 , the VoIP protocol data is adapted by the proxy server PS in that it determines by means of a request to the NAT address server NA and with the aid of the public IP address of client C 1  (145.30.62.1:48324), the correct private IP address of client C 1  (141.23.209.105:1245) and translates the receiver address in VoIP protocol data accordingly into the correct private IP address of client C 1  (141.23.209.105:1245). The proxy server then sends the thus modified VoIP data packet onward to the client C 1 . A VoIP session is thus successfully initiated. A direct communications link can accordingly be established between clients C 1  and C 2  on the basis of suitable media protocols, for example RTP or RTCP. In media protocols such as RTP, IP addresses are transmitted solely in the header. The actual media protocol data does not contain IP addresses, so they do not have to be adapted either if during the subsequent course of the VoIP session media data is exchanged between clients C 1  and C 2  beyond NAT boundaries. 
         [0018]    In addition to the scenario illustrated above, as shown in  FIG. 1 , it is also conceivable for client C 2  to initiate a VoIP session. In this case it is merely necessary for client C 1  to know its public IP address and to communicate this to client C 2  in a suitable manner (for example by e-mail) to make it possible to establish a connection. The further course of establishing the VoIP session is analogous to the scenario described above. 
         [0019]    An expanded scenario is also conceivable in which client C 1  and client C 2  are each located in a private communications network that is separated from other communications networks by a NAT host in each case. In this case it is necessary for each of the two proxy servers involved to know the public IP address of the respective other proxy server and to communicate this in a suitable manner to the respective external client before the actual VoIP session is set up.