Adaptive or Active Queue Management

Size: px
Start display at page:

Download "Adaptive or Active Queue Management"

Transcription

1 Adaptive or Active Queue Management Prof. C. Tschudin, M. Sifalakis, M. Monti, U. Schnurrenberger University of Basel Cs321 - HS2014

2 Overview Queue management inside Internet s routers Issues arising with queue management What is Active Queue Management Old AQM RED, FRED, CHOKE, ARED, BLUE Bufferbloat: the new threat of the Internet New AQM Codel, PIE

3 Inside Internet Routers The forwarding plane of every packet handling router has Queues + a queue management policy: Allocate buffer space to incoming flows Absorbers of transient load (bursts of traffic) A scheduling discipline: Allocate bandwidth to en-queued flows Ensure flow multiplexing Collectively referred to as the router s Queue Management

4 Typical Internet Queue Management E.g. Single queue, FIFO schedule (+ Tail-drop policy) Single Class of Traffic Max Q length Incoming Flows Out FIFO (First in, First Out) Max Q length Incoming Flows Out FIFO + Tail-drop Queue Tail-drop, when full

5 Single Queue, FIFO + Tail-drop Problems No separation between different types of flows Aggressive flows get more packets through Bursty flows react differently than CBR flows Poor flow inter-leaving/mixing Lockout A few flows can monopolize the Queue space, not letting new flows to be admitted Synchronization to events End hosts react (congestion avoidance) at the same time to the same events (maybe at different scales) Periodic load-surges appear and become resident-periodic

6 Hash-based Classifier Typical Internet Queue Management E.g. Multi-queue, Fair schedule (+ tail-drop policy) Max Q length Incoming Flows (Deficit) Round Robin Out Fair Queueing: each incoming flow hashed to its own Q (Nagle) N Queues Any full Queue Tail Drops Stochastic FQ: All incoming flows hashed-muxed across N queues (more realistic for core routers)

7 Some so-called optimisations Router serves individual queues to exhaustion Play market-games: Credit the Deficit! (in DRR) Less frequent context switches for the scheduler Manufacturers can sell faster backplanes (win the benchmark) Router employs very large queues Reduce tail-drops during bursts In highly variable bandwidth links gives time to TCP to exit slow-start phase (successful flow admission) Telco s can advertise high-bandwidth in their networks Are they really optimisations?... Or just marketing games?

8 What (TCP) communication endpoints see Bandwidth delay product estimation: aka Pipe Sender perceived Pipe capacity = (Tx Rate) x (RTT/2) Adjust transmission rate accordingly every RTT En-path Queueing affects RTT (bigger pipe size) Tail-drops are signals to slow down (reduce Tx Win) Data Sender ACK Receiver

9 Video 1: netfpga

10 Issues that can emerge 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 queue The more detached are the endpoints from the truth about congestion The more likely that the queues become persistent: bufferbloat (long standing delay is treated as the norm)

11 Issues that can emerge Add serving queues to exhaustion High variability in Avg. queue sizes (and thus delay) RTT estimation at end node does not stabilize Likely poor flow mixing More ACK compression Butterfly effects start to appear and dominate.. (see video) Overall the network can become slower and slower up to a halting point (collapse)

12 Video 2: Van Jacobson on flow mixing

13 Active Queue Management Not all problems were realised at once As Queues build up, RTT increases Takes longer for endpoints to react (TxWin adjustment) ACK spacing can get compressed leading to burstiness of transmissions Early AQM approaches aimed to address this problem only Provide feedback about imminent congestion While the endpoint can still react fast (i.e. before RTT increase due to the queue, blocks feedback) Approaches that we discuss in this lecture RED and variants, BLUE and variants, CHOKe, ECN

14 Active Queue Management Eventually the other issues became apparent Too long queues (with resident load) High-frequency congestion signal fluctuations (due to scheduling optimisations ) New AQMs try to serve their purpose around these nuisances CoDel, PIE (the ones we discuss here) Plus overcome a big shortcoming of early approaches Generic tuning of configuration parameters!

