Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011."— Presentation transcript:

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

2 References Low Extra Delay Background Transport (LEDBAT) draft-ietf-ledbat-congestion-04.txt LEDBAT: the new BitTorrent congestion control protocol - Dario Rossi, Luca Muscariello, Computer Communications and Networks (ICCCN), 2010 Proceedings of 19th International Conference

3 Peer to peer computing Tasks or workloads partitioned between peers. Peers are both suppliers and consumers of resources.

4 BitTorrent A peer-to-peer file transfer protocol Very popular today. [2009]

5 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.

6 1. Seeder generates a torrent file Uploads torrent to a web server. Seeder – A client sharing 100% of the shared file.

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

8 3. A bitTorrent user downloads the torrent file from the web server bitTorrent user – client downloading the shared file from the seeder.

9 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.

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

11 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}

12 Motivation User A downloading files User B checking email Modem BitTorrent traffic Other traffic Send buffer of modem

13 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.

14 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.

15 Goals

16 LEDBAT Overview Timestamp Ack. delay base_delay queuing_delay off_target cwnd B A

17 One way delay: LEDBAT use one-way delay to estimate queuing delay. Why one way delay? – Avoid reverse path congestion.

18 Base delay & Queuing delay: AB 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

19 Base delay estimate End-to-end delay: – Transmission delay – Propagation delay – Processing delay – Queuing delay Barring noise, these 3 delays are constant

20 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) ARouterB

21 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.

22 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

23 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)

24 A B ssthreshold =4 Additive Increase starts A B TARGET =4 TCP LEDBAT

25 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 LEDBAT source TCP source Modem

26 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

27 Micro Transport Protocol UDP-based variant of the bitTorrent peer to peer file sharing protocol. congestion control algorithm used by µTP, known as Ledbat

28

29 vertype extension Connection_id Timestamp_microseconds Timestamp_difference_microseconds Wnd_size Seq_nrAck_nr


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

Similar presentations


Ads by Google