1 / 49

TCP over Wireless Networks

TCP over Wireless Networks. Announcements…. PA1 due tonight! PA2 online Assignment 2 (video students) online. PAs …. Using TA office hours Please do not wait till the last minute to solve PAs!

chiggins
Download Presentation

TCP over Wireless Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TCP over Wireless Networks

  2. Announcements… • PA1 due tonight! • PA2 online • Assignment 2 (video students) online

  3. PAs … • Using TA office hours • Please do not wait till the last minute to solve PAs! • TA will be available for online access other than office hours, but responsiveness not guaranteed. • So, use the TA office hours more effectively!

  4. Recap • TCP/IP/MAC • Overview of wireless systems • Wireless MAC • Wireless Scheduling • Mobility Support • Wireless Transport …

  5. 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

  6. TCP • Congestion control • Window based • Slow start • LIMD • Congestion detection • Self-clocking • Window limitation

  7. TCP (Contd.) • Reliability • Cumulative ACKs • DUPACKs and Timeouts • Timeout calculation • RTTavg + 4 * RTTmdev • Coupling between congestion control and reliability

  8. Wireless Networks • Wide-area wireless • Metropolitan-area wireless • Local-area wireless • Ad-hoc wireless • Satellite wireless

  9. 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)

  10. 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)

  11. 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?)

  12. 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?)

  13. 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

  14. 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

  15. 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)

  16. 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

  17. Large Bandwidth Delay Products • TCP’s header has 16 bits allocated for receiver window advertisement • Maximum of 500Kb 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)

  18. 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

  19. 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 …

  20. Approaches • Reliable link layers • TCP-aware link layers • Split connection protocols

  21. 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

  22. 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

  23. 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

  24. 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)

  25. Snoop_data() • 3 scenarios • Normal packet in sequence • Cache packet • Forward to MH • Timestamp if necessary (once per window) – for RTOs

  26. 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

  27. 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

  28. Snoop_ACK() • Scenario 1 • New ACK • Clean snoop cache • Round-trip estimate updated • Spurious ACK • ACK# less than highestACK# • Discard ACK

  29. 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

  30. 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

  31. TCP Wireless aware TP Split Connection Approaches Base Station Mobile Host Fixed Host

  32. 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

  33. Cons • Application layer re-linking • End-to-end semantics • Software overheads • Hand-off latency

  34. Recap • Wireless networks and TCP • Reliable link layers • Snoop module • Indirect TCP (split connection) • WTCP …

  35. WTCP • Reliable transport protocol for wide-area wireless networks • Alternative to TCP (but completely different unlike the schemes we have seen so far) • End-to-end approach

  36. WWANs • Non-congestion related packet losses (0 to 10% in CDPD networks) • Very low bandwidths (20 Kbps CDPD, 8 Kbps RAM, 5Kbps Ardis) • Large round-trip times and variance in round-trip time (800ms to 4 seconds) • Asymmetric channel (ACK bunching) • Occasional blackouts

  37. Arguments against non-E2E approaches • Overhead at the base-station (or mobile switching center) • Need to be TCP aware (different flavors of TCP and consequent problems …) • Comparable timeout values when dealy over the wireless network is a significant portion of the end to end delay • E2E semantics critical for applications • Other overheads such as hand-off overheads in I-TCP

  38. WTCP Approach • Rate based transmission control • Eliminates the RTO miscalculation problem in TCP due to self-clocking/window-based CC/ACK-bunching • No waiting for ACKs before sending out new packets • Packets separated by a period T seconds where T = 1/R where R is the rate of the flow • Cons? • Why is this not a problem in WWANs?

  39. Inter-packet delay as main congestion indicator • Use inter-packet delay (as opposed to losses) as indication of congestion • Specifically, the relative differences between the average receiver inter packet delay and the average sender inter packet delay is used to detect congestion • Helps in keeping the network un-congested and at the same time fully utilize the network

  40. Distinguishing cause of packet loss • Losses still possible because of congestion, random wireless errors, and blackouts • Ideal reaction for each of the probable causes different (what?) • Need to distinguish the cause of packet loss to facilitate correct reaction

  41. Distinguishing … • WTCP maintains a history of packets losses when the network is un-congested, and computes the average and deviation in the number of random losses • Based on this information, it predicts whether a loss is due to random • Blackout related losses attributed to congestion!

  42. Transmission Control Computations at the Receiver • Unlike TCP, where computations happen solely at the sender, WTCP uses the receiver to perform rate control computations • Eliminates ACK related problems in the congestion control process

  43. Variable Granularity Rate Adjustment • TCP uses LIMD (with 1 and 0.5 as increase and decrease parameters) • In WTCP, the initial value of the multiplicative decrease factor is small, and is increased for consecutive decreases (incipient congestion detection) • A decrease factor of 0.5 is used for congestion related losses

  44. Start-up Behavior • Round-trip times large, connections potentially short-lived • Faster ramp-up period desirable • WTCP uses the “packet-pair” approach for start-up • Two packets (MSS size) sent back-to-back • Inter-packet delay at receiver used to indicate available rate • Same mechanism used when recovering from black-outs (any other approach?)

  45. Reliability • Selective acknowledgements • SACKs very useful in TCP when random losses occur • Better utilization of the network resources (no unnecessary retransmissions)

  46. Reliability (contd.) • No retransmit timeouts • Since RTOs cannot be relied upon, WTCP does not use RTOs • Use probe packets to recover from suffix losses • ACK frequency tuned by sender based on factors such as (a) observed loss rate on reverse path, (b) round-trip time, (c ) half-duplex or full-duplex nature of channel

  47. WTCP Algorithm • Congestion control • 3 phases: increase, decrease, and maintain Chosen based on long-term and short term averages in inter-packet separation • RTT computation (for probing) • Using loss profile • Increase, decrease, maintain phases

  48. WTCP Reliability • SACK algorithm • Probe packets

  49. Puzzle • You have a deck of 52 cards • You draw out 5 cards randomly and look at the cards • You can now show 4 of the cards to a friend, and the friend should identify the 5th card • How do you do this?

More Related