The accompanying drawings, which are included to provide a further understanding of the invention, are incorporated in and constitute a part of this application, illustrate embodiments of the invention and together with the description serve to explain the principle of the invention. In the drawings:
A protocol conversion apparatus between IPv4/IPv6 terminals or between application programs using a mapping table will now be described with reference to the accompanying drawings.
Accordingly, a protocol conversion apparatus 14 having an IPv4/IPv6 dual stack maintains a mapping table mapping an actual IP address and a virtual IP address for each IPv4/IPv6 terminal in a network environment of
Here, an IP address is an IPv4 format address in a case of an IPv4 terminal, and an IPv6 format address in a case of an IPv6 terminal. Contrarily, a virtual IP address is an IPv6 address format in the IPv4 terminal, and an IPv4 address format in the IPv6 terminal. The virtual address is not an address that is actually allocated to a terminal, but is an address that is managed by a protocol conversion apparatus.
When examining fundamental components, as illustrated in
The IPv4/IPv6 terminals 30 and 40 transparently operate with respect to a protocol version of terminals communicating with the IPv4/IPv6 terminals 30 and 40. That is, when an IPv4 terminal 30 tries to communicate with an IPv6 terminal 40, an address resolution protocol (ARP) request message about a virtual IP address of a corresponding IPv6 terminal 40 is broadcasted to all terminals in a subnetwork by an ARP procedure.
The ARP request message is broadcasted only in an IPv4 network. Then, an IPv4 stack of a protocol conversion apparatus 20 having a dual stack receives the ARP request message. Since an IP address requested in the received ARP request message is a virtual IP address in a mapping table that the protocol conversion apparatus itself manages, the protocol conversion apparatus transmits a reply message with a MAC address of the protocol conversion apparatus itself in a response to the ARP request message.
An IPv4 terminal inputs a virtual IP address into a target IP address of a packet for transmission, and a MAC address of the protocol conversion apparatus into a target MAC address for transmission. Then, the protocol conversion apparatus 20 receives the transmitted packet. Since the target IP address in the received packet corresponds to a virtual IP address information in a mapping table that the protocol conversion apparatus itself manages, the protocol conversion apparatus 20 converts the received packet into an IPv6 packet by applying a conventional simple IP and ICMP transition (SIIT) conversion technique, and then transmits the corresponding packet to an actual IPv6 terminal.
The IPv6 terminal 40 transmits a packet into the IPv4 terminal 30 by using the same operational method except that a neighbor discovery protocol defined in the IPv6 is utilized instead of an ARP protocol.
Additionally, when an IP address is in a payload such as a domain name service (DNS), a file transfer protocol (FTP), or a session initiative protocol (SIP), application layer gateway functions are separated with respect to each case to determine whether the IP address in the payload corresponds to an actual IP address in the mapping table or not. When the IP address corresponds to the actual IP address, the IP address information in the payload is modified as a value of a virtual IP address of a corresponding entry in the mapping table and then transmitted into a target terminal.
Specifically, as illustrated in
In the IPv4 terminal 30, an actual IP address is an IPv4 format address (e.g., 10.1.1.1), and a virtual IP address is an IPv6 format address (e.g., 2001:100:2e:1). Contrarily, in the IPv6 terminal 40, an actual IP address is an IPv6 format address (e.g., 2001:100:2e:1), and a virtual IP address is an IPv4 format address (e.g., 10.1.1.1).
In a method of generating the mapping tables 22 and 23, there is an ARP table for the IPv4 terminal 30, and a neighbor table for IPv6 terminal 40. Virtual IPv6 addresses are mapped into the IPv4 terminals 30 in the ARP table, respectively, and virtual IPv4 addresses are mapped into the IPv6 terminals 40, respectively to generate the mapping tables 22 and 23.
When the IPv4 terminal 30 connected to the downstream interface 21 of the protocol conversion apparatus 20 communicates with the IPv4 terminal 30 in the IPv4 network 50 connected to the upstream interface 24, the protocol conversion apparatus 20 supports IPv4/IPv6 dual stack. Therefore, a conventional IPv4 protocol method can be used without modification.
Moreover, when the IPv6 terminal 40 connected to a downstream interface 21 communicates with the IPv4 terminal in the IPv4 network 50 connected to the upstream interface 24, a conventional network address translation-protocol translation (NAPT) technique or a dual stack transition mechanism is utilized.
Then, a method of performing a protocol conversion between IPv4/IPv6 terminals and between application programs will be described with reference to
When the IPv4 terminal 100 connected to one interface of a protocol conversion apparatus 200 communicates with the IPv6 terminal 300 connected to the same interface, an ARP request message for a virtual IP address in a corresponding IPv6 terminal 300 is broadcasted in a network connected to the same network in operation S401.
All the IPv4 terminals in a subnetwork receive a corresponding ARP request messages, and also the IPv4 stack 250 of the protocol conversion apparatus 200 receives a corresponding message.
The protocol conversion apparatus 200 recognizes that the corresponding IP address of the ARP request message is a virtual IP address of the mapping table 220 that the protocol conversion apparatus 200 itself manages, and then transmits a MAC address of the protocol conversion apparatus 200 and also an ARP reply message in response to the ARP request message in operation S402.
Since the IPv4 terminal 100 has an IP address and a MAC address of a terminal that the IPv4 terminal 100 wants to communicate, it makes and transmits a frame in operation S403. The target MAC address of the transmitted frame is a MAC address of the protocol conversion apparatus 200 obtained by the ARP request message, and the target IP address is set as a virtual IP address in the corresponding IPv6 terminal 300.
The IPv4 stack 250 of the protocol conversion apparatus 200 receives the corresponding frame. The protocol conversion apparatus 200 receiving the corresponding frame in operation S403 searches the IPv6 mapping table 220 to confirm that the corresponding virtual IP address corresponds to an IP address of the mapping table 220 that the protocol conversion apparatus 200 manages in operation S404, and then transmits the corresponding virtual IP address into a packet conversion unit 230 to convert into an IPv6 packet by applying a SIIT algorithm based on mapping table information in operation S406. Then, a target IPv6 terminal 300 receives a packet by transmitting the IPv6 packet into an IPv6 stack 210 of the protocol conversion apparatus 200 in operation S408. Here, the packet conversion unit 230 follows the SIIT-based a conversion method.
When the IPv6 terminal 500 communicates with the IPv4 terminal 700 in the same subnetwork, a neighbor discovery protocol (NDP) request message for a virtual IP address given for the corresponding IPv4 terminal 700 is multi-casted for IPv6 terminals in operation S801.
All the IPv6 terminals in a subnetwork receive a corresponding NDP request messages, and also the IPv6 stack 650 of the protocol conversion apparatus 200 receives a corresponding NDP request message. The protocol conversion apparatus 600 transmits a MAC address of the protocol conversion apparatus 600 and also an NDP reply message in operation S802 when the IP address of the NDP request message corresponds to a virtual IP address information of the mapping table 620 that the protocol conversion apparatus 600 itself manages.
The IPv6 terminal 500 generates a frame of an IP address and a MAC address of the terminal for communication and then transmits the frame in operation S803. The target MAC address of the transmitted frame is a MAC address of the protocol conversion apparatus 600 obtained by an NDP, and a target IP address is set as a virtual IP address given to the corresponding IPv4 terminal 700.
The protocol conversion apparatus 600 receiving the corresponding frame in operation S803 searches the IPv4 mapping table 620 to confirm that the corresponding virtual IP address corresponds to an IP address of the mapping table 620 that the protocol conversion apparatus 600 manages in operation S804, and then transmits the corresponding virtual IP address into a packet conversion unit 630 to convert into an IPv4 packet in operation S806. Then, a final target IPv4 terminal 700 receives a packet by transmitting the IPv4 packet into the IPv4 stack 610 of the protocol conversion apparatus 600 in operation S808. Here, the packet conversion unit 630 follows the SIIT-based a conversion method.
As illustrated in
Specifically, to fetch a virtual IP address of the IPv4 terminal in the same network, the IPv6 terminal 1000 first queries a domain name (e.g., www.etri.re.kr) from an IPv6 DNS server 1100 in the same network in operation S1401. The IPv6 DNS server 1100 receiving the corresponding query recognizes that there is no corresponding domain name in its cache, and transmits a virtual IP address of the IPv4 DNS server and a MAC address of the protocol conversion apparatus into a protocol conversion unit in the same network in operation S1402.
At this point, the target address of the corresponding packet is a virtual IP address of the IPv4 DNS server, and the target MAC address is set as a MAC address of the protocol conversion apparatus. The target IP address is a virtual address of the IPv4 DNS server registered in the IPv6 DNS server in advance, and the target MAC address is an address obtained by methods of
The protocol conversion unit searches the transmitted virtual IP address and MAC address in the mapping table mapping the actual IP addresses of the IPv5/IPv6 and the virtual IP addresses to determine whether there is a corresponding address or not in operation S1403. In a searching result, when the received virtual IP packet corresponds to one item of the registered virtual IP address in the mapping table, the protocol conversion unit performs a protocol conversion in operation S1405, and transmits the DNS query message into the IPv4 DNS server in the same network in operations S1406 and 1407.
The IPv4 DNS server receiving the DNS query searches the corresponding query in operation S1408, and transmits a packet containing the corresponding IP address value into the protocol conversion apparatus in operation S1409. The IPv4 stack of the protocol conversion unit receives the packet to recognize that the corresponding packet is a DNS reply packet, and then transmits the packet into the DNS ALG 1250 in operation S1410. The DNS ALG 1250 recognizes that the IPv4 format address value in the payload corresponds to an actual IP address item in the mapping table that the DNS ALG 1250 itself manages, and then replaces with an IPv6 format virtual IP address of a corresponding entry in operation S1411.
In a next procedure, as illustrated in
Following procedures are identical to that of
Procedures opposite to the above, i.e., procedures of when the IPv4 terminal fetches a virtual IP address of the IPv6 terminal, are performed identical to procedures in reverse order.
Specifically, when a DNS query is transmitted into the IPv4 DNS server in the same network, the IPv4 DNS server receiving the query recognizes that there is no corresponding domain name in its cache, and transmits a virtual IP address of the IPv4 DNS server, and a MAC address of a protocol conversion unit into a protocol conversion unit. At this point, the virtual IP address of the IPv4 DNS server is a destination address of the corresponding packet, and the MAC address of the protocol conversion unit is set as a destination MAC address. The destination IP address is a virtual address of the IPv6 DNS server registered in the IPv4 DNS server in advance, and the destination MAC address is an address obtained by a method identical to that of
The protocol conversion unit searches the transmitted virtual LP address and MAC address in the mapping table mapping the actual IP addresses of the IPv5/IPv6 and the virtual IP addresses to determine whether there is a corresponding address or not. In a searching result, when the received virtual IP packet corresponds to one item of the registered virtual IP address in the mapping table, the protocol conversion unit performs a protocol conversion, and transmits the DNS query message into the IPv6 DNS server in the same network.
The IPv6 DNS server receiving the DNS query searches the corresponding query, and transmits a packet containing the corresponding IP address value into the protocol conversion apparatus. The protocol conversion unit receives the packet, recognizes that the corresponding packet is a DNS reply packet, and then transmits the packet into the DNS ALG. The DNS ALG recognizes that the IPv6 format address value in the payload corresponds to an actual IP address item in the mapping table that the DNS ALG itself manages, and then replaces with an IPv4 format virtual IP address of a corresponding entry. The DNS ALG converts the virtual IP address into an IPv4 packet, and transmits an IPv4 format virtual IP address for an IP address of the corresponding IPv6 terminal into the IPv4 terminal.
As described above, IPv4/IPv6 terminals in one physical subnet like a home network domain can utilize a protocol conversion method like a conventional SIIT through a mapping table of an actual IP address and a virtual IP address managed in a protocol conversion unit, and also can transparently communicate to each other in an IP protocol version. Moreover, terminals in one network can communicate with terminals in another network by using a conventional protocol or protocol conversion method without modification.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention. Thus, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2006-0095851 | Sep 2006 | KR | national |