A Comparison of Mechanisms for Improving TCP Performance over - - PowerPoint PPT Presentation
A Comparison of Mechanisms for Improving TCP Performance over - - PowerPoint PPT Presentation
A Comparison of Mechanisms for Improving TCP Performance over Wireless Links Hari Balakrishnan Venkata N. Padmanabhan Randy H. Katz University of California at Berkeley Srinivasan Seshan IBM T. J. Watson Research Center SIGCOMM
Outline
- Motivation
- Description of proposed solutions
- Objectives
- Experimental methodology
- Results and analysis
- Conclusions
- Future work
TCP over Wireless Links
- Wireless links are inherently error-prone
– fades, noise, attenuation – errors often happen in bursts
- Difficult for the TCP sender to distinguish
wireless losses from buffer overflows
– incorrect invocation of congestion control in response to wireless losses
- Error bursts often lead to coarse timeouts
- Sender retransmission is the only option
– inefficient use of network bandwidth
WaveLAN Packet Errors
0.000 0.001 0.010 0.100 1.000 50 100 150 Distance (feet) Packet ErrorRate
- Packet errors versus distance from base station
- 2 Mbps AT&T WaveLAN, 1400-byte packets
- Taken from Nguyen et al. [NKNS96]
Scenario
Sender Mobile Host D D D A A Base Station
Proposed Solutions
- Reliable link-layer protocols
– error-correcting codes: hardware implementation,
- verhead even when no losses, not very effective
with long error bursts – local retransmission
- End-to-end protocols
– selective acks, explicit loss notification
- Split-connection protocols
– separate connections for wired path and last wireless hop
Reliable Link-Layer Protocols
- Local retransmision over wireless link (LL)
– more aggressive retransmission than TCP – bandwidth not wasted on wired links
- Snoop [BSAK95] (LL-TCP-AWARE)
– base station caches unacknowledged packets – uses TCP acks to determine missing packets – local retx. with suppression of duplicate acks – per-connection state at base station is soft
- Addition of selective acks yields LL-SACK
and LL-STCP-AWARE
End-to-End Protocols
- TCP-Reno (E2E)
- SMART selective acks [KM96] (E2E-SACK)
– ack includes sequence number of data packet that triggered it – sender can determine lost transmissions provided packets are not reordered
- Explicit loss notification (E2E-ELN)
– acks contain a flag indicating wireless loss – loss recovery without congestion control
Split-Connection Protocols
- Separate connections for wired path and
wireless hop (SPLIT)
– TCP sender does not deal with wireless losses – sender at base station does retransmission – per-connection state at base station is hard – example: Indirect-TCP [BB94]
- Specialized protocol for wireless connection
(SPLIT-SACK)
– selective acks – example: [YB94]
Goals
- Evaluate the different protocols on a uniform
platform
– importance of TCP-aware link layer – usefulness of selective acks and explicit loss notifications – importance of splitting the connection to effectively shield the sender from wireless losses
- Metrics
– throughput – goodput: both on wired and wireless links
Experimental Methodology
16 Internet hops 2 Mb/s AT&T WaveLAN
Base Station Sender
1400 byte packets acks
- LAN wired path: 10 Mb/s Ethernet
- WAN wired path: 16 Internet hops across the US;
T1 bottleneck link; no congestion
- Poisson-distributed bidirectional errors (with a
mean rate of 1 every 64 KB)
- 8 KB and 32 KB socket buffers, 2 MB transfers
- Instrumented BSD/OS kernel to record TCP events
Mobile Host
Results: Link-layer
- With no losses: LAN: 1.5 Mbps, WAN: 1.35 Mbps
- TCP-awareness
– 13% better throughput in LAN, 30% in WAN
- Selective acks
– 8% higher throughput in LAN, 13% in WAN
0.2 0.4 0.6 0.8 1 1.2 1.4
LL LL-TCP-AWARE LL-SACK LL-STCP-AWARE
Throughput (Mbps)
LAN WAN
Analysis: Link-layer
10 20 30 40 50 60 70 80
20 30 40 50 60 10
- LL retx. does not prevent out-of-order packets
- TCP fast retx. causes sender window to fluctuate
Suppressing duplicate acks prevents sender from invoking fast retransmission and results in good performance
Time (sec) Congestion Window (KB)
LL-TCP-AWARE LL
Results: End-to-End
0.2 0.4 0.6 0.8 1 1.2 1.4
E2E E2E-SACK E2E-ELN Throughput (Mbps)
- E2E (TCP Reno)
– coarse timeouts reduce throughput to 50% of optimal in LAN, 25% in WAN – wireless goodput is optimal because of conservative retransmissions
- SMART and ELN: significantly better throughput
LAN WAN
Analysis: ELN
ELN helps maintain a larger average congestion window size, yielding better throughput
10 20 30 40 50 60
50 100 150 200 250
Congestion Window (KB) Time (sec) E2E E2E-ELN
Results: Split-Connection
0.2 0.4 0.6 0.8 1 1.2 1.4
SPLIT SPLIT-SACK Throughput (Mbps)
- Specialized protocol for wireless connection
(SPLIT-SACK) offers a significant benefit
- Throughput with SPLIT-SACK is 5-10% lower
than LL-TCP-AWARE
LAN WAN
Analysis: Split-Connection
Wired connection maintains a large congestion window but slow progress of wireless connection causes sender to stall
20
10 30 40 50 60
20 40 60 80 100 120
Time (sec) Congestion Window (KB) Wired connection Wireless connection
Analysis: Split-Connection
20 40 60 80 100 120
10 30 40 50 60 20
Time (sec) Advertised Window (KB)
- Time average of receiver advertised window for
wired connection is 14 KB
- Bandwidth-delay product is 25-30 KB
WAN experiment
Burst Losses
2 4 6
Length of error burst (packets)
0.4 0.8 1.2
Throughput (Mbps)
LL-TCP-AWARE
While LL-TCP-AWARE can recover from small amounts of burst loss, LL-STCP-AWARE uses SACKs to perform better
LL-STCP-AWARE
Conclusions
- Link-layer protocols
– retransmission without in-order delivery do not prevent adverse interaction with TCP – suppressing duplicate acks helps significantly
- End-to-end protocols
– SMART selective acks and ELN significantly help recovery from wireless losses
- Split-connection protocols
– slow progress of wireless connection stalls sender of wired connection
Future Work
- Use wireless error traces [NKNS96]
- Effectiveness of IETF SACKs in dealing with
wireless losses
- Other types of networks (e.g., asymmetric
bandwidth, multi-hop wireless networks)
- Different workloads (e.g., Web accesses)