Abstract:
An address translation device comprising extraction unit for extracting, from data received via a first network, a fixed identifier indicating a transmission source of the data, storage unit for storing the fixed identifier and an address, in a second network, of the transmission source indicated by this fixed identifier by relating the fixed identifier and the address each other, reading unit for reading the address, in the second network, stored on the storage unit related to the fixed identifier extracted by the extraction unit, and replacing unit for replacing the address in the second network read by the reading unit with the source address of the data.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    The present invention relates to a packet translation device for translating a packet and sending it.  
           [0002]    There has hitherto been an IPv4-IPv6 translation device for translating an IPv4 (Internet Protocol Version 4) packet into an IPv6 (Internet Protocol Version 6) packet. There is no compatibility between the IPv4 packet and the IPv6 packet. Hence, on the occasion that an IPv4 terminal and an IPv6 terminal perform communications, the device (the IPv4-IPv6 translation device) for mutually translating the IPv4 packet and the IPv6 packet is required be somewhere on a packet forwarding route between the two terminals. Address translation methods in this type of IPv4-IPv6 translation device are disclosed by way of RFC2766, RFC2765, RFC3142(which are Non-Patent documents 1, 2, 3, respectively) by, for example, IETF (Internet Engineering Task Force). Further, Patent document 1 is given as an example of this type of IPv4-IPv6 translation device. RFC2766 will hereinafter be explained by way of an example of the conventional address translation method.  
           [0003]    [0003]FIG. 18 is a view illustrating a communication system between the IPv6 terminal and the IPv4 terminal by use of an RFC2766 (NAT-PT) system. The system shown in FIG. 18 includes a terminal device P 2  connected to and corresponding to an IPv6 network P 1 , a server P 4  connected to and corresponding to an IPv4 network P 3 , and an IPv4-IPv6 translation device P 5  interposed between the IPv6 network P 1  and the IPv4 network P 3  and connected to both of the networks.  
           [0004]    In the IPv6 network P 1 , an IP address containing a network prefix (ex:“FEDC:BA00::/32”) allocated to an IPv6 network sided interface of the IPv4-IPv6 translation device P 5 , undergoes routing (is routed) by the IPv4-IPv6 translation device P 5 . Similarly, in the IPv4 network P 3 , an IP address containing a network prefix (ex:“120.130.26.xx”) allocated to an IPv4 network sided interface of the IPv4-IPv6 translation device P 5 , undergoes routing by the IPv4-IPv6 translation device P 5 .  
           [0005]    Operations of the system including the IPv4-IPv6 translation device P 5  will hereinafter be described. To start with, an operation on the occasion that the terminal device P 2  transmits a packet to the server P 4 , will be explained. The terminal device P 2 , on the occasion of transmitting the packet to the server P 4 , generates a destination address (DA) (ex:“FEDC:BA00::132.146.243.30”) by use of the network prefix (ex:“FEDC:BA00::/32”) of the IPv6 network P 1  and the IPv4 address (ex:“132.146.243.30”) of the server P 4 . Further, the terminal device P 2  uses its own IPv6 address as a source address (SA) (ex:“FEDC:BA98::7654:3210”). The terminal device P 2  assembles an IPv6 packet by use of these destination address and source address and transmits this packet.  
           [0006]    The IPv4-IPv6 translation device P 5 , upon receiving the IPv6 packet from the terminal device P 2 , reads an IPv4 address (ex:“120.130.26.1”) out of an IPv4 address pool provided by itself. Then, the IPv4-IPv6 translation device P 5  temporarily assigns the readout IPv4 address to the terminal device P 2 . The IPv4-IPv6 translation device P 5  records, in a translation table P 6 , this IPv4 address and the source address (i.e., the IPv6 address of the terminal device P 2 ) of the received packet in a way that makes them mapping to each other.  
           [0007]    Next, the IPv4-IPv6 translation device P 5  executes an IPv6/IPv4 header translation. Namely, the IPv4-IPv6 translation device P 5  rewrites a header (an IPv6 header) of the received IPv6 packet into a header (an IPv4 header) of the IPv4 packet. At this time, the IPv4-IPv6 translation device P 5 , with respect to the destination address, generates the IPv4 header (ex:“132.146.243.30”) by deleting the network prefix. Further, the IPv4-IPv6 translation device P 5 , with respect to the source address, generates the IPv4 header (ex:“120.130.26.1”) by use of the IPv4 address recorded in the translation table P 6 . The IPv4-IPv6 translation device P 5  forwards, to the IPv4 network P 3 , the packet in which the IPv6/IPv4 header translation has been effected.  
           [0008]    Next, an operation on the occasion the server P 4  sends the packet back to the terminal device P 2  will be explained. The server P 4 , on the occasion of transmitting the packet to the terminal device P 2 , sets, as a destination address, the IPv4 address temporarily assigned to the terminal device P 2  by the IPv4-IPv6 translation device P 5 . Furthermore, the server P 4  uses its own IPv4 address as a source address.  
           [0009]    The IPv4-IPv6 translation device P 5 , upon receiving the IPv4 packet from the server P 4 , executes the IPv4/IPv6 header translation. Namely, the IPv4-IPv6 translation device P 5  rewrites the IPv4 header of the received packet into the IPv6 header. At this time, the IPv4-IPv6 translation device P 5 , with respect to the destination address, generates the IPv6 header by use of the IPv6 address recorded mapping (corresponding) to the destination address of the IPv4 header in the translation table P 6 . Further, the IPv4-IPv6 translation device P 5 , with respect to the source address, generates the IPv6 header by adding the network prefix of the IPv6 network P 1  to the source address of the IPv4 header. The IPv4-IPv6 translation device P 5  forwards, to the IPv6 network P 1 , the packet in which the IPv4/IPv6 header translation has been effected.  
           [0010]    On the other hand, a mobile IP has been considered as a technology for performing seamless communications on a network configured by connecting a variety of access networks to the Internet. The mobile IPs are disclosed by way of RFC2002 (Non-Patent document 4) according to IPv4 and by way of Internet draft “draft-ietf-mobileip-ipv6-19.txt” (Non-Patent document 5) according to IPv6 by the IETF.  
           [0011]    [0011]FIG. 19 is a view showing a conventional function of the mobile IPv6. In the system shown in FIG. 19, a MN (Mobile Node) P 8 , a HA (Home Agent) P 9  and a CN (correspondent Node) P 10  are connected to an IPv6 network P 7 . According to the mobile IPv6, a home address (HoA) (ex:“1234::5678”) is assigned beforehand to the MN P 8  moving across the IPv6 network P 7 . The MN P 8  obtains a care-of address (CoA) (ex:“FEDC::3210”) used in a destination to which it will move, and sends a registration message (Binding Update: BU) to the HA P 9  as a mobile management agent. The registration message contains the home address and the care-of address of the MN P 8 . Then, the HA P 9  caches a binding cache P 11  for a fixed period of time with the home address and the care-of address contained in the received registration in a way that makes them mapping to each other.  
           [0012]    The CN P 10 , in the case of transmitting the packet to the MN P 8 , designates the home address of the MN P 8  as a destination address. When this type of packet is forwarded to the IPv6 network P 7 , the HA P 9  intercepts (receives) this packet. The HA P 9  reads the care-of address mapping to the destination address (i.e., the home address of the MN P 8 ) of the intercepted packet from the binding cache P 11  provided by itself. The HA P 9  encapsulates the received packet, wherein the readout care-of address is set as a destination address and the self-device address is set as a source address. Then, the HA P 9  forwards the encapsulated packet to the IPv6 network.  
           [0013]    The MN P 8  receives the encapsulated packet. Then, the MN P 8  decapsulates the received packet, thereby acquiring the packet forwarded from the CN P 10 . At this time, the MN P 8  judges that the destination address and the source address are the home address of the MN P 8  and the address of the CN P 10 , respectively. These two values remain fixed irrespective of where the MN P 8  moves. Accordingly, even when the care-of address of the MN P 8  changes due to a movement of the MN P 8 , the application of the MN P 8  does not judge that a session is interrupted (the source address or the destination address in the communications is translated), whereby the seamless communications become possible.  
           [0014]    The MN P 8 , in the case of transmitting the packet to the CN P 10 , uses the address of the CN P 10  as the destination address, and uses the care-of address assigned to itself as the source address. At this time, the MN P 8  stores the home address of itself in a home address option field as an address option of the IPv6 header of this packet. The CN P 10 , in case the received packet contains the home address option, judges from the address indicated by this home address option that the packet has arrived.  
           [0015]    At this time, the application of the CN P 10  judges that the destination address and the source address are the address of the CN P 10  and the home address of the MN P 8 , respectively. These two values remain fixed irrespective of where the MN P 8  moves. Accordingly, even when the care-of address of the MN P 8  changes due to a movement of the MN P 8 , the application of the CN P 10  does not judge that a session is interrupted (the source address or the destination address in the communications is translated), whereby the seamless communications become possible.  
           [0016]    [Patent document 1] 
           [0017]    Japanese Patent Application Laid-Open Publication No.2001-274845  
           [0018]    [Non-Patent document 1] 
           [0019]    “Network Address Translation-Protocol Translation—Protocol Translation (NAT-PT)”, InternetURL:http://www.ietf.org/rfc/rfc2766.txt?number=2766  
           [0020]    [Non-Patent document 2] 
           [0021]    “Stateless IP/ICMP Translation Algorithm (SIIT)”, InternetURL:http://www.ietf.org/rfc/rfc2765.txt?numbe r=2765  
           [0022]    [Non-Patent document 3] 
           [0023]    “An IPv6-to-IPv4 Transport Relay Translator”, InternetURL:http://www.ietf.org/rfc/rfc3142.txt?numbe r=3142  
           [0024]    [Non-Patent document 4] 
           [0025]    “IP Mobility Support”, InternetURL:http://www.ietf.org.rfc/rfc2002.txt?numbe r=2002  
           [0026]    [Non-Patent document 5] 
           [0027]    “Mobility support in IPv6&lt;draft-ietf-mobileip-ipv6-19.txt&gt;”, InternetURL:http://ietf.org/internet-draft-ietf-mobileip-ipv6-19.txt  
         SUMMARY OF THE INVENTION  
         [0028]    In case a MN P 8  using mobile IPv6 performs communications with, for example, an IPv4 host (.e.g., a server P 4  in FIG. 18), however, the following problem arises. In this case, a packet communicated between the MN P 8  and the IPv4 host is through an IPv4-IPv6 translation device (for instance, an IPv4-Ipv6 translation device P 5  in FIG. 18). Therefore, on the occasion that the MN P 8  transmits the packet to the IPv4 host, the IPv4-IPv6 translation device assigns a temporary IPv4 address to the MN P 8 , stores its mapping relationship in a translation table (for example, a translation table P 6  in FIG. 18). At this time, the IPv4-IPv6 translation device uses a source address indicated in a header of the received IPv6 packet, i.e., a care-of address of the MN P 8  as an IPv6 address to be recorded in the translation table.  
           [0029]    In a case where the care-of address changes as the MN P 8  moves, there changes the source address in the header of the IPv6 packet to be transmitted to the IPv4 host by the MN P 8 . Therefore, the IPv4-IPv6 translation device judges that a session based on the present care-of address is a session different from a session based on a care-of address before being changed. Accordingly, the IPv4-IPv6 translation device assigns afresh a temporary IPv4 address with respect to the care-of address after being changed and records it in the translation table. Hence, the IPv4 host judges that the session with the MN P 8  is interrupted because of a change of the IPv4 address (the source address of the packet forwarded by the IPv4-IPv6 translation device) pertaining to the communication party (MN P 8 ).  
           [0030]    Such being the case, the invention aims at solving such a problem and providing an address translation device enabling, in case one terminal device (for instance, an IPv6 terminal) has a mobility function of mobile IPv6, etc. in an information communication network such as an IP network, etc., even on such an occasion that an address (e.g., a care-of address) of one terminal device changes, a continuation of communications with the other terminal device (viz., enabling seamless communications).  
           [0031]    To solve the problems, the invention takes the following architectures. A first mode of the invention is an address translation device comprising, extraction unit extracting, from data received via a first network, a fixed identifier indicating a transmission source of the data, storage unit storing the fixed identifier and an address, in a second network, of the transmission source indicated by this fixed identifier by relating the fixed identifier and an address each other (in a way that makes them mapping to each other), reading unit reading the address, in the second network, stored on the storage unit in a way that makes it mapping to the fixed identifier extracted by the extraction unit, and  
           [0032]    replacing unit replacing the in-the-second-network address read by the reading unit with the source address of the data.  
           [0033]    According to the first mode of the invention, the extraction unit extracts, from the date received via the first network, the fixed identifier indicating the transmission source of the data. This type of first network is exemplified by an IPv6 network, etc. Further, this type of fixed identifier is, for example, an identifier that remains unchanged even when the terminal device moves, etc. as the home address in mobile IPv6 does, and is exemplified such as a telephone number, URL (Uniform Resource Locator), etc. assigned to the terminal device.  
           [0034]    The storage unit is stored with the fixed identifier and the in-the-second-network address of the transmission source indicated by this fixed identifier in a way that makes them mapping to each other. This type of second network is exemplified by an IPv4 network, etc. In this case, the address stored becomes an IPv4 address.  
           [0035]    The reading unit reads the address stored on the storage unit in a way that makes it mapping to the fixed identifier extracted by the extraction unit. Then, the replacing unit replaces the address read by the reading unit with the source address of the data as the processing object.  
           [0036]    Therefore, even in case the address assigned to the transmission source of a certain piece of data is changed, with respect to the data sent from the same transmission source, the transmission source is distinguished by the fixed identifier, and the same source address is added to the data. Accordingly, the transmission destination of the data is capable of receiving the data to which the source address having the same value irrespective of the change in the address assigned to the transmission source of the data is added. Hence, a judgment of “interruption” by which the change of the transmission destination is accompanied, is avoided, so that seamless communications between the transmission destination and the transmission source of the data can be performed.  
           [0037]    Moreover, the first mode of the invention may take an architecture further comprising identifier extraction unit extracting a variable address of a terminal device connected to the first network and the fixed identifier from the data received via the first network, identifier storage unit storing the variable address and the fixed identifier extracted by the identifier extraction unit in a way that makes them mapping to each other, variable address acquisition unit acquiring, from the storage unit and from the identifier storage unit, the variable address mapping to a destination address of the data addressed to the terminal device, which contains, as a destination address, the in-the-second-network address received via the second network, and rewrite unit rewriting the destination address of the received data into the variable address acquired by the variable address acquisition unit.  
           [0038]    A second mode of the invention is a packet translation device, interposed between an IPv6 (Internet Protocol version 6) network and an IPv4 (Internet Protocol version 4) network, for mutually translating an IPv4 packet and an IPv6 packet, comprising extraction unit extracting, from the IPv6 packet, a fixed identifier indicating a transmission source of this IPv6 packet, storage unit storing the fixed identifier and an IPv4 address assigned to this transmission source in a way that makes them mapping to each other, reading unit reading the IPv4 address stored on the storage unit in a way that makes it mapping to the fixed identifier extracted by the extraction unit, and packet translating unit translating the IPv6 packet into the IPv4 packet with the IPv4 address read by the reading unit being set as a source address.  
           [0039]    Further, the second mode of the invention may take an architecture of further comprising identifier receiving unit receiving data containing a care-of address of an IPv6 terminal device and the fixed identifier indicating this IPv6 terminal device, identifier storage unit storing the care-of address and the fixed identifier that have been received by the identifier receiving unit in a way that makes them mapping to each other, and care-of address acquisition unit acquiring the care-of address mapping to a destination address of the received IPv4 packet from the storage unit and from the identifier storage unit, wherein the packet translating unit translates the IPv4 packet into an IPv6 packet with the care-of address acquired by the care-of address acquisition unit being set as a destination address.  
           [0040]    Moreover, the storage unit in the second mode of the invention may be structured to further store a port number mapping thereto, and the reading unit may be constructed to read the IPv4 address stored on the storage unit in a way that makes it mapping to the fixed identifier extracted by the extraction unit and to a source port number of the IPv6 packet received. 
       
    
    
     DESCRIPTION OF THE DRAWINGS  
       [0041]    [0041]FIG. 1 is a view showing an outline of an IPv4-IPv6 translation system using a first embodiment of the invention;  
         [0042]    [0042]FIG. 2 is a block diagram of an IPv4-IPv6 translation device as the first embodiment of the invention;  
         [0043]    [0043]FIG. 3 is a diagram showing an example of an address translation table in the first embodiment of the invention;  
         [0044]    [0044]FIG. 4 is a diagram showing an operation sequence of an IPv4-IPv6 translation system using the first embodiment of the invention;  
         [0045]    [0045]FIG. 5 is a diagram showing the operation sequence of the IPv4-IPv6 translation system using the first embodiment of the invention;  
         [0046]    [0046]FIG. 6 is a diagram showing an outline of the IPv4-IPv6 translation system using a second embodiment of the invention;  
         [0047]    [0047]FIG. 7 is a block diagram of the IPv4-IPv6 translation device as the second embodiment of the invention;  
         [0048]    [0048]FIG. 8 is a diagram showing an example of the address translation table in the second embodiment of the invention;  
         [0049]    [0049]FIG. 9 is a diagram showing a data structure of a packet by an encapsulation method;  
         [0050]    [0050]FIG. 10 is a diagram showing a data structure of a packet by a routing header method;  
         [0051]    [0051]FIG. 11 is a diagram showing an operation sequence of the IPv4-IPv6 translation system using the second embodiment of the invention;  
         [0052]    [0052]FIG. 12 is a diagram showing the operation sequence of the IPv4-IPv6 translation system using the first embodiment of the invention;  
         [0053]    [0053]FIG. 13 is a diagram showing an outline of the IPv4-IPv6 translation system using a third embodiment of the invention;  
         [0054]    [0054]FIG. 14 is a block diagram of the IPv4-IPv6 translation device as the third embodiment of the invention;  
         [0055]    [0055]FIG. 15 is a diagram showing an operation sequence of an IPv4-IPv6 translation system using the third embodiment of the invention;  
         [0056]    [0056]FIG. 16 is a diagram showing the operation sequence of the IPv4-IPv6 translation system using the third embodiment of the invention;  
         [0057]    [0057]FIG. 17 is a diagram showing a modified example of the address translation table of the invention;  
         [0058]    [0058]FIG. 18 is a diagram showing an outline of an IPv4-IPv6 translation system using a conventional IPv4-IPv6 translation device; and  
         [0059]    [0059]FIG. 19 is a diagram showing an outline of a system using conventional mobile IPv6. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0060]    Next, an address translation device in an embodiment of the invention will be described by use of the drawings. The following description assumes particularly IP communications performed between a communication device connected to an IPv4 network and a communication device connected to an IPv6 network, and will be made using an IPv4-IPv6 translation device by way of a concrete example of the address translation device. Note that the description of the embodiment is an exemplification, and architecture of the invention is not limited to the following description.  
         [0061]    [First Embodiment] 
         [0062]    &lt;System Architecture&gt; 
         [0063]    [0063]FIG. 1 is a view showing an outline of an IPv4-IPv6 translation system  1   a  that uses a first embodiment of the address translation device according to the present invention, i.e., uses an IPv4-IPv6 translation device  7   a . The IPv4-IPv6 translation system  1   a  illustrated in FIG. 1 will hereinafter be explained.  
         [0064]    A network of the IPv4-IPv6 translation system  1   a  is configured by an IPv6 network  2  and an IPv4 network  3 . In the IPv4-IPv6 translation system  1   a , a M  4  and a HA  5   a  are connected to the IPv6 network  2 . Further, in the IPv4-IPv6 translation system  1   a , the IPv4-IPv6 translation device  7   a  is connected to between the IPv6 network  2  and the IPv4 network  3 . Each of constructions will hereinafter be explained.  
         [0065]    The MN  4  is constructed by use of an information processing device such as a personal computer, PDA (Personal Digital Assistants), etc. The MN  4  functions as a mobile node of the mobile IPv6. It is therefore desirable that the MH  4  be an information processing device having a portability. In the first embodiment, the HA  5   a  is registered as a home agent in the MN  4 . Accordingly, in the first embodiment, the MN  4  transmits a registration message to the HA  5   a.    
         [0066]    The HA  5   a  is constructed by use of an information processing device such as a personal computer, a workstation, etc., or by use of a communication device such as a router, etc. The HA  5   a  functions as a home agent of the mobile IPv6.  
         [0067]    A CN  6  is constructed by use of an information processing device such as a personal computer, a workstation, etc. The CN  6  transmits and receives an IP packet to and from the MN  4 .  
         [0068]    The IPv4-IPv6 translation device  7   a  is constructed by use of an information processing device such as a personal computer, a workstation, etc., or by use of hardware dedicated to an address translation. FIG. 2 is a block diagram showing an architecture of the IPv4-IPv6 translation device  7   a . The IPv4-IPv6 translation device  7   a  will be described by using FIG. 2.  
         [0069]    The IPv4-IPv6 translation device  7   a  includes, hardwarewise, a CPU, a main memory (RAM), an auxiliary storage device (a hard disk), etc., which are connected via a bus. A variety of programs (OS, application, etc.) stored on the auxiliary storage device are loaded into the main memory and executed by the CPU, whereby the IPv4-IPv6 translation device  7   a  functions as a device including an address extraction unit  8 , an IP address translation unit  9  and an address translation table storage unit  10   a.    
         [0070]    The IPv4-IPv6 translation device  7   a  receives an IPv6 packet or an IPv4 packet. The IPv4-IPv6 translation device  7   a , upon receiving the IPv6 packet, transfers the received IPv6 packet to the address extraction unit  8 . Further, the IPv4-IPv6 translation device  7   a , upon receiving the IPv4 packet, transfers the received IPv4 packet to the IP address translation unit  9 .  
         [0071]    The address extraction unit  8  is constructed by use of a CPU, a RAM, etc. The address extraction unit  8  extracts a home address of the MN  4  as a piece of MN identifying information contained in the IPv6 packet received from the MN  4 . At this time, the home address to be extracted is an IPv6 address. Then, the address extraction unit  8  notifies the IP address translation unit  9  of the extracted home address.  
         [0072]    The IP address translation unit  9  is constructed by use of a CPU, a RAM, etc. The IP address translation unit  9 , when notified of the home address from the address extraction unit  8 , checks whether there is an entry containing this home address in the address translation table  10 A. In case the address translation table  10 A has none of such an entry, the IP address translation unit  9  reads the IPv4 address out of an unillustrated IPv4 address pool provided by itself. The IP address translation unit  9  assigns the readout IPv4 address as a temporary IPv4 address to the MN  4 . Then, the IP address translation unit  9  records, in the address translation table  10 A, an entry containing the readout IPv4 address and the notified home address. While on the other hand, in case the address translation table  10 A has the entry, the IP address translation unit  9  reads the IPv4 address contained in this entry out of the address translation table  10 A.  
         [0073]    The IP address translation unit  9  executes an IPv6/IPv4 header translation with respect to the received IPv6 packet. The IP address translation unit  9  generates a destination address of the IPv4 header by deleting a network prefix from a destination address of the IPv6 header. Further, the IP address translation unit  9  generates a source address of the IPv4 header by use of the IPv4 address read from the address translation table  10 A or from the IPv4 address pool.  
         [0074]    The IP address translation unit  9  executes an IPv4/IPv6 header translation with respect to the received IPv4 packet. The IP address translation unit  9  generates a destination address of the IPv6 header by use of an IPv6 address (i.e., a home address of the MN  4 ) recorded in the address translation table  10 A in a way that makes it mapping to the destination address of the IPv4 header. Moreover, the IP address translation unit  9  generates a source address of the IPv6 header by combining the source address of the IPv4 header with a network prefix of the IPv6 network  2 .  
         [0075]    The address translation table storage unit  10   a  is constructed by use of either a nonvolatile memory such as a flash memory, etc. or a volatile memory such as a SDRAM, etc. The address translation table storage unit  10   a  is stored with the address translation table  10 A. FIG. 3 is a diagram showing an example of a structure of the address translation table  10 A. The address translation table  10 A will be explained by use of FIG. 3.  
         [0076]    The address translation table  10 A is recorded with the entry of the IPv4 address and the IPv6 address in a way that makes them mapping to each other. The IPv4 address contained in this entry is the IPv4 address read out of the IPv4 address pool by the IP address translation unit  9 . Further, the IPv6 address contained in this entry is the home address of the MN  4  that is read out by the address extraction unit  8 .  
         [0077]    &lt;Operation Sequence&gt; 
         [0078]    [0078]FIGS. 4, 5 are diagrams showing an operation sequence of the IPv4-IPv6 translation system  1   a  using the first embodiment of the invention. The operation sequence of the IPv4-IPv6 translation system  1   a  will hereinafter be described by use of FIGS. 4, 5 in a way that divides it into a location registering process, an IPv6/IPv4 forwarding process and an IPv4/IPv6 forwarding process. Note that, in the following description, unless particularly stated, a destination address and a source address of the packet header will be described in the form of (a destination address, a source address). Further, it is assumed that “FEDC:BA98::7654:3210” and “1234:5678::7654:3210” be assigned as a home address and a care-of address to the MN  4 . It is also assumed that the CN  6  be assigned “132.146.243.30” as an IPv4 address. It is further assumed that “FEDC:BA00::/32” and “120.130.26.xx” be assigned as network prefixes respectively to an IPv6 network sided interface and an IPv4 network sided interface of the IPv4-IPv6 translation device  7   a.    
         [0079]    &lt;&lt;Location Registering Process&gt;&gt; 
         [0080]    To begin with, the location registering process will be explained by use of FIG. 4. The MN  4  moves within the IPv6 network (viz., it moves as a subordinates to a certain access router (Access Rooter)) and acquires a new care-of address (S 01 ), and then transmits a registration message to the HA  5   a  (S 02 ). The HA  5   a  updates contents of the binding cache provided by itself by use of the registration message received. The process described above is the location registering process.  
         [0081]    &lt;&lt;IPv6/IPv4 Forwarding Process&gt;&gt; 
         [0082]    Next, the IPv6/IPv4 forwarding process will be explained by use of FIG. 4. In the IPv6/IPv4 forwarding process, the IPv6 packet sent from the MN  4  is translated into an IPv4 packet and forwarded to the CN  6 .  
         [0083]    The MN  4  transmits the IPv6 packet to the CN  6  (S 03 ). At this time, a header of the packet transmitted by the MN  4  becomes (FEDC:BA00::132.146.243.30.1234:5678::7654:3210). Further, the MN  4  adds the self home address (FEDC:BA98::7654:3210) as a home address option to the packet. This packet transmitted from the MN  4  is received by the IPv4-IPv6 translation device  7   a.    
         [0084]    When the IPv4-IPv6 translation device  7   a  receives the packet from the MN  4 , the address extraction unit  8  extracts the home address of the MN  4  from a home address option field of this packet (S 04 ). The address extraction unit  8  notifies the IP address translation unit  9  of the extracted home address.  
         [0085]    The IP address translation unit  9  refers to the address translation table  10 A and thus checks whether or not there is an entry containing the home address which the address extraction unit  8  has notified of (S 05 ). In case there is not the entry (S 05 -NO), IP address translation unit  9  reads the IPv4 address out of the self IPv4 address pool, and records an entry containing the readout IPv4 address and the notified home address in the address translation table  10 A (S 06 ). In case there is the entry (S 05 -YES), or after finishing recording a new entry, IP address translation unit  9  executes the IPv6/IPv4 header translation (S 07 ). In this case, the entry exists in the address translation table  10 A (see FIG. 3), and hence, owing to the execution of the IPv6/IPv4 header translation, the packet header becomes (132.146.243.30,120.130.26.1). With this process, the IPv6 packet received from the MN  4  is translated into an IPv4 packet that should be received by the CN  6 . Then, the IPv4-IPv6 translation device  7   a  forwards the IPv4 packet with its header translated (S 08 ).  
         [0086]    &lt;&lt;IPv4/IPv6 Forwarding Process&gt;&gt; 
         [0087]    Next, the IPv4/IPv6 forwarding process will be explained by use of FIG. 5. In the IPv4/IPv6 forwarding process, the IPv4 packet sent form the CN  6  is translated into an IPv6 packet and forwarded to the MN  4 .  
         [0088]    The CN  6  transmits the IPv4 packet to the MN  4  (S 09 ). At this time, a destination address in the header of the packet transmitted by the CN  6  is the IPv4 address temporarily assigned to the MN  4  by the IPv4-IPv6 translation device  7   a . Further, a source address in the header of this packet is the self IPv4 address. Namely, the header of the packet transmitted by the CN  4  becomes (120.130.26.1,132.146.243.30). This packet transmitted from the CN  6  is received by the IPv4-IPv6 translation device  7   a.    
         [0089]    When the IPv4-IPv6 translation device  7   a  receives this packet from the CN  6 , the IP address translation unit  9  executes an IPv4/IPv6 header translation (S 10 ). In this case, owing to the execution of the IPv4/IPv6 header translation, the packet header becomes (FEDC:BA98::7654:3210,FEDC:BA00::132.146.243.30). Then, the IPv4-IPv6 translation device  7   a  forwards the IPv6 packet with its header translated (S 11 ).  
         [0090]    The HA  5   a  intercepts the IPv6 packet addressed to the MN  4  which has been forwarded from the IPv4 -IPv6 translation device  7   a . The HA  5   a  encapsulates the intercepted IPv6 packet by use of the care-of address assigned to the MN  4 , and forwards it to the IPv6 network  2  (S 12 ). Then, this packet arrives at the MN  4 . Thus, in the IPv4/IPv6 forwarding process, the packet is forwarded in this sequence of the CN  6 , the IPv4-IPv6 translation device  7   a , the HA  5   a  and the MN  4 .  
         [0091]    &lt;Operation*Effect&gt; 
         [0092]    According to the first embodiment of the invention, the address translation table storage unit  10   a  is stored with the home address of the MN  4  and the IPv4 address temporarily assigned to the MN  4  in a way that makes them mapping to each other. Then, the IP address translation unit  9  rewrites the source address of the IPv6 packet transmitted to the CN  6  from the MN  4  into the IPv4 address stored mapping not to the care-of address contained in this IPv6 packet but to the home address (the home address extracted by the home address extraction unit  8 ) contained in this IPv6 packet.  
         [0093]    Therefore, irrespective of the translation of the care-of address of the MN  4 , the fixed IPv4 address is indicated as the source address in the IPv4 packet addressed to the CN  6 . Accordingly, there are actualized the seamless communications between the MN  4  as the mobile node (the terminal device having a mobility function) connected to the IPv6 network  2  and the CN  6  connected to the IPv4 network  3 .  
         [0094]    &lt;Modified Examples&gt; 
         [0095]    The MN identifying information of the MN  4  may be whatever information, even if it is not the home address, on condition that it is information contained in the packet of the communication between the MN  4  and the CN  6  as well as being information of which a value does not change even when a location of the MN  4  changes. Other examples of this type of MN identifying information are a telephone number, a URL, etc. which are assigned to the MN  4 . The home address is, however, already defined as the address option of the IPv6 packet, and hence the home address is applied as the MN identifying information, thereby enabling an easy and efficient implementation of the IPv4-IPv6 translation system  1   a.    
         [0096]    [Second Embodiment] 
         [0097]    &lt;System Architecture&gt; 
         [0098]    [0098]FIG. 6 is a view showing an outline of an IPv4-IPv6 translation system  1   b  that uses a second embodiment of the address translation device according to the present invention, i.e., uses an IPv4-IPv6 translation device  7   b . Only a different point of the IPv4-IPv6 translation system  1   b  shown in FIG. 6 from the IPv4-IPv6 translation system  1   a  will hereinafter be explained.  
         [0099]    The IPv4-IPv6 translation system  1   b  is different from the IPv4-IPv6 translation system  1   a  in terms of a point of including an IPv4-IPv6 translation device  7   b , HA  5   b  as substitutes for the IPv4-IPv6 translation device, HA  5   a , respectively.  
         [0100]    The HA  5   b  is different from the HA  5   a  in terms of such a point that when receiving the registration message from the MN  4 , it forwards the received registration message to the IPv4-IPv6 translation device  7   b.    
         [0101]    Next, the IPv4-IPv6 translation device  7   b  will be explained. FIG. 7 is a block diagram showing an architecture of the IPv4-IPv6 translation device  7   b . The IPv4-IPv6 translation device  7   b  is different from the IPv4-IPv6 translation device  7   a  in terms of a point of further including a CoA adding (assigning) unit  11  and a message transmitting/receiving unit  12   b , and a point of including an address translation table storage unit  10   b  as a substitute for the address translation table storage unit  10   a.    
         [0102]    The address translation table storage unit  10   b  is different from the address translation table storage unit  10   a  in terms of a point of storing an address translation table  10 B in place of the address translation table  10 A. FIG. 8 is a diagram showing an example of a structure of the address translation table  10 B. The address translation table  10 B is different from the address translation table  10 A in terms of a point that the entry to be recorded further contains a care-of address of the MN  4 .  
         [0103]    The CoA adding unit  11  is constructed of by using a CPU, a RAM, etc. The CoA adding unit  11 , on the occasion that the IP address translation unit  9  executes the IPv4/IPv6 header translation, adds the care-of address to the packet becoming an object of this processing. At this time, the CoA adding unit  11  checks whether or not the care-of address mapping to the home address contained in the IPv6 header of the packet becoming the processing object of the IPv4/IPv6 header translation, is recorded in the address translation table  10 B. Then, in case the care-of address is recorded, the CoA adding unit  11  reads this care-of address and adds it to this packet. On the other hand, the CoA adding unit  11 , in case the care-of address mapping thereto is not recorded in the address translation table  10 B, does not manipulate this packet and transfers it to the message transmitting/receiving unit  12   b . Namely, in this case, the care-of address is not added to this packet.  
         [0104]    The CoA adding unit  11 , on the occasion of adding the readout care-of address to the packet, adds it by using any one of an encapsulation method and a routing header method. FIGS. 9, 10 are diagrams showing data structures in the case of adopting the encapsulation method and the routing header method, respectively.  
         [0105]    In the encapsulation method, the CoA adding unit  11  adds the care-of address to the packet by encapsulating the packet using the readout care-of address (see FIG. 9). On the other hand, in the routing header method, the CoA adding unit  11  rewrites the destination address (the home address of the MN  4 ) in the IPv6 header into the readout care-of address, thereby adding the care-of address to the packet.  
         [0106]    The message transmitting/receiving unit  12   b  is constructed by use of a CPU, a RAM and so on. The message transmitting/receiving unit  12   b  judges whether the packet received from the IPv6 network is a registration message or a packet that should be forwarded to the IPv4 network  3 .  
         [0107]    In case the received packet is the registration message, the message transmitting/receiving unit  12   b  records a content of this registration message in the address translation table  10 B. To be concrete, the message transmitting/receiving unit  12   b  records, in the address translation table  10 B, the home address and the care-of address which are contained in the received registration message in a way that makes them mapping to each other. At this time, the message transmitting/receiving unit  12   b , in a case where an entry containing the home address contained in the registration message has already been recorded in the address translation table  10 B by the IP address translation unit  9 , records the care-of address contained in the registration message in this entry.  
         [0108]    On the other hand, in case the received packet is a packet that should be forwarded to the IPv4 network  3 , the message transmitting/receiving unit  12   b  transfers this packet to the address extraction unit  8 .  
         [0109]    &lt;Operation Sequence&gt; 
         [0110]    [0110]FIGS. 11, 12 are diagrams showing an operation sequence of the IPv4-IPv6 translation system  1   b  using the second embodiment of the invention. The operation sequence of the IPv4-IPv6 translation system  1   b  will hereinafter be described by use of FIGS. 11, 12 by dividing it into a location registering process and an IPv4/IPv6 forwarding process. With respect to each of the processes, only a different point from the IPv4-IPv6 translation system  1   a  using the first embodiment will be explained. Therefore, the explanation of the IPv4/IPv6 forwarding process that is the same operation sequence as that of the IPv4-IPv6 translation system  1   a  using the first embodiment, is omitted.  
         [0111]    &lt;&lt;Location Registering Process&gt;&gt; 
         [0112]    At first, the location registering process will be explained by use of FIG. 11. The HA  5   b , upon receiving the registration message from the MN  4 , forwards the received registration message to the IPv4-IPv6 translation device  7   b  (S 13 ).  
         [0113]    When the IPv4-IPv6 translation device  7   b  receives the registration message, the message transmitting/receiving unit  12   b  checks, with respect to the address translation table  10 B, whether or not there is an entry containing the home address contained in the received registration message (S 14 ). Namely, the message transmitting/receiving unit  12   b  checks whether there is an entry containing the home address contained in the received registration message. In case this entry exists (S 14 -Yes), the care-of address contained in the received registration message is recorded in this entry. Namely, the message transmitting/receiving unit  12   b  registers a relationship between the home address and the care-of address contained in the received registration message in the address translation table  10 B (S 15 ). While on the other hand, in case there is not the entry (S 14 -No), or after the process in S 15 , the location registration process comes to an end.  
         [0114]    &lt;&lt;IPv4/IPv6 Forwarding Process&gt;&gt; 
         [0115]    Next, the IPv4/IPv6 forwarding process will be explained by using FIG. 12. After the IP address translation unit  9  has executed the IPv4/IPv6 header translation (S 10 ), the CoA adding unit  11  checks, with respect to the address translation table  10 B, whether or not there is the care-of address mapping to the home address contained in the packet as the processing object (S 16 ). In case there is not the care-of address (S 16 -No), the same processes as S 11 , S 12  in the operation sequence of the IPv4-IPv6 translation system  1   a , are executed. While on the other hand, in case there is the care-of address (S 16 -Yes), the CoA adding unit  11  adds this care-of address to the packet as the processing object (S 17 ), and forwards this packet to the MN  4  (S 18 ). Thus, in the IPv4/IPv6 forwarding process in the second embodiment, there is the case in which the packet is forwarded to the MN  4  by bypassing the HA  5   b.    
         [0116]    &lt;Operation*Effect&gt; 
         [0117]    According to the second embodiment of the invention, the address translation table storage unit  10   b  is stored with the home address and the care-of address of the MN  4  in a way that makes them mapping to each other. Then, the CoA adding unit  11  adds, as it replaces the HA  5   b , the care-of address to the packet transmitted to the MN  4  from the CN  6 .  
         [0118]    Therefore, the packet to which the care-of address has been added by the CoA adding unit  11 , is forwarded directly to the MN  4  by bypassing the HA  5   b . Accordingly, a scheme of optimizing the route for this packet is done. Hence, it is possible to scheme to reduce an intra-network forwarding time of the packet and decrease intra-network resources.  
         [0119]    &lt;Modified Example&gt; 
         [0120]    The message transmitting/receiving unit  12   b  may be, regardless of whether or not the entry containing the home address contained in the registration message has already been recorded, constructed to record afresh an entry containing the IPv4 address, the home address and the care-of address in cooperation with the IP address translation unit  9 .  
         [0121]    [Third Embodiment] 
         [0122]    &lt;System Architecture&gt; 
         [0123]    [0123]FIG. 13 is a view showing an outline of an IPv4-IPv6 translation system  1   c  that uses a third embodiment of the address translation device according to the present invention, i.e., uses an IPv4-IPv6 translation device  7   c . Only a different point of the IPv4-IPv6 translation system  1   c  shown in FIG. 13 from the IPv4-IPv6 translation system  1   b  will hereinafter be explained.  
         [0124]    The IPv4-IPv6 translation system  1   c  is different from the IPv4-IPv6 translation system  1   b  in terms of a point that the HA  5   b  is not included.  
         [0125]    The MN  4  has the same architecture as the same category of the device in the IPv4-IPv6 translation system  1   b  has, however, an IPv4-IPv6 translation device  7   c  is set as a home agent. Therefore, the MN  4  transmits the registration message to the IPv4-IPv6 translation device  7   c.    
         [0126]    Next, the IPv4-IPv6 translation device  7   c  will be described. FIG. 14 is a block diagram showing an architecture of the IPv4-IPv6 translation device  7   c . The IPv4-IPv6 translation device  7   c  is different from the IPv4-IPv6 translation device  7   b  in terms of a point of including a message transmitting/receiving unit  12   c  replacing the message transmitting/receiving unit  12   b.    
         [0127]    The message transmitting/receiving unit  12   c  is different from the message transmitting/receiving unit  12   b  in terms of a point of recording, upon receiving the registration message, the entry with the care-of address contained in this registration message irrespective of whether or not there is the entry containing the home address contained in the received registration message. Concretely, message transmitting/receiving unit  12   c , in case there has already been the entry containing the home address, records this entry with the home address contained in the received registration message. On the other hand, message transmitting/receiving unit  12   c , in case there is not the entry containing the home address, registers afresh an entry excluding the IPv4 address but containing the home address and the care-of address that are contained in the registration message received.  
         [0128]    &lt;Operation Sequence&gt; 
         [0129]    [0129]FIGS. 15, 16 are diagrams showing an operation sequence of the IPv4-IPv6 translation system  1   c  using the third embodiment of the invention. The operation sequence of the IPv4-IPv6 translation system  1   c  will hereinafter be described by use of FIGS. 15, 16 by dividing it into a location registering process and an IPv4/IPv6 forwarding process. With respect to each of the processes, only a different point from the IPv4-IPv6 translation system  1   b  using the second embodiment will be explained. Therefore, the explanation of the IPv4/IPv6 forwarding process that is the same operation sequence as that of the IPv4-IPv6 translation system  1   b  using the second embodiment, is omitted.  
         [0130]    &lt;&lt;Location Registering Process&gt;&gt; 
         [0131]    At first, the location registering process will be explained by use of FIG. 15. In the location registering process by the IPv4-IPv6 translation system  1   c , the MN  4 , according to setting made for itself (concretely, the IPv4-IPv6 translation device  7   c  is set as a home agent), transmits the registration message to the IPv4-IPv6 translation device  7   c  (S 19 ). The IPv4-IPv6 translation device  7   c , upon receiving the registration message, stores the home address and the care-of address in a way that makes them mapping to each other (S 15 ).  
         [0132]    &lt;&lt;IPv4/IPv6 Forwarding Process&gt;&gt; 
         [0133]    Next, the IPv4/IPv6 forwarding process will be explained by using FIG. 16. In the IPv4/IPv6 forwarding process by the IPv4-IPv6 translation device  7   c , after the IP address translation unit  9  has executed the IPv4/IPv6 header translation (S 10 ), the CoA adding unit  11  checks, with respect to the address translation table  10 B, whether or not there is the care-of address mapping to the home address contained in the packet as the processing object (S 16 ). In case there is the care-of address (S 16 -Yes), the CoA adding unit  11  adds this care-of address to the packet as the processing object (S 17 ). Thereafter, or in case there is not the care-of address (S 16 -No), the IPv4-IPv6 translation device  7   c  forwards this packet (S 18 ). Thus, in the IPv4/IPv6 forwarding process in the third embodiment, the packet is forwarded directly to the MN  4 .  
         [0134]    &lt;Operation*Effect&gt; 
         [0135]    According to the third embodiment of the invention, the IPv4-IPv6 translation device  7   c  receives the registration message not from the HA  5  (HA  5   a , HA  5   b ) but directly from the MN  4 . Then, the IPv4-IPv6 translation device  7   c , as it replaces the HA  5 , stores a mapping relationship between the home address and the care-of address of the MN  4  as an entry. Then, the IPv4-IPv6 translation device  7   c  forwards the packet addressed to the MN  4  directly to the MN  4  without via the HA  5 . Namely, according to the third embodiment of the invention, the IPv4-IPv6 translation device  7   c  has a function of the mobile IPv6 home agent.  
         [0136]    Therefore, the communication process between the IPv4-IPv6 translation device  7   c  and the HA  5  can be reduced. Further, there is eliminated a necessity of recording the mapping relationship between the home address and the care-of address of the MN  4  dually both in the IPv4-IPv6 translation device  7   c  and in the HA  5 . Accordingly, it is feasible to decrease a quantity of and a cost for equipment, etc.  
         [0137]    &lt;Modified Example&gt; 
         [0138]    The entry in the address translation table  10 B may be structured to further have a port number. FIG. 17 is a diagram showing an address translation table  10 D containing the entry structured to have the port number. The address translation table  10 D will be explained by use of FIG. 17.  
         [0139]    The address translation table  10 D is structured of entries in which the IPv4 address (the address temporarily assigned to the MN  4 ), the port number, the home address of the MN  4  and the care-of address of the MN  4  which are made mapping to each other. Namely, the mapping relationship between the home address of the MN  4  and the care-of address of the MN 4  is specified by the IPv4 address and by the port number. This port number is an arbitrary number temporarily assigned together with the IPv4 address.  
         [0140]    Therefore, even in a case where the number of the IPv4 addresses retained in the IPv4 address pool is small, the same IPv4 address can be distinguished by the plurality of port numbers. Accordingly, the mapping relationships between the plural home addresses of the MNs  4  and the care-of addresses of the MNs  4  can be made mapping to one single IPv4 address.  
         [0141]    Thus, the port number is used as an element of the entry, which can be similarly done in the first embodiment and the second embodiment as well without being limited to the third embodiment of the invention.  
         [0142]    According to the invention, even in case the address assigned to one terminal device is changed, the communications between on terminal device and the other terminal device can be performed seamlessly.