Projects & Wireless Transport
Puzzle You have an unfair coin (prob(H) = p != ½) Use TH and HT as the two events with equal probability p(1-p). Ignore events TT and HH You have an unfair coin (prob(H) = p != ½) How will you generate a fair toss?
Projects 6 projects 1 team (2 students)/project Doubling up on some projects allowed only after discussions with me Send email to me on your top 2 choices before 11.59pm tomorrow (Wednesday) I will resolve conflicts
Timeline Projects chosen: September 15th Synopsis: September 21st (1%) Preliminary presentation: October 26th/28th (4%) Final presentation: November 30th/December 2nd (8%) Final report: December 4th (2%)
Project Grading Abstract/Synopsis (1%) 1 page .doc document Preliminary presentation/report (4%) 8 pages .doc document Final presentation/demo/results (8%) Final report (2%) 15 pages .doc document
List of Projects Dynamic Spectrum Management (*****) Information Networking (***) Transport Caching (****) Sensor Network Testbed (***1/2) Web Usage Analysis (**) Literature survey on e-waste and health impacts of Wireless Networking (*)
Recap TCP/IP/MAC Overview of wireless systems Wireless MAC Wireless Scheduling Mobility Support Wireless Transport …
Outline TCP over wireless networks TCP assumptions Wireless network characteristics Impact on TCP performance Approaches to improve TCP performance Link layer approaches TCP-aware link layer approaches Split connection approaches End-to-end approaches TCP over satellite and ad-hoc networks
TCP Congestion control Window based Slow start LIMD Congestion detection Self-clocking Window limitation
TCP (Contd.) Reliability Cumulative ACKs DUPACKs and Timeouts Timeout calculation RTTavg + 4 * RTTmdev Coupling between congestion control and reliability
Wireless Networks Wide-area wireless Metropolitan-area wireless Local-area wireless Ad-hoc wireless Satellite wireless
Wireless Characteristics Low bandwidths 10-20Kbps WWANs, 1-10Mbps WLANs, 100-500Kbps satellite Random wireless losses Upto 10% packet loss rates Hand-offs Depending on cell coverage and user mobility (30m/s in an 802.11 network will result in a hand-off every 10-15 seconds)
Wireless Characteristics (Contd.) Black-outs Fading, temporary disconnections etc. Can last from a few seconds to less than a minute Large and Varying Delay WWANs have typical RTTs of 400ms and deviations of up-to a few seconds Path asymmetry Reverse path characteristics different from forward path characteristics (e.g. satellite, WWANs)
Characteristics (Contd.) Local-area wireless Frequent hand-offs when mobile Ad-hoc wireless Routers mobile! Frequent disconnections Network partitions? Satellite wireless Large bandwidth delay products (why?)
TCP on Wireless – Random Losses TCP uses losses as indication of congestion Reduces congestion window by half (LIMD) when it experiences congestion Even when no congestion, if packets are dropped due to random losses, TCP will cut down its rate (is this right?)
Other Losses TCP will interpret hand-offs related losses also as congestion based losses Hence, it will reduce the congestion window every time hand-offs related losses occur Black-outs will further result in TCP experiencing multiple timeouts of increasing granularity
Large and Varying Delay TCP uses RTTavg + 4 * RTTmdev as the retransmission timeout If there is large variance in delay, mean deviation is high resulting in inflated timeout values Hence, if there are burst losses resulting in a timeout, the sender would take longer time to detect losses and recover
Path Asymmetry TCP relies on ACK arrivals for congestion window progression If path asymmetry exists, a TCP connection’s performance will be influenced by the reverse path characteristics also Indirect effects of path asymmetry (ACK bunching)
Low Bandwidths TCP uses window based congestion control If there is free space in the congestion window, TCP will transmit Hence, TCP’s output can be bursty This coupled with the low bandwidths can result in queue build-ups in the network adversely affecting RTT calculations and causing packet drops
Large Bandwidth Delay Products TCP’s header has 16 bits allocated for receiver window advertisement Maximum of 64KB can be advertised Consider a satellite link with 1Mbps bandwidth and 1 second RTT (BDP = 1Mb) But, TCP can only achieve 500Kbps (resulting in only 50% utilization)
Slow-start TCP uses slow-start to ramp up rate to the available capacity Whenever timeouts occur, TCP uses slow-start If hand-offs, black-outs, or route re-computations are frequent, TCP will constantly be in slow-start, lowering performance
Recap TCP over wireless networks Several factors contribute to the performance degradation of TCP when used in a wireless environment Approaches to improve TCP performance …
Approaches Reliable link layers TCP-aware link layers Split connection protocols
Reliable Link Layers Help in recovering from losses that occur on the wireless link Can potentially hide such losses from the TCP layer Can be implemented without requiring any changes at all to the sender and the receiver
Reliable Link Layer (contd.) Losses can still occur Retransmission can interfere with TCP retransmissions worsening the performance TCP timeouts similar LL timeouts DUPACKs Can introduce variations in TCP’s rtt estimation increasing the RTO
Snoop Module Resides in the base-station Caches packets sent from fixed host to mobile host TCP-aware functionality for retransmissions, and ACK suppression Improves on the performance of reliable link layers
Snoop (Contd.) Two modules: Snoop_data() – for processing data packets on the forward path (from FH – MH) Snoop_ACK() – for processing ACK packets on the reverse path (from MH – FH)
Snoop_data() 3 scenarios Normal packet in sequence Cache packet Forward to MH Timestamp if necessary (once per window) – for RTOs
Snoop_data() Scenario 2 Out of sequence (S) but already cached If highestACK < S Forward packet Else Generate an ACK from the snoop module for the highestACK
Snoop_data() Scenario 3 Out of sequence (S) and has not been cached earlier Either out-of-order or packet that was lost earlier Heuristically assume retransmission Packet forwarded, and marked as having been retransmitted due to congestion loss
Snoop_ACK() Scenario 1 New ACK Spurious ACK Clean snoop cache Round-trip estimate updated Spurious ACK ACK# less than highestACK# Discard ACK
Snoop_ACK() Duplicate ACK (DUPACK) If sender retransmitted packet or packet not in cache, forward ACK to sender Unexpected DUPACK (loss between BS and MH) Retransmit packet Keep track of maximum number of relevant DUPACKs possible Expected DUPACKs Suppress
Mobile host to Fixed host Cannot use only base-station based mechanisms Need to change the mobile host NACKs from the base-station to the mobile-station Mobile-station retransmits immediately and does not perform window reduction for NACKed losses
Split Connection Approaches Fixed Host Base Station Mobile Host TCP Wireless aware TP
Advantages Wireless aware congestion control and flow control Wireless link characteristics completely decoupled from the progress of TCP on the wired leg Better service to mobile applications possible Potentially simpler protocol stack at mobile Improved performance
Cons Application layer re-linking End-to-end semantics Software overheads Hand-off latency
Recap Wireless networks and TCP Reliable link layers Snoop module Indirect TCP (split connection) WTCP …