Unit 4 UWyOg2n9Mm
Unit 4 UWyOg2n9Mm
Unit 4
Topics Covered
Mobile IP
Goals assumption and requirement
Entities and terminology
IP packet delivery
Agent advertisement and discovery,
Registration, tunneling and encapsulation
Optimizations
Reverse tunneling,
IPv6
Dynamic host configuration protocol
Topics Covered
Traditional TCP: Congestion control, slow start, fast Retransmit/ fast
recovery, implications on mobility
Indirect TCP
Snooping TCP
Mobile TCP
Fast retransmit/ fast recover
Transmission/ time-out freezing ,
Selective Retransmission
Transaction oriented TCP
TCP over 2.5/3G wireless networks
Performance enhancing proxies
Mobile IP
router
end-system router
Mobile IP Example Network
IP Packet Delivery
A correspondent node CN wants to send an IP packet to the MN
One of the requirements of mobile IP was to support hiding the
mobility of the MN.
Step 1: CN does not need to know anything about the MN’s current
location and sends the packet as usual to the IP address of MN
This means that CN sends an IP packet with MN as a destination
address and CN as a source address.
The internet, not having information on the current location of MN,
routes the packet to the router responsible for the home network of
MN.
This is done using the standard routing mechanisms of the internet.
The HA now intercepts the packet, knowing that MN is currently not
in its home network.
The packet is not forwarded into the subnet as usual, but encapsulated
and tunneled to the COA.
Step 2: A new header is put in front of the old IP header showing the
COA as new destination and HA as source of the encapsulated packet.
Step 3: The foreign agent now decapsulates the packet, i.e., removes
the additional header, and forwards the original packet with CN as
source and MN as destination to the MN.
The MN mobility is not visible. It receives the packet with the same
sender and receiver address as it would have done in the home
network.
Step 4: The MN sends the packet as usual with its own fixed IP
address as source and CN’s address as destination.
If CN were also a mobile node residing in a foreign network, the same
mechanisms as described in steps 1 through 3 would apply now in the
other direction.
Packet Delivery to and from the Mobile
Node
Data Transfer to the Mobile System
Data Transfer from the Mobile System
Agent Discovery
One initial problem of an MN after moving is how to find a foreign
agent.
For this purpose mobile IP describes two methods: agent
advertisement and agent solicitation
Agent advertisement:- Foreign agents and home agents advertise
their presence periodically using special agent advertisement
messages.
These advertisement messages can be seen as a beacon broadcast into
the subnet. For these advertisements Internet control message
protocol (ICMP) messages according to RFC 1256 (Deering, 1991)
are used with some mobility extensions.
The upper part represents the ICMP packet while the lower part is
the extension needed for mobility.
Agent advertisement packet (RFC 1256 +
mobility extension)
The TTL field of the IP packet is set to 1 for all advertisements to avoid
forwarding them.
The IP destination address according to standard router advertisements
can be either set to 224.0.0.1, which is the multicast address for all
systems on a link, or to the broadcast address 255.255.255.255.
The type is set to 9, the code can be 0, if the agent also routes traffic
from non-mobile nodes, or 16, if it does not route anything other than
mobile traffic.
The number of addresses advertised with the packet is in #addresses
while the addresses themselves follow as shown.
Lifetime denotes the length of time this advertisement is valid.
Preference levels for each address help a node to choose the router
that is the most eager one to get a new node.
This extension for mobility has the following fields defined: type is
set to 16, length depends on the number of COAs provided with the
message and equals 6 + 4*(number of addresses).
An agent shows the total number of advertisements sent since
initialization in the sequence number.
By the registration lifetime the agent can specify the maximum
lifetime in seconds a node can request during registration.
The following bits specify the characteristics of an agent in detail
The R bit (registration) shows, if a registration with this agent is required
even when using a co-located COA at the MN.
If the agent is currently too busy to accept new registrations it can set the
B bit.
The following two bits denote if the agent offers services as a home
agent (H) or foreign agent (F) on the link where the advertisement
has been sent.
M can specify minimal encapsulation and G generic routing
encapsulation (see later).
In the first version of mobile IP (RFC 2002) the V bit specified the
use of header compression according to RFC 1144 .
Now the field r at the same bit position is set to zero and must be
ignored.
The new field T indicates that reverse tunneling (see later) is
supported by the FA.
The following fields contain the COAs advertised. A foreign agent
setting the F bit must advertise at least one COA.
A mobile node in a subnet can now receive agent advertisements from
either its home agent or a foreign agent. This is one way for the MN
to discover its location.
Agent solicitation:- If no agent advertisements are present or the
inter-arrival time is too high, and an MN has not received a COA by
other means, the mobile node must send agent solicitations.
A mobile node can send out three solicitations, one per second, as
soon as it enters a new network to avoid flood on the network.
If a node does not receive an answer to its solicitations it must
decrease the rate of solicitations exponentially to avoid flooding the
network until it reaches a maximum interval between solicitations
(typically one minute).
After these steps of advertisements or solicitations the MN can now
receive a COA, either one for an FA or a co-located COA.
The MN knows its location (home network or foreign network) and
the capabilities of the agent (if needed).
Registration
The next step for the MN is the registration with the HA if the MN is in
a foreign network.
The main purpose of the registration is to inform the HA of the current
location for correct forwarding of packets.
Registration can be done in two different ways depending on the location
of the COA.
If the COA is at the FA, registration is done as:-
The MN sends its registration request containing the COA to the FA which
is forwarding the request to the HA.
HA now sets up a mobility binding containing the mobile node’s home
IP address and the current COA.
The mobility binding also contains the lifetime of the registration which is
negotiated during the registration process.
Registration expires automatically after the lifetime and is deleted; so, an
MN should reregister before expiration.
After setting up the mobility binding, the HA sends a reply message back
to the FA which forwards it to the MN.
If the COA is co-located, registration can be simpler:-
The MN may send the request directly to the HA and vice versa.
This, by the way, is also the registration procedure for MNs returning to
their home network.
However, if the MN received an agent advertisement from the FA it
should register via this FA if the R bit is set in the advertisement.
UDP packets are used for registration requests.
The IP source address of the packet is set to the interface address of
the MN, the IP destination address is that of the FA or HA
(depending on the location of the COA).
MN FA HA
MN HA
S: simultaneous bindings
B: broadcast datagrams
D: decapsulation by MN
M mininal encapsulation
G: GRE encapsulation
r: =0, ignored
T: reverse tunneling requested
x: =0, ignored
The first field type is set to 1 for a registration request.
With the S bit an MN can specify if it wants the HA to retain prior
mobility bindings.This allows for simultaneous bindings.
The following bits denote the requested behavior for packet forwarding.
Setting the B bit generally indicates that an MN also wants to receive
the broadcast packets which have been received by the HA in the
home network.
If an MN uses a co-located COA, it also takes care of the de-
capsulation at the tunnel endpoint.The D bit indicates this behaviour.
As already defined for agent advertisements, the following bits M and
G denote the use of minimal encapsulation or generic routing
encapsulation, respectively.
T indicates reverse tunneling, r and x are set to zero.
Lifetime denotes the validity of the registration in seconds. A value of
zero indicates deregistration; all bits set indicates infinity.
The home address is the fixed IP address of the MN, home agent
is the IP address of the HA, and COA represents the tunnel endpoint.
The 64 bit identification is generated by the MN to identify a
request and match it with registration replies. This field is used for
protection against replay attacks of registrations.
The extensions must at least contain parameters for authentication.
Registration Reply
A registration reply, which is conveyed in a UDP packet, contains a
type field set to 3 and a code indicating the result of the registration
request.
The lifetime field indicates how many seconds the registration is valid
if it was successful.
Mobile IP Registration Reply
Home address and home agent are the addresses of the MN and
the HA, respectively.
The 64-bit identification is used to match registration requests
with replies.
And the extensions must at least contain parameters for
authentication.
Example Registration Reply Codes
Tunneling and Encapsulation
The following describes the mechanisms used for forwarding packets
between the HA and the COA.
A tunnel establishes a virtual pipe for data packets between a tunnel
entry and a tunnel endpoint.
Tunneling, i.e., sending a packet through a tunnel, is achieved by
using encapsulation.
Encapsulation is the mechanism of taking a packet consisting of
packet header and data and putting it into the data part of a new
packet.
The reverse operation, taking a packet out of the data part of another
packet, is called de-capsulation.
Encapsulation and de-capsulation are the operations typically
performed when a packet is transferred from a higher protocol layer
to a lower layer or from a lower to a higher layer respectively.
The HA takes the original packet with the MN as destination, puts it
into the data part of a new packet and sets the new IP header in such a
way that the packet is routed to the COA.
The new header is also called the outer header for obvious reasons.
Additionally, there is an inner header which can be identical to the
original header as this is the case for IP-in-IP encapsulation, or the
inner header can be computed during encapsulation.
IP Encapsulation
IP-in-IP Encapsulation
There are different ways of performing the encapsulation needed for
the tunnel between HA and COA.
Mandatory for mobile IP is IP-in-IP encapsulation as specified in
RFC 2003.
The version field ver is 4 for IP version 4, the internet header length
(IHL) denotes the length of the outer header in 32 bit words.
DS(TOS) is just copied from the inner header, the length field
covers the complete encapsulated packet.
TTL must be high enough so the packet can reach the tunnel
endpoint.
The next field, here denoted with IP-in-IP, is the type of the
protocol used in the IP payload. This field is set to 4, the protocol
type for IPv4 because again an IPv4 packet follows after this outer
header.
IP checksum is calculated as usual.
The next fields are the tunnel entry as source address (the IP
address of the HA) and the tunnel exit point as destination address
(the COA).
This header remains almost unchanged during encapsulation, thus
showing the original sender CN and the receiver MN of the packet.
The only change is TTL which is decremented by 1.
This means that the whole tunnel is considered a single hop from the
original packet’s point of view.
This is a very important feature of tunneling as it allows the MN to
behave as if it were attached to the home network.
No matter how many real hops the packet has to take in the tunnel, it
is just one (logical) hop away for the MN.
Finally, the payload follows the two headers.
Minimal Encapsulation
As seen with IP-in-IP encapsulation, several fields are redundant.
For example,TOS is just copied, fragmentation is often not needed etc.
Therefore, minimal encapsulation (RFC 2004) is an optional
encapsulation method for mobile IP .
In this case, the field for the type of the following header contains the
value 55 for the minimal encapsulation protocol.
The inner header is different for minimal encapsulation.
The type of the following protocol and the address of the MN are needed.
If the S bit is set, the original sender address of the CN is included as
omitting the source is quite often not an option.
No field for fragmentation offset is left in the inner header and minimal
encapsulation does not work with already fragmented packets.
Minimal Encapsulation
Generic Routing Encapsulation
While IP-in-IP encapsulation and minimal encapsulation work
only for IP, the following encapsulation scheme also supports
other network layer protocols in addition to IP.
Generic routing encapsulation (GRE) allows the
encapsulation of packets of one protocol suite into the payload
portion of a packet of another protocol suite.
The protocol type used in this outer IP header is 47 for GRE. The
other fields of the outer packet, such as TTL and TOS, may be copied
from the original IP header.
A minimal GRE header uses only 4 bytes; nevertheless, GRE is
flexible enough to include several mechanisms in its header.
The C bit indicates if the checksum field is present and contains valid
information. If C is set, the checksum field contains a valid IP
checksum of the GRE header and the payload.
The R bit indicates if the offset and routing fields are present and
contain valid information.
The offset represents the offset in bytes for the first source routing
entry. The routing field, if present, has a variable length and contains
fields for source routing.
If the C bit is set, the offset field is also present and, vice versa, if the R
bit is set, the checksum field must be present.
The only reason for this is to align the following fields to 4 bytes. The
checksum field is valid only if C is set, and the offset field is valid only
if R is set respectively.
GRE also offers a key field which may be used for authentication. If
this field is present, the K bit is set.
The sequence number bit S indicates if the sequence number field is
present, if the s bit is set, strict source routing is used.
Sequence numbers may be used by a decapsulator to restore packet
order.
The recursion control field (rec.) is an important field that
additionally distinguishes GRE from IP-in-IP and minimal
encapsulation.
This field represents a counter that shows the number of allowed
recursive encapsulations. The default value of this field should be 0,
thus allowing only one level of encapsulation.
The following reserved fields must be zero and are ignored on
reception.
The version field contains 0 for the GRE version.
The following 2 byte protocol field represents the protocol of the
packet following the GRE header.
The standard header of the original packet follows with the source
address of the correspondent node and the destination address of the
mobile node.
Optimizations
Imagine the following scenario:- A Japanese and a German meet
at a conference on Hawaii. Both want to use their laptops for
exchanging data, both run mobile IP for mobility support.
If the Japanese sends a packet to the German, his computer sends
the data to the HA of the German, i.e., from Hawaii to
Germany. The HA in Germany now encapsulates the packets and
tunnels them to the COA of the German laptop on Hawaii.
This means that although the computers might be only meters
away, the packets have to travel around the world! This inefficient
behavior of a non-optimized mobile IP is called triangular
routing.
The triangle is made of the three segments, CN to HA, HA to
COA/MN, and MN back to CN.
One way to optimize the route is to inform the CN of the current
location of the MN. The CN can learn the location by caching it in a
binding cache which is a part of the local routing table for the CN.
The optimized mobile IP protocol needs four additional messages:-
Binding request: Any node that wants to know the current location
of an MN can send a binding request to the HA. The HA can check if
the MN has allowed dissemination of its current location. If the HA is
allowed to reveal the location it sends back a binding update.
Binding update: This message sent by the HA to CNs reveals the
current location of an MN. The message contains the fixed IP address
of the MN and the COA. The binding update can request an
acknowledgement.
Binding acknowledgement: If requested, a node returns this
acknowledgement after receiving a binding update message.
Binding warning: If a node decapsulates a packet for an MN, but it
is not the current FA for this MN, this node sends a binding warning
The warning contains MN’s home address and a target node address,
i.e., the address of the node that has tried to send the packet to this
MN.
The recipient of the warning then knows that the target node could
benefit from obtaining a fresh binding for the MN. The recipient can
be the HA, so the HA should now send a binding update to the node
that obviously has a wrong COA for the MN.
Change of the Foreign Agent with an
Optimized Mobile IP
CN HA FAold FAnew MN
Data Data
MN changes
location
Update Registration
ACK
Data
Data Data
Warning
Request
Update
ACK
Data
Data
t
The CN can request the current location from the HA. If allowed by
the MN, the HA returns the COA of the MN via an update message.
The CN acknowledges this update message and stores the mobility
binding. Now the CN can send its data directly to the current foreign
agent FAold.
FAold forwards the packets to the MN. This scenario shows a COA
located at an FA. Encapsulation of data for tunneling to the COA is
now done by the CN, not the HA.
The MN might now change its location and register with a new foreign
agent, FAnew.
This registration is also forwarded to the HA to update its location
database. Furthermore, FAnew informs FAold about the new
registration of MN.
MN’s registration message contains the address of FAold for this
purpose. Passing this information is achieved via an update message,
which is acknowledged by FAold.
Without the information provided by the new FA, the old FA would
not get to know anything about the new location of MN.
In this case, CN does not know anything about the new location, so it
still tunnels its packets for MN to the old FA, FAold.
This FA now notices packets with destination MN, but also knows that
it is not the current FA of MN. FAold might now forward these
packets to the new COA of MN which is FAnew in this example.
This forwarding of packets is another optimization of the basic Mobile
IP providing smooth handovers.
To tell CN that it has a stale binding cache, FAold sends, in this
example, a binding warning message to CN.
CN then requests a binding update. (The warning could also be
directly sent to the HA triggering an update).
The HA sends an update to inform the CN about the new location,
which is acknowledged.
Now CN can send its packets directly to FAnew, again avoiding
triangular routing.
Unfortunately, this optimization of mobile IP to avoid triangular
routing causes several security problems (e.g., tunnel hijacking).
Reverse Tunneling
The MN can directly send its packets to the CN as in any other
standard IP situation. The destination address in the packets is that of
CN. But there are several severe problems associated with this simple
solution.
Firewalls: All data to and from the intranet must pass through the
firewall.
Besides many other functions, firewalls can be set up to filter out
malicious addresses from an administrator’s point of view.
Quite often firewalls only allow packets with topologically correct
addresses to pass. This provides at least a first and simple protection
against misconfigured systems of unknown addresses.
However, MN still sends packets with its fixed IP address as source which
is not topologically correct in a foreign network.
Firewalls often filter packets coming from outside containing a source
address from computers of the internal network. This avoids other
computers that could use internal addresses and claim to be internal
computers.
However, this also implies that an MN cannot send a packet to a computer
residing in its home network. This means that not only does the destination
address matter for forwarding IP packets, but also the source address due to
security concerns.
Further complications arise through the use of private addresses inside the
intranet and the translation into global addresses when communicating with
the internet.
This network address translation (NAT, network address translator) is
used by many companies to hide internal resources (routers, computers,
printers etc.) and to use only some globally available addresses.
Multi-cast: Reverse tunnels are needed for the MN to participate in a
multicast group. While the nodes in the home network might
participate in a multi-cast group, an MN in a foreign network cannot
transmit multi-cast packets in a way that they emanate from its home
network without a reverse tunnel.
TTL: Consider an MN sending packets with a certain TTL while still
in its home network. The TTL might be low enough so that no packet is
transmitted outside a certain region. If the MN now moves to a foreign
network, this TTL might be too low for the packets to reach the same
nodes as before.
Mobile IP is no longer transparent if a user has to adjust the TTL while
moving. A reverse tunnel is needed that represents only one hop, no matter
how many hops are really needed from the foreign to the home network.
All these considerations led to defining reverse tunneling as an extension
to mobile IP.
Reverse tunneling now creates a triangular routing problem in the reverse
direction. All packets from an MN to a CN go through the HA.
Reverse tunneling also raises several security issues which have not been
really solved up to now. For example, tunnels starting in the private network
of a company and reaching out into the internet could be hijacked and
abused for sending packets through a firewall.
Reverse Tunneling
HA
2
MN
FA foreign
network
1. MN sends to FA
3 2. FA tunnels packets to HA
CN by encapsulation
3. HA forwards the packet to the
receiver (standard case)
receiver
IPv6
While mobile IP was originally designed for IP version 4, IP
version 6 makes life much easier.
Mobile IP in IPv6 networks requires very few additional
mechanisms of a CN, MN, and HA. The FA is not needed any
more.
A CN only has to be able to process binding updates, i.e., to
create or to update an entry in the routing cache. The MN itself
has to be able to de-capsulate packets, to detect when it needs a
new COA, and to determine when to send binding updates to the
HA and CN.
A HA must be able to encapsulate packets. However, IPv6 does
not solve any firewall or privacy problems. Additional mechanisms
on higher layers are needed for this.
IP Micro-Mobility Support
Mobile IP exhibits several problems regarding the duration of
handover and the scalability of the registration procedure.
Assuming a large number of mobile devices changing networks quite
frequently, a high load on the home agents as well as on the networks
is generated by registration and binding update messages.
IP micro-mobility protocols can complement mobile IP by offering
fast and almost seamless handover control in limited geographical
areas.
The basic underlying idea is the same for all micro-mobility protocols:
Keep the frequent updates generated by local changes of the points of
attachment away from the home network and only inform the home
agent about major changes, i.e., changes of a region. In some sense all
micro-mobility protocols establish a hierarchy.
The following presents three of the most prominent approaches,
which should be seen neither as standards nor as final solutions of the
micro-mobility problems.
Cellular IP: Cellular IP provides local handovers without renewed
registration by installing a single cellular IP gateway (CIPGW) for
each domain, which acts to the outside world as a foreign agent.
Inside the cellular IP domain, all nodes collect routing information
for accessing MNs based on the origin of packets sent by the MNs
towards the CIPGW.
Soft handovers are achieved by allowing simultaneous forwarding
of packets destined for a mobile node along multiple paths.
A mobile node moving between adjacent cells will temporarily be
able to receive packets via both old and new base stations (BS)
if this is supported by the lower protocol layers.
Advantage
● Manageability: Cellular IP is mostly self-configuring, and integration of
the CIPGW into a firewall would facilitate administration of mobility-
related functionality.
Disadvantages
● Efficiency: Additional network load is induced by forwarding packets
on multiple paths.
● Transparency: Changes to MNs are required.
● Security: Routing tables are changed based on messages sent by mobile
nodes. Additionally, all systems in the network can easily obtain a copy of
all packets destined for an MN by sending packets with the MN’s source
address to the CIPGW.
Basic architecture of cellular IP
HAWAII : (Handoff-Aware Wireless Access Internet Infrastructure)
tries to keep micro-mobility support as transparent as possible for
both home agents and mobile nodes (which have to support route
optimization).
Its concrete goals are performance and reliability improvements and
support for quality of service mechanisms.
Step 1: On entering an HAWAII domain, a mobile node obtains a co-
located COA
Step 2: Registers with the HA
Step 3: Additionally, when moving to another cell inside the foreign
domain, the MN sends a registration request to the new base station as to
a foreign agent
Step 4: The base station intercepts the registration request and sends out a
handoff update message, which reconfigures all routers on the paths from
the old and new base station to the so-called crossover router
When routing has been reconfigured successfully, the base station
sends a registration reply to the mobile node, again as if it were a
foreign agent.
Advantages
● Security: Challenge-response extensions are mandatory. In contrast to
Cellular IP, routing changes are always initiated by the foreign domain’s
infrastructure.
● Transparency: HAWAII is mostly transparent to mobile nodes.
Disadvantages
● Mixture of co-located COA and FA concepts may not be supported by
some MN implementations
● Implementation: No private address support is possible because of co-
located COAs.
Hierarchical mobile IPv6 (HMIPv6): HMIPv6 provides micro-
mobility support by installing a mobility anchor point (MAP),
which is responsible for a certain domain and acts as a local HA within
this domain for visiting MNs
The MAP receives all packets on behalf of the MN, encapsulates and
forwards them directly to the MN’s current address (link COA,
LCOA).
As long as an MN stays within the domain of a MAP, the globally
visible COA (regional COA, RCOA) does not change.
A MAP domain’s boundaries are defined by the access routers (AR)
advertising the MAP information to the attached MNs.
A MAP assists with local handovers and maps RCOA to LCOA. MNs
register their RCOA with the HA using a binding update.
When a MN moves locally it must only register its new LCOA with its
MAP.The RCOA stays unchanged.
To support smooth handovers between MAP domains, an MN can
send a binding update to its former MAP.
It should be mentioned as a security benefit that mobile nodes can be
provided with some kind of limited location privacy because LCOAs
on lower levels of the mobility hierarchy can be hidden from the
outside world.
However, this applies only to micro mobility, that is, as long as the
mobile node rests in the same domain.
A MN can also send a binding update to a CN who shares the same
link. This reveals its location but optimizes packet flow (direct routing
without going through the MAP).
MNs can use their RCOA as source address. The extended mode of
HMIPv6 supports both mobile nodes and mobile networks.
Advantages
● Security: MNs can have (limited) location privacy because LCOAs can
be hidden.
● Efficiency: Direct routing between CNs sharing the same link is
possible
Disadvantages
● Transparency:Additional infrastructure component (MAP).
● Security: Routing tables are changed based on messages sent by mobile
nodes. This requires strong authentication and protection against denial
of service attacks. Additional security functions might be necessary in
MAPs
Dynamic Host Configuration
Protocol
The dynamic host configuration protocol (DHCP) is mainly used to
simplify the installation and maintenance of networked computers.
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 . DHCP clients send a
request to a server (DHCPDISCOVER 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.
As described above, the client broadcasts a DHCPDISCOVER 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. One example for this
could be the checking of available IP addresses and choosing one for
the client.
Servers reply to the client’s request with DHCPOFFER 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 DHCPREQUEST.
If a server receives a DHCPREQUEST 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 DHCPACK.
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 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 which is
needed to protect mobile nodes from malicious DHCP servers.
Without authentication, the mobile node cannot trust a DHCP
server, and the DHCP server cannot trust the mobile node.
Transport Layer
Traditional TCP
Transport protocols typically designed for
Fixed end-systems
Fixed, wired networks
Research activities
How to improveTCP performance in wireless networks
Maintain congestion control behavior
Efficient retransmissions
TCP congestion control in fixed networks
Timeouts/Packet loss typically due to (temporary) overload
Routers discard packets when buffers are full
TCP recognizes congestion only indirectly via missing ACKs,
retransmissions unwise, since they increase congestion
Slow-start algorithm as reaction
TCP slow-start algorithm
Sender calculates a congestion window for a receiver
Start with a congestion window size equal to one segment (packet)
Exponentially increase congestion window till congestion threshold, then
linear increase
Timeout/missing acknowledgement causes reduction of congestion
threshold to half of the current congestion window
Congestion window starts again with one segment
TCP fast retransmit/fast recovery
TCP sends an ACK only after receiving a packet
If sender receives duplicate ACKs, this is due to gap in received packets at
the receiver
Receiver got all packets up to the gap and is actually receiving packets
Conclusion: packet loss not due to congestion, retransmit, continue
with current congestion window (do not use slow-start)
Influences of Wireless/mobility on
TCP-mechanisms
TCP assumes congestion if packets are dropped
Typically wrong in wireless networks, here we often have packet
loss due to transmission errors
Furthermore, mobility can cause packet loss, if e.g. a mobile node
roams from one access point (e.g. foreign agent in Mobile IP) to
another while packets in transit to the old access point and
forwarding is not possible
The performance of an unchanged TCP degrades severely
TCP cannot be changed fundamentally due to large installed base in
the fixed network,TCP for mobility has to remain compatible
The basic TCP mechanisms keep the whole Internet together
Classical TCP Improvements-
Indirect TCP
One is that TCP performs poorly together with wireless links; the
other is that TCP within the fixed network cannot be changed.
I-TCP segments a TCP connection into a fixed part and a wireless
part.
Indirect TCP or I-TCP segments the connection
No changes to the TCP protocol for hosts connected to the wired
Internet, millions of computers use (variants of) this protocol
Optimized TCP protocol for mobile hosts
Splitting of the TCP connection at, e.g., the foreign agent into 2 TCP
connections, no real end-to-end connection any longer
Hosts in the fixed part of the net do not notice the characteristics of
the wireless part.
The foreign agent acts as a proxy and relays all data in both
directions.
If the correspondent host sends a packet, the foreign agent
acknowledges this packet and tries to forward the packet to the
mobile host.
If the mobile host receives the packet, it acknowledges the packet.
However, this acknowledgement is only used by the foreign agent.
If a packet is lost on the wireless link due to a transmission error, the
correspondent host would not notice this.
In this case, the foreign agent tries to retransmit this packet locally to
maintain reliable data transport.
Similarly, if the mobile host sends a packet, the foreign agent
acknowledges this packet and tries to forward it to the correspondent
host.
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.
I-TCP requires several actions as soon as a handover takes place.
After the handover, the old proxy must forward buffered data to
the new proxy because it has already acknowledged the data.
Besides buffer content, the sockets of the proxy, too, must
migrate to the new foreign agent located in the access point.
The socket reflects the current state of the TCP connection, i.e.,
sequence number, addresses, ports etc.
No new connection may be established for the mobile host, and
the correspondent host must not see any changes in connection
state.
Indirect TCP segments a TCP connection into two parts
Socket and state migration after handover of a mobile
host
Advantages
No changes in the fixed network necessary, no changes for the hosts
(TCP protocol) necessary, all current optimizations to TCP still work
Wireless link transmission errors isolated from those in fixed network
Simple to control, mobile TCP is used only for one hop between, e.g., a
foreign agent and mobile host
Therefore, a very fast retransmission of packets is possible, the short
delay on the mobile hop is known
Disadvantages
Loss of end-to-end semantics, an acknowledgement to a sender does now
not any longer mean that a receiver really got 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
Snooping TCP
One of the drawbacks of I-TCP is the segmentation of the single
TCP connection into two TCP connections.
This loses the original end-to-endTCP semantic.
“Transparent” extension of TCP within the foreign agent
buffering of packets sent to the mobile host
lost packets on the wireless link (both directions!) will be
retransmitted immediately by the mobile host or foreign agent,
respectively (so called “local” retransmission)
the foreign agent therefore “snoops” the packet flow and recognizes
acknowledgements in both directions, it also filters ACKs
changes of TCP only within the foreign agent
Data transfer to the mobile host
FA buffers data until it receives ACK of the MH, FA detects packet
loss via duplicated ACKs or time-out
Snooping TCP as a transparent TCP
extension
fast retransmission possible, transparent for the fixed network
Data transfer from the mobile host
FA detects packet loss on the wireless link via sequence numbers,
FA answers directly with a NACK to the MH
MH can now retransmit data with only a very short delay
Integration with MAC layer
MAC layer often has similar mechanisms to those of TCP
thus, the MAC layer can already detect duplicated packets due to
retransmissions and discard them
Problems
snoopingTCP does not isolate the wireless link as good as I-TCP
snooping might be tough if packets are encrypted
Mobile TCP
Dropping packets due to a handover or higher bit error rates is not the
only phenomenon of wireless links and mobility – the occurrence of
lengthy and/or frequent disconnections is another problem.
Special handling of lengthy and/or frequent disconnections is the
mobile TCP (M-TCP).
M-TCP splits as I-TCP does
unmodified TCP fixed network to supervisory host (SH)
optimized TCP SH to MH
Supervisory host
no caching, no retransmission
monitors all packets, if disconnection detected
set sender window size to 0
sender automatically goes into persistent mode
old or new SH reopen the window
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
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.
Since it does not buffer data in the SH as I-TCP does, it is not necessary to
forward buffers to a new SH. Lost packets will be automatically
retransmitted to the new SH.
Disadvantages
Loss on wireless link due to bit errors propagated into fixed network. M-
TCP assumes low bit error rates, which is not always a valid assumption.
Adapted TCP on wireless link requires modifications to the MH protocol
software but also new network elements like the bandwidth manager.
Fast retransmit/fast recovery
Change of foreign agent often results in packet loss
TCP reacts with slow-start although there is no congestion
Forced fast retransmit
As soon as the mobile host has registered with a new foreign agent, the
MH sends duplicated acknowledgements on purpose
This forces the fast retransmit mode at the communication partners
Additionally, the TCP on the MH is forced to continue sending with the
actual window size and not to go into slow-start after registration
Advantage
Simple changes result in significant higher performance
Disadvantage
Cooperation required between IP and TCP, no transparent approach
Transmission/time-out freezing
Mobile hosts can be disconnected for a longer time
no packet exchange possible, e.g., in a tunnel, disconnection due to
overloaded cells or mux. with higher priority traffic
TCP disconnects after time-out completely
TCP freezing
MAC layer is often able to detect interruption in advance
MAC can inform TCP layer of upcoming loss of connection
TCP stops sending, but does now not assume a congested link
MAC layer signals again if reconnected
Advantage
Scheme is independent of data, such as acknowledgements or sequence
numbers, so it can be used together with encrypted data.
Disadvantage
TCP on mobile host has to be changed, mechanism depends on MAC
layer
Selective retransmission
TCP acknowledgements are often cumulative
ACK n acknowledges correct and in-sequence receipt of packets up to n
If single packets are missing quite often a whole packet sequence
beginning at the gap has to be retransmitted (go-back-n), thus wasting
bandwidth
Selective retransmission as one solution
RFC2018 allows for acknowledgements of single packets, not only
acknowledgements of in-sequence packet streams without gaps
Sender can now retransmit only the missing packets
Advantage
Much higher efficiency
Disadvantage
More complex software in a receiver, more buffer needed at the receiver
Traditional TCP Example
If GPRS is used as wide area transport system, one-way delays of 500
ms and more are quite common. The setup of a TCP connection already
takes far more than a second.