Receiver Driven Bandwidth Sharing for TCP Authors: Puneet Mehra, Avideh Zakor and Christophe De...

Post on 17-Jan-2018

221 views 0 download

description

Motivation Most Internet traffic is TCP HTTP, FTP, P2P, Multimedia streaming… In many cases access links are bottleneck Limited Bandwidth (B/W) eg: DSL/Cable < 1.5Mbps User run many apps that compete for B/W Problem: TCP shares bottleneck B/W according to RTT Not fair to flows with large RTT Doesn’t consider application needs or user prefs!

Transcript of Receiver Driven Bandwidth Sharing for TCP Authors: Puneet Mehra, Avideh Zakor and Christophe De...

Receiver Driven Bandwidth Sharing for TCP

Authors: Puneet Mehra, Avideh Zakor and Christophe De Vlesschouwer

University of California Berkeley.Presented at: INFOCOM 2003. Twenty-Second Annual Joint

Conference of the IEEE Computer and Communications Societies.

Overview of the Presentation

MotivationGoalsProposed MethodNS-2 SimulationsConclusion

Motivation

Most Internet traffic is TCP HTTP, FTP, P2P, Multimedia streaming…

In many cases access links are bottleneck Limited Bandwidth (B/W) eg: DSL/Cable < 1.5Mbps User run many apps that compete for B/W

Problem: TCP shares bottleneck B/W according to RTT Not fair to flows with large RTT Doesn’t consider application needs or user prefs!

Example:

INTERNET

BottleneckAccess

Link

=

High RTT

Low RTT

Med. RTT

Video traffic

FTP

P2P

Congestion

Goals

Achieve full utilization of the receiver’s access link (bottleneck).

Satisfy user preferences: -priorities assigned to each flow.Approach: limit throughput of low-

priority flows to provide additional B/W for high-priority ones

Overview of the Presentation

Motivation GoalsProposed MethodNS-2 SimulationsConclusion

TRASTarget Rate

Allocation Sub-System

FCS1Flow Control

System

FCSnFlow Control

SystemσCalculationSub-System

σ

UserPreferences

BWSSBandwidth Sharing System

T1

Tn

Internet

Sendern

Sender1

Rn

Rn

R1

R1

Wn & dn

W1 & d1

For the receiverσ = system target bit-rate

For the nth connectionWn = Advertised Windowdn = Delay in ACK packetsTn = Target RateRn = Measured Rate

1

0

N

iiT

System Overview

.

.

.

.

.

.

System Overview…

Band-Width Sharing System (BWSS) consists of:

a) Flow Control System (FCS) b) Target Rate Allocation Sub-system

(TRAS) c) σ Calculation Sub-system.

FCS1

Flow Control System

T1

R1

d1

W1

For the nth connection W = Advertised Window d = Delay in ACK packets R = Measured Rate P = Packet size in bits Ti = Target Rate mi = minimum bandwidth wi = weight

CalculateTarget Rate –

Measured Rate

MeasureBit-rate and RTT

AdaptReceiver

Window / ACK Delay

Flow Control System

Flow Control System…

Ri < Ti : search for the smallest Wi to achieve (1- α )Ti =< Ri =< (1+ α )Ti

If Ri > (1+α)*Ti then delay the ACKs as decreasing Wi is ineffective.

Aim to minimize delay : otherwise results in unresponsiveness & instability in TCP flow.

)(*

dRTTPWR size

0

2

4

6

8

10

0 2 4 6 8 10 12 14Time (round trips)

Win

dow

size

(seg

men

ts)

Window size limits the data rate : Max Window size = min (cwndmax, receiver’s adv. window)

Receiver’s advertised window

After fast recovery

Example

Slide borrowed from Dr. Nitin Vaidya’s TCP tutorial

RTT and Bandwidth estimation

TCP timestamp option to estimate RTT.Bandwidth estimation relies on

exponentially weighted moving average R α*R + (1-α)*Rø

Ø – bandwidth estimation period, tradeoff between accuracy of estimation and time for convergence.

Target Rate Allocation System

Some apps need minimum guaranteed rate(video), others don’t (ftp)

User assigns each flow: Priority (pi), minimum rate (mi) and weight (wi)

Bandwidth allocation algorithm: Satisfy minimum rate in decreasing order of priority Remaining B/W shared according to weight

T1

User Prefs.

σ

Tn

1

0

1

0iii * w+ m = T N

jj

N

jj

w

m

Prevents starvation of low

priority connection

σ – Calculation SubsystemR1

RN

U = Σi Ri

σ

Goal: Choose σ to maximize link utilization. U = Σi Ri (σ)

Approach: Iteratively increase/decrease σ and measure the impact on utilization

σ < σideal implies under-utilization of the link.If σ > σideal , does it affect the system ?

Overview of the Presentation

MotivationGoalsProposed MethodNS-2 SimulationsConclusion

Example of User PreferencesTime 0: Min. Rate = 0 Kb/s

weights = 1,2,3 for S0-S2Priority -> S0 (max), S2(min)

Time 300: Min Rate = 600 Kb/s

TCP BWSS

Network-Congestion Example

Priorities: increasing from S0-S2Min Rate:S0,S2 – 600Kb/sS1 – 100 Kb/s

Time 400s to 1200s700Kb/s Interfering TCP trafficS2 limited to 300Kb/s

Multimedia Streaming Example

• S0 – Ftp traffic. Low Priority• Min Rate = 700Kb/s

• S1 – Streaming at 450Kb/s• High Priority

• 300Kb/s UDP flow (400s-1000s)

Overview of the Presentation

MotivationGoalsProposed MethodNS-2 SimulationsConclusion

Conclusion

BWSS allows user to allocate link B/W Flexible B/W allocation model Adapts to changing network conditions No changes to TCP/senders/routers

Observation: - works only if desired rate is achievable

under flow’s cwnd- What was receiver window

advertisement actually designed for??

Observation: TCP window management

1

Ack1 win4

2

43 4 5 6 DATA3 ~ 6 win4

Data1 win4

8Ack6 win2

9

10 11 DATA10 ~11 win4

sender

receiver

Questions??