In response to the increasing popularity of palmtop and other mobile computers, Mobile IP was developed to enable computers to maintain Internet connectivity while moving from one Internet attachment point to another. Although Mobile IP can work with wired connections, in which a computer is unplugged from one physical attachment point and plugged into another, it's particularly suited to wireless connections.
The term mobile in this context implies that a user is connected to one or more applications across the Internet, that the user's point of attachment changes dynamically, and that all connections are automatically maintained despite the change. This is in contrast to a user, such as a business traveler, with a portable computer of some sort, who arrives at a destination and uses the computer's notebook to dial into an ISP (Internet service provider). In this latter case, the user's Internet connection is terminated each time the user moves, and a new connection is initiated when the user dials back in. Each time an Internet connection is established, software in the point of attachment (typically an ISP) is used to obtain a new, temporarily assigned IP address. For each application-level connection (such as FTP or web connection), this temporary IP address is used by the user's correspondent. A better term for this kind of use is nomadic.
Let's begin with a general overview of Mobile IP and then look at some of the details.
Operation of Mobile IP
Routers make use of the IP address in an IP datagram to perform routing. In particular, the network portion of an IP address is used by routers to move a datagram from the source computer to the network to which the target computer is attached. Then the final router on the path, which is attached to the same network as the target computer, uses the host portion of the IP address to deliver the IP datagram to the destination. Further, this IP address is known to the next-higher layer in the protocol architecture. In particular, most applications over the Internet are supported by TCP connections. When a TCP connection is set up, the TCP entity on each side of the connection knows the IP address of the correspondent host. When a TCP segment is handed down to the IP layer for delivery, TCP provides the IP address. IP creates an IP datagram with that IP address in the IP header and sends the datagram out for routing and delivery. However, with a mobile host, the IP address may change while one or more TCP connections are active.
Figure 1 shows in general terms how Mobile IP deals with the problem of dynamic IP addresses. A mobile node is assigned to a particular network, known as its home network. Its IP address on that network, known as its home address, is static. When the mobile node moves its attachment point to another network, that's considered a foreign network for this host. Once the mobile node is reattached, it makes its presence known by registering with a network node, typically a router, on the foreign network known as a foreign agent. The mobile node then communicates with a similar agent on the user's home network, known as a home agent, giving the home agent the care-of address of the mobile node; the care-of address identifies the foreign agent's location. Typically, one or more routers on a network will implement the roles of both home and foreign agents.
Figure 1 Mobile IP scenario.
When IP datagrams are exchanged over a connection between the mobile node (A) and another host (server X in Figure 1), the following operations occur:
Server X transmits an IP datagram destined for mobile node A, with A's home address in the IP header. The IP datagram is routed to A's home network.
At the home network, the incoming IP datagram is intercepted by the home agent. The home agent encapsulates the entire datagram inside a new IP datagram that has A's care-of address in the header, and retransmits the datagram. The use of an outer IP datagram with a different destination IP address is known as tunneling.
The foreign agent strips off the outer IP header, encapsulates the original IP datagram in a network-level protocol data unit or PDU (such as a LAN LLC frame), and delivers the original datagram to A across the foreign network.
When A sends IP traffic to X, it uses X's IP address. In our example, this is a fixed address; that is, X is not a mobile node. Each IP datagram is sent by A to a router on the foreign network for routing to X. Typically, this router is also the foreign agent.
The IP datagram from A to X travels directly across the Internet to X, using X's IP address.
To support the operations illustrated in Figure 1, Mobile IP includes three basic capabilities:
Discovery. A mobile node uses a discovery procedure to identify prospective home agents and foreign agents.
Registration. A mobile node uses an authenticated registration procedure to inform its home agent of its care-of address.
Tunneling. Tunneling is used to forward IP datagrams from a home address to a care-of address.