IP based protocols for Mobile Networks : A survey
by Praveen K. Patnala
The 20th century has witnessed
wide spread developments in science and technology. Internet is one such
development. Internet has revolutionized the way people communicate. No
other form communication has had such a wide-spread acceptance in such
a short span of time. Increased usage of the Internet have motivated the
need for developing faster and efficient networks.
In such a scenario, Mobile and Wireless Networks
deserve special attention. Not only are users connected at offices and
homes, we also find them using all kinds of mobile computers : notebook
computers, laptops, PDAs, etc.TCP/IP is the Network software universally
used for connecting multiple networks in a seamless way. This architecture
was implemented at a time when Mobile Computing was inexistent.
As a result, it was heavily optimized for machines which were statically
connected. To accomodate Mobile Hosts in the current environment,
we need modifications in various layers in the TCP/IP protocol hierarchy.
This paper addresses the issues involved in Mobile Computing, various
policies and mechanisms to modify the current implementation of protocols
layers, and a mechanism to intelligently reduce the traffic generated as
well as received by mobile hosts. The notion of Quality of Service
in a mobile environment is also introduced.
Network software is highly structured. To reduce the design complexity, they are organized as a series of layers. The philosophy was for the lower layers to offer a set of services to the layers above it, while hiding the details of implementations. TCP/IP is a universally accepted software for logically interconnecting computers. It's composed of four layers:
The main problem in the transport layer is the congestion control algorithm. Since, TCP was tuned for a wired environment, loss of packets is attributed to congestion. The algorithm would then adapt to the prevailing end-to-end delay conditions throughout the life of the connection. Such a mechanism works well for current networks where, predominantly the hosts are wired. The emergence of mobile computers drastically reduces the performance. In a mobile environment, there are various possibilites where packtes are lost not because of congestion. These include :
Indirect TCP
It is an attempt to split the connection between the end hosts to two separate connections. Each connection is over a homogenous path - wireless or wired. The first connection is from the static host to the base station servicing the remote host. The second connection is from the base station to the mobile host. Each connection is cognizant of the prevailing networking conditions in its path. For example, the path from the sender to the base station will be less lossy and probably more congested than the path from the base station to the mobile host. Therefore, careful implementation can set the timeouts such that the timeouts in the first path can slow the sender down enabling the network to recover from congestion, while that in the second one can speed it up. The disadvantage of this implementation is that it violates the very philosophy of a transport layer protocol which was to provide an end-to-end connection betwee the sender and the receiver.
Fast retransmission
This method retains the semantics of a Transport layer protocol. As mentioned before, packet loss cannot be avoided. The following figure shows an architecture to accomodate mobile hosts. A geographic region is divided into cells. There exists a Mobile Service Station to service any mobile hosts currently located in this cell. It is through these stations that the mobile host is connected to the external network. It sends a periodic beacon indicating it's presence. The mobile hosts can move freely within a cell as long as it receives the beacon. It can also receive beacons from other service stations located in adjoining cells.

