Advanced Networking Technologies

Size: px
Start display at page:

Download "Advanced Networking Technologies"

Transcription

1 Advanced Networking Technologies Chapter 3 Routers and Switches Size and Organization of Router Buffers This chapter is heavily based on material by Holger Karl (Universität Paderborn), AQM slides are based on material by Manolis Sifalakis (IBM) 1 Routers as ueue servers? Just suppose Traffic were Poissonian, routers were M/M/1 from [1] At a buffer size of B, link load ½, packet loss probability drops exponentially in buffer size B i.e., small buffers should avoid packet loss 2

2 Question for this chapter How big should the buffers in a router be? Goal: Maximum efficiency = keep every outgoing link busy all the time Argument for large buffers: Can compensate for senders not sending all the time, smooth out variations in ingoing traffic Argument for small buffers: TCP will fill every bottleneck buffer, will lead to large delays 3 Overview Brief recap: TCP congestion control scheme The single flow case Many flows: synchronized or not? Tiny buffers Optimizing Drop Behaviour 4

3 TCP ACK/self-clocking Suppose TCP has somehow determined a correct size of its congestion window Suppose also that the TCP source has injected this entire amount of data into the network but still has more data to send When to send more data? Only acceptable when there is space in the network again Space is available when packets leave the network Sender can learn about packets leaving the network by receiving an acknowledgement! Thus: ACK not only serves as a confirmation, but also as a permit to inject a corresponding amount of data into the network! ACK-clocking (self-clocking) behavior of TCP 5 AIMD Sawtooth pattern of TCP s offered load In summary: TCP uses an additive increase multiplicative decrease (AIMD) scheme Conseuence A TCP connection perpetually probes the network to check for additional bandwidth Will repeatedly exceed it and fall back, owing to multiplicative decrease Sawtooth pattern of TCP s congestion window/offered load This is still simplified; we have to introduce one more mechanism! Congestion window KB Time (seconds)

4 Quickly initialize a connection: Slow start Additive increase nice and well when operating close to network capacity Source Destination But takes a long time to converge to it for a new connection Starting at a congestion window of, say, 1 or 2 Idea: Quickly ramp up the congestion window in such an initialization phase Goal: double congestion window each RTT Implemented by: increase congestion window by one packet per arriving ACK Instead of just adding a single packet per RTT Note: Name slow start is historic it was slow compared to some earlier, even more aggressive scheme 7 7 TCP Tahoe congestion window dynamics (w/o anim) Initial congest ion threshhold Reset CW to 1, new threshold = CW/2 20=40/2 Initial congest ion window size Additive increase, congestion avoidance Slow start New slow start to new threshold, then linear increase SS 16, v

5 TCP Reno congestion control dynamics 9 Summary: TCP Reno sender congestion control Event State TCP Sender Action Comments ACK receipt for previously unacked data Slow Start (SS) CongWin = CongWin + MSS, If (CongWin > Threshold) set state to Congestion Avoidance Resulting in a doubling of CongWin every RTT ACK receipt for previously unacked data Congestion Avoidance (CA) CongWin = CongWin+MSS * (MSS/CongWin) or: CongWin += 1/CongWin Additive increase, resulting in increase of CongWin by 1 MSS every RTT Loss event detected by triple duplicate ACK SS or CA Threshold = CongWin/2, CongWin = Threshold, Set state to Congestion Avoidance Fast recovery, implementing multiplicative decrease. CongWin will not drop below 1 MSS. Timeout SS or CA Threshold = CongWin/2, CongWin = 1 MSS, Set state to Slow Start Enter slow start Duplicate ACK SS or CA Increment duplicate ACK count for segment being acked CongWin and Threshold not changed 10

6 TCP Reno, relevant scenario Assumptions: Sender is backlogged (always has packets to send) No ueuing delays for ACKs Only one bottleneck, maximum output rate C T p propagation delay, T ueuing delay Behaviour: congestion window W is always fully utilized by sender, it has W outstanding packets, it can send new packet after RTT Hence: Sending rate R = W/RTT = W/ (2T p + T ) We are interested in congestion avoidance mode, no timeouts, losses always detected via dup-acks ACK arrives: W += 1/W Loss detected: W /= 2 and has to wait for enough ACKs to arrive before it may continue sending! from [1] 11 Homework to deepen understanding of Reno Derive the period of a single, TCP Reno flow s sawtooth pattern (under the above assumptions) Hints Find a differential euation linking the change of the congestion window per RTT the size of the congestion window both expressed as a function of the ueue length at time t Solve the differential euation (think about suare roots) Assume router buffer is empty when the TCP flow starts Assume you have a router buffer size B Determine the sawtooth pattern period as a function of B and C 12

7 Overview Brief recap: TCP congestion control scheme The single flow case Many flows: synchronized or not? Tiny buffers Optimizing Drop Behaviour 14 Router buffer size for the single TCP-Reno flow Assume there is only a single TCP flow in the network and the above assumptions as well Question: How large should the router buffer be at the bottleneck link so that this link is always sending packets? from [1] 15

