improving tcp/ip performance over wireless networks authors: hari balakrishnan, srinivasan seshan,...
TRANSCRIPT
Improving TCP/IP Performance Over Wireless Networks
Authors: Hari Balakrishnan, Srinivasan Seshan, Elan Amir and Randy H. Katz
Jerome MitchellResilient Research Journel Group
May 1, 2009
The Problem
In TCP: Packet loss is attributed to congestion
In Mobile Networks Packet loss results from disconnections,
handoffs, high bit error rates
Alternative ApproachesI-TCP [A.Bakre, B.R.Badrinath] Link level retransmissions [S. Paul, et. al]Fast Retransmit [R.Caceres, L.Iftode]
Snoop TCP
The authors seeks: Improved Performance No change to TCP at fixed hosts No violation of end-to-end TCP semantics No recompiling/relinking of existing
applications
Components
Snoop Module
To recover from wireless losses
Routing Protocol
Eliminate losses during handoff
Snoop : Basic Idea
Data from Fixed to Mobile Hosts Cache unacknowledged TCP data Loss detected, perform local retransmissions
from base station
Data from Mobile to Fixed Hosts Detect missing packets Perform negative acknowledgements
FH -> MH : Snoop_data()
New Packet in TCP sequence Add to snoop cache Forward to MH
Out of sequence packet cached current sequence number > last ACK seen
Forward to MH current sequence number < last ACK seen
Disregard
FH -> MH: Snoop_data()
Out of sequence packet not cached Forward to MH Mark it as retransmitted by sender
Snoop: FH -> MH
FH -> MH: Snoop_ack() New ACK Cleaning of snoop cache Update round trip estimate Forward ACK to FH
Spurious ACK Disgard it
FH -> MH: Snoop_ack()
Duplicate ACK (DUPACK) Packet not in snoop cache
Resend from the FH Packet marked as sender retransmitted
DUPACK forwarded to FH – TCP keeps track of the number of dupacks received when it retransmits
FH -> MH: Snoop_ack()
Unexpected DUPACK – first DUPACK after a packet loss Retransmit at higher priority than other packets
Expect DUPACK Discard it
Snoop: ACK Processing
Data Transfer from MH -> FH
NACK's sent from BS to MH when Threshold number of packets from a single
window have reached No new packets from MH for certain time
*- Based on TCP SACK.
Routing Protocol
Why? In mobile IP, packets in transit during handoff are lost/experience long delays.
Goals
Low latency handoff
Reduce packet loss and delay variation
Solution?
Use Multicast and intelligent buffering in nearby BSs
Routing Protocol – Basics
Each MH has home address and agent
Each MH is also mapped to a temporary IP multicast group consisting of BS in vicinity of MH
Routing Protocol - Beaconing
Each BS periodically broadcasts beacons
MH keeps track of these to determine current location and motion
MH identifies nearby BSs, determines which cell to join and handoff (based on signal strength, communication quality)
Routing Protocol
Primary BS : delivers data
Other neighbor BSs : Buffer data (minimizes data loss and delays during handoff)
Handoffs : Low latency, light weight
Snoop cache proportional to window size
When handoff requested or anticipated, nearby BSs cache packets
Nearby BSs cannot snoop on ACKs, so use FIFO scheme for cache
Holes in state of new BS -> slight performance degradation
Implementation
Platform: IBM Thinkpad laptops, PC base stations,BSD/OS 2.0
2 Mbps AT&T wavelan
Snoop Cache
Circular buffer of pointers to kernel mbufs
Beyond “high watermark”, only out of order and earlier in sequence packets buffered
Timer based retransmissions
Smoothed round trip time srtt = (1- a)*old_srtt + a * curr_rttIf no ACK in 2 * srtt -> retransmitPersist TimerIf there are unacknowledged packets and no activity either from sender or receiver for 200msAlso sets no. of expected DUPACKS to zero and updates next expected ACK
Performance – Effect of Bit Errors
Connection Behavior – Effect of Bit Errors
Error rate: 3.9x10-6
Snoop – 1Mbps,TCP – 0.25 Mbps
Performance: Effect of handoffs
Connection Behavior – Effect of Handoffs
Handoff Frequency – 10s
Throughput – 1.4Mbps
Performance: Handoffs, Bit Errors
Handoffs – 5s
Performance Summary
For BER > 5x10-7, throughput increases upto 20 times than regular TCP
For lower error rates, similar performance => negligible overhead due to snoop
Handoffs complete in 5-70ms (compared to 265-1400ms in I-TCP)
Summary
Snoop Agent for better end-to-end TCP performanceLocal caching and retransmissions by snoop agentCaching and multicasting to minimize handoff latency and lossesBandwidth improvement between 1 and 20 across different BERsNo.of redundant wireless retransmissions -> 0
References
[1] Hari Balakrishnan, Srinivasan Seshan and Randy H.Katz, “Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks”, ACM Wireless Networks, May 1995
[2] Hari Balakrishnan, Venkata N. Padmanabhan, Srinivasan Seshan and Randy H.Katz, “A Comparison of Mechanisms for Improving TCP Performance over Wireless Links”, ACM SIGCOMM 1996.