250 likes | 378 Views
Packets, FEC. Timeout. Status Reports. Repairs. LT-TCP: End-to-End Framework to Improve TCP Performance over Networks with Lossy Channels. Omesh Tickoo, Vijay Subramanian,Shiv Kalyanaraman (Rensselaer Polytechnic Institute) K.K. Ramakrishnan (AT&T). Overview.
E N D
Packets, FEC Timeout Status Reports Repairs LT-TCP: End-to-End Framework to Improve TCP Performance over Networks with Lossy Channels Omesh Tickoo, Vijay Subramanian,Shiv Kalyanaraman (Rensselaer Polytechnic Institute) K.K. Ramakrishnan (AT&T)
Overview • TCP performance over wireless: • loss vs. congestion, heavy erasures • Building Blocks: • ECN congestion response • Adaptive maximum segment size (MSS) • Proactive and Reactive FEC • Performance Results: • Contribution of each building block • Comparisons to link-level support • Ongoing work
TCP over wireless channels • TCP doesn’t distinguish between erasure and congestion loss • Bigger problem: TCP suffers significant timeout penalties with erasure rates > 5% • Qn: Can we “robustify” TCP to handle larger packet erasure rates: 30-50% ? • Wireless channels becoming more pervasive • With mesh networks (infrastructure or community) it is likely that more than the last hop will be wireless • Cannot just use the cross-layer techniques like TCP performance enhancing proxies (PEPs) to “fix” TCP’s performance
TCP uses Loss Feedback to Estimate Available Capacity Interpreting Transmission Losses as Congestion Leads to Capacity Under-Estimation LT-TCP: Adaptive Mechanisms to Reinstate Performance Adaptive MSS/ Proactive and Reactive FEC Erasure Recovery/ Loss Estimation Capacity Used Capacity Used Capacity Used Available Capacity RECEIVER SENDER X X Loss Feedback Through Acknowledgements X – Packet Erasure
Transport/Link Layer: Standard Reliability Model • Sequence Numbers • CRC or Checksum • Proactive FEC Packets Timeout • ACKs • NAKs, dupacks • SACKs • Bitmaps Status Reports Repair pkts • Rexmitted Packets • Reactive FEC
Recover K data packets! >= K of N received Lossy Network Reed-Solomon FEC: RS(N,K) RS(N,K) FEC (N-K) Block Size (N) Data = K
Building Blocks: Goals • Congestion Response: • How should TCP respond to congestion notifications, • … but not respond to packet erasures that do not signal congestion? • Mix of Reliability Mechanisms: • What mix of TCP repair mechanisms should be used to achieve the TCP reliability objectives ? • What is the role of error correction (FEC) ? • How should be split between proactive and reactive repair? • Timeouts: • Timeouts: final fallback mechanism, but wasteful otherwise. • How to structure the mix to reduce timeouts?
Building Blocks: Design • Congestion: respond only to ECN • Assumes ECN-enabled networks • Window granulation: at least G • Smaller PER for a given BER • More dupacks per burst loss event (SACK requires at least 3 dupacks) • MSS is adaptive. • FEC per-window: • Shortened RS-codes (see next slide) • Proactive FEC based upon estimate of per-window loss rate (Adaptive) • Reactive FEC to protect retransmissions • FEC packets can correct any data packets: totally K out of N needs to reach receiver • Timeout avoidance turns out to be harder than distinguishing erasure from congestion
Shortened Reed Solomon FEC (per-Window) RS(N,K) RS(N,K) 0 0 z Zeros (z) 0 0 0 0 Reactive FEC (R) K = d + z Block Size (N) Proactive FEC (F) Window (W) Data = d d
Timout Cause #1: Burst Errors + Large MSS 5 4 Window 3 4 3 2 1 2 Transmission Loss 1 X X X X Complete Window Lost!
Window Granulation Reduces the Risk of Losing the Complete Window 7 6 5 Window 7 6 5 4 3 2 1 4 3 2 Transmission Loss X X X X 1 1 2 7 ACK Stream (assuming selective ACK) 6 5 4 3 Rexmins
Timout Cause #2:Insufficient Dupacks => SACK not triggered 6 5 Window 4 6 5 4 3 2 1 3 Transmission Loss 2 X X X 1 1 2 2 ACK Stream DUPACK-1 Timeout because of insufficient dupacks
4 3 2 1 Proactive FEC Reduces the Need for Dupacks P-FEC P-FEC 4 Window P-FEC P-FEC 4 3 2 1 3 2 Transmission Loss X X 1 Receiver FEC Decoder + + + P-FEC P-FEC 2 1 Recover data packets…
5 6 5 4 2 1 4 3 X X 2 1 Transmission Loss Timeout Cause #3: Loss of Retransmissions 6 Window 3 1 1 1 1 ACK Stream DUPACK-1 DUPACK-2 DUPACK-3 Retransmission 2 Transmission Loss X ReXMITS ESPECIALLY vulnerable!
Reactive FEC: Protects Rexmits 6 5 Window 4 6 5 4 3 2 1 3 2 Transmission Loss X X 1 1 4 5 6 ACK Stream DUPACK-1 DUPACK-2 DUPACK-3 R-FEC R-FEC Receiver FEC Decoder + + + R-FEC R-FEC 4 1 4 3 2 1
Putting it Together…. Application Data MSS Adaptation • Granulated Window Size Window P-FEC Window Size (n,k) Parameter Estimation Data FEC Computation Loss Estimate
Building Block Behavior: Adaptive MSS (Window Granulation) • Congestion window (in segments) kept above G = 10 • MSS increases when CWND grows, • MSS shrinks when CWND shrinks to maintain G
Overestimate after spikes : = Elatest/ (Elatest+ E) Estimate is fairly accurate within small erasure rate variations Trade off :Over-estimation leads to overhead. Overestimate Inefficiency Period Packet Erasure Rate EWMA Estimator: E = *Elatest + (1-)*E BBlock Behavior: Per-Window Loss Estimator for P-FEC
Simulation Configuration Lumped model: view multiple bottlenecks as 1 aggregate bottleneck
SACK LT-TCP: Performance Results
Contribution of Components (10% PER case) Source of gains: #1: Timeout reduction #2: Distinguishing erasures from congestion (w/ ECN)
Comparison w/ Link Layer FEC, HARQ LL FEC: adaptive FEC based upon average PER HARQ: 10% FEC; ARQ persistence = 3 LT-TCP: end-to-end
Summary TCP performance over wireless: residual erasure rates > 5% (short- or long-term) • E2E H-ARQ: • Granulation ensures better flow of ACKs especially in small window regime. • Adaptive FEC (proactive and reactive) can protect critical packets appropriately • Adaptive => No overhead when there is no loss • ECN to distinguish congestion from loss • Future Work: • Handle higher erasure rates (30%+) better • Optimal division of reliability functions between PHY,MAC, E2E
Thanks! Researchers: Omesh Tickoo: tickoo@rpi.edu Vijay Subramanian: subrav@rpi.edu Shiv Kalyanaraman: shivkuma@rpi.edu K.K. Ramakrishnan, kkrama@research.att.com