It2402 Mobile Communication: Unit - IV
It2402 Mobile Communication: Unit - IV
COMMUNICATION
UNIT
IV
Unit - IV
MOBILE NETWORK AND TRANSPORT
LAYERS
Mobile IP Dynamic Host Configuration
Protocol- Mobile Ad Hoc Routing Protocols
Multicast routing- TCP
over
Wireless
Networks Indirect TCP Snooping
TCP Mobile TCP Fast Retransmit / Fast
Recovery
Transmission/Timeout
Freezing-Selective
Retransmission
IT2402 MOBILE
Networks
COMMUNICATION
What is Mobile
IP?
What do cellular networks and wireless LANs provide?
Wireless connectivity
Mobility at the data link layer
What is Dynamic Host Configuration Protocol (DHCP)?
It provides local IP addresses for mobile hosts
Is not secure
Does not maintain network connectivity when moving
around
What they do not provide:
Transparent connectivity at the network layer
Mobility with local access
Why Mobile
IP?
The difference between mobility and nomadicity!
What is Mobile
IP?
Mobile IP provides network layer mobility
Provides seamless roaming
Extends the home network over the
entire
Internet
IP Overview
(1/3)
IP Addressing :
Dotted Decimal Notation: 32 bits (4x8) used to
represent
IPv4 addresses - 192.19.241.18
Network Prefix and Host Portions: p - prefix, h host, p + h
= 32. If p = 24 then h = 32 - 24 = 8. Using above
address the
network prefix will be 192.19.241 and host will
be 18. For
those of you familiar with subnet masks, p
IP Overview
represents
(2/3)
IP Overview (2/3)
IP Routing:
Network prefix is used for routing. Routing tables are
used to look up next hop and the interface on the
router that is to be used.
In the routing tables we use the following notation:
target/prefix length, e.g., 192.19.241.0/24, or
192.19.241.192/26.
If two subnet masks/prefixes fit the address, the
one with the largest prefix is chosen for routing.
E.g., a router with the following 3 entries in its
table: 7.7.7.99/32 (p=32 host specific) and
IP Overview
(3/3)
Domain Name System (DNS): used to translate a host
IP Overview
used by a node that just joins the network and
(4/3)
wants to make
its address known. Can be used by a
mobile node upon its return to its home net.
What Mobile IP
does:
What Mobile IP
the mobile
nodes point of attachment and it might be
does:
useful if, e.g., TCP knew that a wireless link was being
used!).
Requirements to Mobile
IP
Transparency
mobile end-systems keep their IP address
continuation of communication after interruption of
link possible
point of connection to the fixed network can be
changed
Compatibility
support of the same layer 2 protocols as IP
no changes to current end-systems and routers
required
mobile end-systems can communicate with fixed
systems
Security
authentication of all registration messages
Mobile IP
Terminology
Mobile Node
(MN)
system (node) that can change the point of connection to the
network without changing its IP address
Home Agent (HA)
system in the home network of the MN, typically a router
registers the location of the MN, tunnels IP datagrams to the COA
Foreign Agent (FA)
system in the current foreign network of the MN, typically a
router
forwards the tunneled datagrams to the MN, typically also the
default router
for the
MN
Care-of Address (COA)
address of the current tunnel end-point for the MN (at FA or MN)
actual location of the MN from an IP point of view
can be chosen, e.g., via DHCP
Mobile
IP
Operation:
Correspondent Node (CN)
Summary
communication partner
Operation Summary
(1/3)
Consists of 3
steps:
Agent discovery,
Registration, and
Routing/Tunneling
Mobile IP Operation:
Summary
Agent Advertisement/Discovery: consists of
broadcast
messages used by mobiles to detect that they
have moved
and are required to register with a new FA.
FAs send agent advertisements
MNs can solicit for agents if they have not
heard an agent advertisement in awhile or use
some other mechanism to obtain a COA or
temp. IP address (e.g. DHCP).
Operation Summary
(1/3)
MNs
know they are home when they recognize
their HA.
Operation Summary
(2/3)
Registration: used by a MN to inform the FA that
it is visiting.
The new care of address of the MN is sent to the
HA.
Registration expires, duration is negotiated
during registration
Mobile must re-register before it expires
All registrations are authenticated
The MN sends a regristration request in to the
FA which passes it along to the home agent.
The HA responds to the FA which then informs
Operation Summary
the MN that all is in order and registration is
(3/3)
complete.
Operation Summary
(2/3)
Routing/Encapsulation/Tunneling: consists of the
delivery of
the packets to the mobile node at its current care of
address.
Sender does not need to know that the
destination is a
MN.
HA intercepts all packets for the MN and
passes them along to MN using a tunnel.
MN communicates directly with the CN.
Operation Summary
Referred to as Triangle Routing
(3/3)
Example network
HA
MN
router
home network
mobile end-syste
Internet
FA foreign
network
router
(current physical network
for the MN)
CN
end-system
router
MN
home network
Internet
receiver
3
FA
sender
CN
foreign
network
home network
sender
Internet
FA
foreign
network
CN
receiver
MN
Overvie
w
COA
home
network
router
FA
router
HA
MN
foreign
network
Internet
CN
home
network
router
router
HA
router
FA
2.
Internet
3.
MN
4.
foreign
network
1.
CN
router
Network
integration
Agent Advertisement Discovery
HA and FA periodically send advertisement messages
into their physical subnets
MN listens to these messages and detects, if it is in the
home or a foreign
network (standard case for home network)
MN reads a COA from the FA advertisement messages
Registration (always limited lifetime!)
MN signals COA to the HA via the FA, HA acknowledges via
FA to MN
these actions have to be secured by authentication
Routing/Encapsulation/Tunneling
HA advertises the IP address of the MN (as for fixed
systems), i.e. standard routing information
packets to the MN are sent to the HA,
independent of changes in COA/FA
Agent
advertisement
0
7 8
15 16
23 24
type
code
checksum
#addresses addr. size
lifetime
router address 1
preference level 1
router address 2
preference level 2
31
...
type
length
sequence number
registration lifetime R B H F M G V reserved
COA 1
COA 2
...
MN
FA
Registrati
on
HA
MN
HA
Mobile IP registration
request
0
type
7 8
15 16
23 24
S B DMG Vrsv
lifetime
home address
home agent
COA
identification
extensions . . .
31
Processing Registration
Messages
(1/3)
A MN, depending on which
registration scenario it is in, will figure
what addresses to use in the various fields of the Registration
request message.
Link layer addresses are tricky:
A MN may not use ARP if it is using a FA COA. It needs to
use the address of the FA as the destination address.
If it is using a collocated COA, then it uses ARP to locate
the default router using its COA as source. Note that if the R
bit is set is uses the FA address as the destination address.
For de-registration is uses ARP to locate the HA link address
and it uses its
own home address for the ARP message.
For network layer addresses (i.e., IP addresses):
It uses the FA address as destination address when using
the FA COA and its own home address as the source address.
If using a collocated COA it uses its COA as source address
and the HA address as destination address. Note that if the
R bit is set then is must use the same addresses as for the FA
COA scenario.
Processing Registration
For de-registration it uses its own home address as source
and the HA address
as destination.
Messages
(2/3)
Processing Registration
Messages
(2/3)
For the FA:
A FA may refuse a Registration request for a
number of reasons: lifetime too long, authentication
failed, requested tunneling not supported, cannot handle
another MN (current load too high).
If an FA does not refuse the request it relays it to the
HA. Relaying is different from forwarding as the FA is
required to process the packet and create new headers.
Some important fields of the request message are
recorded for use later on: MN link layer address, MN IP
address, UDP source port, HA IP address, identification
number and requested lifetime.
Regarding a Registration reply message, the FA can
refuse it and send a decline to the MN is it finds the reply
from the HA to be invalid. Otherwise it updates its list of
visiting MNs and begins acting on behalf of the MN.
Processing Registration
Messages (3/3)
For a HA
The HA will determine, as the FA did, whether it
will accept the request. If it does not it returns
a code in the reply message indicating the
cause of the failed request.
If the request is accepted, the reply is sent
back by reversing all the IP addresses and UDP
port numbers.
The HA updates the binding table corresponding
to that
MN dependent upon the nature of the request.
Routing/Tunneling
(4/5)
Routing a packet to a MN involves the following:
A router on the home link, possibly the HA,
advertises reachability to the network prefix of
the MNs home address.
All packets are therefore routed to the MNs
home link.
A HA intercepts the packets for the MN and
tunnels a copy to each COA in the binding
table.
At the foreign link either the MN extracts the
packet (collocated
COA)
or
the
FA
extracts the packet and forwards it to the
Processing Registration
MN.
Messages (5/3)
Routing/Tunneling
(2/5)
A HA can use one of two methods to intercept a
MNs packets:
The HA is a router with multiple network
interfaces.
In
that
case
it
advertises
reachability to the MNs home network prefix.
The HA is not a router with multiple interfaces.
It must use ARP to receive the MNs packets. It
either responds to ARP requests on behalf of
the MN (proxy ARP) or uses gratuitous ARPs
to inform the home network that it is receiving
the MNs IP packets. This is to update any ARP
Routing/Tunneling
caches that hosts and other devices
(3/5)
have.
might
Routing/Tunneling
(4/5)
Routing/Tunneling
address is the COA and it is routed normally.
(5/5)
Routing/Tunneling
(4/5)
How to fool the routing table into handling tunneled
packets at the
FA?
The same procedure is used as above.
A packet coming in with a COA that is one of the FA
addresses is
handled by the routing routine.
A host specific address (its own address) in the
routing table points to the higher layers and the
packet is passed on to a virtual interface.
The virtual interface consists of a process that
decapsulates the packet and re-routes it to the
routing routine.
The routing routine routes the packet normally based
upon a host specific entry that is the MNs home
Routing/Tunneling
address (for which it has the link layer address!).
(5/5)
Routing/Tunneling
(5/5)
How does a MN route its packets?
It needs to find a router to send all its packets to.
It can select a router in one of a number of ways
dependent upon whether it has a FA COA or a
collocated COA.
Having a FA COA does not imply that the MN needs to
use it as its default router for sending packets. It can
use any router that sends advertisements or that is
advertised in the Agent Advertisement message.
If the MN is using a collocated COA it needs to
listen for router advertisements or is it hears none,
use DHCP to find the default router.
Determining the link layer address is another issue.
Collocated COA MNs can use ARP. FA COA must note
the link layer address when they receive router
Routing/Tunneling
advertisements or agent advertisements.
(6/5)
Encapsulation Process
original IP header
new IP header
outer header
original data
new data
inner header
original data
Types of
Encapsulation
Types of
Type of tunneling/encapsulation
Encapsulation
indicated in registration.
supported
is
IP in IP Encapsulation
IP in IP encapsulation (mandatory in
RFC 2003)
tunnel between HA and COA
ver. IHL
TOS
length
IP identification
flags fragment offset
TTL
IP-in-IP
IP checksum
IP address of HA
Care-of address COA
ver. IHL
TOS
length
IP identification
flags fragment offset
TTL
lay. 4 prot.
IP checksum
IP address of CN
IP address of MN
TCP/UDP/ ... payload
Minimum
Encapsulation
Minimal encapsulation
(optional)
avoids repetition of identical fields
e.g. TTL, IHL, version, TOS
only applicable for unfragmented packets, no
space left for fragment identification
ver. IHL
TOS
length
IP identification
flags fragment offset
TTL
min. encap.
IP checksum
IP address of HA
care-of address COA
lay. 4 protoc.S reserved
IP checksum
IP address of MN
original sender IP address (if S=1)
TCP/UDP/ ... payload
Generic Routing
Encapsulation
ver.
IHL
TOS
length
IP identification
flags
fragment offset
TTL
GRE
IP checksum
IP address of HA
Care-of address COA
C R K S s rec.
rsv.
ver.
protocol
checksum (optional)
offset (optional)
key (optional)
sequence number (optional)
routing (optional)
ver.
IHL
TOS
length
IP identification
flags
fragment offset
TTL
lay. 4 prot.
IP checksum
IP address of CN
IP address of MN
TCP/UDP/ ... payload
outer header
new header
GRE
header
original
header
original data
original
header
original data
new data
Routing
techniques
Triangle Routing: tunneling in its simplest form has all
packets go to home network (HA) and then sent to MN via
a tunnel.
This involves two IP routes that need to be set-up, one
original and
the second the tunnel route.
Causes unnecessary network overhead and adds to the
latency.
Route optimization: allows the correspondent node to
learn the current location of the MN and tunnel its own
packets directly. Problems arise with
mobility: correspondent node has to update/maintain its
cache.
Routing
authentication: HA has to communicate with the
techniques
correspondent
node to do authentication, i.e., security
association is with HA not with MN.
Optimization of packet
forwarding
Change of FA
packets on-the-fly during the change can
be lost
new FA informs old FA to avoid packet
loss, old FA
now forwards remaining packets to new FA
this information also enables the old FA to
release
CN
Change of foreign
agent
HA
FA
FA
old
new
MN
request
update
ACK
data
data
MN changes
location
registration
registration
update
ACK
data
warning
data
data
update
ACK
data
data
MN
home network
Internet
sender
FA foreign
network
CN
receiver
1. MN sends to FA
2. FA tunnels packets to HA
by encapsulation
3. HA forwards the packet to the
Mobile IP and
Mobile IP wasIPv6
developed for IPv4, but IPv6 simplifies the
protocols
security is integrated and not an add-on,
authentication of registration is included
COA can be assigned via auto-configuration
(DHCPv6 is one
candidate), every node has address auto configuration
no need for a separate FA, all routers perform router
advertisement which can be used instead of the
special agent advertisement
MN can signal a sender directly the COA, sending via
HA not needed in this case (automatic path
optimization)
soft hand-over, i.e. without packet loss, between
two subnets is supported
MN sends the new COA to its old router
Mobile IP and
the old router encapsulates all incoming packets for
IPv6
the MN and
forwards them to the
new COA
authentication is always granted
Problems with
Mobile IP
Security
authentication with FA problematic, for the FA
typically belongs to another organization
no protocol for key management and key distribution has
been
standardized in the Internet
patent and export restrictions
Firewalls
typically mobile IP cannot be used together with firewalls,
special setups are needed (such as reverse tunneling)
QoS
Security in
Mobile
IPArchitecture for the Internet
Security requirements
(Security
Protocol, RFC 1825)
Integrity
any changes to data between sender and receiver can be
detected by the
receiver
Authentication
sender address is really the address of the sender and all data
received is
really data sent by this sender
Confidentiality
only sender and receiver can read the data
Non-Repudiation
sender cannot deny sending of data
Traffic Analysis
creation of traffic and user profiles should not be possible
Replay Protection
Security in
receivers can detect replay of messages
Mobile IP
IP security architecture
(1/2)
Two or more partners have to negotiate security
mechanisms to setup a security association
typically, all partners choose the same parameters and
mechanisms
Two headers have been defined for securing IP packets:
Authentication-Header
guarantees integrity and authenticity of IP packets
if asymmetric encryption schemes are used, nonrepudiation can also be guaranteed
IP header
IP-Header
Authentification-Header
authentication header UDP/TCP-Paket
UDP/TCP data
IP header
encrypted
ESP header
encrypted data
IP security architecture
(2/2)
MH
registration reply
registration request
FA
registration reply
HA
Key distribution
Home agent distributes session keys
FA
HA
MH
response:
EHA-FA {session key}
EHA-MH {session key}
DHCPDISCOVER
DHCPDISCOVER
server
client
relay
client
DHCP - protocol
mechanisms
server
(not selected)
determine the
configuration
client
initialization
DHCPDISCOVER
DHCPDISCOVER
server
(selected)
determine the
configuration
DHCPOFFER
DHCPOFFER
collection of replies
selection of configuration
DHCPREQUEST
(reject)
DHCPREQUEST
(options)
DHCPACK
initialization completed
confirmation of
configuration
release
DHCPRELEASE
delete context
DHCP characteristics
Server
several servers can be configured for DHCP,
coordination not
yet standardized (i.e., manual configuration)
Renewal of configurations
IP addresses have to be requested
periodically, simplified protocol
Options
available for routers, subnet mask, NTP
(network time
protoco timeserver, SLP
locatio protoco
director
DNS
(domain name
l)
(service
n
l)
y,
system)
Ad hoc
networks
Standard Mobile IP needs an infrastructure
Home Agent/Foreign Agent in the fixed network
DNS, routing etc. are not designed for mobility
Sometimes there is no infrastructure!
remote areas, ad-hoc meetings, disaster areas
cost can also be an argument against an infrastructure!
Main topic: routing
no default router available
every node should be able to forward
N1
N2
N3
N4
time = t1
N3
N2
N4
N5
good link
weak link
N5
time = t2
Traditional routing
algorithms
Distance Vector
periodic exchange of messages with all physical
neighbors that contain information about who can be
reached at what distance
selection of the shortest path if several paths available
Link State
periodic notification of all routers about the current state
of all physical links
router get a complete picture of the network
Example
ARPA packet radio network (1973), DV-Routing
Problem
protocols have been designed for fixed networks
with infrequent
changes and typically assume symmetric links
DSDV (Destination
Sequenced
Distance
Vector)
Expansion of distance vector routing
Sequence numbers for all routing updates
assures in-order execution of all updates
avoids loops and inconsistencies
Decrease of update frequency
store time between first and best announcement
of a path
inhibit update if it seems to be unstable
(based on the stored time values)
Dynamic source
routing I
Split routing into discovering a path and maintaining
a path
Discover a path
only if a path for sending packets to a certain
destination is needed and no path is currently
available
Maintaining a path
only while the path is in use one has to make
sure that it can be used continuously
No periodic updates needed!
Dynamic Source
Routing III
Maintaining paths
after sending a packet
wait for a layer 2 acknowledgement (if
applicable)
listen into the medium to detect if
other stations forward the packet (if
possible)
request an explicit acknowledgement
if a station encounters problems it can inform
the sender of a packet or look-up a new path
Dynamic Source
Routing III
locally
Clustering of ad-hoc
networks
Internet
cluster
super cluster
Interference-based
routing
Routing based on assumptions about
interference between signals
N1
N2
R1
S1
N3
N4
S2
N5
N7
neighbors
(i.e. within radio range)
N6
N8
R2
N9
Multicast
routing
Unicast: single source sends to a single destination
Multicast: hosts are part of a multicast group
packet sent by any member of a group are
received by all
Useful for
multiparty videoconference
distance learning
resource location
Multicast group
Associates a set of senders and receivers with
each other
but independent of them
created either when a sender starts sending
from a group
or a receiver expresses interest in receiving
even if no one else is there!
Sender does not need to know receivers
identities
rendezvous point
Expanding ring
search
Multicast group in the Internet has its own Class D
address
looks like a host address, but isnt
Senders send to the address
Receivers anywhere in the world request
packets from that address
Magic is in associating the two: dynamic directory
service
Four problems
which groups are currently active
how to express interest in joining a group
Addressi
discovering the set of receivers in a group
ng
delivering data to members of a group
Expanding ring
search
A way to use multicast groups for resource
discovery
Routers decrement TTL when forwarding
Sender sets TTL and multicasts
reaches all receivers <= TTL hops away
Discovers local resources first
Since heavily loaded servers can keep quiet,
automatically distributes load
Multicast
flavors
Unicast: point to point
Multicast:
point to multipoint
multipoint to multipoint
Can simulate point to multipoint by a set of
point to point unicasts
Can simulate multipoint to multipoint by a set
of point to multipoint multicasts
The difference is efficiency
Examp
le
Suppose A wants to talk to B, G, H, I, B to A, G, H, I
With unicast, 4 messages sent from each source
links AC, BC carry a packet in triplicate
With point to multipoint multicast, 1 message
sent from each source
but requires establishment of two
separate multicast groups
With multipoint to multipoint multicast, 1 message
sent from
each source,
Multicast
single multicast
group
flavors
Issues in wide-area
multicast
Shortest path
every receiver
tree
Issues in wide-area
multicast
Difficult because
sources may join and leave dynamically
need to dynamically update shortest-path tree
leaves of tree are often members of broadcast
LAN
would like to exploit LAN broadcast capability
would like a receiver to join or leave without
explicitly
notifying sender
otherwise it will not scale
Multicast in a
broadcast LAN
Wide area multicast can exploit a LANs broadcast
capability
E.g. Ethernet will multicast all packets with
multicast bit set on destination address
Two problems:
what multicast MAC address corresponds to a
given Class
D IP address?
does the LAN have contain any members for a
given group
Class D to MAC
(why
do we need to know this?)
translation
Multicast in a
broadcast LAN
23 bits copied from IP address
01
00
5E
IEEE 802 MAC Address
Reserved
bit
Multicast bit
1110 = Class D
indication
Ignore
d
Class D IP
address
Wide area
multicast
Detects if a LAN has any members for a particular
group
If no members, then we can prune the shortest
path tree for
that group by telling parent
Router periodically broadcasts a query message
Hosts reply with the list of groups they are interested
in
To suppress traffic
reply after random timeout
broadcast reply
Wide area
multicast
Assume
each endpoint is a router
a router can use IGMP to discover all the
members in its
LAN that want to subscribe to each multicast
group
Goal
distribute packets coming from any sender
directed to a given group to all routers on the
path to a group member
Simplest
solution
A clever
which cansolution
be expensive for long multicast
sessions
Simplest
solution
Reverse path forwarding
Rule
forward packet from S to all interfaces if and
only if packet arrives on the interface that
corresponds to the shortest path to S
no need to remember past packets
C need not forward packet received from D
Prunin
g
Dont send a packet downstream if you are
not on the
shortest path from the downstream router to the
source
C need not forward packet from A to E
Clever
er
choice of
shortest paths to source (see figure on previous
slide)
Prunin
g
RPF does not completely eliminate unnecessary
transmissions
B and C get packets even though they do not need it
Pruning => router tells parent in tree to stop
forwarding
Can be associated either with a multicast
group or with a source and group
trades selectivity for router memory
Rejoini
ng
What if host on Cs LAN wants to receive messages
from A
after a previous prune by C?
IGMP lets C know of hosts interest
C can send a join(group, A) message
to B, which propagates it to A
or, periodically food a message; C refrains from
pruning
A
problem
Reverse path forwarding requires a router to
know shortest
path to a source
known from routing table
Doesnt work if some routers do not support
multicast
virtual links between multicast-capable routers
shortest path to A from E is not C, but F
Two problems
how to build virtual links
how to construct routing table for a network
Tunne
with virtual links
ls
A
problem
Why do we need them?
Consider packet sent from A to F via multicastincapable D
If packets destination is Class D, D drops it
If destination is Fs address, F doesnt know
multicast address!
So, put packet destination as F, but carry multicast
address
internally
Encapsulate IP in IP => set protocol type to IP-in-IP
Tunne
ls
Multicast routing
protocol
Interface on shortest path to source depends on
whether
path is real or virtual
DVMR
routers into account
P
DVMRP
Multicast routing
protocol
Distance-vector Multicast routing protocol
Very similar to RIP
distance vector
hop count metric
Used in conjunction with
food-and-prune (to determine memberships)
prunes store per-source and per-group
information
reverse-path forwarding (to decide where to
forward a packet)
DVMR
explicit join messages
P to reduce join latency (but
no source
info, so still need fooding)
MOSP
F
Multicast extension to OSPF
Routers food group membership information with
LSPs
Each router independently computes shortestpath tree that only includes multicast-capable
routers
no need to flood and prune
Complex
interactions with external and summary records
need storage per group per link
Core-based
need to compute shortest path tree per source
trees
and group
MOSP
F
Problems with DVMRP-oriented approach
need to periodically food and prune to determine
group
members
need to source per-source and per-group
prune records at each router
Key idea with core-based tree
coordinate multicast with a core router
host sends a join request to core router
routers along path mark incoming interface for
Core-based
forwardingtrees
Examp
le
Pros
routers not part of a group are not involved
in pruning
explicit join/leave makes membership
changes faster
router needs to store only one record per
group
Cons
all multicast traffic traverses core, which is a
bottleneck
traffic travels on non-optimal paths
Protocol independent
multicast (PIM)
PIM
(contd.)
Tries to bring together best aspects of CBT and
DVMRP
Choose different strategies depending on whether
multicast
tree is dense or sparse
food and prune good for dense groups
only need a few prunes
CBT needs explicit join per source/group
CBT good for sparse groups
Dense mode PIM == DVMRP
Protocol independent
Sparse mode PIM
is similar to CBT
multicast
(PIM)
PIM
(contd.)
In CBT, E must send to core
In PIM, B discovers shorter path to E (by looking at
unicast
routing table)
sends join message directly to E
sends prune message towards core
Core no longer bottleneck
Survives failure of core
More on
core
Renamed a rendezvous point
because it no longer carries all the traffic like a
CBT core
Rendezvous points periodically send I am alive
messages
downstream
Leaf routers set timer on receipt
If timer goes off, send a join request to alternative
rendezvous
point
Problems
More on
how to decide
whether to use dense or sparse
core
mode?
how to determine best rendezvous point?
Mobile Transport
Layer
90
Transport Layer
E.g. HTTP (used by web services)
typically uses TCP
Client
Reliable transport between
client and server required
TCP
Steam oriented, not
transaction oriented
Network friendly: time-out
congestion
slow down transmission
Well known TCP guesses
quite often wrong in wireless
and mobile networks
Packet loss due to
transmission errors
Packet loss due to change of
network
Result
Severe performance
Server
TCP SYN
degrad
ation
TCP
SYN/ACK
91
TCP
ACK
HTTP
request
HTTP
response
GPRS:
500ms!
Connection setup
Data transmissio
>15 s
no data Connection release
Motivatio
ntypically
I designed for
Transport protocols
Fixed end-systems
Fixed, wired networks
Research activities
Performance
Congestion control
Efficient retransmissions
TCP congestion control
packet loss in fixed networks typically due to
(temporary) overload situations
router have to discard packets as soon as the buffers
are full
TCP recognizes congestion only indirect via
missing acknowledgements, retransmissions
unwise, they would only contribute to the
9
2
Motivatio
congestion and make it even worse
nI
slow-start algorithm as reaction
93
Motivation II
TCP slow-start algorithm
sender calculates a congestion window for a receiver
start with a congestion window size equal to one segment
exponential increase of the congestion window up to
the congestion threshold, then linear increase
missing acknowledgement causes the reduction of
the congestion threshold to one half of the current
congestion window
congestion window starts again with one segment
TCP fast retransmit/fast recovery
TCP sends an acknowledgement only after receiving a
packet
if a sender receives several acknowledgements for the
same packet, this is due to a gap in received packets at
the receiver
however, the receiver got all packets up to the gap
and is actually
9
4
receiving packets
therefore, packet loss is not due to congestion, continue
with current congestion window (do not use slow-start)
95
9
5
mobile host
9
6
access point
(foreign agent)
wired Internet
wireless TCP
standard TCP
9
7
access point1
socket migration
and state transfer
access point2
mobile host
9
6
Internet
Indirect TCP II
Advantages
no changes in the fixed network necessary, no changes
for the hosts
(TCP protocol) necessary, all current optimizations to
TCP still work
transmission errors on the wireless link do not
propagate into the
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
correspondent
host
foreign
agent
wired Internet
98
mobile
host
9
9
Snooping TCP II
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
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 of the 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
snooping TCP does not isolate the wireless link as good as ITCP
disconnection, no buffer
forwarding
Disadvantages: loss on wireless link propagated into
fixed network and adapted TCP on wireless link
10
1
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
10
2
Fast retransmit/fast
recovery
further mix of IP and TCP, no transparent approach
10
3
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
10
4
Disadvantage
TCP on mobile host has to be changed, mechanism
depends on MAC layer
10
5
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
10
4
Selective
Disadvantage: more complex software in a receiver, more
retransmission
buffer needed at
the receiver
10
3
Transaction oriented
TCP
TCP phases
connection setup, data transmission, connection
release
using 3-way-handshake needs 3 packets for setup
and release, respectively
thus, even short messages need a minimum of 7
packets!
Transaction oriented TCP
RFC1644, T-TCP, describes a TCP version to avoid
this overhead
connection setup, data transfer and connection
release can be combined
10
4
10
3
Mechanism
Advantages
Indirect TCP
isolation of wireless
link, simple
Disadvantages
10
5
TCP Improvements I
Initial research work
Indirect TCP, Snoop TCP, M-TCP, T/TCP, SACK,
Transmission/time-out freezing,
TCP over 2.5/3G wireless networks
Fine tuning todays TCP
Learn to live with
Data rates: 64 kbit/s up, 115-384 kbit/s down; asymmetry:
3-6, but also up to 1000 (broadcast systems), periodic
allocation/release of channels
High latency, high jitter, packet loss
Suggestions
Large (initial) sending windows, large maximum transfer
unit, selective acknowledgement, explicit congestion
notification, time stamp, no header
compressi
0.93* MSS
on
BW
Already in
use
10
6
10
7
RTT * p
max. TCP BandWidth
Max. Segment Size
Round Trip Time
loss probability
TCP Improvements II
Performance enhancing proxies (PEP, RFC 3135)
Transport layer
Local retransmissions and acknowledgements
Additionally on the application layer
Content filtering, compression, picture
downscaling
E.g., Internet/WAP gateways
Web service gateways?
Big problem: breaks end-to-end semantics
Disables use of IP security
Choose between PEP and security!
More open issues
RFC 3150 (slow links)
Recommends header compression, no
timestamp
RFC 3155 (links with errors)
States that explicit congestion notification
cannot
be used
In
contrast to
2.5G/3G
recommen
dations!
Mobile system
Internet
wireless
PEP
Comm. partner
107