8 Congestion avoidance dynamics TCP increases congestion window, filling up the buffer eventually Sender will increase window a bit more, causing the first packet loss Sender detects loss (dup acks), cuts congestion window in half, and pauses Sender had W* packets in flight when loss detected (congestion window always fully used!) Note: W* measured in packets here, not bytes Now allowed to only have W*/2 packets in flight, must wait for W*/2 ACKs to arrive During this pause, bottleneck link sends packets from buffer Buffer needs to be just big enough to hold enough packets to cover this pause 16 ACK arrivals & buffer size So: how long does the sender pause? Router sends packets from buffer at rate C packets/s ACKs, hence, arrive at sender at rate C ACKs/s Sender has to wait for W*/2 ACKs, this takes W*/2/C seconds Hence: Router must be able to send packets for (at least) W*/2/C seconds from its buffer At sending rate C, that takes C (W*/2/C) = W*/2 packets! Example: I need to send 5 packets per second, for 10 seconds. That reuires 50 packets. Hence: Buffer B >= W*/2! 17

9 At what congestion window does a loss happen? Or: What is W*? Look at situation when the sender just resumes transmission Its current congestion window is W=W*/2, the router buffer is empty We are in congestion avoidance! For the bottleneck link to be fully utilized, the sender should ideally send at packet rate C But a TCP sender s rate R is determined by its congestion window and RTT; R = W/RTT Hence we reuire R = C = W/RTT RTT here is only 2T p, since buffer is empty, no ueuing delay Hence: C = W*/2 / 2T p! 18 What can we control? Buffer size! So two euations now: B >= W*/2 C = W*/2 / 2T p where C, T p are given, B can be chosen Summary: Just before packet drop: W = 2T p C + B Just after packet drop: W/2 = 2T p C Solve for buffer size B: B >= 2T p C Note: Why W*/2? Reno cuts in half! Actually: B = W max W min! Famous rule of thumb : buffer size should be at least the bandwidthdelay product of any flow 19

10 Behaviour of a single TCP flow from [1] 20 Overview Brief recap: TCP congestion control scheme The single flow case Many flows: synchronized or not? Tiny buffers Optimizing Drop Behaviour 21

11 Many TCP flows So far: only one flow in the network What happens if many flows multiplex a bottleneck link? Step 1: let all these flows be long-lived and synchronized in time Step 2: all long-lived, but non-synchronous Step 3: mix long-lived and short-lived flows 22 Many long-lived, synchronized TCP flows Synchronized: Flows are allowed to start at arbitrary times Under some circumstances: they will uickly synchronize, i.e., their congestion window evolution will become parallel, observing packets losses at nearly the same points in time Homework: Find out when and why synchronization happens! Due to synchronization, same dynamics, same buffer reuirements as a single flow 23

12 Many-long lived, desynchronized TCP flows What if flows do not synchronize? Effectively: adding up sawtooth patterns, shifted with respect to each other Smooth each other out Recall: Buffer needed for difference from (aggregated) congestion window minimum to (aggregated) congestion window minimum Smoothing: Difference max-min becomes smaller Less buffer?? 24 Long-lived, desynchronized Ansatz Assume n flows pass through router, congestion windows not synchronized (independent offsets) Each with window W i, aggregate window W = å i W i All senders backlogged again, i.e., all senders fully exploit their windows Where are the packets? Either in flight, in buffer, or lost: W(t) = Q(t) + 2T p C + ² Or looking at the ueue: Q(t) = W(t) 2T p C - ² W is a random variable, T p, C, ² constants We need random distribution of W Then we know distribution of Q Then we can bound probability of Q being empty 25

13 Long-lived, desynchronized Distribution of W Distribution of W i : Uniform U(2/3 E[W i ], 4/3 E[W i ]) Hint: Think about the sawtooth pattern, its triangular shape, express E[W i ] as function of W* Hence: standard deviation ¾ Wi = 1/( ) E[W i ] Property of uniform distribution Distribution of W: normal, by law of large numbers We want standard deviation of ueue length 26 Buffer empty How likely is it that link is utilized? I.e., how likely is it that buffer is empty? Or: buffer smaller than given threshold? Queue length is normal distributed, we know its standard deviation! we can bound deviations from mean Examples, with n= flows: Utilization: probability of not seeing a ueue shorter than some constant Typical core router: >= flows! 27

14 What about short flows? Slow flow: Never leaves slow start Assume: Access links have infinite speed Access slower than backhaul link: bursts are smoothed out anyway New flows arrive according to Poisson process Each flow generates a seuence of packet bursts With some distribution on how many bursts each flow generates Suppose flow wants to send l packets, it will send bursts 2, 4, 8, 16, 2 n-1, R where n= number of bursts, R = l mod (2 n-1-1) Burst arrivals are also Poisson process! Justification: Each flow small compared to overall load (!?) Hence: Router turns into an M/G/1 server 28 Queuing theory on M/G/1 Poisson arrival, general service time for jobs, one server Here job : a packet burst Let X be random describing job length = burst size; we need first and second moment Small homework: assume l is uniformly distributed up to some max, empirically derive these moments Known: Average number of jobs in ueue for M/G/1 for given E[X 2 ] and link load ½ E{T v } = 1 2(1 ) E{X 2 } E{X} Note: independent of number of flows! 29