15 AQM Design Objectives Maximize throughput Keep lines busy at all times (queues not staying empty) Minimize delay Queues at steady state almost empty Serve transient load surges Queue size should reflect its ability absorb bursts, and not resident load No flow lockout Packet drops affecting admitted flows rather than new-coming ones

16 AQM as a Control System Objective Function (Parameter) Queue dynamics Arrows are not data traffic but rather the embodiment of signaling (E.g. the measured parameter is not necessarily the departure rate) Sender Action embedding in Queue input Bottleneck Router Queue Receiver Feedback or lack thereof (ACK ) Measure at router Routers can distinguish between propagation and persistent queuing delays Routers can decide on transient congestion, based on workload Act at the sender Convey action to the sender is the big challenge!

17 EARLY AQM

18 Lock-out Problem: Easier to solve Random drop policy Packet arriving when queue is full causes some random packet to be dropped Drop front policy On full queue, drop packet at head of queue SFQ + Tail drop Same effect as Random drop Solving the lock-out problem does not address the full-queues problem

19 Full Queues Problem: Bigger challenge Notify sender before queue becomes full (early drop) Notify = Drop packets takes > RTT to be sensed Notify = Mark packets takes <= 1 RTT but can be lost Notice that how fast the signal will arrive to the sender depends on Net weather (congestion/losses) Challenges When to notify.. Or how often Who to notify (cannot afford per flow monitoring)

20 Drop probability RED Model Max thresh Pkt Arrival Min thresh Maintain Exp Moving Avg (EWMA) of queue length Byte mode vs. Packet mode depending if Tx delay is a function of packet length or not Actual Queue Length Avg Queue Length For each packet arrival if (avgq < min th ) do nothing 1.0 if (max th avg) mark(packet) if (min th avgq < max th ) P max calculate probability P m min th max th Avg queue length mark(p m, packet) Marked packets are either dropped or ECN flagged (discussed soon)

21 RED Parameters EWMA of Queue size computed at every packet arrival (not periodically!) avgq now = w q * qlen now + (1-w q ) * avgq prev Special condition if queue was idle, I.e. qlen now = 0 Same as if it had been 100% link utilisation with 0 queue. Approx. that m small packets were processed m = (t now t last_arrival )/ pkt_size nominal avgq now = (1-w q ) m * avgq prev Packet marking probability is a function of % of the between thresholds utilitisation P m = P max * (avgq now min th ) / (max th min th )

22 Issues with RED: configurability avgq is an EWMA w q 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 queue 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 frequency of marking Too small : the AQM becomes spasmodic in its reaction, forces flows to sync Must be larger that the typical avgq 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

23 Issues with RED: configurability Average Queue size oscillation Difficult to control congestion when many flows esp. unresponsive ones Qlen max 8 flows Actual Qlen max 32 flows Actual Avg Avg 0 time 0 time

24 RED & variants FRED Fair RED or Flow RED: fairness among flow types Flow type differentiation based on queue use non-adaptive (UDP), fragile (sensitive to loss), robust per-active-flow (present in the queue buffer) accounting and loss-regulation All flows entitled to admit min q packets without loss Adjust min q based on avg. per flow occupancy (avgcq) of queue Set upper capacity per flow type to max q and count violations (strikes). Then for frequent violators lower max q = avgcq (to punish them more often)

25 RED & variants CHOKE CHOose and Kill unresponsive flows... Or.. CHOose and Keep responsive flows Compare incoming packet with random selected packet in queue Aggressive flows become more likely to select Max thresh Pkt Arrival Min thresh Select Randomly Flow ID Match No Apply RED (variant) Yes

26 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 q = 1 - exp (1/Link_capacity) Goal: To keep avgq const at about (max th +min th )/2