When a host perceives a stronger signal from a station currently not it's server, it decides to switch cells. This switching is done by a handoff mechanism. The mobile host first sends a greeting packet to the new service station. It also encapsulates it's home address (the home network it belongs to) and, the current service station. The new service station can then send an acknowledgement to this greeting. It also contacts the old service station indicating the transfer of the mobile host to the new location. The old service station then updates it's router tables and also informs the hosts which are connected to the mobile host about it's new location. It is during this epoch of time that packets which are routed to the mobile host from other sender will be lost. One way to avoid these losses is for the old service station to buffer the packets. If the host changes the cell, the old station can then forward these packets to the new service station and, eventually to the mobile host. The service stations do incur the overhead of memory space to temporarily buffer packets.
In a normal TCP implementation, it is seen that the sequence numbers remain stagnant thereby proving that TCP doesn't transmit new data during handoffs. Also, the congestion window size reduces abruptly anticipating congestion. The slow start algorithm further degrades performance.An active TCP connection can loose upto one full transmission window's worth of packets and acknowledgements during each handoff. A point to be noted is that performance will be slightly better in the case of overlapping cells. The reason being that the host will not be in a no-man's land for too long a duration. But, the exchange of messages among MSS does make sure that losses will occur. A mechanism to avoid losses during handoff is to carry out smooth handoffs. This is possible by overlapping cells. But, hardware implementation forces the necessity to have very little or no overlap between cells. The reasons being, higher bandwidth, can use low powered mobile transceivers and, to provide accurate location information beneficial in distributed systems. Another way is to buffer packets in the service stations as described before. A possible mechanism could be to have more accurate retransmission timers. Currently, highly coarse grained timers in the order of 500 millisecond timers are used while, actual end-to-end delays are in the order of a few millisecond. This will not solve the problem, since there will be timeouts during handoffs thereby reducing performance. It will also take a long time for the slow start algorithm to recover.
One attractive solution is for the transport layer to resume communications immediately after handoffs complete. Modern TCP implementation do perform such fast retransmissions by sending triplicate acknowledgements. Such an acknowledgement is to indicate a packet loss so as to allow the connection to resume transmission without any timeout. When activated, the fast retransmission would procedure would immediately retransmit the earliest unacknowledged packet, drop the window size, and initiate the slow start algorithm.
The following are the changes necessary for the procedure :
The main issue in routing is howto locate a host which can dynamically move out of it's current location. The IP layer uses an addressing mechanism where it divides the IP address of 32 bits into two parts : the network address and, the host address which is relative to the network. Routing tables use the network address to locate the next destination in an internetwork. This makes sense since otherwise, every router would need enormously huge router tables. But, such a mechanism does pose problem for a mobile host which can change it's geographic location. A mobile host belongs to a home network where it is expected to be located most of the time. The network part in it's IP address is that of the home network. When a host moves out of it's home network, it can no longer receive packets since, they would reach the home network. A possible solution would be to allow the host to be assigned a new IP address everytime it changes it's locations. This solution is undesirable, considering the fact that all the routers have to be informed about the new IP address for them to enable changes in their router tables. Also, large number of databases and programs have to be informed about the change. The question of using the complete IP address doesn't arise since, it would incur astronomical cost at each router to maintain its router tables.
The policies desired are the following :
The figure below shows a model which encompasses mobile hosts in a WAN. Mobile IP addresses the above issues and proposes solution to efficiently route the packets destined for mobile hosts. All hosts are suposed to have a permanent home location that never changes. Packets destined for mobile hosts will be routed using the home location. Therefore, fixed hosts do not incur any changes in their software as desired. The world is divided into small geographic units of area as in cells. Each area has a foreign agent to keep track of any mobile users which might have entered this cell and, also a home agent which service request for connections for a host whose home location is this cell. The algorihm works as pretty much like the handoff described above:

Actual routing of a packet for a mobile host takes place as follows:
The notion of tunneling was introduced above. It's a very elegant way of handling a case of internetworking where the source and destinations hosts are of the same type of network, separated by a different network. For example, the end hosts can be on a ethernet separated by a WAN. The solution is for the source to create an IP packet to the destination using it's IP address and encapsulating this in a ethernet packet. When a router receives this packet, it encapsulates the packet in a WAN layer packet and addresses the later to the WAN router in the other end. The router at the destination removes the IP packet and sends it to the destination host in an ethernet frame. The source and the destinations hosts do not worry about the presence of a WAN inbetween them. The routers at the ends have to be configured to handle multiprotocol packets.
The foreign agents basically act as the gateways for the mobile host to the external network. The foreign agents are the Mobile Service Stations (MSS). A packet sent by a mobile host to a destination host will be through the MSS. The IP layer in the MSS has to take care of selectively route a packet to a destination depending upon whether the destination is in the same cell, a mobile host in another cell or, a fixed host. Four types of message transfers can take place:
if target is not an MH then
deliver/route using the regular IP code;
else if target is a local MH then
deliver locally using the appropriate interface;
else if target is remote and known then
encapsulate in an IPIP packet and deliver to the
corresponding MSS;
else
attempt to locate MSS and drop packet;
IP-within-IP (IPIP) basically tunnels IP datagram from one cell to another. The IPIP layer in a remote MSS upon receiving a IPIP packet hands the datagram to the IPIP protocol module. The IPIP layer then strips the IPIP header and feeds it back to the IP queue. It also checks if the sender is another MSS.
Mobile Internetworking Control Protocol (MICP)
This is the protocol used by the MSS to exhange control information. In all, there are three types of control information exchange :
There are basically two issues to be considered in the data link layer pertaining to address resolution.
Address Resolution Protocol (ARP)
ARP maps network addresses to hardware address. In a wired medium like Ethernet, an ARP request can be broadcast with the IP address of the target address in the packet. Since, all hosts in the network receive this packet, the one with the requested IP address will acknowledge. Now, in mobile networking when a MH wants the hardware address of another MH, it broadcasts an ARP request assuming the other host is also in the same cell. Indeed if it is in the current cell, it will respond. Or else, the MSS acts as a proxy-ARP for the other MH. Therefore, the sender MH sends all the packet destined for the other MH. The MSS receives these packets which then encapsulates in a IPIP datagram and tunnels it to the destination MSS handling the remote MH.
The following is the pseudo-code of changes in the ARP layer in an MSS:
if target is not an MH then
use the regular ARP code;
else if source is a remote or unknown MH or
both source and target are local then
drop the packet;
else if target is unknown then
attempt to locate it;
else
proxy-ARP for target;
The changes are made only in the MSS and not the mobile hosts.
Dynamic IP-address Assignment Protocol
A Mobile host upon entry into a foreign network, requests for a new transient IP address. It uses this IP address for local communications with the MSS. This IP address is also used to maintain it's connection with it's home network. Dynamic IP address assignment can be implemented by extending existing RARP and other protocols.
The mechanisms described above aim at efficiently implementing the protocol stacks for a mobile environment. They do not address the issue of reducing the traffic to and from the mobile hosts. It should be noted that by efficiently implementing transport protocols, we can avoid unnecessary packet resend. But, that was independent of the type of connection being run by the mobile host. Distributed systems are normally implemented assuming the normal fixed LAN environment where, bandwidth is abundant. In a mobile environment, bandwidth is a serious bottleneck and is therefore necessary to efficiently use it. Therefore, traditional client-server applications designed for fixed hosts will perform badly.
The solution proposed is to have an intelligent intermediary between the two ends of a connection which can filter unwanted data to be dropped rather than sent to the destination. Following are some of the jobs which an intelligent intermediary can perform :
Unfiltered data
For unfiltered data, most of the standard (non-proxy) data path will be used. The server process running on the mobile host creates a virtual interface (VIF) to connect to the proxy server. The VIF then poses as the network interface and diverts data to the proxy server. The return path also goes through the VIF. This doesn't require any hardware support. The VIF is implemented in software and doesn't require any hardware support.
Filtered data
A filter is hardcoded to the proxy server. For every TCP stream, an unique filter is associated with it by creating two threads in the proxy server. One of them handles data into the mobile host and the other from the mobile host. These threads are created when a mobile host does a bind system call (or, connect, sendto) . It contacts the Proxy Server to create a new filtered stream. Therefore, the data flow path is now from the mobile host, through the filter in the proxy server and, then it is routed to the destination host. Data flow path from an external host to a mobile host is similar. The filter in the proxy server can suitably use a filtering function.
We have looked at modifications in the protocol stacks and mechanisms to efficiently use network bandwidth. An Internet Cellular Phone is an environment to support QoS in a mobile environment.. The main motivation is to provide real time service guarentees and to map exisiting cellular services as IP services. For example, a person could receive email while talking on the Internet Cellular Phone. However, providing Quality of Service in a mobile environment, does require new service architectures and protocols. IPv6 aims at integrating services provided by the cellular networks. As mentioned before, mobility changes the data flow path. Therefore, providing QoS becomes increasingly difficult since the propagation delay changes in the lifetime of a connection.
Mobile QoS
Mobile QoS can be broadly classified as mobile independent QoS and mobile dependent QoS. To obtain mobile independent QoS, a subscriber specifies it's mobility specification : the set of cells it can visit during the lifetime of a connection. The network then spatially reserves resources for the application. The reservation along the data path from the sender to the current location is active reservation, while that along other data paths is known as passive reservation. Subsribers for mobile dependent QoS make reservation from the sender to the current cell.
In this paper, various networking issues to support mobile hosts are putforth. The limitations of current implementation of TCP/IP protocols to support mobile computing are introduced. It was felt that modifications were necessary in the protocol stacks. Another issue addressed is howto effectively transfer the burden of supporting mobility among mobile users, fixed hosts and, routers. Design methodology was to avoid the fixed users from any burden. The onus lies on the mobile hosts and the service providers to add functionality in their protocol stacks to support mobility.
Although, for better performance, these modifications
could be taken above the transport layer, the design methodology was at
avoid changes in applications which do not need to know the type(mobile
or static) of a host. A mechanism to effectively and intelligently reduce
the traffic to and from mobile hosts was also introduced. The notion of
quality of service was also introduced
in a mobile environment.
1. Ramon Caceres and Liviu Iftode. Improving the performance of Reliable
Transport Protocols in Mobile Computing Environments.
2. John Ioannidis, Dan Duchamp and Gerald Q. Maguire Jr. IP-based
Protocols for Mobile Internetworking.
3. Bruce Zenel and Dan Duchamp. Intelligent Communication Filtering
for Limited Bandwidth Environments.
4. B. R. Badrinath and Anup K. Talukdar. IPv6 + Mobile IP + MRSVP
= Internet Cellular Phone?
5. Andrew S. Tanenbaum. Computer Networks 3/e.