15 Average ueue length for short flows Why peak at 14, not 16? 30 A first summary This analysis so far: A simplistic model seems to reuire router buffers on the order of the datarate-delay product to ensure high link utilization Understanding the behaviour of many flows sharing a link (irrespective of short- or long-lived), similar behaviour (link utilization!) can be achieved with substantially smaller routers Datarate-delay product, divided by suare root of number of concurrent flows In mixed traffic, long flows determine behaviour Open issues: Does this hold up in practice? a marketing problem! Number of flows in a real router? see later Sacrifice 100% utilization goal? 31

16 Overview Brief recap: TCP congestion control scheme The single flow case Many flows: synchronized or not? Tiny buffers Optimizing Drop Behaviour 32 Very small buffers? What happens if we make the buffers VERY small? In the model considered so far, huge packet losses, low utilization Losses come from TCP s packet bursts So let s reconsider our model what if TCP would not burst packets into the network whenever it has the chance? Pacing TCP in protocol, or implicitly by slow access links 33

17 Model assumptions for very small buffers Model: TCP sends packets via a Poisson process, with rate W/RTT TCP uses some maximum window size W max Hence, maximum rate is W max /RTT We have N flows, all have same RTT Many flows share a link of capacity C Shared link is overprovisioned by factor 1/½, i.e., C (1/½) N W max /RTT Hence, highest possible throughput is ½ C Goal: We are willing to tolerate a utilization < 100% = Achieved throughput / ½ C 34 Buffer for utilization To obtain utilization of under Poissonian packet arrivals, we need a buffer size of: Why not surprising: It depends on and ½, also on W max Why surprising: It does NOT depend on link capacity! Nor on number of flows! Example: W max = 64 (Linux), ½ =0.5, =0.9: B = 15! 35

18 Tiny buffers, realistic model Poissonian packet arrival is simply wrong But gives interesting insight; although proof complicated In practice: use Paced TCP TCP sends packets not in a burst when window opens, but at fixed rate of W/RTT. Still works surprisingly well! From [2] Buffer Size 36 From:McKeown, SIGCOMM Keynote, % ~ 90% Throughput Integrated all-optical buffer [UCSB 2008] On-chip buffers Smaller design Lower power 20 pkts log(w) RT T C p N RT T C Number of packets 10Gb/s WAN ~50 25,000 2,500,000 37

19 Overview Brief recap: TCP congestion control scheme The single flow case Many flows: synchronized or not? Tiny buffers Optimizing Drop Behaviour 38 Active Queue Management As Queues build up, RTT increases, congestion becomes hard to remediate (notice this has the opposite effect from the original intend) Takes longer for endpoints to react (TxWin adjustment) ACK spacing can get compressed increasing burstiness of transmissions The larger the capacity of the ueue The more detached are the endpoints from the truth about congestion The more likely that the ueues become persistent: bufferbloat (long standing delay is treated as the norm) Active Queue Management Advanced Networking (SS 17): 02 - Input-buffered switches 39

20 RED Model Max thresh Pkt Arrival Min thresh Maintain Exp Moving Avg (EWMA) of ueue length Byte mode vs. Packet mode depending if Tx delay is a function of packet length or not For each packet arrival Drop probability 1.0 P max Actual Avg Queue Queue Length Length min th max th Avg ueue length if (avg < min th ) do nothing if (max th avg) mark(packet) if (min th avg < max th ) calculate probability P m mark(p m, packet) Marked packets are either dropped or ECN flagged 40 RED Parameters EWMA of Queue size computed at every packet arrival (not periodically!) avg now = w * len now + (1-w ) * avg prev Special condition if ueue was idle, i.e. len now = 0 Same as if it had been 100% link utilization with 0 ueue. Approx. that m small packets could have been processed m = (t now t last_arrival )/ pkt_size nominal avg now = (1-w ) m * avg prev Packet marking probability is a function of % of the between thresholds utilitisation P m = P max * (avg now min th ) / (max th min th ) 41

21 Issues with RED: configurability avg is an EWMA w adjusts the lag and trend and window of averaging Short window: fast sensing but vulnerable to transients Long window: slow adaptation min th adjusts the power of the network Too close to 0: the ueue is likely to have idle periods (bandwidth not used) Too far from 0: increases path latency, delays feedback signal to endpoints max th min th adjusts the freuency of marking Too small : the AQM becomes spasmodic in its reaction, forces flows to sync Must be larger that the typical avg increase in an RTT A visual analogy: which vessel size for which sea condition? Think traffic bursts like the swell of the sea (height, length) Think of the AQM as a speed boat or a a tanker depending on swell 42 Issues with RED: configurability Average Queue size oscillation Difficult to control congestion when many flows esp. unresponsive ones Qlen max 8 flows Actual Avg Qlen max 32 flows Actual Avg 0 time 0 time Many optimizations 43

22 RED & variants FRED Fair RED or Flow RED: fairness among flow types Flow type differentiation based on ueue use non-adaptive (UDP), fragile (sensitive to loss), robust per-active-flow (present in the ueue buffer) accounting and lossregulation All flows entitled to admit min packets without loss Adjust min based on avg. per flow occupancy (avgc) of ueue Set upper capacity per flow type to max and count violations (strikes). Then for freuent violators lower max = avgc (to punish them more often) 44 RED & variants CHOKE CHOose and Kill unresponsive flows... or.. CHOose and Keep responsive flows Compare incoming packet with random selected packet in ueue Aggressive flows become more likely to select Max thresh Pkt Arrival Min thresh Select Randomly Flow ID Match No Apply RED (variant) Yes 45

