Jerome Mitchell Resilient Research Journel Group May 1, 2009

Preview:

DESCRIPTION

Jerome Mitchell Resilient Research Journel Group May 1, 2009. Improving TCP/IP Performance Over Wireless Networks Authors: Hari Balakrishnan, Srinivasan Seshan, Elan Amir and Randy H. Katz. The Problem. In TCP: Packet loss is attributed to congestion In Mobile Networks - PowerPoint PPT Presentation

Citation preview

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.

Recommended