Mobile Computing is becoming increasingly important due to the rise in the number of portable computers and the desire to have continuous network connectivity to the Internet irrespective of the physical location of the node. The Internet infrastructure is built on top of a collection of protocols, called the TCP/IP protocol suite. Transmission Control Protocol (TCP) and Internet Protocol (IP) are the core protocols in this suite. IP requires the location of any host connected to the Internet to be uniquely identified by an assigned IP address. This raises one of the most important issues in mobility, because when a host moves to another physical location, it has to change its IP address. However, the higher level protocols require IP address of a host to be fixed for identifying connections. The Mobile Internet Protocol (Mobile IP) is an extension to the Internet Protocol proposed by the Internet Engineering Task Force (IETF) that addresses this issue. It enables mobile computers to stay connected to the Internet regardless of their location and without changing their IP address. More precisely, Mobile IP is a standard protocol that builds on the Internet Protocol by making mobility transparent to applications and higher level protocols like TCP [6]. This article provides an introduction to Mobile IP and discusses its advantages and disadvantages.
TCP/IP protocol suite, the cornerstone of Internet networking, is a four-layer system. Each layer is responsible for a specific task [18]. The four layers, from top to bottom, are application layer, transport layer, network layer, and link layer. The application layer handles the details of the particular application (e.g., FTP, TELNET, HTTP etc.). The transport layer provides a flow of data between two Internet nodes. There are two widely used transport layer protocols on the Internet: TCP (Transmission Control Protocol) [15] and UDP (User Datagram Protocol)[13]. TCP provides a reliable flow of data between two nodes by maintaining a connection-oriented environment. On the other hand, UDP provides an unreliable and connectionless datagram service. The network layer handles the movement of packets around the network by implementing efficient routing algorithms. IP (Internet Protocol) [14], the default network layer protocol on the Internet, is described in detail in the next section. The link layer provides interfaces to the network hardware devices in the form of device drivers. Examples include IEEE 802.2 (LANs), X.25, packet radio etc. The physical layer, which is often tightly-coupled with the datalink, is responsible for transmitting raw bits across the network through network interface cards and cables.
The overall protocol stack is also a tightly-coupled system. Each layer provides some services that the upper layers use. Thus, support for mobility is likely to affect all the layers. For example, the link layer needs to make provisions to accomodate the distinguishing characteristics of wireless media like low bandwidth and difference in power levels of end-to-end nodes. The network layer that routes data to a destination host based on its location, needs to be modified so that it can handle routing when the physical location of the host changes. Similarly, at the transport layer, it is neccessary to provide a better end-to-end delivery service, especially in the case of dropped packets; packets may be lost during mobility and need to be delivered immediately to the new location. Finally, the application layer requires additional support in terms of automatic configuration, service discovery, and link awareness [7]. As an example of an application layer change, if an FTP session is in progress during mobility, the FTP application needs to configure itself being aware of the location changes.
Mobile IP extends IP to support mobile computing. The next section gives an overview of IP, as a preamble to Mobile IP.
At the network layer, the Internet is viewed as a set of networks or autonomous systems connected together in a hierarchical manner. IP is the mechanism that connects these networks together. Its basic function is to deliver data from a source to a destination independent of the physical location of the two.
IP identifies each node uniquely, using an IP address that designates its physical attachment to the Internet. IP addresses are 32-bit long integers and are represented in a dotted decimal format (e.g., 128.55.44.1), for ease of use. Every IP packet consists of an IP header and an IP payload. The header contains the IP addresses of the sending node and the receiving node along with some other information.
To correctly deliver these packets, IP executes two major steps: packet routing and packet forwarding. Packet routing involves use of protocols like BGP, RIP, and OSPF to decide the route that each packet has to travel. The route is decided using a routing table of < destination address, next hop > pairs at each router. Destination addresses are paired with a pair contained in the routing table. Packet forwarding involves use of protocols like ARP, proxy ARP etc. to deliver the packet to the end node once it has arrived at the destination network. This is typically done by discovering the hardware address of the host corresponding to its IP address.
IP decides the next-hop by determining the network information from the destination IP address of the packet. On the other hand, higher level layers like TCP maintain information about connections that are indexed by a quadruplet containing the IP addresses of both the endpoints and the port numbers. Thus, while trying to support mobility on the Internet under the existing protocol suite, we are faced with two mutually conflicting requirements: (1) a mobile node has to change its IP address whenever it changes its point of attachment, so that packets destined to the node are routed correctly, (2) to maintain existing TCP connections, the mobile node has to keep its IP address the same. Changing the IP address will cause the connection to be disrupted and lost.
Mobile IP, the standard proposed by IETF, is designed to solve the problem by allowing each mobile node to have two IP addresses and by transparently maintaining the binding between the two addresses [12]. One of the IP addresses is the permanent home address that is assigned at the home network and is used to identify communication endpoints. The other is a temporary care-of address that represents the current location of the host. The main goals of Mobile IP are to make mobility transparent to the higher level protocols and to make minimum changes to the existing Internet infrastructure.
As discussed in the last section, Mobile IP supports mobility by transparently binding the home address of the mobile node with its care-of address. This mobility binding is maintained by some specialized routers known as mobility agents. Mobility agents are of two types - home agents and foreign agents. The home agent, a designated router in the home network of the mobile node, maintains the mobility binding in a mobility binding table where each entry is identified by the tuple <permanent home address, temporary care-of address, association lifetime>. Figure 1 shows a mobility binding table. The purpose of this table is to map a mobile node's home address with its care-of address and forward packets accordingly.
Figure 1: Mobility Binding Table
Figure 2: Visitor List
The basic Mobile IP protocol has four distinct stages [2]. These are:
Figure 3 illustrates the registration process.

