presented by rajan includes slides presented by andrew sprouse, northeastern university cisc 856...

29
Low Extra Delay Background Transport Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

Upload: irene-hunter

Post on 16-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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

 

Page 2: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date: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

Page 3: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

Peer to peer computing

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

Page 4: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

BitTorrent

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

[2009]

Page 5: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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.

Page 6: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

1. Seeder generates a torrent file

Uploads torrent to a web server.

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

Page 7: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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

Page 8: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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

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

Page 9: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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.

Page 10: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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

Page 11: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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}

Page 12: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

Motivation

UserA

downloadingfiles

UserB

checkingemail

Modem

BitTorrent traffic

Other traffic

Send buffer of modem

Page 13: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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.

Page 14: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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.

Page 15: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

Goals

Page 16: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

LEDBAT Overview

Timestamp

Ack. delay

Ack. delay

•base_delay •queuing_delay •off_target•cwnd

BA

Page 17: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

One way delay:

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

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

Page 18: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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

Page 19: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

Base delay estimate

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

Barring noise, these 3 delays are constant

Page 20: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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

Page 21: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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.

Page 22: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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

Page 23: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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)

Page 24: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

A B

ssthreshold =4

Additive Increase starts

A B

TARGET =4

TCPLEDBAT

Page 25: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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

Page 26: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

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

Page 27: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

Micro Transport Protocol

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

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

Page 28: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011
Page 29: Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011

ver type extension Connection_id

Timestamp_microseconds

Timestamp_difference_microseconds

Wnd_size

Seq_nr Ack_nr