1. Field of the Invention
The present invention relates to an IPv6 mobile node that can compress a packet so it can be efficiently sent within a bi-directional tunnel (e.g., IPv4/UDP bi-directional tunnel) from one access network through one or more IP networks (e.g., Internet) to another access network which contains a remote device (e.g., home agent, correspondent node, another mobile node).
2. Description of Related Art
In the wireless communications field, a protocol known as Mobile IPv6 is used today which allows IPv6 MNs to remain reachable while moving around in IPv6 access networks connected to an IP network like the Internet. Without this mobility support, packets destined to an IPv6 MN would not be able to reach it while the IPv6 MN is located away from its home link. The Mobile IPv6 protocol is described in detail in the following documents:
In addition to the IPv6 access networks, there are also IPv4 access networks in use today that are connected to the Internet. The IPv4 access networks are designed and made in accordance with another protocol known as Mobile IPv4. The Mobile IPv4 protocol enables an IPv4 MN to be reached while it is located in an IPv4 access network that is not its home link. The Mobile IPv4 protocol is described in detail in the following document:
The Mobile IPv4 and Mobile IPv6 protocols are designed for IPv4-only access networks and IPv6-only access networks, respectively. As such, the Mobile IPv6 protocol does not provide backwards compatibility to IPv4 networks. This means that Mobile IPv6 protocol is not capable of mobility management across IPv4 (public and private) access networks. However, mobility management of IPv6 MNs located in IPv4 (public and private) access networks is particularly important. Because, IPv6 MNs (e.g., IPv6 mobile computers) which are located in IPv4 access networks are likely to account for a portion of the population of the devices that are going to be connected to the Internet. This mobility management problem has been solved. Two different solutions to this problem were discussed in a related PCT Patent Application No. ______ entitled “Mobile IPv6 Route Optimization in Different Address Spaces” (Attorney Docket No. P20155). The contents of this document are incorporated by reference herein.
Unfortunately, these solutions utilize a lot of bandwidth because more overhead is needed since an additional IP header must be added to the packet so the IPv6 MN can be reached regardless of the type of access network they happen to be located in at that time.
Referring to
When, the MN 102 is located in the IPv6 3G access network 108, a packet 124 is sent between the MN 102 and a RNC 126. This packet 124 includes a compressed IP header (“cmp”) and “IPv6/UDP/RTP” or “IPv4/UDP/RTP” and data. A packet 128a and 128b is also shown which is sent in a bi-directional tunnel 127 between the MN 102 and the HA 116 or the remote CN 104a (or another MN 104b) via a gateway GPRS service node (GGSN) 130, the IP network(s) 114, the HA 116 and the HL 118. The first/last “hop” of this tunnel 127 is sent inside a tunnel between the MN 102 and the radio network controller (RNC) 126. In this additional tunnel between the MN 102 and the RNC 126, the IP header compression is used to compress the outer IPv6 header. Packet 128a is used when the MN 102 is sending IPv6 traffic to the HA 116 or if the MN 102 is sending/receiving IPv6 traffic to/from the remote CN 104a (or another MN 104b) and the traffic between them is not route optimized. This packet 128a includes an outer IP header (“IPv6”), an inner IP header (“IPv6/UDP/RTP”) and data. And, packet 128b is used when the HL 118 is an IPv4 HL 118 and the MN 102 is sending/receiving IPv4 traffic from the IPv6 access network 108. In this case, all the IPv4 traffic must be tunneled inside a bi-directional IPv6 tunnel 127 between the peer nodes 102, 104a, 104b and 116. This packet 128b includes an outer IP header (“IPv6”), an inner IP header (“IPv4/UDP/RTP”) and data. Each of the outer IP headers “IPv6” in packet 128a and 128b is the decompressed “cmp” associated with packet 124. And, the inner IP header “IPv6/UDP/RTP” and “IPv4/UDP/RTP” are the headers introduced by the application sending the data between the peer nodes 102, 104a, 104b and 116. And, the outer IPv6 header in packet 128a and 128b is the additional overhead that is needed so packet 128a and 128b can be sent in the bi-directional tunnel 127. The MN 102 also includes a routing table 132 when it is located in the IPv6 3G access network 108. An exemplary routing table 132 is provided below:
A drawback of this scenario is that packets 110a, 110b, 128a and 128b have both an outer IP header and an inner IP header which adds a lot of overhead to the traffic in the access networks 106, 108 and 118 and the Internet 114. It would be desirable if some of the overhead in the packets 110a, 110b, 128a and 128b could be reduced which in turn would save valuable bandwidth in the access networks 106, 108 and 118 and the Internet 114. This need is addressed by the present invention.
Referring to
When, the MN 202 is located in the IPv4 3G access network 208, a packet 224 is sent between the MN 202 and a RNC 226. This packet 224 includes a compressed IPv4 header and UDP header (“cmp”) and “IPv6/UDP/RTP” or “IPv4/UDP/RTP” and data. A packet 228a and 228b is also shown that is sent in a bi-directional tunnel 227 between the MN 202 and the HA 216 or the remote CN 204a (or another MN 204b) via a GGSN 230, one or more IP networks 214 (e.g., Internet 214), the HA 216 and the HL 218. The first/last “hop” of this tunnel 227 is sent inside a tunnel between the MN 202 and the RNC 226. In this additional tunnel between the MN 202 and the RNC 226, the IP header compression is used to compress the outer IPv4/UDP header. Packet 228a is used when the HL 218 is an IPv6 HL 218 and the MN 202 is sending IPv6 traffic to the HA 216 or if the MN 202 is sending/receiving IPv6 traffic to/from the remote CN 204a (or another MN 204b) and the traffic between them is not route optimized. This packet 228a includes an outer IP header (“IPv4/UDP”), an inner IP header (“IPv6/UDP/RTP”) and data. And, packet 228b is used when the HL 218 is an IPv4 HL 218 and the MN 202 is sending/receiving IPv4 traffic from its IPv4 HoA. This packet 228b includes an outer IP header (“IPv4/UDP”), an inner IP header (“IPv4/UDP/RTP”) and data. Each of the outer IP headers “IPv4/UDP” in packet 228a and 228b is the decompressed “cmp” associated with packet 224. And, the inner IP header “IPv6/UDP/RTP” and “IPv4/UDP/RTP” are the headers introduced by the application sending the data between the peer nodes 202, 204a, 204b and 216. And, the outer IPv4 and UDP headers in packet 228a and 228b introduces the additional overhead that is needed so packet 228a and 228b can be sent in the bi-directional tunnel 227. The MN 202 also includes a routing table 232 when it is located in the IPv4 3G access network 208. An exemplary routing table 232 is provided below:
A drawback of this scenario is that packets 210a, 210b, 228a and 228b have both an outer IP header and an inner IP header which adds a lot of overhead to the traffic in the access networks 206, 208 and 218 and the Internet 214. It would be desirable if some of the overhead in the packets 210a, 210b, 228a and 228b could be reduced which in turn would save valuable bandwidth in the access networks 206, 208 and 218 and the Internet 214. This need is addressed by the present invention.
The present invention includes a Mobile IPv6 mobile node, correspondent node and home agent. Each of these nodes can compress and uncompress the inner IP headers of the tunneled packets they send and receive. As described herein, while a MN is attached to an access network away from home link it creates a bi-directional tunnel (home tunnel) between itself and the HA which is situated at the MNs home link. This tunnel is setup from the MN at the foreign network and it goes through the access router and the IP networks between the foreign link and the home link and to the HA in the home link. The home tunnel is used for all not route optimized traffic sent and received by the MN. When this invention is used together with the invention described in PCT Patent Application No. ______ entitled “Mobile IPv6 Route Optimization in Different Address Spaces” (Attorney Docket No. P20155) which enables the MN to optimize the routing between other MNs and CNs it has in some traffic cases bi-directional tunnels between itself and other Mobile IPV6 nodes. This tunnel is setup from the MN in the foreign access network and goes through the access router and the IP networks between the MNs access network and the other MNs or CNs access network and through the access routers in the other end and all the way to the other MN or the CN. Both of the tunnels described above can either be setup from an IPv4 or an IPv6 access network. When these tunnels are used to send/receive traffic, the inner IP headers of these packets can be compressed by the sender in accordance with the present invention. If the access network the MN is attached to supports IP header compression, then the outer header can also be compressed when these packets are sent over the aerial interface.
An uncompressed tunneled packet contains an outer IP header which is either an IPv6 header or an IPv4/UDP header depending on the traffic case. Inside this tunnel header (outer IP header) the packet has the inner IP headers and the data of the packet. When this packet is compressed in accordance with the present invention, the outer header of the packet is left untouched and the inner headers are compressed. However, if the access network (3G) supports header compression, then the outer headers can also be compressed while the packet is transmitted over the aerial interface. This compression is uncompressed by some node (in 3G RNC) in the network before it reaches the IP networks behind the access network.
A more complete understanding of the present invention may be had by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein:
Referring to
Referring to
In contrast, the compressed packet 310b is used when the HL 318 is an IPv4 HL 318 and the MN 302 is sending/receiving IPv4 traffic from the IPv6 access network 306. In this case, all the IPv4 traffic must be tunneled inside a bi-directional IPv6 tunnel 313 between the peer nodes 302, 304a, 304b and 316. The compressed packet 310b includes an outer IP header (“IPv6”), a compressed inner IP header (“cmp”) and data. The compressed inner IP header (“cmp”) was formed from IPv4/UDP/RTP which are the headers introduced by the application sending data. And, the outer IPv6 header is the additional overhead that is needed so packet 310b can be sent in the bi-directional tunnel 313 to the HA or the CN 304a (or MN 304b)(compare to
The MN 302 also uses a routing table 322 when it is located in the IPv6 WLAN/LAN access network 306. The routing table 322 indicates the tunnels 313 which can be used between nodes 302 and 304a/304b/316. The exemplary routing table 322 provided below indicates two different types of scenarios 1 and 4 which can be used to compress packets 310a and 310b. A more detailed discussion about how packets 310a and 310b can be compressed in accordance with scenarios 1 and 4 is provided below with respect to
When, the MN 302 is located in the IPv6 3G wireless access network 308, a packet 324 is sent between the MN 302 and a RNC 326. This packet 324 includes two compressed IP headers (“cmp1” and “cmp2”) and data. The compressed packet 328a and 328b is also shown which is sent in a bi-directional tunnel 327 between the MN 302 and the HA 316 or the remote CN 304a (or another MN 304b) via the GGSN 330, one or more IP networks 314 (e.g., Internet 314), the HA 316 and the HL 318. The first/last “hop” of this tunnel 327 is sent inside a tunnel between the MN 302 and the radio network controller (RNC) 326. In this additional tunnel between the MN 302 and the RNC 326, the IP header compression is used to compress the outer IPv6 header. Packet 328a is used when the HL 318 is an IPv6 HL 318 and the MN 302 is sending IPv6 traffic to the HA 316 or if the MN 302 is sending/receiving IPv6 traffic to/from the remote CN 304a (or another MN 304b) and the traffic between them is not route optimized. This packet 328a includes an outer IP header (“IPv6”), a compressed inner IP header (“cmp2”) and data. The outer IP header (“IPv6”) is the decompressed “cmp1” associated with packet 324. And, the compressed inner IP header (“cmp2”) was formed from IPv6/UDP/RTP which are the headers introduced by the application sending data. And, the outer IPv6 header is the additional overhead that is needed so packet 328a can be sent in the bi-directional tunnel 327 to the HA 316 or the CN 304a (or MN 304b)(compare to
In contrast, the compressed packet 328b is used when the HL 318 is an IPv4 HL 318 and the MN 302 is sending/receiving IPv4 traffic from the IPv6 access network 308. In this case, all the IPv4 traffic must be tunneled inside a bi-directional IPv6 tunnel 327 between the peer nodes 302, 304a, 304b and 316. The compressed packet 328b includes an outer IP header (“IPv6”), a compressed inner IP header (“cmp2”) and data. The outer IP header (“IPv6”) is the decompressed “cmp1” associated with packet 324. And, the compressed inner IP header (“cmp2”) was formed from IPv4/UDP/RTP which are the headers introduced by the application sending data. And, the outer IPv6 header is the additional overhead that is needed so packet 328b can be sent in the bi-directional tunnel 327 to the CN 304a (or MN 304b)(compare to
The MN 302 also uses a routing table 332 when it is located in the IPv6 3G wireless access network 308. The routing table 332 indicates the tunnels 327 which can be used between nodes 302 and 304a/304b/316. The exemplary routing table 332 provided below indicates two different types of scenarios 1 and 4 which can be used to compress packets 328a and 328b. A more detailed discussion about how packets 328a and 328b can be compressed in accordance with scenarios 1 and 4 is provided below with respect to
Referring to
In contrast, the compressed packet 410b is used when the HL 418 is an IPv4 HL 418 and the MN 402 is sending/receiving IPv4 traffic from its IPv4 HoA. The compressed packet 410b includes an outer IP header (“IPv4/UDP”), a compressed inner IP header (“cmp”) and data. The compressed inner IP header (“cmp”) was formed from IPv4/UDP/RTP which are the headers introduced by the application sending data. And, the outer IPv4 and UDP headers introduce the additional overhead that is needed so the packet 410b can be sent in the bi-directional tunnel 413 to the CN 404a (or MN 404b)(compare to
The MN 402 also uses a routing table 422 when it is located in the IPv4 WLAN/LAN access network 406. The routing table 422 indicates the tunnels 413 which can be used between nodes 402 and 404a/404b/416. The exemplary routing table 422 provided below indicates two different types of scenarios 2 and 3 which can be used to compress packets 410a and 410b. A more detailed discussion about how packets 410a and 410b can be compressed in accordance with scenarios 2 and 3 is provided below with respect to
When, the MN 402 is located in the IPv4 3G wireless access network 408, a packet 424 is sent between the MN 402 and a RNC 426. This packet 424 includes two compressed IP headers (“cmp1” and “cmp2”) and data. The compressed packet 428a and 428b is also shown that is sent in a bi-directional tunnel 427 between the MN 402 and the HA 416 or the remote CN 404a (or another MN 404b) via a GGSN 430, one or more IP networks 414 (e.g., Internet 414), the HA 416 and the HL 418. The first/last “hop” of this tunnel 427 is sent inside a tunnel between the MN 402 and the RNC 426. In this additional tunnel between the MN 402 and the RNC 426, the IP header compression is used to compress the outer IPv6 header. Packet 428a is used when the HL 418 is an IPv6 HL 418 and the MN 402 is sending IPv6 traffic to the HA 416 or if the MN 402 is sending/receiving IPv6 traffic to/from the remote CN 304a (or another MN 304b) and the traffic between them is not route optimized. This packet 428a includes an outer IP header (“IPv4/UDP”), a compressed inner IP header (“cmp2”) and data. The outer IP header (“IPv4/UDP”) is the decompressed “cmp1” associated with packet 424. And, the compressed inner IP header (“cmp2”) was formed from IPv6/UDP/RTP which are the headers introduced by the application sending data. And, the outer IPv4 and UDP header introduce the additional overhead that is needed so packet 428a can be sent in the bi-directional tunnel 427 to the HA 416 or the CN 404a (or MN 404b)(compare to
In contrast, the compressed packet 428b is used when the HL 418 is an IPv4 HL 418 and the MN is sending/receiving IPv4 traffic from its IPv4 HoA. The compressed packet 428b includes an outer IP header (“IPv4/UDP”), a compressed inner IP header (“cmp2”) and data. The outer IP header (“IPv4/UDP”) is the decompressed “cmp1” associated with packet 424. And, the compressed inner IP header (“cmp2”) was formed from IPv4/UDP/RTP which are the headers introduced by the application sending data. And, the outer IPv4 and UDP header introduce the additional overhead that is needed so packet 428b can be sent in the bi-directional tunnel 427 to the CN 404a (or MN 404b)(compare to
The MN 402 also uses a routing table 432 when it is located in the IPv4 3G wireless access network 408. The routing table 432 indicates the tunnels 427 which can be used between nodes 402 and 404a/404b/416. The exemplary routing table 432 provided below indicates two different types of scenarios 2 and 3 which can be used to compress packets 428a and 428b. A more detailed discussion about how packets 428a and 428b can be compressed in accordance with scenarios 2 and 3 is provided below with respect to
Referring to
If the MN 302 is located in the 3G wireless access network 308, then the MN 302 can further compress the packet 324 before transmitting it over the aerial interface to a RNC 326 (for example). In this case, the outer IP header “IPv4/UDP” of the tunneled packet 324 can be compressed normally to 1 byte headers shown as “cmp1” so the packet tunneled inside IPv4 tunnel will be transmitted as 24 bytes of data. In this example, the IP header compression can save aerial bandwidth by 78%. The compression in other traffic cases and the compression saved by using the present invention is illustrated in
Referring to
In addition, when the remote device 316, 304a, 304b, 416, 404a and 404b sends a tunneled packet to the MN 302 and 402 it compresses the inner IP header of the packet according to its compression context it has between itself and the MN 302 and 402. Moreover, the remote device 316, 304a, 304b, 416, 404a and 404b can compress the outer IP header if the packet is going to be transmitted over an aerial interface to MN 302 and 402.
From the foregoing, it can be readily appreciated by those skilled in the art that the present invention described herein reduces the overhead of the tunneled traffic between a MN and a remote device (e.g., HA, CN, MN) by using an IP header compression algorithm between them such as Robust Header Compression (ROHC) [see, RFC 3095]. In the prior art, ROHC is normally used between the MN and some node (RNC) in a radio access network (RNC). However, the tunneled packet is carried through rest of the access network and the IP Network(s) (e.g., Internet) in uncompressed format (see
The overhead can also be reduced in situations where the IP header compression would not normally be used at all such as in a WLAN/LAN access network. In this case, the header compression context between the MN and remote device (e.g., HA, CN, MN) can be used to compress the inner IP header of each tunneled packet. The outer IP header (IPv4/UDP or IPv6) cannot be compressed as it is needed to route the packets through the IP Network(s) (e.g., Internet). However, as described above, the outer IP header can still be compressed separately by the MN and the wireless access network. It should be noted that the IP header compression between the MN and the remote device (e.g., HA, CN, MN) does not decrease the compression ratio over the aerial link.
Following are some additional features and advantages associated with the present invention:
Although one embodiment of the present invention has been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it should be understood that the invention is not limited to the embodiment disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.