CIS 725 Lecture 21
Feb 22, 2016
CIS 725
Lecture 21
Design Techniques for Mobile Networks
• From mobile transmitter to base receivers - maintain timers at base stations - base station sends acks periodically - during handoff, new MSS keeps
receiving by increasing W
• From base sender to mobile receiver - MH sends selective acks - send acks after receiving a block of messages - Base station has a timer to detect loss of acks - no timer at MH
Other Solutions
• Detect handoffs and notify transport layer of the handoff
• Split TCP connections
FH MSS MH
Split Connection Approach : Advantages
• MSS-MH connection can be optimized independent of FH-MSS connection– Different flow / error control on the two connections
• Local recovery of errors– Faster recovery due to relatively shorter RTT on
wireless link • Good performance achievable using appropriate MSS-
MH protocol– Standard TCP on MSS-MH performs poorly when
multiple packet losses occur per window
Split Connection Approach : Disadvantages
• End-to-end semantics violated– ack may be delivered to sender, before data delivered to the
receiver– May not be a problem for applications that do not rely on TCP for
the end-to-end semantics
FH MHMSS
4039
3738
3640
Split Connection Approach : Disadvantages
• MSS retains hard stateMSS failure can result in loss of data (unreliability)– If MSS fails, packet 40 will be lost – Because it is ack’d to sender, the sender does not buffer 40
FH MHMSS
4039
3738
3640
Split Connection Approach : Disadvantages
• MSS retains hard stateHand-off latency increases due to state transfer– Data that has been ack’d to sender, must be moved to new base
station
FH MHMSS
4039
37383640
MH
New MS station
Hand-off
4039
Split Connection Approach : Disadvantages
• Buffer space needed at MSS for each TCP connection– MSS buffers tend to get full, when wireless link
slower (one window worth of data on wired connection could be stored at the base station, for each split connection)
TCP-Aware Link Layer
• Snoop Protocol– observe TCP ACKs at the MSS– discard duplicate ACKs and retransmit
• prevent fast retransmit at TCP sender– end-to-end reliability– soft state at MSS (only buffer packets)
Snoop Protocol• Buffers data packets at the base station BS
– to allow link layer retransmission• When duplicate acks received by MSS from MH, retransmit on
wireless link, if packet present in buffer• Prevents fast retransmit at TCP sender FH by dropping the duplicated
acks at MSS
FH MHMSS
Snoop : Example
FH MHMSS40 39 3738
36
Example assumes delayed ack - every other packet ack’d
363738
35 TCP statemaintained at
link layer
Snoop : Example
41 40 3839
36
363738
35 39
Snoop : Example
40
363636
Duplicate acks
4143 42
373839
4041
Snoop : Example
FH MHMSS41
3636
3744 43
36
373839
404142
Discarddupack
Dupack triggers retransmissionof packet 37 from base station
MSS needs to be TCP-aware to
be able to interpret TCP headers
Snoop Protocol : Disadvantages
• Link layer at base station needs to be TCP-aware
• Not useful if TCP headers are encrypted (IPsec)
• Cannot be used if TCP data and TCP acks traverse different paths (both do not go through the base station)
Routing protocols
• Proactive routing protocols Distance vector, Link state protocols * maintain routing paths at all times• Reactive routing protocols * create paths on demand• Hybrid protocols
Dynamic Source Routing
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
s sd d
Building route record Route reply with route record
<1> <1,2>
<1><1>
<1,3>
<1,4>
<1,3,5>
<1,4,6>
<1,3,5,7>
<1,4,6><1,4,6>
<1,4,6>
• Initially, only next hop information is available. • Send packet to all neighbors• At some point, it will reach the destination and
reverse path can be used to set up path
• Intermediate nodes may send replies if they already know a route
• Cache management• Local repairs
Ad Hoc On Demand Routing (AODV)
• Constructs routes on demand• Nodes maintain routing tables instead of source
routes• Sequence numbers added to handle stale routes• Route discovery• Reverse path setup
Route Discovery
(a) Range of A's broadcast.(b) After B and D have received A's broadcast.(c) After C, F, and G have received A's broadcast.(d) After E, H, and I have received A's broadcast.
RReq
RRep
Route Maintenance
(a) D's routing table before G goes down.
(b) The graph after G has gone down.
D’s routing table before G goes down
Route maintenance
• Route caching timeout used to purge old routes
• Active_timeout period used to determine if neighboring node is active
• If source moves, paths are re-established using RReq