Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856...

Post on 16-Jan-2016

215 views 0 download

Tags:

transcript

Low Extra Delay Background Transport

Presented by RajanIncludes slides presented by Andrew Sprouse, Northeastern University

CISC 856  TCP/IP and Upper Layer ProtocolsDate:May 03, 2011

 

ReferencesLow Extra Delay Background Transport

(LEDBAT) draft-ietf-ledbat-congestion-04.txtLEDBAT: the new BitTorrent congestion

control protocol - Dario Rossi, Luca Muscariello,   Computer Communications and Networks (ICCCN), 2010 Proceedings of 19th International Conference

Peer to peer computing

• Tasks or workloads partitioned between peers.• Peers are both suppliers and consumers of resources.

BitTorrent

• A peer-to-peer file transfer protocol• Very popular today.

[2009]

BitTorrent mechanism:

• Files are broken into pieces.– Users each download different pieces from the

original uploader (seed).– Users exchange the pieces with their peers to

obtain the ones they are missing.• This process is organized by a centralized

server called the Tracker.

1. Seeder generates a torrent file

Uploads torrent to a web server.

Seeder – A client sharing 100% of the shared file.

2. The seeder notifies the tracker that it is sharing the file described in the torrent file.

3. A bitTorrent user downloads the torrent file from the web server

bitTorrent user – client downloading the shared file from the seeder.

4. The bitTorrent user connects to the tracker specified in the torrent file.

The tracker returns a list of other peers who are sharing the file.

5. The bitTorrent user connects to its peers to retrieve pieces of the files.

Seeder: A

Downloader B

{1,2,3,4,5,6,7,8,9,10}

{}{1,2,3}

Downloader C

{}{1,2,3}

{1,2,3,4}

{1,2,3,5}

{1,2,3,4,5}

Motivation

UserA

downloadingfiles

UserB

checkingemail

Modem

BitTorrent traffic

Other traffic

Send buffer of modem

Motivation

• Fair?– BitTorrent traffic - background transfers.– Need higher priority than checking mail.

• Why such unfairness?– BitTorrent uses multiple TCP connections.– More connections, the larger share of the

bandwidth BitTorrent gets.• Problems:

– Apart from priority, TCP fills buffer, increasing delay.

Motiivation

• Traditional solution– Cap the upload rate of the BitTorrent client to 80%

of the up-link capacity.• Disadvantage:

– Only 20% for interactive traffic.– 20% wasted if no interactive traffic.

Goals

LEDBAT Overview

Timestamp

Ack. delay

Ack. delay

•base_delay •queuing_delay •off_target•cwnd

BA

One way delay:

• LEDBAT use one-way delay to estimate queuing delay.

• Why one way delay?– Avoid reverse path congestion.

Base delay & Queuing delay:

A B

Remote_timestamp =Time.now() Ack delay =local timestamp

– remote timestamp

Current_delay = Ack delay

base_delay = min(current

delay , base_delay)

Queuing delay= current delay -

base delay

Base delay estimate

• End-to-end delay:– Transmission delay – Propagation delay – Processing delay– Queuing delay

Barring noise, these 3 delays are constant

Initial estimate of base delay:

• Initial base_delay = infinity• No queuing delay.– Acknowledgement Delay = Transmission delay +

Propagation delay + Processing delay– Base_delay = min(infinity, Acknowledgement delay)

A Router B

TARGET, off_target and cwnd

• TARGET is the maximum queuing delay that LEDBAT tolerates.

• Off_target = TARGET - queuing delay.– For example if TARGET = 20 ms– If queuing delay > 20, then sender rate is decreased– If queuing delay < 20, then sender rate is increased

• off_target < 0 , decrease sender rate. • off_target > 0, increase sender rate.• cwnd += GAIN * off_target / cwnd

– Where GAIN = the rate at which the congestion window responds to changes in queuing delay.

Max Rampup rate

• fastest increase if and only if queuing = 0• Sender rate is 1 MSS per RTT as in TCP.

• in case of loss, LEDBAT should behave like TCP • halve its congestion window

Halves on congestion

Controller

• A proportional-integral-derivative (PID) is used to govern dynamic of the congestion window.

• Controller is characterized by 2 parameters:– TARGET set to 25 ms– GAIN = 1/TARGET

• queuing > target → slower sender rate• queuing < target → faster sender rate• queuing ≈ target → steady (stability)

A B

ssthreshold =4

Additive Increase starts

A B

TARGET =4

TCPLEDBAT

Example

• Settings:– Packet size = 1500 bytes– All flows have same RTT = 50ms. (one way base

delay = 25ms)– Link capacity = 10 Mbps– Buffer size = 40 packets.– TARGET = 20 packets

LEDBATsource

TCP source

Modem

LEDBAT performance

LEDBAT against TCP:at t =0

LEDBAT vs LEDBAT

In both case, the flow starts in the same time.

time

0 2 4 6 8 10 12 14

Micro Transport Protocol

• UDP-based variant of the bitTorrent peer to peer file sharing protocol.

• congestion control algorithm used by µTP, known as Ledbat

ver type extension Connection_id

Timestamp_microseconds

Timestamp_difference_microseconds

Wnd_size

Seq_nr Ack_nr