CIS 725 Wireless networks
Dec 26, 2015
CIS 725
Wireless networks
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 sendCTS: clear to send
DIFS: distributed inter-frame spaceSIFS: 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)
MSS1 MSS2
Handoff
Models
• Overlapping cells• 0-delay model• 1-sec delay
Models
• Overlapping cells• 0-delay model• 1-sec delay
MSS1 MSS2
MSS1 MSS2
MSS1 MSS2
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
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
40
39
3738
3640
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
FH MHMSS
40
39
3738
3640
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
FH MHMSS
40
39
3738
3640
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
FH MHMSS
Snoop : Example
FH MHMSS
40 39 3738
36
Example assumes delayed ack - every other packet ack’d
36
37
38
35 TCP statemaintained at
link layer
Snoop : Example
41 40 3839
36
36
37
38
35 39
Snoop : Example
40
363636
Duplicate acks
4143 42
37
38
39
40
41
Snoop : Example
FH MHMSS
41
3636
3744 43
36
37
38
39
40
41
42
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 s
d 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