640 likes | 789 Views
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.
E N D
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. • [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
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
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
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
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
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
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
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
4 6 5 1 End-to-End: Selective Acks X 3 2 Mobile Host Correspondent Host Base Station Lecture 18: Wireless TCP
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Other Issues • What about mobility? • What about mobile-to-fixed communication? Lecture 18: Wireless TCP
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
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
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
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
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
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
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
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
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
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
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
[R.6] Analysis of TCP Performance over Mobile Ad Hoc Networks, G. Holland and N. Vaidya, Wireless Networks 8, 2002 Lecture 18: Wireless TCP
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
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
∞ ∞ Σ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
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
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
Measured and expected throughput Lecture 18: Wireless TCP
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
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
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
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