Mobility support for Internet devices is quite important, since mobile computing is getting more widespread. It is expected that the number of mobile computers will increase immense. Furthermore there are already first products of cellular phones offering IP services based on WAP or GPRS, and their number will increase rapidly. Cellular devices of the 3rd generation will be packet switched devices instead of circuit switched, therefore IP services on 3rd generation cellular devices will be an integral part in the future.
Today we have to face several problems that make roaming with mobile Internet devices difficult. Problems start if somebody disconnects his mobile device from the Internet in order to connect it elsewhere. Normally he would not be able to continue communication until he configures the system with a new IP address, the correct netmask and a new default router.
The problem is based in the routing mechanisms which are used in the Internet. IP addresses define a kind of topological relation between the linked computers. Today's versions of Internet protocols assume implicit that any node has always the same point of attachment to the Internet. Additionally the node's IP address identifies the link on which the node resides. If a node moves without changing its IP address, there is no information in its network address about the new point of attachment to the Internet. Existing routing protocols are thus not able to deliver datagrams correctly. Current Internet routing protocols require the network address to change when a host moves to a new location.
To support mobile devices, which dynamically change their access points to the Internet, the Internet Engineering Task Force (IETF) currently standardizes a protocol supporting mobile Internet devices, called Mobile IP. There are two variations of Mobile IP (Mobile IPv4), based on IPv4, and Mobile IPv6, based on IPv6.
Mobile IPv6 Operation Overview
A mobile node is always addressable by its home address, whether it is currently attached to its home link or is away from home. While a mobile node is at home, packets addressed to its home address are routed to it using conventional Internet routing mechanisms in the same way as if the node were never mobile. Since the subnet prefix of a mobile node's home address is the subnet prefix (or one of the subnet prefixes) on the mobile node's home link (it is the mobile node's home subnet prefix), packets addressed to it will be routed to its home link.
While a mobile node is attached to some foreign link away from home, it is also addressable by one or more care-of addresses, in addition to its home address. A care-of address is an IP address associated with a mobile node while visiting a particular foreign link. The subnet prefix of a mobile node's care-of address is the subnet prefix (or one of the subnet prefixes) on the foreign link being visited by the mobile node; if the mobile node is connected to this foreign link while using that care-of address, packets addressed to this care-of address will be routed to the mobile node in its location away from home.
The association between a mobile node's home address and care-of address is known as a "binding" for the mobile node. A mobile node typically acquires its care-of address through stateless or Stateful (e.g., DHCPv6) Address Autoconfiguration, according to the methods of IPv6 Neighbor Discovery.
While away from home, a mobile node registers one of its care-of addresses with a router on its home link, requesting this router to function as the "home agent" for the mobile node. This binding registration is done by the mobile node sending to the home agent a packet containing a "Binding Update" destination option; the home agent then replies to the mobile node by returning a packet containing a "Binding Acknowledgement" destination option. The care-of address in this binding registered with its home agent is known as the mobile node's "primary care-of address." The mobile node's home agent thereafter uses proxy Neighbor Discovery to intercept any IPv6 packets addressed to the mobile node's home address on the home link, and tunnels each intercepted packet to the mobile node's primary care-of address. To tunnel each intercepted packet, the home agent encapsulates the packet using IPv6 encapsulation, with the outer IPv6 header addressed to the mobile node's primary care-of address.