The storage module 105 stores a home address of the MN 10 (MNHoA), an address of the HA 20, and an address of the CN 30. In the exemplary embodiment, the address of the home agent 20 includes an IPv4 address (HA4), and an IPv6 address (HA6).
The address detection module 101 detects a current address of the MN 10, and determines whether the MN 10 is roaming by comparing the current address of the MN 10 and the home address of the MN 10. If the current address is the same as the home address of the MN 10, the address detection module 101 determines that the MN 10 is not roaming. If the current address of the MN 10 is different from the home address of the MN 10, the address detection module 101 determines that the MN 10 is roaming. In the exemplary embodiment, when the MN 10 roams from the home network to the foreign network, the address detection module 101 detects the current address of the MN 10 from the foreign network, and determines that the MN 10 roams to the foreign network according to the current address thereof. If the foreign network is an IPv4 network, the current address of the MN 10 is an IPv4 care-of address (CoA) (MNCoA4). If the foreign network is an IPv6 network, the current address of the MN 10 is an IPv6 CoA (MNCoA6). In this embodiment, the IPv4/IPv6 CoAs are temporary IPv4/IPv6 addresses for the MN 10 that enables message delivery when the MN 10 is connecting from the foreign network.
The address generating module 103 generates an IPv6 CoA of the MN 10 according to the current address of the MN 10 when the MN 10 roams to an IPv4 network. In the exemplary embodiment, the address generating module 103 generates the IPv6 CoA of the MN 10 according to the IPv4 CoA of the MN 10 detected by the address detection module 101 by use of an address conversion mechanism. In this embodiment, the address conversion mechanism may be a 6 to 4 automatic tunnel, a network address translation-protocol translation (NAT-PT) and so on.
The address conversion request module 107 generates an address conversion request message according to the current address of the MN 10 and the address of the HA 20, transmits the address conversion request message to the HA 20, receives an address conversion response message from the HA 20, and generates an address mapping relationship between the home address and the current address of the MN 10 according to the address conversion response message.
For example, referring also to
Referring to
Referring to
In detail, if the MN 10 roams to an IPv6 network, referring also to
If the MN 10 roams to an IPv4 network, referring to
The data saving module 201 saves the address of the HA 20. In the exemplary embodiment, the address of the HA 20 includes the IPv4 address and the IPv6 address. The address conversion response module 203 receives the address conversion request message from the MN 10, and generates the address conversion response message according to the address conversion request message, transmits the address conversion response message to the MN 10, and generates an address mapping relationship between the home address and the current address of the MN 10 according to the address conversion request message.
In the exemplary embodiment, if the address conversion request message is encapsulated in an IPv4 tunnel, the address conversion response module 203 also transmits the address conversion response message encapsulated in the IPv4 tunnel to the MN 10. For example, referring to
Referring also to
The message processing module 205 processes messages according to the address mapping relationship generated by the address conversion response module 203. In the exemplary embodiment, the message processing module 205 receives an origination message destined for the MN 10 from the CN 30, and processes the origination message according to the address mapping relationship, and then transmits the processed origination message to the MN 10.
For example, referring to
If the HA 20 receives an encapsulated origination message 3003 destined for the CN 30 from the MN 10, the message processing module 205 decapsulates the encapsulated origination message 3003 according to the address mapping relationship to obtain an origination message 4003, and then transmits the origination message 4003 to the CN 30.
Referring to
If the HA 20 receives an encapsulated origination message 3003a destined for the CN 30 from the MN 10, the message processing module 205 decapsulates the encapsulated origination message 3003a according to the address mapping relationship to obtain an origination message 4003a, and then transmits the origination message 4003a to the CN 30.
If the message is the origination message, the source address field 301 and the destination address field 303 may be respectively set as the home address of the MN 10 and the address of the CN 30, or the address of the CN 30 and the home address of the MN 10. The source address field 301 and the destination address field 303 may be IPv6 or IPv4 addresses.
In step S801, the address detection module 101 retrieves the home address of the MN 10 and the address of the HA 20. In the exemplary embodiment, the address of the HA 20 includes an IPv4 address and an IPv6 address.
In step S803, the address detection module 101 detects a current address of the MN 10.
In step S805, the address detection module 101 determines whether the MN 10 is roaming. In the exemplary embodiment, the address detection module 101 checks whether the current address of the MN 10 is the same as the home address of the MN 10, to determine whether the MN 10 is roaming. If the current address of the MN 10 is different from the home address of the MN 10, the MN 10 is roaming. If the current address of the MN 10 is the same as the home address of the MN 10, the MN 10 is not roaming.
If the MN 10 is roaming, in step S807, the address detection module 101 determines whether the MN 10 has roamed to an IPv4 network. In the exemplary embodiment, if the current address of the MN 10 is an IPv4 address, the address detection module 101 determines that the MN 10 has roamed to an IPv4 network. If the current address of the MN 10 is an IPv6 address, the address detection module 10 determines that the MN 10 has roamed to an IPv6 network.
If the MN 10 has not roamed to an IPv4 network, the process goes to a node A.
If the MN has roamed to an IPv4 network, in step S809, the address generating module 103 generates an IPv6 CoA of the MN 10 according to the current address of the mobile node 10, by use of an address conversion mechanism. In the exemplary embodiment, the address conversion mechanism may be a 6 to 4 automatic tunnel mechanism or an NAT-PT mechanism.
In step S811, the address conversion request module 107 generates the address conversion request message 1000 (shown in
In step S813, the address conversion request module 107 encapsulates the address conversion request message 1000 in an IPv4 tunnel to produce an encapsulated address conversion request message 1001 (shown in
In step S815, the address conversion request module 107 receives the encapsulated address conversion response message 2001 from the HA 20, and generates an address mapping relationship between the home address and the IPv4 CoA of the MN 10 according to the encapsulated address conversion response message 2001.
In step S817, the processing module 111 processes messages according to the address mapping relationship generated by the address conversion request module 107.
Referring also to
In step S903, the address conversion request module 107 receives the address conversion response message 2000a from the HA 20.
In step S905, the address conversion request module generates an address mapping relationship between the current address and the home address of the MN 10 according to the address conversion response message 2000a.
In step S907, the processing module 111 processes messages according to the address mapping relationship.
Referring also to
If the MN 10 needs to transmit a message to the CN 30, in step S1003, the message producing module 109 generates an origination message 4003. Referring also to
In step S1005, the processing module 111 encapsulates the origination message 4003 in an IPv4 tunnel according to the address mapping relationship to produce an encapsulated origination message 3003, and transmits the encapsulated origination message 3003 to the HA 20. Referring also to
If the MN 10 does not need to transmit a message to the CN 30, in step S1007, the processing module 111 determines whether the MN 10 receives an encapsulated origination message 3001 from the HA 20.
If the MN 10 receives the encapsulated origination message 3001 from the HA 20, in step S1009, the processing module 111 decapsulates the encapsulated origination message 3001 according to the address mapping relationship to obtain the origination message 4001.
Referring also to
If the MN 10 needs to transmit a message to the CN 30, in step S1103, the producing module 111 generates an origination message 4003a. Referring also to
In step S1105, the processing module 111 encapsulates the origination message 4003a in an IPv6 tunnel according to the address mapping relationship to produce an encapsulated origination message 3003a, and transmits the encapsulated origination message 3003a to the HA 20. Referring also to
If the MN 10 does not need to transmit a message to the CN 10, in step S1107, the processing module 111 determines whether the MN 10 receives an encapsulated origination message 3001a from the HA 20.
If the MN 10 receives the encapsulated origination message 3001a from the HA 20, in step S1109, the processing module 111 decapsulates the encapsulated origination message 3001a according to the address mapping relationship to obtain the origination message 4001a.
In step S1201, the address conversion response module 203 receives an address conversion request message from the MN 10.
In step S1203, the address conversion response module 203 generates an address conversion response message according to the address conversion request message, and transmits the address conversion response message to the MN 10.
In step S1205, the address conversion response module 203 generates an address mapping relationship according to the address conversion request message.
In step S1207, the message processing module 205 processes messages according to the address mapping relationship.
In step S1301, the address conversion response module 203 receives an address conversion request message from the MN 10.
In step S1303, the address conversion response module 203 determines whether the address conversion request message is encapsulated in an IPv4 tunnel.
If the address conversion request message is encapsulated in an IPv4 tunnel, in step S1305, the address conversion response module 203 generates an address conversion response message, and encapsulates the address conversion response message in the IPv4 tunnel according to the address conversion request message, and then transmits the encapsulated address conversion response message to the MN 10.
In step S1307, the address conversion response module 203 generates an address mapping relationship between the current address of the MN 10 and the home address of the MN 10 according to the address conversion request message. In the exemplary embodiment, the current address of the MN 10 may be an IPv4 address or an IPv6 address.
In step S1309, the message processing module 205 processes messages according to the address mapping relationship.
In step S1303, if the address conversion request message is not encapsulated in an IPv4 tunnel, in step S1311, the address conversion response module 203 generates an address conversion response message, and transmits the address conversion response message to the MN 10. Then the process goes to step S1307 that has been described in the above text.
Referring also to
If the HA 20 has the origination message 4001 needed to be transmitted to the MN 20, in step S1403, the message processing module 205 encapsulates the origination message 4001 in an IPv4 tunnel to produce an encapsulated origination message 3001. In the exemplary embodiment, the IPv4 tunnel is the same as the IPv4 tunnel in which the address conversion response message is encapsulated.
In step S1405, the message processing module 205 transmits the encapsulated origination message 3001 to the MN 10.
If the HA 20 does not have an origination message needed to be transmitted to the MN 10, in step S1407, the message processing module 205 determines whether the HA 20 receives an encapsulated origination message 3003 destined for the CN 30 from the MN 10.
If the HA 20 receives the encapsulated origination message 3003 from the MN 10, in step S1409, the message processing module 205 decapsulates the encapsulated origination message 3003 according to the address mapping relationship generated by the address conversion response module 205 to obtain the origination message 4003.
In step S1411, the message processing module 205 transmits the origination message 4003 to the CN 30.
Referring also to
If the HA 20 has the origination message 4001a needed to be transmitted to the MN 10, in step S1503, the message processing module 205 encapsulates the origination message 4001a in an IPv6 tunnel to produce the encapsulated origination message 3001a. Referring also to
In step S1505, the message processing module 205 transmits the encapsulated origination message 3001a to the MN 10.
If the HA 20 has no message needed to be transmitted to the MN 10, in step S1507, the message processing module determines whether the HA 20 receives an encapsulated origination message destined for the CN 30 from the MN 10.
If the HA 20 receives the encapsulated origination message 3003a from the MN 10, in step S1509, the message processing module 205 decapsulates the encapsulated origination message 3003a according to the address mapping relationship to obtain the origination message 4003a.
In step S1511, the message processing module 205 transmits the origination message 4003a to the CN 30.
Thus, the MN 10 can roam between IPv4 and IPv6 networks, and maintain communication with the CN 30.
While embodiments and methods of the present invention have been described above, it should be understood that they have been presented by way of example only and not by way of limitation. Thus the breadth and scope of the present invention should not be limited by the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
95118787 | May 2006 | TW | national |