Figure 3: Registration process in
Mobile IP
Figure 4: Tunneling operation in Mobile
IP
In the basic Mobile IP protocol, IP packets destined to a mobile node that is outside its home network are routed through the home agent. However packets from the mobile node to the correspondent nodes are routed directly. This is known as triangle routing. Figure 5 illustrates triangle routing.
Figure 5: Triangle Routing
Route Optimization is an extension proposed to the basic Mobile IP protocol [4]. Here messages from the correspondent node are routed directly to the mobile node's care-of address without having to go through the home agent. Route Optimization provides four main operations. These are:
1. Updating binding caches: Binding caches are maintained by correspondent nodes for associating the home address of a mobile node with its care-of address. A binding cache entry also has an associated lifetime after which the entry has to be deleted from the cache. If the correspondent node has no binding cache entry for a mobile node, it sends the message addressed to the mobile node's home address. When the home agent intercepts this message, it encapsulates it and sends it to the mobile node's care-of address. It then sends a Binding Update message to the correspondent node informing it of the current mobility binding.
2. Managing smooth handoffs between foreign agents: When a mobile node registers with a new foreign agent, the basic Mobile IP does not specify a method to inform the previous foreign agent. Thus the datagrams in flight which had already tunneled to the old care-of address of the mobile node are lost. This problem is solved in Route Optimization by introducing smooth handoffs. Smooth handoff provides a way to notify the previous foreign agent of the mobile node's new mobility binding.
If a foreign agent supports smooth handoffs, it indicates this in its Agent Advertisement message. When the mobile node moves to a new location, it requests the new foreign agent to inform its previous foreign agent about the new location as part of the registration procedure. The new foreign agent then constructs a Binding Update message and sends it to the previous foreign agent of the mobile node. Thus if the previous foreign agent receives packets from a correspondent node having an out-of-date binding, it forwards the packet to the mobile node's care-of address. It then sends a Binding Warning message to the mobile node's home agent. The home agent in turn sends a Binding Update message to the correspondent node. This notification also allows datagrams sent by correspondent nodes having out-of-date binding cache entries to be forwarded to the current care-of address. Finally this notification allows any resources consumed by the mobile node at the previous foreign agent to be released immediately, instead of waiting for the registration lifetime to expire.
3. Acquiring registration keys for smooth handoffs: For managing smooth handoffs, mobile nodes need to communicate with the previous foreign agent. This communication needs to be done securely as any careful foreign agent should require assurance that it is getting authentic handoff information and not arranging to forward in-flight datagrams to a bogus destination. For this purpose a registration key is established between a foreign agent and a mobile node during the registration process. The following methods for establishing registration keys have been proposed in the order of declining preference:
4. Using special tunnels: When a foreign agent receives a tunneled datagram for which it has no visitor list entry, it concludes that the node sending the tunneled datagram has an out-of-date binding cache entry for the mobile node. If the foreign agent has a binding cache entry for the mobile node, it should re-tunnel the datagram to the care-of address indicated in its binding cache entry. On the other hand, when a foreign agent receives a datagram for a mobile node for which it has no visitor list or binding cache entry, it constructs a special tunnel datagram [8]. The special tunnel datagram is constructed by encapsulating the datagram and making the outer destination address equal to the inner destination address. This allows the home agent to see the address of the node that tunneled the datagram and prevent sending it to the same node. This avoids a possible routing loop that might have occured if the foreign agent crashed and lost its state information.
Figure 6: Minimal Encapsulation
It is evident that Mobile IP has great potential and it is being studied in a number of research projects like Stanford University's Mosquitonet project [17] and the CMU Monarch project [1]. Extensions have also been proposed to allow mobility management for the interface between a radio network and a packet data network in the third generation cdma2000 network.
Biography
Debalina Ghosh is a graduate student in Computer
Science at the University of Illinois at Chicago. She completed her Bachelors in
Computer Science and Engineering from Jadavpur University, Calcutta, India. Her
research interests are in Computer Networking and Computer Architecture. She can
be reached at dghosh@eecs.uic.edu.
Want more articles about Mobile and Wireless Computing? Go to the index, the the next one or to the previous one.
Last Modified:
Location: www.acm.org/crossroads/xrds7-2/mobileip.html