1 / 64

15-441 Computer Networking

15-441 Computer Networking. Lecture 18 – TCP over Wireless. Readings. [R.2] Hari Balakrishnan, Srinivasan Seshan, and Randy H. Katz, " Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks ." ACM Wireless Networks, Volume 1, Number 4. December 1995. Pages 469-481.

lance
Download Presentation

15-441 Computer Networking

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. 15-441 Computer Networking Lecture 18 – TCP over Wireless

  2. Readings • [R.2] Hari Balakrishnan, Srinivasan Seshan, and Randy H. Katz, "Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks." ACM Wireless Networks, Volume 1, Number 4. December 1995. Pages 469-481. • [R.3] Ajay Bakre and B. R. Badrinath, "I-TCP: Indirect TCP for Mobile Hosts," Proceedings of the 15th International Conference on Distributed Computing Systems (ICDCS '95), May 30 - June 2, 1995, Vancouver, British Columbia. Pages 136-143. • [R.6] Analysis of TCP Performance over Mobile Ad Hoc Networks, G. Holland and N. Vaidya, Wireless Networks 8, 2002 Lecture 18: Wireless TCP

  3. Optional Readings • [R.1] Ramon Caceres and Liviu Iftode, "Improving the Performance of Reliable Transport Protocols in Mobile Computing Environments." IEEE JSAC, Volume 13, Number 5. June 1995. • [R.4] H. Balakrishnan, Venkat Padmanabhan, Srinivasan Seshan, and Randy H. Katz, A Comparison of Mechanisms for Improving TCP Performance over Wireless Links, IEEE/ACM Transactions on Networking, December 1997. • [R.5] David Eckhardt and Peter Steenkiste, "An Internet-style Approach to Wireless Link Errors", Journal of Wireless Communications and Mobile Computing, Wiley, special issue on "Reliably Transport Protocols for Mobile Computing", Volume 2, Number 1, February 2002. • [R.7] ATP: A Reliable Transport Protocol for Ad-hoc Networks, Karthikeyan Sundaresan, Vaidyanathan Anantharaman, Hung-Yun Hsieh, Raghupathy Sivakumar, MobiHoc'03. • [R.8] Hung-Yun Hsieh, Kyu-Han Kim, Yujie Zhu, and Raghupathy Sivakumar. A Receiver-Centric Transport Protocol for Mobile Hosts with Heterogeneous Wireless Interfaces. MobiCom 2003. Lecture 18: Wireless TCP

  4. TCP Problems Over Noisy Links • First reported in [R.1] • Wireless links are inherently error-prone • Fades, interference, attenuation • Errors often happen in bursts • TCP cannot distinguish between corruption and congestion • TCP unnecessarily reduces window, resulting in low throughput and high latency • Burst losses often result in timeouts • Sender retransmission is the only option • Inefficient use of bandwidth Lecture 18: Wireless TCP

  5. 0 2 3 1 2 2 2 Loss  Congestion Challenge #1: Wireless Bit-Errors Router Computer 1 Computer 2 Loss  Congestion Wireless Burst losses lead to coarse-grained timeouts Result: Low throughput Lecture 18: Wireless TCP

  6. Performance Degradation Best possible TCP with no errors (1.30 Mbps) TCP Reno (280 Kbps) Sequence number (bytes) Time (s) 2 MB wide-area TCP transfer over 2 Mbps Lucent WaveLAN Lecture 18: Wireless TCP

  7. Constraints & Requirements • Incremental deployment • Solution should not require modifications to fixed hosts • If possible, avoid modifying mobile hosts • Probably more data to mobile than from mobile • Attempt to solve this first Lecture 18: Wireless TCP

  8. Proposed Solutions • End-to-end protocols • Selective ACKs, Explicit loss notification • Split-connection protocols • Separate connections for wired path and wireless hop • Reliable link-layer protocols • Error-correcting codes • Local retransmission Lecture 18: Wireless TCP

  9. Approach Styles (End-to-End) • Improve TCP implementations • Not incrementally deployable • Improve loss recovery (SACK, NewReno) • Help it identify congestion (ELN [R.4], ECN) • ACKs include flag indicating wireless loss • Trick TCP into doing right thing  E.g. send extra dupacks [R.1] Wired link Wireless link Lecture 18: Wireless TCP

  10. 4 6 5 1 End-to-End: Selective Acks X 3 2 Mobile Host Correspondent Host Base Station Lecture 18: Wireless TCP

  11. End-to-End: Selective Acks Mobile Host Correspondent Host Base Station ack 1 ack 1,3 ack 1,3-4 ack 1,3-5 ack 1,3-6 Lecture 18: Wireless TCP

  12. Approach Styles (Split Connection) • Split connections [R.3] • Wireless connection need not be TCP • Hard state at base station • Complicates mobility • Vulnerable to failures • Violates end-to-end semantics Wired link Wireless link Lecture 18: Wireless TCP

  13. 3 2 A Split Connection X X 1 B D C Mobile Host Correspondent Host Base Station ack 0 ack 0 sack A sack A,B sack A,B,D Lecture 18: Wireless TCP

  14. 60000 Wired connection Wireless connection 50000 40000 Congestion Window (bytes) 30000 20000 10000 0 0 20 40 60 80 100 120 Time (sec) Split-Connection Congestion Window • Wired connection does not shrink congestion window • But wireless connection times out often, causing sender to stall Lecture 18: Wireless TCP

  15. Approach Styles (Link Layer) • More aggressive local rexmit than TCP • Bandwidth not wasted on wired links • Adverse interactions with transport layer • Timer interactions • Interactions with fast retransmissions • Large end-to-end round-trip time variation • FEC does not work well with burst losses Wired link Wireless link ARQ/FEC Lecture 18: Wireless TCP

  16. Hybrid Approach: Snoop Protocol • Described in [R.2] • Transport-aware link protocol • Modify base station • To cache un-acked TCP packets • … And perform local retransmissions • Key ideas • No transport level code in base station • When node moves to different base station, state eventually recreated there Lecture 18: Wireless TCP

  17. 4 6 5 1 Snoop Protocol: CH to MH • Snoop agent: active interposition agent • Snoops on TCP segments and ACKs • Detects losses by duplicate ACKs and timers • Suppresses duplicate ACKs from FH sender Snoop Agent 3 2 1 Mobile Host Correspondent Host Base Station Lecture 18: Wireless TCP

  18. 1 Snoop Protocol: CH to MH • Transfer of file from CH to MH • Current window = 6 packets 6 3 Snoop Agent 5 2 4 Mobile Host Correspondent Host Base Station Lecture 18: Wireless TCP

  19. 1 Snoop Protocol: CH to MH • Transfer begins 6 5 Snoop Agent 4 3 2 Mobile Host Correspondent Host Base Station Lecture 18: Wireless TCP

  20. 4 6 5 1 Snoop Protocol: CH to MH • Snoop agent caches segments that pass by • Difference #1 from pure link-layer – does not add a new header uses existing TCP header to identify losses Snoop Agent 3 2 1 Mobile Host Correspondent Host Base Station Lecture 18: Wireless TCP

  21. 4 6 5 1 Snoop Protocol: CH to MH • Packet 1 is Lost Snoop Agent 3 2 1 3 2 Mobile Host Correspondent Host Base Station 1 Lost Packets Lecture 18: Wireless TCP

  22. 4 4 6 5 Snoop Protocol: CH to MH • Packet 1 is Lost • Duplicate ACKs generated Snoop Agent 3 2 1 3 2 ack 0 Mobile Host Correspondent Host Base Station 1 Lost Packets Lecture 18: Wireless TCP

  23. 4 4 6 6 5 5 1 Snoop Protocol: CH to MH • Packet 1 is Lost • Duplicate ACKs generated • Packet 1 retransmitted from cache at higher priority Snoop Agent 3 2 1 3 2 ack 0 Mobile Host Correspondent Host Base Station ack 0 1 Lost Packets Lecture 18: Wireless TCP

  24. 4 4 6 6 5 5 1 Snoop Protocol: CH to MH • Duplicate ACKs suppressed • Difference #2 from pure link-layer – tries to prevent sender from noticing loss • Sender may still timeout though – fortunately timeouts are typically long (500ms+) Snoop Agent 3 2 1 3 2 ack 4 Mobile Host Correspondent Host Base Station X ack 0 Lecture 18: Wireless TCP

  25. 4 6 6 5 5 1 Snoop Protocol: CH to MH • Clean cache on new ACK Snoop Agent 3 2 ack 5 Mobile Host Correspondent Host Base Station ack 4 Lecture 18: Wireless TCP

  26. 4 6 6 5 1 Snoop Protocol: CH to MH • Clean cache on new ACK Snoop Agent 3 2 ack 4 ack 6 Mobile Host Correspondent Host Base Station ack 5 Lecture 18: Wireless TCP

  27. 4 8 7 6 9 5 1 Snoop Protocol: CH to MH • Active soft state agent at base station • Transport-aware reliable link protocol • Preserves end-to-end semantics Snoop Agent 3 2 Mobile Host Correspondent Host Base Station ack 5 ack 6 Lecture 18: Wireless TCP

  28. Other Issues • What about mobility? • What about mobile-to-fixed communication? Lecture 18: Wireless TCP

  29. 1 1 1 5 4 3 2 2 Handling Mobility Router Send packets to multiple base stations Correspondent Host Base Station Base Station Mobile Host Lecture 18: Wireless TCP

  30. 1 1 2 2 1 6 5 4 3 3 Handling Mobility Router Resend missed packets from Snoop cache on handoff Correspondent Host Base Station Base Station Mobile Host Lecture 18: Wireless TCP

  31. 4 6 5 0 1 Snoop Protocol: MH to CH • Caching and retransmission will not work • Losses occur before packet reaches BS • Congestion losses should not be hidden • Solution: Explicit Loss Notifications (ELN) • In-band message to TCP sender 3 2 Correspondent Host Mobile Host Base Station Lecture 18: Wireless TCP

  32. 4 6 5 0 Snoop Protocol: MH to CH • MH begins transfer to CH 1 3 2 Correspondent Host Mobile Host Base Station Lecture 18: Wireless TCP

  33. 4 6 5 0 1 Snoop Protocol: MH to CH • Packet 1 lost on wireless link 3 2 Correspondent Host Mobile Host Base Station Lecture 18: Wireless TCP

  34. 4 6 5 0 Snoop Protocol: MH to CH • Add 1 to list of holes after checking for congestion 1 3 2 ack 0 Receiver Mobile Host Base Station 1 Lost Packets Lecture 18: Wireless TCP

  35. 4 6 5 0 Snoop Protocol: MH to CH • Duplicate ACKs sent 2 3 1 ack 0 ack 0 Correspondent Host Mobile Host Base Station 1 Lost Packets Lecture 18: Wireless TCP

  36. 4 6 5 0 Snoop Protocol: MH to CH • ELN information added to duplicate ACKs 2 3 1 ack 0 ack 0 ack 0 ELN Correspondent Host Mobile Host Base Station 1 Lost Packets Lecture 18: Wireless TCP

  37. 4 6 1 5 0 Snoop Protocol: MH to CH • ELN information on duplicate ACKs • Retransmit on Packet 1 on dup ACK + ELN • No congestion control now 2 ack 0 ELN 3 1 ack 0 ack 0 ELN Correspondent Host Mobile Host Base Station 1 Lost Packets Lecture 18: Wireless TCP

  38. 4 6 1 5 0 Snoop Protocol: MH to CH • Clean holes on new ACK • Link-aware transport decouples congestion control from loss recovery • Technique generalizes nicely to wireless transit links 2 3 ack 6 Receiver Mobile Host Base Station Lecture 18: Wireless TCP

  39. Discussion • Why does Snoop perform well? • Hides out-of-order delivery from sender • Current reliable MACs do single packet at a time reliability  no out-of-order delivery [R.5] Lecture 18: Wireless TCP

  40. [R.6] Analysis of TCP Performance over Mobile Ad Hoc Networks, G. Holland and N. Vaidya, Wireless Networks 8, 2002 Lecture 18: Wireless TCP

  41. TCP ELFN (Explicit Link Failure Notification ) • Analysis of TCP performance in static, linear, multi hop wireless network • Analysis of TCP in MANETs using expected throughput and measured throughput • Suggestion of TCP ELFN • Simulation results Lecture 18: Wireless TCP

  42. TCP performance in simple, static, linear multi-hop network • A simple multi-hop network • TCP-Reno throughput over an 802.11 fixed, linear, multi-hop network of varying length Lecture 18: Wireless TCP

  43. ∞ Σi=0 Σi=0 Performance metric • Performance metric • Expected throughput = t i *Ti t i i: # of hops ti: the duration for which the shortest path contains i hops Ti: the throughput obtained “over a linear chain” using i hops • Expected throughput does not take into account the performance overhead of determining new routes after route failures • It serves as a upper bound of throughput in mobile network Lecture 18: Wireless TCP

  44. Performance metric :Expected throughput • Example Δt=t2 Δt=to Δt=t1 S R S R S R Throughput = TH1 Throughput = TH3 Throughput = TH1 Throughput in linear network when # hops is n Expected throughput = t 0*TH1 + t1*TH2 + t2*TH1 to + t1 + t2 Lecture 18: Wireless TCP

  45. Expected throughput and Measured Throughput • Simulation environment • ns network simulator • TCP-Reno over 802.11 • DSR, BSD’s ARP • 30 nodes, 1500X300 m2 , the random waypoint • The average throughput of 50 scenarios From 2m/s to 10m/s the throughput drops sharply Lecture 18: Wireless TCP

  46. Measured and expected throughput Lecture 18: Wireless TCP

  47. Zero Throughput • T = 0s, route fail, packet dropped S A B C R • T = 6s, data packet retransmitted S A B C R • T = 6.1xxs, ACK dropped, due to stale cached route S A B C R • T = 18.1xxs, the second retransmission of data packet, dropped again due to stale cached route S A B C R • T=42,90,120s no ACK from the TCP receiver Lecture 18: Wireless TCP

  48. Some facts • In previous example, only for 6 s of 120 s the network is partitioned • DSR’s stale cached route can degrade TCP throughput significantly • DSR does not retransmit dropped packet when it receives Route Error Msg, and the TCP sender or receiver does not know about the packet loss • The TCP sender waits for occurring time out • Unnecessary RTO back-off of the TCP sender makes problems even worse Lecture 18: Wireless TCP

  49. TCP ELFN • Explicit Link Failure Notification (ELFN) • The objective : • To provide the TCP sender with information about link and route failures • TCP sender can avoid responding to the failures as if congestion occurred • DSR’s route failure message is modified • A payload similar to the “host unreachable” ICMP message • The sender and receiver’s addresses and ports and seq number TCP data R S A B C D DSR ROUTE ERROR + ELFN Probing message Lecture 18: Wireless TCP

  50. TCP ELFN • Sender reaction • When a TCP sender receives an ELFN, • It disables its retransmission timers and enters a “stanby” mode • While on standby, • A packet is sent at periodic intervals to probe the network to see if a route has been established • If an acknowledgment is received, • Then it leaves standby mode Lecture 18: Wireless TCP

More Related