CIS 725 Wireless networks
Low bandwidth High error rates
Issues MAC protocols Registration (handoff): must register care-of address with the home address Route optimization TCP
Hidden Terminal problem C wants to send to A but does not hear that A is busy
Exposed station problem C wants to send to D but thinks that transmission will fail
RTS: request to send CTS: clear to send DIFS: distributed inter-frame space SIFS: Short inter-frame space
Use of handshaking to prevent hidden station problem
Structure of wireless networks MSS = mobility support stations or Access points (AP) MH = mobile host or basic service station (BSS)
MSS1MSS2 Handoff
Models Overlapping cells 0-delay model 1-sec delay
Models Overlapping cells 0-delay model 1-sec delay MSS1MSS2MSS1MSS2MSS1MSS2
TCP in wireless networks Packet loss in wireless networks may be due to –Bit errors –Handoffs –Congestion (rarely) –Reordering (rarely, except for certain types of wireless nets) TCP assumes packet loss is due to –Congestion –Reordering (rarely)
TCP in wireless networks Timeout => reduce window size Slow start - no movement = 100% - movement over overlapping cells 94% - movement over 0-delay cell 88% - movement over 1sec-delay 69%
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 FHMSSMH
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 FHMHMSS
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 FHMHMSS
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 FHMHMSS MH New MS station Hand-off 40 39
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 FHMHMSS
Snoop : Example FHMHMSS Example assumes delayed ack - every other packet ack’d TCP state maintained at link layer
Snoop : Example
Snoop : Example Duplicate acks
Snoop : Example FHMHMSS Discard dupack Dupack triggers retransmission of 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 ss d d Building route record Route reply with route record 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