23 RED & variants ARED Adaptive RED: reduces delay variance + introduces parameter auto-tune Adapt P max periodically, slowly, and with an AIMD policy Fix max th = 3 * min th Fix w = 1 - exp(1/link_capacity) Goal: To keep avg constant at about (max th + min th )/2 46 RED & variants SRED Stabilised RED eliminate need of avg (and w ) P m = f(inst. ueue length, # of active flows, rank of flow) Zombie list: history of K seen flows with Hit counters. On packet arrival pick Zombie flow randomly if flows match hits++ else replace Zombie with prob. Pr Statistical counting of flows based on hit freuency Rank of flow = Hit counter on match 47

24 RED & variants BLUE Putting past insights in new light Avoid parameter tuning nightmare Avoid effects of avg ueue fluctuation on AQM Adaptive marking probability P m = f (packet loss, link idle events) [Pkt loss] if (t now t last_arrival > freeze_period) P m = P m + d1 [Idle link] if (t now t last_arrival > freeze_period) P m = P m - d2 d1 >> d2 : faster reaction to congestion up-rise than decrease freeze_period works as a sort-of A/D discretizer (step-hold) Filters out high-fre transient oscillations Adjusts parameter at packet arrivals times mod a fixed uantum SFBlue uses ideas of SFQ and FRED to discriminate flows 48 CoDel Controlled delay Time-based model of ueue dynamics instead of a spatial one Objective: Monitor how long the Min ueue length remains above a threshold (desired Min) Less descriptive than Avg. Min ueue length, Yet sufficient, and simpler computationally Metric: Sojourn time as a measure of instantaneous ueue length How long packets stay in the ueue: Time delta between a packet s departure and arrival time Works with a single ueue or multiple ueues Works for variable link rates (e.g. wireless links) well statistically speaking! Simple to measure, easy to implement 49

25 CoDel Controlled delay On packet arrival: timestamp(packet) 1. dropping rate increases linearly with the measured RTT 2. if a last epoch of drops is not too long in the past, the last good drop rate is also remembered! On packet departure: sojourn = now packet.tstamp if (sojourn < Target) if (drp_mode == 1) drp_mode = 0 exit_drp = now if (now exit_drp >= Interval) drp_count = 0 else // sojourn > Target if (drp_mode==0 && now - exit_drp < Interval) drp_mode = 1 if (now >= next_drp) drp(packet) drp_count++ next_drp = now + Interval/srt(drp_count) else if (drp_mode = 0) // start drop drp_mode = 1 drp(packet) drp_count = 1 next_drp = now + Interval/srt(drp_count) else // already in drp_mode if (now >= next_drp) drp(packet) drp_count++ next_drp = now + Interval/srt(drp_count) 50 CoDel Controlled delay On packet arrival: timestamp(packet) Sojourn falls below Target Only reset drop rate memory if Sojourn is below Target for Interval Sojourn above Target again after temporary improvement, resume last drop rate Sojourn above Target first time, after Interval, start dropping Sojourn continues to remain above Target, continue dropping On packet departure: sojourn = now packet.tstamp if (sojourn < Target) if (drp_mode == 1) drp_mode = 0 exit_drp = now if (now exit_drp >= Interval) drp_count = 0 else // sojourn > Target if (drp_mode==0 && now - exit_drp < Interval) drp_mode = 1 if (now >= next_drp) drp(packet) drp_count++ next_drp = now + Interval/srt(drp_count) else if (drp_mode = 0) // start drop drp_mode = 1 drp(packet) drp_count = 1 next_drp = now + Interval/srt(drp_count) else // already in drp_mode if (now >= next_drp) drp(packet) drp_count++ next_drp = now + Interval/srt(drp_count) 51

26 CoDel Controlled delay Significantly less configuration magic involved Interval: const ( 1RTT) Target (delay): const max{ euiv of 1-2 packets worth of ueue, 5% of worst case RTT} Drop/Mark rate: const acceleration in Interval inverse-suare-root progression à linear increase of drops per RTT dropping speed up is independent of ueue accumulation speed!?!? f_codel combines CoDel with SFQ treats different traffic classes fair gives starting flows a good head start Sojourn measurement does reuire blocking of the ueue! by contrast to ueue length averaging Drop/Mark at the head of the ueue not the tail 52 Conclusions Buffer size, sending rate and RTT interact closely for link utilization maximization Rule of thumb for single flows or synchronized flows Non-synchronized flows: reuired buffer only suare-root of number of flows of rule-of-thumb size Sacrifice utilization, and even tiny, fixed-size buffers suffice! Main relevance: makes it feasible to use optical buffers Large buffers should/can be controlled, but not simple! 53

27 References 1. G. Appenzeller, I. Keslassy, and N. McKeown, Sizing router buffers, in ACM SIGCOMM Computer Communication Review, 2004, vol. 34, no. 4, p M. Enachescu, Y. Ganjali, A. Goel, N. McKeown, and T. Roughgarden, Routers with very small buffers, Proceedings IEEE INFOCOM TH IEEE International Conference on Computer Communications, Nichols, Kathleen; Jacobson, Van, "Controlling Queue Delay". ACM Queue. August

Adaptive or Active Queue Management

Adaptive or Active Queue Management Adaptive or Active Queue Management Prof. C. Tschudin, M. Sifalakis, M. Monti, U. Schnurrenberger University of Basel Cs321 - HS2014 Overview Queue management inside Internet s routers Issues arising with

More information

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers TCP & Routers 15-744: Computer Networking RED XCP Assigned reading [FJ93] Random Early Detection Gateways for Congestion Avoidance [KHR02] Congestion Control for High Bandwidth-Delay Product Networks L-6

More information

CS 268: Computer Networking

CS 268: Computer Networking CS 268: Computer Networking L-6 Router Congestion Control TCP & Routers RED XCP Assigned reading [FJ93] Random Early Detection Gateways for Congestion Avoidance [KHR02] Congestion Control for High Bandwidth-Delay

More information

CSCI Topics: Internet Programming Fall 2008

CSCI Topics: Internet Programming Fall 2008 CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 22, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer

More information

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control : Computer Networks Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control TCP performance We ve seen how TCP the protocol works Sequencing, receive window, connection setup and teardown And

More information

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

More information

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED TCP Congestion Control 15-744: Computer Networking L-4 TCP Congestion Control RED Assigned Reading [FJ93] Random Early Detection Gateways for Congestion Avoidance [TFRC] Equation-Based Congestion Control

More information

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

ECE 610: Homework 4 Problems are taken from Kurose and Ross. ECE 610: Homework 4 Problems are taken from Kurose and Ross. Problem 1: Host A and B are communicating over a TCP connection, and Host B has already received from A all bytes up through byte 248. Suppose

More information

CSCI Topics: Internet Programming Fall 2008

CSCI Topics: Internet Programming Fall 2008 CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 20, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer

More information

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Transport Layer PREPARED BY AHMED ABDEL-RAOUF Transport Layer PREPARED BY AHMED ABDEL-RAOUF TCP Flow Control TCP Flow Control 32 bits source port # dest port # head len sequence number acknowledgement number not used U A P R S F checksum Receive window

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Part c Congestion Control Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and

More information

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University Congestion Control Daniel Zappala CS 460 Computer Networking Brigham Young University 2/25 Congestion Control how do you send as fast as possible, without overwhelming the network? challenges the fastest

More information

Transport Layer Congestion Control

Transport Layer Congestion Control Transport Layer Congestion Control Tom Kelliher, CS 325 Apr. 7, 2008 1 Administrivia Announcements Assignment Read 4.1 4.3. From Last Time TCP Reliability. Outline 1. Congestion control principles. 2.

More information

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste Outline 15-441 Computer Networking Lecture 18 TCP Performance Peter Steenkiste Fall 2010 www.cs.cmu.edu/~prs/15-441-f10 TCP congestion avoidance TCP slow start TCP modeling TCP details 2 AIMD Distributed,

More information

Flow and Congestion Control (Hosts)

Flow and Congestion Control (Hosts) Flow and Congestion Control (Hosts) 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross traceroute Flow Control

More information

Introducing optical switching into the network

Introducing optical switching into the network Introducing optical switching into the network ECOC 2005, Glasgow Nick McKeown High Performance Networking Group Stanford University nickm@stanford.edu http://www.stanford.edu/~nickm Network religion Bigger

More information

CSCD 330 Network Programming Winter 2015

CSCD 330 Network Programming Winter 2015 CSCD 330 Network Programming Winter 2015 Lecture 11a Transport Layer Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Chapter 3 Sections

More information

Computer Networking

Computer Networking 15-441 Computer Networking Lecture 17 TCP Performance & Future Eric Anderson Fall 2013 www.cs.cmu.edu/~prs/15-441-f13 Outline TCP modeling TCP details 2 TCP Performance Can TCP saturate a link? Congestion

More information

CSE 123A Computer Networks

CSE 123A Computer Networks CSE 123A Computer Networks Winter 2005 Lecture 14 Congestion Control Some images courtesy David Wetherall Animations by Nick McKeown and Guido Appenzeller The bad news and the good news The bad news: new

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

The Controlled Delay (CoDel) AQM Approach to fighting bufferbloat

The Controlled Delay (CoDel) AQM Approach to fighting bufferbloat The Controlled Delay (CoDel) AQM Approach to fighting bufferbloat BITAG TWG Boulder, CO February 27, 2013 Kathleen Nichols Van Jacobson Background The persistently full buffer problem, now called bufferbloat,

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala October 30, 2018 Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet

More information

Flow and Congestion Control Marcos Vieira

Flow and Congestion Control Marcos Vieira Flow and Congestion Control 2014 Marcos Vieira Flow Control Part of TCP specification (even before 1988) Goal: not send more data than the receiver can handle Sliding window protocol Receiver uses window

More information

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009 Congestion Control Kai Shen Principles of Congestion Control Congestion: informally: too many sources sending too much data too fast for the network to handle results of congestion: long delays (e.g. queueing

More information

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long 6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long Please read Chapter 19 of the 6.02 book for background, especially on acknowledgments (ACKs), timers,

More information

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) TETCOS Transmission Control Protocol (TCP) Comparison of TCP Congestion Control Algorithms using NetSim @2017 Tetcos. This document is protected by copyright, all rights reserved Table of Contents 1. Abstract....

More information

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources Congestion Source 1 Source 2 10-Mbps Ethernet 100-Mbps FDDI Router 1.5-Mbps T1 link Destination Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets

More information

TCP congestion control:

TCP congestion control: TCP congestion control: Probing for usable bandwidth: Ideally: transmit as fast as possible (cwnd as large as possible) without loss Increase cwnd until loss (congestion) Loss: decrease cwnd, then begin

More information

Reliable Transport II: TCP and Congestion Control

Reliable Transport II: TCP and Congestion Control Reliable Transport II: TCP and Congestion Control Stefano Vissicchio UCL Computer Science COMP0023 Recap: Last Lecture Transport Concepts Layering context Transport goals Transport mechanisms and design

More information

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013 Congestion Control Kai Shen Principles of Congestion Control Congestion: Informally: too many sources sending too much data too fast for the network to handle Results of congestion: long delays (e.g. queueing

More information

Chapter III: Transport Layer

Chapter III: Transport Layer Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross Principles of congestion control

More information

Router s Queue Management

Router s Queue Management Router s Queue Management Manages sharing of (i) buffer space (ii) bandwidth Q1: Which packet to drop when queue is full? Q2: Which packet to send next? FIFO + Drop Tail Keep a single queue Answer to Q1:

More information

Congestion Control. Tom Anderson

Congestion Control. Tom Anderson Congestion Control Tom Anderson Bandwidth Allocation How do we efficiently share network resources among billions of hosts? Congestion control Sending too fast causes packet loss inside network -> retransmissions

More information

CS244 Advanced Topics in Computer Networks Midterm Exam Monday, May 2, 2016 OPEN BOOK, OPEN NOTES, INTERNET OFF

CS244 Advanced Topics in Computer Networks Midterm Exam Monday, May 2, 2016 OPEN BOOK, OPEN NOTES, INTERNET OFF CS244 Advanced Topics in Computer Networks Midterm Exam Monday, May 2, 2016 OPEN BOOK, OPEN NOTES, INTERNET OFF Your Name: Answers SUNet ID: root @stanford.edu In accordance with both the letter and the

More information

15-744: Computer Networking TCP

15-744: Computer Networking TCP 15-744: Computer Networking TCP Congestion Control Congestion Control Assigned Reading [Jacobson and Karels] Congestion Avoidance and Control [TFRC] Equation-Based Congestion Control for Unicast Applications

More information

image 3.8 KB Figure 1.6: Example Web Page

image 3.8 KB Figure 1.6: Example Web Page image. KB image 1 KB Figure 1.: Example Web Page and is buffered at a router, it must wait for all previously queued packets to be transmitted first. The longer the queue (i.e., the more packets in the

More information

ADVANCED COMPUTER NETWORKS

ADVANCED COMPUTER NETWORKS ADVANCED COMPUTER NETWORKS Congestion Control and Avoidance 1 Lecture-6 Instructor : Mazhar Hussain CONGESTION CONTROL When one part of the subnet (e.g. one or more routers in an area) becomes overloaded,

More information

RED behavior with different packet sizes

RED behavior with different packet sizes RED behavior with different packet sizes Stefaan De Cnodder, Omar Elloumi *, Kenny Pauwels Traffic and Routing Technologies project Alcatel Corporate Research Center, Francis Wellesplein, 1-18 Antwerp,

More information

Lecture 14: Congestion Control"

Lecture 14: Congestion Control Lecture 14: Congestion Control" CSE 222A: Computer Communication Networks George Porter Thanks: Amin Vahdat, Dina Katabi and Alex C. Snoeren Lecture 14 Overview" TCP congestion control review Dukkipati

More information

CSC 4900 Computer Networks: TCP

CSC 4900 Computer Networks: TCP CSC 4900 Computer Networks: TCP Professor Henry Carter Fall 2017 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable

More information

Cloud e Datacenter Networking

Cloud e Datacenter Networking Cloud e Datacenter Networking Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione DIETI Laurea Magistrale in Ingegneria Informatica Prof.

More information

CS321: Computer Networks Congestion Control in TCP

CS321: Computer Networks Congestion Control in TCP CS321: Computer Networks Congestion Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Causes and Cost of Congestion Scenario-1: Two Senders, a

More information

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Janno< Last Class CLOSED Passive open Close Close LISTEN Introduction to TCP

More information

Communication Networks

Communication Networks Communication Networks Spring 2018 Laurent Vanbever nsg.ee.ethz.ch ETH Zürich (D-ITET) April 30 2018 Materials inspired from Scott Shenker & Jennifer Rexford Last week on Communication Networks We started

More information

Network Performance: Queuing

Network Performance: Queuing Network Performance: Queuing EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials

More information

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data? Congestion Control End Hosts CSE 51 Lecture 7, Spring. David Wetherall Today s question How fast should the sender transmit data? Not tooslow Not toofast Just right Should not be faster than the receiver

More information

TRANSMISSION CONTROL PROTOCOL

TRANSMISSION CONTROL PROTOCOL COMP 635: WIRELESS & MOBILE COMMUNICATIONS TRANSMISSION CONTROL PROTOCOL Jasleen Kaur Fall 2017 1 Impact of Wireless on Protocol Layers Application layer Transport layer Network layer Data link layer Physical

More information

CSE 461. TCP and network congestion

CSE 461. TCP and network congestion CSE 461 TCP and network congestion This Lecture Focus How should senders pace themselves to avoid stressing the network? Topics Application Presentation Session Transport Network congestion collapse Data

More information

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers Overview 15-441 Computer Networking TCP & router queuing Lecture 10 TCP & Routers TCP details Workloads Lecture 10: 09-30-2002 2 TCP Performance TCP Performance Can TCP saturate a link? Congestion control

More information

Congestion control in TCP

Congestion control in TCP Congestion control in TCP If the transport entities on many machines send too many packets into the network too quickly, the network will become congested, with performance degraded as packets are delayed

More information

Bandwidth Allocation & TCP

Bandwidth Allocation & TCP Bandwidth Allocation & TCP The Transport Layer Focus Application Presentation How do we share bandwidth? Session Topics Transport Network Congestion control & fairness Data Link TCP Additive Increase/Multiplicative

More information

Performance Consequences of Partial RED Deployment

Performance Consequences of Partial RED Deployment Performance Consequences of Partial RED Deployment Brian Bowers and Nathan C. Burnett CS740 - Advanced Networks University of Wisconsin - Madison ABSTRACT The Internet is slowly adopting routers utilizing

More information

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks Random Early Detection (RED) gateways Sally Floyd CS 268: Computer Networks floyd@eelblgov March 20, 1995 1 The Environment Feedback-based transport protocols (eg, TCP) Problems with current Drop-Tail

More information

TCP Congestion Control

TCP Congestion Control TCP Congestion Control What is Congestion The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting

More information

TCP Congestion Control

TCP Congestion Control What is Congestion TCP Congestion Control The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting

More information

Congestion Collapse in the 1980s

Congestion Collapse in the 1980s Congestion Collapse Congestion Collapse in the 1980s Early TCP used fixed size window (e.g., 8 packets) Initially fine for reliability But something happened as the ARPANET grew Links stayed busy but transfer

More information

CNT 6885 Network Review on Transport Layer

CNT 6885 Network Review on Transport Layer CNT 6885 Network Review on Transport Layer Jonathan Kavalan, Ph.D. Department of Computer, Information Science and Engineering (CISE), University of Florida User Datagram Protocol [RFC 768] no frills,

More information

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness Recap TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness 81 Feedback Signals Several possible signals, with different

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 24: Congestion Control Prof. Alan Mislove (amislove@ccs.neu.edu) Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica,

More information

cs/ee 143 Communication Networks

cs/ee 143 Communication Networks cs/ee 143 Communication Networks Chapter 4 Transport Text: Walrand & Parakh, 2010 Steven Low CMS, EE, Caltech Recap: Internet overview Some basic mechanisms n Packet switching n Addressing n Routing o

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Antonio Carzaniga Faculty of Informatics University of Lugano May 6, 2005 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion avoidance

More information

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks COMP/ELEC 429/556 Introduction to Computer Networks The TCP Protocol Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu

More information

The Transport Control Protocol (TCP)

The Transport Control Protocol (TCP) TNK092: Network Simulation - Nätverkssimulering Lecture 3: TCP, and random/short sessions Vangelis Angelakis Ph.D. The Transport Control Protocol (TCP) Objectives of TCP and flow control Create a reliable

More information

CSCI-1680 Transport Layer III Congestion Control Strikes Back Rodrigo Fonseca

CSCI-1680 Transport Layer III Congestion Control Strikes Back Rodrigo Fonseca CSCI-1680 Transport Layer III Congestion Control Strikes Back Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti, Ion Stoica Last Time Flow Control Congestion Control

More information

Transport Layer (Congestion Control)

Transport Layer (Congestion Control) Transport Layer (Congestion Control) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Congestion Collapse Congestion

More information

Chapter III. congestion situation in Highspeed Networks

Chapter III. congestion situation in Highspeed Networks Chapter III Proposed model for improving the congestion situation in Highspeed Networks TCP has been the most used transport protocol for the Internet for over two decades. The scale of the Internet and

More information

Appendix B. Standards-Track TCP Evaluation

Appendix B. Standards-Track TCP Evaluation 215 Appendix B Standards-Track TCP Evaluation In this appendix, I present the results of a study of standards-track TCP error recovery and queue management mechanisms. I consider standards-track TCP error

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 15: Congestion Control Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu

More information

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 Question 344 Points 444 Points Score 1 10 10 2 10 10 3 20 20 4 20 10 5 20 20 6 20 10 7-20 Total: 100 100 Instructions: 1. Question

More information

Lecture 4: Congestion Control

Lecture 4: Congestion Control Lecture 4: Congestion Control Overview Internet is a network of networks Narrow waist of IP: unreliable, best-effort datagram delivery Packet forwarding: input port to output port Routing protocols: computing

More information

Sizing Router Buffers

Sizing Router Buffers Sizing Router Buffers Sachin Katti, CS244 Slides courtesy: Nick McKeown Routers need Packet Buffers It s well known that routers need packet buffers It s less clear why and how much Goal of this work is

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example CS 640 1 TCP Congestion Control The idea of TCP congestion control is for each source to determine how much

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014 1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2014 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018 CS 43: Computer Networks 19: TCP Flow and Congestion Control October 31, Nov 2, 2018 Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability

More information

ECE 333: Introduction to Communication Networks Fall 2001

ECE 333: Introduction to Communication Networks Fall 2001 ECE 333: Introduction to Communication Networks Fall 2001 Lecture 28: Transport Layer III Congestion control (TCP) 1 In the last lecture we introduced the topics of flow control and congestion control.

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014 1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2014 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

Lecture 15: Transport Layer Congestion Control

Lecture 15: Transport Layer Congestion Control Lecture 15: Transport Layer Congestion Control COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015 1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2015 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

TCP Congestion Control

TCP Congestion Control 6.033, Spring 2014 TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina Sharing the Internet How do you manage resources in a huge system like the Internet, where users with different

More information

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10 CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10 1 Midterm exam Midterm next Thursday Close book but one-side 8.5"x11" note is allowed (must

More information

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Fast Retransmit Problem: coarsegrain TCP timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 Sender Receiver

More information

! Network bandwidth shared by all users! Given routing, how to allocate bandwidth. " efficiency " fairness " stability. !

! Network bandwidth shared by all users! Given routing, how to allocate bandwidth.  efficiency  fairness  stability. ! Motivation Network Congestion Control EL 933, Class10 Yong Liu 11/22/2005! Network bandwidth shared by all users! Given routing, how to allocate bandwidth efficiency fairness stability! Challenges distributed/selfish/uncooperative

More information

Investigating the Use of Synchronized Clocks in TCP Congestion Control

Investigating the Use of Synchronized Clocks in TCP Congestion Control Investigating the Use of Synchronized Clocks in TCP Congestion Control Michele Weigle (UNC-CH) November 16-17, 2001 Univ. of Maryland Symposium The Problem TCP Reno congestion control reacts only to packet

More information

CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers. Xiaowei Yang

CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers. Xiaowei Yang CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers Xiaowei Yang xwy@cs.duke.edu Overview More on TCP congestion control Theory Macroscopic behavior TCP

More information

CS Networks and Distributed Systems. Lecture 10: Congestion Control

CS Networks and Distributed Systems. Lecture 10: Congestion Control CS 3700 Networks and Distributed Systems Lecture 10: Congestion Control Revised 2/9/2014 Transport Layer 2 Application Presentation Session Transport Network Data Link Physical Function:! Demultiplexing

More information

CSCD 330 Network Programming Spring 2018 Lecture 11a Transport Layer

CSCD 330 Network Programming Spring 2018 Lecture 11a Transport Layer CSCD 330 Network Programming Spring 2018 Lecture 11a Transport Layer Reading: Chapter 3 Who is this? Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Bill

More information

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD Overview 15-441 Computer Networking Lecture 9 More TCP & Congestion Control TCP congestion control TCP modern loss recovery TCP modeling Lecture 9: 09-25-2002 2 TCP Congestion Control Changes to TCP motivated

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer 1 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented

More information

TCP Congestion Control

TCP Congestion Control TCP Congestion Control Lecture material taken from Computer Networks A Systems Approach, Third Ed.,Peterson and Davie, Morgan Kaufmann, 2003. Computer Networks: TCP Congestion Control 1 TCP Congestion

More information

Congestion Control in Communication Networks

Congestion Control in Communication Networks Congestion Control in Communication Networks Introduction Congestion occurs when number of packets transmitted approaches network capacity Objective of congestion control: keep number of packets below

More information

Congestion Control. Resource allocation and congestion control problem

Congestion Control. Resource allocation and congestion control problem Congestion Control 188lecture8.ppt Pirkko Kuusela 1 Resource allocation and congestion control problem Problem 1: Resource allocation How to effectively and fairly allocate resources among competing users?

More information

Congestion / Flow Control in TCP

Congestion / Flow Control in TCP Congestion and Flow Control in 1 Flow Control and Congestion Control Flow control Sender avoids overflow of receiver buffer Congestion control All senders avoid overflow of intermediate network buffers

More information

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Lecture 21: Congestion Control CSE 123: Computer Networks Alex C. Snoeren Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren Lecture 21 Overview" How fast should a sending host transmit data? Not to fast, not to slow, just right Should not be faster than

More information

What is Congestion? Congestion: Moral of the Story. TCP Approach. Transport Layer: TCP Congestion Control & Buffer Management

What is Congestion? Congestion: Moral of the Story. TCP Approach. Transport Layer: TCP Congestion Control & Buffer Management Transport Layer: TCP Congestion Control & Buffer Management Congestion Control What is congestion? Impact of Congestion Approaches to congestion control TCP Congestion Control End-to-end based: implicit

More information

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015 Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015 I d like to complete our exploration of TCP by taking a close look at the topic of congestion control in TCP. To prepare for

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

CSE/EE 461. TCP congestion control. Last Lecture. This Lecture. Focus How should senders pace themselves to avoid stressing the network?

CSE/EE 461. TCP congestion control. Last Lecture. This Lecture. Focus How should senders pace themselves to avoid stressing the network? CSE/EE 461 TCP congestion control Last Lecture Focus How should senders pace themselves to avoid stressing the network? Topics congestion collapse congestion control Application Presentation Session Transport

More information

Congestion Control. Brighten Godfrey CS 538 January Based in part on slides by Ion Stoica

Congestion Control. Brighten Godfrey CS 538 January Based in part on slides by Ion Stoica Congestion Control Brighten Godfrey CS 538 January 31 2018 Based in part on slides by Ion Stoica Announcements A starting point: the sliding window protocol TCP flow control Make sure receiving end can

More information