27 RED & variants SRED Stabilised RED eliminate need of avgq (and w q ) P m = f (inst. queue 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 else hits++ replace Zombie with prob. P r Statistical counting of flows based on Hit Freq. Rank of flow = Hit counter on match

28 RED & variants BLUE Putting past insights in new light Avoid parameter tuning nightmare Avoid effects of avg queue 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 + d 1 [Idle link] if (t now t last_arrival > freeze_period) P m = P m - d 2 d 1 >> d 2 : faster reaction to congestion up-rise than decrease freeze_period works as a sort-of A/D discretizer (step-hold) Filters out high-freq transient oscillations Adjusts parameter at packet arrivals times mod a fixed quantum SFBlue uses ideas of SFQ and FRED to discriminate flows

29 Explicit Congestion Notification Works with TCP traffic. Instead of packet dropping, packet marking An old idea called DEC-bit from DEC-net (early day TCP/IP competitor) Packet Dropping Data: TCP Sender TCP Receiver ACK: ECN Data: TCP Sender TCP Receiver ACK:

30 ECN How marking works At the IP header: Signal from router to receiver Differentiated Services Flags 6 bits Reserved ECN 22 bits ECT CE ECT: ECN Capable Transport CE: Congestion Experienced VER 4 bits HLEN 4 bits Time to Live 8 bits Identification 16 bits DS 8 bits Protocol 8 bits Flags 3 bits Source IP address 32 bits Destination IP address 32 bits Options (if any) Data Total Length 16 bits Fragmentation offset 13 bits Header Checksum 16 bits ECT CE Interpretation 0 0 Not-ECT (Not ECN Capable Transport) 0 1 ECT(1) (ECN Capable Transport (1)) 1 0 ECT(0) (ECN Capable Transport(0)) 1 1 CE (Congestion Experienced)

31 ECN How marking works At the TCP header: Signal from receiver to sender Reserved 4 bits C W R E C E U R G A C K P S H R S T S Y N F I N Source port address 16 bits Destination port address 16 bits HLEN 4 bits Reserved 6 bits Checksum 16 bits Sequence Number 32 bits Acknowledgement Number 32 bits U R G A C K P S H R S T S Y N F I N Window size 16 bits Urgent pointer 16 bits CWR: Congestion Window Reduced Flag ECE: ECN-Echo Flag Options (if any) Data

32 ECN Vs. Packet drop as a feedback signal Packet drop effective even with full queues, while ECN makes only sense before queues get full Packet drop = 3 DUP ACK or timeout before sender acts ECN delivers the feedback faster Packet drop => retransmissions Judas kiss: communicate a signal through an impairment (B. Briscoe) ECN is just a signal: effects better goodput

33 MODERN AQM

34 Bufferbloat: The new Internet threat? What it is? Constant residue of packets in Queues that never goes away Adds constant delay component to the e2e path latency Where does it come from? A combination of the following Senders transmit at higher rate than the bottleneck link can sustain Excessively large queues increase e2e RTT, and delays TCP feedback Sender response is phase shifted compared to congestion epoch Why is it a threat? Excessive delays become resident even on high speed networks Confuses TCP s flow/congestion control algorithm Solutions? Modern AQM tries to address primarily this + the old problems

35 Illustrating Bufferbloat good queue operating at link speed (rate) Also good queue (typical of delayed ACK scheme, or when serving synchronised flows) Bloated queue, that cannot get rid of resident load Bufferbloat

36 Illustrating Bufferbloat good queue operating at link speed (rate) Also good queue (typical of delayed ACK scheme, or when serving synchronised flows) Bloated queue, that cannot get rid of resident load Bufferbloat Both these queues have the same const Avg Length of N pkts over an RTT! What distinguishes them however is the Avg Min length (over a large enough window)!!! Large enough 1RTT

37 Codel Controlled delay Time-based model of queue dynamics instead of a spatial one Objective: Monitor how long the Min queue length remains above a threshold (desired Min) Less descriptive than Avg. Min queue length, Yet sufficient, and simpler computationally Metric: Sojourn time as a measure of instantaneous queue length How long packets stay in the queue: Time delta between a packet s departure and arrival time Works with a single queue or multiple queues Works for variable link rates (e.g. wireless links) well statistically speaking! Simple to measure, easy to implement

38 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/sqrt(drp_count) else if (drp_mode = 0) // start drop drp_mode = 1 drp(packet) drp_count = 1 next_drp = now + Interval/sqrt(drp_count) else // already in drp_mode if (now >= next_drp) drp(packet) drp_count++ next_drp = now + Interval/sqrt(drp_count)

39 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/sqrt(drp_count) else if (drp_mode = 0) // start drop drp_mode = 1 drp(packet) drp_count = 1 next_drp = now + Interval/sqrt(drp_count) else // already in drp_mode if (now >= next_drp) drp(packet) drp_count++ next_drp = now + Interval/sqrt(drp_count)

40 Codel Controlled delay Significantly less configuration magic involved Interval: const ( 1RTT) Target (delay): const max{ equiv of 1-2 packets worth of queue, 5% of worst case RTT} Drop/Mark rate: const acceleration in Interval inverse-square-root progression linear increase of drops per RTT dropping speed up is independent of queue accumulation speed!?!? fq_codel combines Codel with SFQ treats different traffic classes fair gives starting flows a good head start Sojourn measurement does require blocking of the queue! by contrast to queue length averaging Drop/Mark at the head of the queue not the tail

41 PIE Proportional Integral Enhanced On packet arrival: decide packet fate mark/drop(p_drop, pkt) On packet depart: estimate output rate if (q_len > pkt_threshold) byte_count = byte_count + pkt_bytes if (byte_count > pkt_threshold) inst_rate = byte_count / (now last) avg_rate = (1-w)*avg_rate + w*inst_rate last = now byte_count = 0 On Interval Expiration (periodically): update drop rate q_delay = interval * q_len / avg_rate (little s law) P_drop = P_drop + a*(q_delay ref_dealy) + b*(q_delay q_delay_old) q_delay = q_dealy_old P_drop < 1% a = A/8, b = B/8 P_drop < 10% a = A/2, b = B/2 else a = A, b = B

42 PIE Proportional Integral Enhanced On packet arrival: decide packet fate mark/drop(p_drop, pkt) Start counting bytes contributing to On packet depart: estimate output bufferbloat rate when threshold is reached if (q_len > pkt_threshold) byte_count = byte_count + pkt_bytes if (byte_count > pkt_threshold) inst_rate = byte_count / (now last) avg_rate = (1-w)*avg_rate + w*inst_rate last = now byte_count = 0 On Interval Expiration (periodically): update drop rate q_delay = interval * q_len / avg_rate (little s law) P_drop = P_drop + a*(q_delay ref_dealy) + b*(q_delay q_delay_old) q_delay = q_dealy_old Deviation from desired delay Delay change in 1 interval Exp weight mov. avg computation of rate Once buffebloat in bytes is counted compute queue drain rate P_drop < 1% a = A/8, b = B/8 P_drop < 10% a = A/2, b = B/2 else a = A, b = B

43 PIE Proportional Integral Enhanced Also controls delay instead of queue length like Codel Dropping at the tail of the queue to save buffer space Instead of head (Codel) 3 modes of operation for 3 different traffic classes Parameters a,b adjustment Quite lot of other magic numbers (contrast to Codel) Queue delay prediction based on queue size and smoothed output rate Instead of actual measurement (Codel) Drop probability takes into account deviation from nominal value and corrects/improves effects of previous action (direction/magnitude of change) Instead of binary accelarate-or-switch_off (Codel)

44 Some links on Bufferbloat How can I tell if I m suffering from bufferbloat? Can I do anything personally to reduce my suffering from bufferbloat? Bufferbloat triggered the network neutrality debate

45 Questions?

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

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

Advanced Networking Technologies

Advanced Networking Technologies 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

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

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

Computer Networking. Queue Management and Quality of Service (QOS)

Computer Networking. Queue Management and Quality of Service (QOS) Computer Networking Queue Management and Quality of Service (QOS) Outline Previously:TCP flow control Congestion sources and collapse Congestion control basics - Routers 2 Internet Pipes? How should you

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

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

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren Lecture 22: Buffering & Scheduling CSE 123: Computer Networks Alex C. Snoeren Lecture 23 Overview Buffer Management FIFO RED Traffic Policing/Scheduling 2 Key Router Challenges Buffer management: which

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 / 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

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

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

TCP so far Computer Networking Outline. How Was TCP Able to Evolve TCP so far 15-441 15-441 Computer Networking 15-641 Lecture 14: TCP Performance & Future Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 Reliable byte stream protocol Connection establishments

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

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies CSCD 433/533 Priority Traffic Advanced Networks Spring 2016 Lecture 21 Congestion Control and Queuing Strategies 1 Topics Congestion Control and Resource Allocation Flows Types of Mechanisms Evaluation

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

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

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

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

TCP Overview Revisited Computer Networking. Queuing Disciplines. Packet Drop Dimensions. Typical Internet Queuing. FIFO + Drop-tail Problems

TCP Overview Revisited Computer Networking. Queuing Disciplines. Packet Drop Dimensions. Typical Internet Queuing. FIFO + Drop-tail Problems TCP Overview Revisited TCP modern loss recovery 15-441 Computer Networking Other Transport Issues, Attacks and Security Threats, Firewalls TCP options TCP interactions TCP modeling Workload changes TCP

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 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2015 1 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

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

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

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

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

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

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

Unit 2 Packet Switching Networks - II

Unit 2 Packet Switching Networks - II Unit 2 Packet Switching Networks - II Dijkstra Algorithm: Finding shortest path Algorithm for finding shortest paths N: set of nodes for which shortest path already found Initialization: (Start with source

More information

Congestion Avoidance

Congestion Avoidance COMP 631: NETWORKED & DISTRIBUTED SYSTEMS Congestion Avoidance Jasleen Kaur Fall 2016 1 Avoiding Congestion: Strategies TCP s strategy: congestion control Ø Control congestion once it occurs Repeatedly

More information

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services Overview 15-441 15-441 Computer Networking 15-641 Lecture 19 Queue Management and Quality of Service Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 What is QoS? Queuing discipline and scheduling

More information

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Outline Introduction What s wrong with TCP? Idea of Efficiency vs. Fairness XCP, what is it? Is it

More information

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems Lecture 22 Queue Management and Quality of Service (QoS) Overview Queue management & RED Fair queuing Khaled Harras School of Computer Science niversity 15 441 Computer Networks Based on slides from previous

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

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

Project Computer Networking. Resource Management Approaches. Start EARLY Tomorrow s recitation. Lecture 20 Queue Management and QoS

Project Computer Networking. Resource Management Approaches. Start EARLY Tomorrow s recitation. Lecture 20 Queue Management and QoS Project 3 15-441 Computer Networking Start EARLY Tomorrow s recitation Lecture 20 Queue Management and QoS Lecture 20: QOS (c) CMU, 2005-10 2 Traffic and Resource Management Resource Management Approaches

More information

Chapter 24 Congestion Control and Quality of Service 24.1

Chapter 24 Congestion Control and Quality of Service 24.1 Chapter 24 Congestion Control and Quality of Service 24.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 24-1 DATA TRAFFIC The main focus of congestion control

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

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

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

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

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

CS644 Advanced Networks

CS644 Advanced Networks What we know so far CS644 Advanced Networks Lecture 6 Beyond TCP Congestion Control Andreas Terzis TCP Congestion control based on AIMD window adjustment [Jac88] Saved Internet from congestion collapse

More information

Lecture 14: Congestion Control"

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

More information

ITTC Communication Networks The University of Kansas EECS 780 Traffic Management and QoS

ITTC Communication Networks The University of Kansas EECS 780 Traffic Management and QoS Communication Networks The University of Kansas EECS 780 Traffic Management and QoS James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications

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

CPSC 826 Internetworking. Congestion Control Approaches Outline. Router-Based Congestion Control Approaches. Router-Based Approaches Papers

CPSC 826 Internetworking. Congestion Control Approaches Outline. Router-Based Congestion Control Approaches. Router-Based Approaches Papers 1 CPSC 826 Internetworking Router-Based Congestion Control Approaches Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu October 25, 2004 http://www.cs.clemson.edu/~mweigle/courses/cpsc826

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

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance

More information

Congestion Control for High Bandwidth-delay Product Networks

Congestion Control for High Bandwidth-delay Product Networks Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Presented by Chi-Yao Hong Adapted from slides by Dina Katabi CS598pbg Sep. 10, 2009 Trends in the Future

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

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

CS557: Queue Management

CS557: Queue Management CS557: Queue Management Christos Papadopoulos Remixed by Lorenzo De Carli 1 Congestion Control vs. Resource Allocation Network s key role is to allocate its transmission resources to users or applications

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

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti Transport Protocols for Data Center Communication Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti Contents Motivation and Objectives Methodology Data Centers and Data Center Networks

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

Congestion Control. Queuing Discipline Reacting to Congestion Avoiding Congestion. Issues

Congestion Control. Queuing Discipline Reacting to Congestion Avoiding Congestion. Issues Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion Issues Two sides of the same coin pre-allocate resources to avoid congestion (e.g. telephone networks) control congestion

More information

CS551 Router Queue Management

CS551 Router Queue Management CS551 Router Queue Management Bill Cheng http://merlot.usc.edu/cs551-f12 1 Congestion Control vs. Resource Allocation Network s key role is to allocate its transmission resources to users or applications

More information

CS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control

CS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control COMPUTER NETWORKS CS 45201 CS 55201 CHAPTER 6 Congestion Control COMPUTER NETWORKS CS 45201 CS 55201 CHAPTER 6 Congestion Control P. Farrell and H. Peyravi Department of Computer Science Kent State University

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

Random Early Detection Gateways for Congestion Avoidance

Random Early Detection Gateways for Congestion Avoidance Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson Lawrence Berkeley Laboratory University of California floyd@eelblgov van@eelblgov To appear in the August 1993 IEEE/ACM

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

Congestion Control & Transport protocols

Congestion Control & Transport protocols Congestion Control & Transport protocols from New Internet and Networking Technologies for Grids and High-Performance Computing, tutorial given at HiPC 04, Bangalore, India December 22nd, 2004 C. Pham

More information

Flow and Congestion Control

Flow and Congestion Control CE443 Computer Networks Flow and Congestion Control Behnam Momeni Computer Engineering Department Sharif University of Technology Acknowledgments: Lecture slides are from Computer networks course thought

More information

Chapter II. Protocols for High Speed Networks. 2.1 Need for alternative Protocols

Chapter II. Protocols for High Speed Networks. 2.1 Need for alternative Protocols Chapter II Protocols for High Speed Networks 2.1 Need for alternative Protocols As the conventional TCP suffers from poor performance on high bandwidth delay product links [47] meant for supporting transmission

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

Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks. Congestion Control in Today s Internet

Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks. Congestion Control in Today s Internet Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks Ion Stoica CMU Scott Shenker Xerox PARC Hui Zhang CMU Congestion Control in Today s Internet Rely

More information

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse Good Ideas So Far 15-441 Computer Networking Lecture 17 TCP & Congestion Control Flow control Stop & wait Parallel stop & wait Sliding window Loss recovery Timeouts Acknowledgement-driven recovery (selective

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

II. Principles of Computer Communications Network and Transport Layer

II. Principles of Computer Communications Network and Transport Layer II. Principles of Computer Communications Network and Transport Layer A. Internet Protocol (IP) IPv4 Header An IP datagram consists of a header part and a text part. The header has a 20-byte fixed part

More information

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday Lecture 15: TCP over wireless networks Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday TCP - recap Transport layer TCP is the dominant protocol TCP provides in-order reliable byte stream abstraction

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks QoS in IP networks Prof. Andrzej Duda duda@imag.fr Contents QoS principles Traffic shaping leaky bucket token bucket Scheduling FIFO Fair queueing RED IntServ DiffServ http://duda.imag.fr

More information

User Datagram Protocol (UDP):

User Datagram Protocol (UDP): SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

PIE: A lightweight latency control to address the buffer problem issue

PIE: A lightweight latency control to address the buffer problem issue PIE: A lightweight latency control to address the buffer problem issue Rong Pan, Preethi Natarajan, Chiara Piglione, Mythili Prabhu, Fred Baker and Bill Ver Steeg November 5, 2012 1 The Problem of Buffer

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

Integrated and Differentiated Services. Christos Papadopoulos. CSU CS557, Fall 2017

Integrated and Differentiated Services. Christos Papadopoulos. CSU CS557, Fall 2017 Integrated and Differentiated Services Christos Papadopoulos (Remixed by Lorenzo De Carli) CSU CS557, Fall 2017 1 Preliminary concepts: token buffer 2 Characterizing Traffic: Token Bucket Filter Parsimonious

More information

Improving Internet Congestion Control and Queue Management Algorithms. Wu-chang Feng March 17, 1999 Final Oral Examination

Improving Internet Congestion Control and Queue Management Algorithms. Wu-chang Feng March 17, 1999 Final Oral Examination Improving Internet Congestion Control and Queue Management Algorithms Wu-chang Feng March 17, 1999 Final Oral Examination Outline Motivation Congestion control and queue management today (TCP, Drop-tail,

More information

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote

More information

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley AT&T Center for Internet Research (ACIRI) Jitendra Padhye Umass Amherst Jorg Widmer International Computer Science Institute

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

Congestion Control and Resource Allocation

Congestion Control and Resource Allocation Congestion Control and Resource Allocation Lecture material taken from Computer Networks A Systems Approach, Third Edition,Peterson and Davie, Morgan Kaufmann, 2007. Advanced Computer Networks Congestion

More information

Router participation in Congestion Control. Techniques Random Early Detection Explicit Congestion Notification

Router participation in Congestion Control. Techniques Random Early Detection Explicit Congestion Notification Router participation in Congestion Control 1 Techniques Random Early Detection Explicit Congestion Notification 68 2 Early congestion notifications Early notifications inform end-systems that the network

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

Transport Layer TCP / UDP

Transport Layer TCP / UDP Transport Layer TCP / UDP Chapter 6 section 6.5 is TCP 12 Mar 2012 Layers Application Transport Why do we need the Transport Layer? Network Host-to-Network/Physical/DataLink High Level Overview TCP (RFC

More information

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov.

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov. Lecture 21 Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov. 7 http://money.cnn.com/2011/11/07/technology/juniper_internet_outage/

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

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

TCP/IP Performance ITL

TCP/IP Performance ITL TCP/IP Performance ITL Protocol Overview E-Mail HTTP (WWW) Remote Login File Transfer TCP UDP IP ICMP ARP RARP (Auxiliary Services) Ethernet, X.25, HDLC etc. ATM 4/30/2002 Hans Kruse & Shawn Ostermann,

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

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

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

Network Performance: Queuing

Network Performance: Queuing Network Performance: Queuing EE 122: Intro to Communication Networks Fall 2007 (WF 4-5:30 in Cory 277) Vern Paxson TAs: Lisa Fowler, Daniel Killebrew & Jorge Ortiz http://inst.eecs.berkeley.edu/~ee122/

More information

CS268: Beyond TCP Congestion Control

CS268: Beyond TCP Congestion Control TCP Problems CS68: Beyond TCP Congestion Control Ion Stoica February 9, 004 When TCP congestion control was originally designed in 1988: - Key applications: FTP, E-mail - Maximum link bandwidth: 10Mb/s

More information

Congestion Avoidance

Congestion Avoidance Congestion Avoidance Richard T. B. Ma School of Computing National University of Singapore CS 5229: Advanced Compute Networks References K. K. Ramakrishnan, Raj Jain, A Binary Feedback Scheme for Congestion

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

Reliable Transport II: TCP and Congestion Control

Reliable Transport II: TCP and Congestion Control Reliable Transport II: TCP and Congestion Control Brad Karp UCL Computer Science CS 3035/GZ01 31 st October 2013 Outline Slow Start AIMD Congestion control Throughput, loss, and RTT equation Connection

More information

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

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 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

Reliable Transport I: Concepts and TCP Protocol

Reliable Transport I: Concepts and TCP Protocol Reliable Transport I: Concepts and TCP Protocol Brad Karp UCL Computer Science CS 3035/GZ01 29 th October 2013 Part I: Transport Concepts Layering context Transport goals Transport mechanisms 2 Context:

More information