Optimized mobile IPv6 encapsulation for wireless networks
Systems and methods are provided for an optimized mobile-IPv6 encapsulation. A mobile node sends packets to a correspondent node by encapsulating a packet using an IPv6 routing extension header, and reverse tunneling the packet to a home agent. The home agent modifies the packet and forwards it to the correspondent node. When the correspondent node sends packets to the mobile node's home address, the home agent intercepts the packet, encapsulates the packet with an IPv6 routing extension header, and tunnels the packet to the mobile node. Consequently, because packets are tunneled using IPv6 routing extension headers, the amount of overhead in each encapsulated packet is reduced, thus increasing the available bandwidth in a network.
Latest Sprint Spectrum L.P. Patents:
- Dynamic channel state information reporting adjustment on primary and secondary paths
- Adjusting reference signal reporting based on uplink channel conditions
- Use of per-connection MIMO support as basis for dynamic control of air-interface communication with dual-connected device
- Dynamic control of uplink carrier aggregation in a wireless communication system based on spectral efficiency
- Dynamic control of uplink communication from a dual-connected device, based on antenna pattern efficiency per connection
The present invention relates to mobile-IPv6 and, more particularly, to encapsulated packets sent to and from the home agent.
DESCRIPTION OF RELATED ARTInternet protocol version 6 (IPv6) is a standard used by electronic devices to communicate over a packet-switched internet. IPv6 is considered the successor to IP version 4 (IPv4), primarily because it supports a far greater number of unique IP-addresses. IPv4 supports 32-bit IP addresses, and therefore can only provide 4.3 billion unique IP-addresses. IPv6, on the other hand, supports 128-bit addresses, and thus can provide approximately 5*1028 unique IP-addresses. Additionally, IPv6 allows for the use of extension headers, which are described in S. Deering et. al., “Internet Protocol, Version 6 (IPv6) Specification,” Request for Comments 2460, December 1998. IPv6 extension headers are optional headers that are appended to a standard IPv6 header. There are several different types of extension headers. For example, the routing extension header enables a packet to visit one or more intermediate nodes on its way to its final destination.
IPv6 packets generally include (1) a payload, which contains the data (i.e. voice, real-time media) that is being transmitted, and (2) a header, which contains all of the information necessary for the packet to reach its destination (i.e., the source IP-address and the destination IP-address). However, because of the increased address space used in IPv6 as opposed to IPv4, IPv6 headers are 40 bytes long, while IPv4 headers can be as small as 20 bytes.
Mobile-IPv6 allows mobile nodes to remain reachable at the same address while moving from one network to another. With mobile-IPv6, a mobile node obtains and uses a mobile-IP address referred to as a home address (HoA). Packets to and from the mobile-node are then routed through a centralized mobile-IPv6 home agent (home agent) located on the mobile node's home network, using a care-of address, which is a temporary IP-address used by a mobile node while it is located on a foreign network. The process of the home agent routing packets from the correspondent node to the mobile node is called “tunneling,” while the process of the mobile node routing packets en route to the correspondent node through the home agent is called “reverse tunneling.”
With tunneling, the home agent intercepts packets sent from the correspondent node to the mobile node and encapsulates packets by adding an additional 40-byte IPv6 header, called a tunnel header, to each packet. The tunnel header enables the packet to travel through the home agent on the way to its destination. The tunnel header indicates that the packet's source address is the home agent's address, and the packet's destination address is the mobile node's care-of address. The home agent then sends the encapsulated packet to the mobile-node, which decapsulates and processes the packet.
With reverse tunneling, the mobile node also encapsulates packets by adding a tunnel header to each packet. The tunnel header header indicates that the encapsulated packet's source the mobile node's home address, and that the encapsulated packet's destination is the home agent's address. When the home agent receives the encapsulated packet, it removes the tunnel header and forwards the packet to its intended location. Reverse tunneling provides added security because it ensures that packets sent between a mobile node and correspondent node follow the same route, thus lowering the possibility that packets are being sent by a malicious third party.
Unfortunately, however, encapsulated IPv6 packets contain 80 bytes of overhead—40 bytes for the original IPv6 header, and 40 additional bytes for the tunnel header. While this overhead is not substantial if the packet's payload is large, it becomes significant if the mobile node is sending packets with small payloads. Such a situation is common when the mobile node is transmitting voice or real-time media, because sending smaller packets increases the fidelity of the transmission. Therefore, an improvement is desired.
SUMMARY OF THE INVENTIONThe present invention advances over the state of the art by providing an optimized mobile-IPv6 encapsulation scheme, in which a mobile node and a home agent encapsulate packets with an IPv6 routing extension header.
As presently contemplated, packets sent from the mobile node to a correspondent node will be (1) reverse tunneled from the mobile node to the home agent, (2) modified by the home agent, and (3) forwarded by the home agent to the correspondent node. The reverse tunneled packets will include a payload, an IPv6 header, and an IPv6 routing extension header. The IPv6 header will include the mobile node's home address as the source address, and the home agent's address as the destination address. The IPv6 routing extension header will include the correspondent node's address as the next-hop address. When the home agent receives the packet, the home agent will (1) substitute the destination address in the IPv6 header with IP address contained in the IPv6 routing extension header, (2) remove the IPv6 routing extension header, and (3) forward the packet to the correspondent node.
Additionally, the invention contemplates tunneling packets from the home agent to the mobile node by encapsulating the packets with an IPv6 routing extension header. Packets sent from the correspondent node include a payload and an IPv6 header. The IPv6 header includes the correspondent node's IP address as the source address, and the mobile node's home address as the destination address. The home agent intercepts the packets from the correspondent node, and encapsulates them by adding an IPv6 routing extension header to each packet. The IPv6 routing extension header includes the mobile node's home address as the next-hop address. The home agent also modifies each packet's IPv6 header by changing the destination address to the mobile node's care-of address. After modifying and encapsulating a packet, the home agent will tunnel it to the mobile node's care-of address. When the mobile node receives the packet, it processes and uses the packet.
Encapsulating packets with IPv6 24-byte routing extension headers is advantageous because it reduces the amount of overhead in each encapsulated packet, thus increasing the available bandwidth in a network. As technology that requires sending small payloads grow in popularity, the present invention may thus provide relief to networks.
a. Exemplary Network
As shown in
It should be understood that any number of other entities could be present as well. For example, any number of mobile nodes could be located on home network 106, IP network 110, and foreign network 112. Furthermore, any number of intermediate devices and networks could make up all or part of any of the communication links shown in
In general, mobile node 102 and correspondent node 106 may be any device capable of using mobile-IPv6. As examples, mobile node 102 or correspondent node 106 may be, or may include one or more of the functions of, a cellular telephone, a voice-over-IP telephone, a laptop computer, or a personal digital assistant. Although mobile node 102 is depicted in
Home agent 104 may be any network device such as a router, server, or workstation that is configured to maintain current location information for mobile node 102. Home agent 104 is also configured to encapsulate and decapsulate packets, and to relay packets to mobile node 102 and correspondent node 106 in accordance with mobile-IPv6.
b. Exemplary Mobile Node
Referring next to
Wireless communication interface 200 comprises a mechanism for communicating over an air interface with a radio access network, so as to facilitate communication on a mobile-IPv6. As such, wireless communication interface 200 may include a “mobile station modem” chipset, such as one of the “MSM” chipsets available from Qualcomm Incorporated. Further, wireless communication interface 200 will preferably include one or more antennas to facilitate air interface communication.
User interface 202 comprises input and output components to facilitate user interaction with the device. For voice communication, the user interface 202 preferably includes a microphone and speaker. For visual communication, the user interface 202 may then further include a display screen and perhaps a camera. Additionally, the user interface 202 preferably includes a keypad or other mechanism to facilitate tactile user input.
Processing unit 204 comprises one or more general purpose processors (e.g., INTEL microprocessors) and/or one or more special purpose processors (e.g., digital signal processors). Data storage 206, in turn, comprises one or more volatile and/or non-volatile storage mechanisms, such as memory and/or disc-drive storage for instance, which may be integrated in whole or in part with processing unit 204.
As shown, data storage 206 includes program logic 208 and reference data 210. Program logic 208 comprises one or more logic modules (applications), and preferably includes machine language instructions executable by processing unit 304 to carry out various functions described herein, such as to (1) encapsulate IPv6 packets by adding an IPv6 routing extension header and (2) to send the encapsulated packet to a home agent. Reference data 310, in turn, includes data such the mobile-IP address assigned to the mobile node.
c. Optimized Mobile-IPv6 Packet
Referring next to
An exemplary IPv6 header 302 is shown in greater detail in
An exemplary IPv6 routing extension 304 header is shown in greater detail in
Referring to
The “segments left” field indicates the number of route segments remaining before the packet reaches its destination. The “reserved” field is initialized to zero for transmission, and is ignored on reception. Finally, the “next hop address” field includes the address of the next device to receive the packet.
Payload 306 is a standard IPv6 payload, and can carry between 0 and 1400 bytes of data. Payload 302 can be any type of data, such as voice, real-time media, text, etc.
2. Exemplary Operationa. Reverse Tunneling
As shown in
At step 604, mobile node 102 reverse tunnels the packet by sending it to home agent 104. At step 606, home agent 104 receives and begins processing the packet. Home agent 104 modifies the IP-address contained in the source address field of the IPv6 header by replacing it with the IP-address contained in the next-hop field of the IPv6 routing extension header. Next, at step 608, home agent 104 removes the IPv6 routing extension header from the packet. Thus, the processed packet is now a standard IPv6 packet that includes a payload and an IPv6 header. The IPv6 header indicates that the packet's source is the home address of mobile node 102, and that the packet's destination is the address of correspondent node 106.
At step 410, home agent 104 sends the packet to the address contained in the destination-address field of the packet's IPv6 header. In this case, home agent 104 sends the packet to correspondent node 106.
It should be understood that there are several ways in which home agent 104 could modify packets received from mobile node 102. In addition to the method described above, home agent 104 could modify packets sent from mobile node 102 by creating new packets embodying the modification. For instance, home agent 104 could (1) copy the data contained in each received packet's payload into each new packet's payload, (2) insert the IP-address from the source address field of each received packet's IPv6 header into the source address field of each new packet's IPv6 header, and (3) insert the IP-address in from the next-hop field of each received packet's IPv6 routing extension header into the destination-address field of each new packet's IPv6 header.
b. Tunneling
At step 702, home agent 104 receives a packet sent from correspondent node 106. The packet's IPv6 header indicates that the packet's source address is the IP address of correspondent node 106, and the packet's destination address is the home address of mobile node 102. At step 704, home agent 104 reads the destination-address field of the packet's IPv6 header and determines that its intended destination is the home-address of mobile node 102. Home agent 104 then associates mobile node 102's home address with mobile-node 102's care-of address. Home agent 104 may contain a list of addresses in a database, or it may query an external server to determine a care-of address that associated with mobile node 102.
Next, at step 706, home agent 104 encapsulates the packet by adding to the packet an IPv6 routing extension header. The next-hop field of the routing extension header is the same as the IP-address contained in the destination address field of the packet's IPv6 header. In this case, the IP-address is home address of mobile node 102. At step 708, home agent 106 modifies the packet's IPv6 header by changing the header's destination address to the care-of address of mobile-node 102, which enables the packet to reach the mobile node while it is located on foreign network 112.
Finally, at step 710, home agent 104 tunnels the encapsulated packet to mobile node 102, which processes the packet for use with an appropriate application.
It should be understood that there are several ways in which home agent 104 could modify packets received from correspondent node 106. In addition to the method described above, home agent 104 could modify packets sent from mobile node 106 by creating new packets embodying the modification. For example, home agent 104 could (1) copy the data contained in each received packet's payload into each new packet's payload, (2) insert the IP-address from the source address field of each received packet's IPv6 header into the source address field of each new packet's IPv6 header, (3) insert the IP-address contained in the destination-address field the received packet's IPv6 header into the next-hop field of the new packet's IPv6 routing extension header, and (4) insert a care-of address associated with the IP-address from the destination-address field the received packet into the destination address field of the new packet's IPv6 header.
3. ConclusionAn embodiment of the present invention has been described above. Those skilled in the art will understand, however, that changes and modifications may be made to this embodiment without departing from the true scope and spirit of the present invention, which is defined by the claims.
Claims
1. A method comprising:
- a home agent receiving from a mobile node a packet, wherein the packet includes (i) a payload, (ii) an IPv6 header containing at least a first IP address, and (iii) an IPv6 routing extension header defining a next-hop field that contains a second IP address;
- the home agent reading the second IP address from the next-hop field and substituting the second IP address in place of the first IP address in the IPv6 header; and
- the home agent removing the IPv6 routing extension header from the packet.
2. The method of claim 1 wherein the IPv6 header defines a destination address field, and the first IP address is contained in the destination address field.
3. The method of claim 2 wherein the first IP address is an IP address of the home agent.
4. The method of claim 1 wherein the second IP address is an IP address of a correspondent node.
5. The method of claim 4 further comprising:
- the home agent sending the packet to the correspondent node.
6. The method of claim 1, wherein the IPv6 header further defines a source address field that contains a home address of the mobile node.
7. The method of claim 1, wherein the payload carries real-time media selected from the group consisting of voice and video.
8. A method comprising:
- a home agent receiving from a correspondent node a packet, wherein the packet includes (i) a payload, and (ii) an IPv6 header defining a destination address field that contains an IP address;
- the home agent reading the IP address from the destination field;
- the home agent modifying the packet by adding an IPv6 routing extension header to the packet, the IPv6 routing extension header defining a next-hop field that contains an IP address, wherein the IP address is the same as the IP address contained in the destination address field;
- the home agent correlating the IP address from the destination field with a care-of address of a mobile node;
- the home agent replacing the IP address contained in the destination address field with the care-of address of the mobile node;
- the home agent sending the modified packet to the mobile node.
9. The method of claim 8 wherein the IP address contained in the destination address field is a home address of the mobile node.
10. The method of claim 8 wherein the IPv6 header further defines a source address field that contains a source IP address.
11. The method of claim 10 wherein the source IP address contained in the source address field is an IP address of the correspondent node.
12. The method of claim 8 wherein the mobile node comprises a cellular wireless communication device.
13. The method of claim 8, wherein the payload carries real-time media selected from the group consisting of voice and video.
14. A system comprising:
- a mobile node;
- a correspondent node;
- a home agent arranged to receive packets from the mobile node, wherein each packet from the mobile node includes (i) a payload, (ii) an IPv6 header containing at least a first IP address, and (iii) an IPv6 routing extension header defining a next-hop field that contains a second IP address;
- wherein the home agent is further arranged to read the second IP address from the next-hop field, to substitute the second IP address in place of the first address in the IPv6 header, and to remove the IPv6 routing extension header from the packet;
15. The system of claim 14:
- wherein the home agent is further arranged to receive packets from the correspondent node, wherein each packet from the correspondent node includes (i) a payload, and (ii) an IPv6 header that contains at least a third IP address;
- wherein the home agent is further arranged to modify each packet from the correspondent node by adding to each packet an IPv6 routing extension header, the IPv6 routing extension header defining a next-hop field that contains a fourth IP address, wherein the fourth IP address is the same as the third IP address;
- wherein the home agent is further arranged to read the third IP address from the destination address field and correlate the third IP address with a care-of address of the mobile node.
- wherein the home agent is further arranged to replace the third IP address with the care-of address of the mobile node.
16. The system of claim 15, wherein the home agent is further arranged to send each modified packet from the correspondent node to the mobile node.
17. The system of claim 14, wherein the home agent is further arranged to send each modified packet from the mobile node to the correspondent node.
18. The system of claim 14, wherein the payload of each packet received from the mobile node carries real-time media selected from the group consisting of voice and video.
19. The system of claim 15, wherein the payload of each packet received from correspondent node carries real-time media selected from the group consisting of voice and video.
20. The system of claim 14, wherein the mobile node comprises a cellular wireless communication device.
Type: Application
Filed: Jan 30, 2007
Publication Date: Jul 31, 2008
Applicant: Sprint Spectrum L.P. (Overland Park, KS)
Inventors: Jeremy R. Breau (Kansas City, MO), Frederick C. Rogers (Olathe, KS)
Application Number: 11/699,656
International Classification: H04L 12/56 (20060101);