Mobile Computing (Module-II)
Mobile Computing
Module-2
(Dynamic Host Configuration Protocol (DHCP), Mobile Transport Layer)
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
I. DYNAMIC HOST CONFIGURATION PROTOCOL (DHCP)
DHCP is an automatic configuration protocol used on IP networks. DHCP allows a computer to
join an IP-based network without having a pre-configured IP address.
DHCP is a protocol that assigns unique IP addresses to devices, then releases and renews these
addresses as devices leave and re-join the network.
If a new computer is connected to a network, DHCP can provide it with all the necessary
information for full system integration into the network, e.g., addresses of a DNS server and the
default router, the subnet mask, the domain name, and an IP address.
Providing an IP address makes DHCP very attractive for mobile IP as a source of care-of-
addresses.
DHCP is based on a client/server model as shown below. DHCP clients send a request to a server
(DHCP discover in the example) to which the server responds. A client sends requests using
MAC broadcasts to reach all devices in the LAN. A DHCP relay might be needed to forward
requests across inter-working units to a DHCP server..
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
A typical DHCP operation is shown in the below diagram:
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
Consider the scenario where there is one client and two servers are present. A typical initialization of
a DHCP client is shown below:
The client broadcasts a DHCP DISCOVER into the subnet. There might be a relay to forward this
broadcast.
In the case shown, two servers receive this broadcast and determine the configuration they can offer
to the client. Servers reply to the client’s request with DHCP OFFER and offer a list of configuration
parameters.
The client can now choose one of the configurations offered. The client in turn replies to the servers,
accepting one of the configurations and rejecting the others using DHCP REQUEST.
If a server receives a DHCP REQUEST with a rejection, it can free the reserved configuration for
other possible clients. The server with the configuration accepted by the client now confirms the
configuration with DHCP ACK.
This completes the initialization phase. If a client leaves a subnet, it should release the configuration
received by the server using DHCPRELEASE.
Now the server can free the context stored for the client and offer the configuration again. The
configuration a client gets from a server is only leased for a certain amount of time; it has to be
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
reconfirmed from time to time. Otherwise the server will free the configuration. This timeout of
configuration helps in the case of crashed nodes or nodes moved away without releasing the context.
DHCP is a good candidate for supporting the acquisition of care-of addresses for mobile nodes. The
same holds for all other parameters needed, such as addresses of the default router, DNS servers, the
timeserver etc.
A DHCP server should be located in the subnet of the access point of the mobile node, or at least a
DHCP relay should provide forwarding of the messages. RFC 3118 specifies authentication for
DHCP messages so as to provide protection from malicious DHCP servers. Without authentication, a
DHCP server cannot trust the mobile node and vice versa.
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
II. TRADITIONAL TCP
The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol
suite, often simply referred to as TCP/IP. TCP is reliable, guarantees in-order delivery of data
and incorporates congestion control and flow control mechanisms.
TCP supports many of the Internet's most popular application protocols and resulting
applications, including the World Wide Web, e-mail, File Transfer Protocol and Secure Shell. In
the Internet protocol suite, TCP is the intermediate layer between the Internet layer and
application layer.
The major responsibilities of TCP in an active session are to:
Provide reliable in-order transport of data: to not allow losses of data.
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
Control congestions in the networks: to not allow degradation of the network
performance,
Control a packet flow between the transmitter and the receiver: to not exceed the
receiver's capacity.
TCP uses a number of mechanisms to achieve high performance and avoid 'congestion collapse',
where network performance can fall by several orders of magnitude. These mechanisms control
the rate of data entering the network, keeping the data flow below a rate that would trigger
collapse.
There are several mechanisms of TCP that influence the efficiency of TCP in a mobile
environment. Acknowledgments for data sent, or lack of acknowledgments, are used by senders
to implicitly interpret network conditions between the TCP sender and receiver.
III. INDIRECT TCP (I-TCP)
Indirect TCP segments a TCP connection into a fixed part and a wireless part. The following
figure shows an example with a mobile host connected via a wireless link and an access point to
the ‘wired’ internet where the correspondent host resides.
Standard TCP is used between the fixed computer and the access point. No computer in the
internet recognizes any changes to TCP.
Instead of the mobile host, the access point now terminates the standard TCP connection, acting
as a proxy. This means that the access point is now seen as the mobile host for the fixed host and
as the fixed host for the mobile host.
Between the access point and the mobile host, a special TCP, adapted to wireless links, is used.
However, changing TCP for the wireless link is not a requirement. A suitable place for
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
segmenting the connection is at the foreign agent as it not only controls the mobility of the
mobile host anyway and can also hand over the connection to the next foreign agent when the
mobile host moves on.
The foreign agent acts as a proxy and relays all data in both directions. If CH (correspondent
host) sends a packet to the MH, the FA acknowledges it and forwards it to the MH.
MH acknowledges on successful reception, but this is only used by the FA. If a packet is lost on
the wireless link, CH doesn’t observe it and FA tries to retransmit it locally to maintain reliable
data transport.
If the MH sends a packet, the FA acknowledges it and forwards it to CH. If the packet is lost on
the wireless link, the mobile hosts notice this much faster due to the lower round trip time and
can directly retransmit the packet. Packet loss in the wired network is now handled by the
foreign agent.
Socket and state migration after handover of a mobile host
During handover, the buffered packets, as well as the system state (packet sequence number,
acknowledgements, ports, etc), must migrate to the new agent. No new connection may be established
for the mobile host, and the correspondent host must not see any changes in connection state. Packet
delivery in I-TCP is shown below:
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
Advantages of I-TCP
No changes in the fixed network necessary, no changes for the hosts (TCP protocol) necessary, all
current optimizations to TCP still work
Simple to control, mobile TCP is used only for one hop between, e.g., a foreign agent and mobile
host
1. Transmission errors on the wireless link do not propagate into the fixed network
2. Therefore, a very fast retransmission of packets is possible, the short delay on the mobile hop s known
It is always dangerous to introduce new mechanisms in a huge network without knowing exactly
how they behave.
New optimizations can be tested at the last hop, without jeopardizing the stability of the
Internet.
It is easy to use different protocols for wired and wireless networks.
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
Disadvantages of I-TCP
Loss of end-to-end semantics: - an acknowledgement to a sender no longer means that a receiver
really has received a packet, foreign agents might crash.
Higher latency possible:- due to buffering of data within the foreign agent and forwarding to a new
foreign agent
Security issue:- The foreign agent must be a trusted entity
IV. SNOOPING TCP
The main drawback of I-TCP is the segmentation of the single TCP connection into two TCP
connections, which loses the original end-to-end TCP semantic.
A new enhancement, which leaves the TCP connection intact and is completely transparent, is
Snooping TCP. The main function is to buffer data close to the mobile host to perform fast local
retransmission in case of packet loss.
Here, the foreign agent buffers all packets with destination mobile host and additionally ‘snoops’
the packet flow in both directions to recognize acknowledgements. The foreign agent buffers
every packet until it receives an acknowledgement from the mobile host.
If the FA does not receive an acknowledgement from the mobile host within a certain amount of
time, either the packet or the acknowledgement has been lost. Alternatively, the foreign agent
could receive a duplicate ACK which also shows the loss of a packet.
Now, the FA retransmits the packet directly from the buffer thus performing a faster
retransmission compared to the CH. For transparency, the FA does not acknowledge data to the
CH, which would violate end-to-end semantic in case of a FA failure.
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
The foreign agent can filter the duplicate acknowledgements to avoid unnecessary
retransmissions of data from the correspondent host. If the foreign agent now crashes, the time-
out of the correspondent host still works and triggers a retransmission.
The foreign agent may discard duplicates of packets already retransmitted locally and
acknowledged by the mobile host. This avoids unnecessary traffic on the wireless link.
For data transfer from the mobile host with destination correspondent host, the FA snoops into
the packet stream to detect gaps in the sequence numbers of TCP.
As soon as the foreign agent detects a missing packet, it returns a negative acknowledgement
(NACK) to the mobile host. The mobile host can now retransmit the missing packet
immediately. Reordering of packets is done automatically at the correspondent host by TCP.
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
Advantages of snooping TCP:
The end-to-end TCP semantic is preserved.
Most of the enhancements are done in the foreign agent itself which keeps correspondent host
unchanged.
Handover of state is not required as soon as the mobile host moves to another foreign agent. Even
though packets are present in the buffer, time out at the CH occurs and the packets are transmitted
to the new COA.
No problem arises if the new foreign agent uses the enhancement or not. If not, the approach
automatically falls back to the standard solution.
Disadvantages of snooping TCP
Snooping TCP does not isolate the behavior of the wireless link as well as I-TCP. Transmission
errors may propagate till CH.
Using negative acknowledgements between the foreign agent and the mobile host assumes
additional mechanisms on the mobile host. This approach is no longer transparent for arbitrary
mobile hosts.
Snooping and buffering data may be useless if certain encryption schemes are applied end- to-end
between the correspondent host and mobile host. If encryption is used above the transport layer,
(eg. SSL/TLS), snooping TCP can be used.
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
V. MOBILE TCP
Both I-TCP and Snooping TCP does not help much, if a mobile host gets disconnected. The M-
TCP (mobile TCP) approach has the same goals as I-TCP and snooping TCP: to prevent the
sender window from shrinking if bit errors or disconnection but not congestion cause current
problems.
M-TCP wants to improve overall throughput, to lower the delay, to maintain end-to-end
semantics of TCP, and to provide a more efficient handover. Additionally, M-TCP is especially
adapted to the problems arising from lengthy or frequent disconnections.
M-TCP splits the TCP connection into two parts as I-TCP does. An unmodified TCP is used on
the standard host-supervisory host (SH) connection, while an optimized TCP is used on the SH-
MH connection.
The SH monitors all packets sent to the MH and ACKs returned from the MH. If the SH does not
receive an ACK for some time, it assumes that the MH is disconnected. It then chokes the sender
by setting the sender’s window size to 0.
Setting the window size to 0 forces the sender to go into persistent mode, i.e., the state of the
sender will not change no matter how long the receiver is disconnected. This means that the
sender will not try to retransmit data.
As soon as the SH (either the old SH or a new SH) detects connectivity again, it reopens the
window of the sender to the old value. The sender can continue sending at full speed. This
mechanism does not require changes to the sender’s TCP.
The wireless side uses an adapted TCP that can recover from packet loss much faster. This
modified TCP does not use slow start, thus, M-TCP needs a bandwidth manager to implement
fair sharing over the wireless link.
Advantages of M-TCP:
It maintains the TCP end-to-end semantics. The SH does not send any ACK itself but forwards the
ACKs from the MH.
If the MH is disconnected, it avoids useless retransmissions, slow starts or breaking connections by
simply shrinking the sender’s window to 0.
As no buffering is done as in I-TCP, there is no need to forward buffers to a new SH. Lost packets
will be automatically retransmitted to the SH.
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
Disadvantages of M-TCP:
As the SH does not act as proxy as in I-TCP, packet loss on the wireless link due to bit errors is
propagated to the sender. M-TCP assumes low bit error rates, which is not always a valid
assumption.
A modified TCP on the wireless link not only requires modifications to the MH protocol software
but also new network elements like the bandwidth manager.
VI. FAST RETRANSMIT/FAST RECOVERY
In TCP/IP, fast retransmit and recovery (FRR) is a congestion control algorithm that makes it
possible to quickly recover lost data packets. Without FRR, the TCP uses a timer that requires a
retransmission timeout if a packet is lost.
No new or duplicate packets can be sent during the timeout period. With FRR, if a receiver
receives a data segment that is out of order, it immediately sends a duplicate acknowledgement
to the sender.
If the sender receives three duplicate acknowledgements, it assumes that the data segment
indicated by the acknowledgements is lost and immediately retransmits the lost segment. With
FRR, time is not lost waiting for a timeout in order for retransmission to begin.
FRR works most efficiently when there are isolated packet losses. It does not work efficiently
when there are multiple data packet losses occurring over a short period of time.
The congestion threshold can be reduced because of two reasons. First one is if the sender
receives continuous acknowledgements for the same packet. It informs the sender that the
receiver has got all the packets up to the acknowledged packet in the sequence and also the
receiver is receiving something continuously from the sender.
The gap in the packet stream is not due to congestion, but a simple packet loss due to a
transmission error. The sender can now retransmit the missing packet(s) before the timer expires.
This behavior is called fast retransmit.
It is an early enhancement for preventing slow-start to trigger on losses not caused by
congestion. The receipt of acknowledgements shows that there is no congestion to justify a slow
start. The sender can continue with the current congestion window.
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
The sender performs a fast recovery from the packet loss. This mechanism can improve the
efficiency of TCP dramatically. The other reason for activating slow start is a time-out due to a
missing acknowledgement. TCP using fast retransmit/fast recovery interprets this congestion in
the network and activates the slow start mechanism.
The advantage of this method is its simplicity. Minor changes in the MH’s software results in
performance increase. No changes are required in FA or CH.
The disadvantage of this scheme is insufficient isolation of packet losses. It mainly focuses on
problems regarding Handover. Also it affects the efficiency when a CH transmits already
delivered packets.
VII. TRANSMISSION/TIME-OUT FREEZING
Often, MAC layer notices connection problems even before the connection is actually
interrupted from a TCP point of view and also knows the real reason for the interruption.
The MAC layer can inform the TCP layer of an upcoming loss of connection or that the current
interruption is not caused by congestion. TCP can now stop sending and ‘freezes’ the current
state of its congestion window and further timers.
If the MAC layer notices the upcoming interruption early enough, both the mobile and
correspondent host can be informed.
With a fast interruption of the wireless link, additional mechanisms in the access point are
needed to inform the correspondent host of the reason for interruption.
Otherwise, the correspondent host goes into slow start assuming congestion and finally breaks
the connection.
As soon as the MAC layer detects connectivity again, it signals TCP that it can resume operation
at exactly the same point where it had been forced to stop. For TCP time simply does not
advance, so no timers expire.
Advantages:
It offers a way to resume TCP connections even after long interruptions of the connection.
It can be used together with encrypted data as it is independent of other TCP mechanisms such as
sequence no or acknowledgements
Disadvantages:
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
Lots of changes have to be made in software of MH, CH and FA.
VIII. SELECTIVE RETRANSMISSION
A very useful extension of TCP is the use of selective retransmission. TCP acknowledgements
are cumulative, i.e., they acknowledge in-order receipt of packets up to a certain packet.
A single acknowledgement confirms reception of all packets upto a certain packet. If a single
packet is lost, the sender has to retransmit everything starting from the lost packet (go-back-n
retransmission). This obviously wastes bandwidth, not just in the case of a mobile network, but
for any network.
Using selective retransmission, TCP can indirectly request a selective retransmission of packets.
The receiver can acknowledge single packets, not only trains of in-sequence packets.
The sender can now determine precisely which packet is needed and can retransmit it. The
advantage of this approach is obvious: a sender retransmits only the lost packets.
This lowers bandwidth requirements and is extremely helpful in slow wireless links. The
disadvantage is that more complex software on the receiver side is needed. Also more buffer
space is needed to resequence data and to wait for gaps to be filled.
IX. TRANSACTION-ORIENTED TCP
Assume an application running on the mobile host that sends a short request to a server from
time to time, which responds with a short message and it requires reliable TCP transport of the
packets. For it to use normal TCP, it is inefficient because of the overhead involved. Standard
TCP is made up of three phases: setup, data transfer and release.
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
First, TCP uses a three-way handshake to establish the connection. At least one additional packet
is usually needed for transmission of the request, and requires three more packets to close the
connection via a three-way handshake.
So, for sending one data packet, TCP may need seven packets altogether. This kind of overhead
is acceptable for long sessions in fixed networks, but is quite inefficient for short messages or
sessions in wireless networks. This led to the development of transaction-oriented TCP (T/TCP).
T/TCP can combine packets for connection establishment and connection release with user data
packets. This can reduce the number of packets down to two instead of seven.
The obvious advantage for certain applications is the reduction in the overhead which standard
TCP has for connection setup and connection release.
Disadvantage is that it requires changes in the software in mobile host and all correspondent
hosts. This solution does not hide mobility anymore. Also, T/TCP exhibits several security
problems.
Classical Enhancements to TCP for mobility: A comparison
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)
Mobile Computing (Module-II)
Arabinda Dash (Asst. Professor, CSE & A, SUIIT, Sambalpur University)