240 likes | 361 Views
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
E N D
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 performanceachievable using appropriate MSS-MH protocol • Standard TCP on MSS-MH performs poorly when multiple packet losses occur per window
39 40 38 37 FH MSS MH 36 40 Split Connection Approach : Disadvantages • End-to-end semanticsviolated • 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
39 40 38 37 FH MSS MH 36 40 Split Connection Approach : Disadvantages • MSS retains hard state MSS 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
39 40 38 37 FH MSS MH 36 40 39 Hand-off 40 MH New MS station Split Connection Approach : Disadvantages • MSS retains hard state Hand-off latency increases due to state transfer • Data that has been ack’d to sender, must be moved to new base station
Split Connection Approach : Disadvantages • Buffer spaceneeded 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 MSS MH
Snoop : Example 35 TCP state maintained at link layer 36 37 38 40 39 38 37 FH MSS MH 36 Example assumes delayed ack - every other packet ack’d
Snoop : Example 35 39 36 37 38 41 40 39 38 36
Snoop : Example 37 40 38 41 39 43 42 41 40 36 36 36 Duplicate acks
Snoop : Example 37 40 38 41 39 42 44 43 37 41 FH MSS MH 36 36 Discard dupack Dupack triggers retransmission of packet 37 from base station MSS needs to be TCP-aware to be able to interpret TCP headers 36
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 • 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 7 7 2 2 <1> <1,2> <1,3,5> 5 <1,3,5,7> 5 s s 1 3 1 3 <1,3> <1> <1,4,6> <1,4,6> d d <1> 8 8 <1,4> <1,4,6> 4 6 4 6 <1,4,6> Route reply with route record Building route record
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 RRep (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
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