650 likes | 667 Views
Explore the challenges in wireless data transport, TCP optimizations, and the Snoop Protocol for improving performance over heterogeneous wireless networks. Learn about loss recovery, congestion control, and link-layer optimizations.
E N D
Reliable Data Transport over Heterogeneous Wireless Networks Hari Balakrishnan MIT Lab for Computer Science
Goal: To make wireless devices first-class Internet citizens Motivation Rapid growth Cellular phones • But wireless data is floundering... • Enormous heterogeneity • Poor performance Sources: Ericsson, Inc. Matthew Gray, MIT # of units/hosts (millions) Internet hosts Year
Metricom Ricochet Lucent WaveLAN Regional-Area Metro-Area Cellular Digital Packet Data (CDPD) IBM Infrared Campus-Area Packet Radio In-Building Wireless Heterogeneity
Goal: To bridge the gap between perceived and rated performance Wireless Performance
TCP Overview 1. Loss recovery 7 • Window-based algorithm to determine sustainable rate • Upon congestion, reduce window • “ACK clocking” sends data smoothly 8 6 10 9 5 4 3 1 0 1 1 lost 0 2 1 1 Timeouts based on mean round-trip time (RTT) and deviation Fast retransmissions based on duplicate ACKs 2. Congestion control
Fast retransmission RTT Window Duplicate ACKs TCP Dynamics Data Sequence number (bytes) ACKs Time (s)
Wireless Transport: The Three Challenges • Preponderance of wireless bit-errors • Corruption vs. congestion losses • Solution: Snoop protocol • Asymmetric effects • Bandwidth asymmetry & latency variability • Solution: TCP mods + link-layer optimizations • Low channel bandwidths • Small windows • Solution: Limited Transmit, an optimization to TCP’s loss recovery
Internet 0 Burst losses lead to coarse-grained timeouts 3 1 1 2 2 2 Loss ==> Congestion Result: Low throughput Challenge #1: Wireless Bit-Errors Router Loss Congestion
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
End-to-end • Split connections • Wireless connection need not be TCP Wired connection Wireless connection Conventional Approaches Base Station • Link-layer protocols • Adverse interactions with transport layer • Timer interactions • Interactions with fast retransmissions • Large round-trip time variation ARQ/FEC • Hard state at base station • Complicates mobility • Vulnerable to failures • Violates end-to-end semantics
Fixed to mobile: transport-aware link protocol Mobile to fixed: link-aware transport protocol Our Solution: Snoop Protocol • Shield TCP sender from wireless vagaries • Eliminate adverse interactions between protocol layers • Congestion control only when congestion occurs • Preserve current TCP/IP service model • Maintain end-to-end semantics • Is connection splitting fundamentally important? • Eliminate non-TCP protocol messages • Is link-layer messaging fundamentally important?
4 6 5 1 Snoop Protocol: FH to MH 3 2 1 Snoop agent Snoop agent: active interposition agent • Snoops on TCP segments and ACKs • Detects losses by duplicate ACKs and timers • Suppresses duplicate ACKs from FH sender Cross-layer protocol design: Snoop agent state is soft Base Station FH Sender Mobile Host
1 Snoop Protocol: FH to MH Snoop Agent Base Station FH Sender Mobile Host
4 1 3 2 Snoop Protocol: FH to MH 5 Base Station FH Sender Mobile Host
4 6 5 1 Snoop Protocol: FH to MH 3 2 1 Base Station FH Sender Mobile Host
4 2 1 2 Snoop Protocol: FH to MH 6 3 2 1 5 Base Station 3 Sender Mobile Host
5 4 6 4 3 2 Snoop Protocol: FH to MH 3 2 1 Base Station Sender ack 0 Duplicate ACK Mobile Host 1
6 6 5 5 4 1 4 3 2 Snoop Protocol: FH to MH 3 2 1 Base Station Retransmit from cache at higher priority Sender ack 0 ack 0 ack 0 Mobile Host 1
6 5 4 4 3 2 5 1 Snoop Protocol: FH to MH 3 2 1 Base Station Sender ack 0 Suppress Duplicate Acks ack 4 Mobile Host 1
6 5 6 1 4 3 2 Snoop Protocol: FH to MH Clean cache on new ACK Base Station Sender ack 4 5 ack 5
6 6 5 4 3 2 Snoop Protocol: FH to MH Base Station Sender ack 4 ack 5 1 ack 6 Mobile Host
5 4 3 2 Active soft state agent at base station Transport-aware reliable link protocol Preserves end-to-end semantics Snoop Protocol: FH to MH 7 9 8 Base Station Sender ack 5 ack 6 6 1 Mobile Host
1 1 1 5 4 3 2 2 Handling Mobility: Use Local Multicast Home Agent Sender Base Station (Snoop agent) Base Station (Snoop agent)
1 1 1 2 2 6 5 4 3 3 Handling Mobility Home Agent Sender Base Station (Snoop agent) Base Station (Snoop agent)
3 1 2 0 Snoop Protocol: MH to FH Base Station Solution #1: Negative ACKs (NACKs) • NACK from BS to MH on wireless loss 2 Receiver Caching and retransmission will not work • Losses occur before packet reaches BS • Congestion losses should not be hidden Sender Solution #2: Explicit Loss Notifications (ELN) • In-band message to TCP sender • General solution framework
0 1 Snoop Protocol: MH to FH Receiver Base Station Sender
3 1 2 0 Snoop Protocol: MH to FH 2 Receiver Base Station Sender
3 2 5 4 0 Snoop Protocol: MH to FH Add 1 to list of holes after checking for congestion 1 Receiver ack 0 Base Station Sender 1
6 5 4 3 2 0 Snoop Protocol: MH to FH 1 Receiver ack 0 ack 0 Base Station ack 0 Duplicate ACKs Sender 1
6 5 0 2 3 4 Snoop Protocol: MH to FH ELN marking 1 Receiver ack 0 ack 0 ack 0 Base Station ack 0 ELN information on duplicate ACKs ack 0 Sender 1
1 6 5 0 2 3 4 Snoop Protocol: MH to FH 1 Retransmit on dup ACK + ELN No congestion control now Receiver ack 0 ack 0 ack 0 Base Station ack 0 ELN information on duplicate ACKs Sender ack 0 1
3 2 0 5 4 6 1 Link-aware transport decouples congestion control from loss recovery Technique generalizes nicely to wireless transit links Snoop Protocol: MH to FH Clean holes on new ACK Receiver ack 6 Base Station Sender
0 2 4 End-to-End Enhancements • Decouple congestion control from loss recovery • Explicit Loss Notification (ELN) • Burst losses • Selective ACKs (SACKs) [FF96,KM96,MMFR96,B96] • Snoop protocol: no changes to fixed hosts on the Internet Selective ACKs ack 0 [sack 2] ack 0 [sack 2,4]
Snoop Performance Improvement Best possible TCP (1.30 Mbps) Snoop (1.11 Mbps) TCP Reno (280 Kbps) Sequence number (bytes) Time (s) Time (s) 2 MB wide-area TCP transfer over 2 Mbps Lucent WaveLAN
Typical error rates • Snoop+SACK and Snoop perform best • Connection splitting not essential • TCP SACK performance disappointing Performance: FH to MH Snoop+SACK Snoop SPLIT-SACK TCP SACK Throughput (Mbps) SPLIT TCP Reno 1/Bit-error Rate (1 error every x Kbits) 2 MB local-area TCP transfer over 2 Mbps Lucent WaveLAN
Empirical Error Modeling Data collected from Reinas Env. Monitoring NetworkSanta Cruz, CA Error duration Error-free duration CDF Duration (ln ms)
Snoop performance improvement: 3X-6X over Reno & SACK Real-World Web Performance # of downloads in 1000 s Empirical wireless error model from real traces of Reinas wireless network, UC Santa Cruz Empirical Web workload model from real traces
60000 50000 40000 30000 20000 10000 Suppressing duplicate acknowledgments and TCP-awareness leads to better utilization of link bandwidth and performance Benefits of TCP-Awareness Snoop • 30-35% improvement for Snoop: LL congestion window is small (but no coarse timeouts occur) • Connection bandwidth-delay product = 25 KB Congestion Window (bytes) LL (no duplicate ack suppression) 0 0 10 20 30 40 50 60 70 80 Time (sec)
Transport Link-aware transport (ELN) Network Transport-aware link(Snoop agent at BS) Link Physical Summary: Wireless Bit-Errors • Problem: Wireless corruption mistaken for congestion • Solution: Snoop Protocol • General lessons • Lightweight soft-state agent in network infrastructure • Fully conforms to the IP service model • Automatic instantiation and cleanup • Cross-layer protocol design & optimizations
Problem: Imperfect ACK feedback degrades TCP performance Challenge #2: Asymmetric Effects • Asymmetric access technologies • ADSL, (wireless) cable modems, DBS, etc. • Low-bandwidth ACK channel [LM97, KVR98] • Packet radio networks • Metricom’s Ricochet, CDPD, etc. • Adverse interactions between data and ACK flow
The network and traffic characteristics in one direction significantly affect performance in the other The Character of Asymmetry Router Forward Bandwidth:10-1000 times more in the forward direction Latency:Variability due toMAC protocol interactions Packet loss:Higher loss- or error-rate in one direction Server Client ACK Router
0 1 2 3 4 5 6 7 1 4 7 3 6 2 5 Bandwidth Asymmetry Problems Data 9 Router Data 10 Forward Data 11 Data 8 Bottleneck Router ACK Server Client 1. Acks arrive slowly (large buffer) 2. Acks are dropped (small buffer) 3. Acks are queued behind data packets Data Data 1 Ack flow
Socket Buffer Size (KB) Return channel speed and latency affects performance Hybrid Wireless Cable Measurements 6 5 10 Mbps Ethernet 4 TCP Throughput (Mbps) 3 28.8 C-SLIP 2 9.6 C-SLIP 1 28.8 SLIP 9.6 SLIP 0 0 20 40 60 80 100 120 140 160 180 200
RTS PT PT CTS PT Internet PT PT PT PT Latency Asymmetry: Packet Radio Networks Fixed Host Ethernet Radios Half-duplex radios Synchronization before communication FH Mobile Host ER MH GW ER Modem PR ER Poletop Radios
Data Data PT PT Ack No response PT RTS Internet PT PT Exponential backoff PT PT Problem: Large and variable communication latency Packet Radio Networks Fixed Host Ethernet Radios FH Mobile Host ER MH GW ER Modem PR ER Poletop Radios
Problem: Large Round-Trip Time Variations Example: Metricom Ricochet Wireless Network Fast retransmissions Timeouts • Mean rtt = 2.45s, std deviation = 1.5s long timeout! • Long idle periods after multiple losses (~ 20 Kbps) • In contrast, UDP throughput = 50-64 Kbps • ACK flow affects data latency
General solution approach for asymmetric situations Solutions • Problems arise because of imperfections in the ACK feedback • Reduce frequency of acks • ACK Filtering (AF) • ACK Congestion Control (ACC) • Handle infrequent acks • Sender Adaptation (SA) • ACK Reconstruction (AR)
5 7 9 11 1 13 ACK Filtering (AF) Forward Router • Purge all redundant, cumulative ACKs from constrained reverse queue • Used in conjunction with sender adaptation or ACK reconstruction Router Server Client 3 5 7
18 8 10 14 ACK Congestion Control (ACC) Data 20 Data 21 Data 19 Forward Router Data 22 Client 16 Delack factor = 2 Server Adaptive extension of TCP delayed ACKs based on congestion feedback from router or sender
22 ACK Congestion Control (ACC) Data Data Data Router Forward Data Data Client Delack factor = 2 12 Server RED [FJ93] marking of ECN bit [F94] (Explicit Congestion Notification)