Introduc)on to Computer Networks

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

Introduc)on to Computer Networks

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

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

Chapter 6 Congestion Avoidance. Networking CS 3470, Section 1

TCP Congestion Control. Housekeeping. Additive Increase/Multiplicative Decrease. AIMD (cont) Pick up folders for exam study Exam next Friday, Nov.

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

Context. TCP is the dominant transport protocol in today s Internet. Embodies some of Internet design principles

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

Congestion Control. Resource allocation and congestion control problem

Conges'on. Last Week: Discovery and Rou'ng. Today: Conges'on Control. Distributed Resource Sharing. Conges'on Collapse. Conges'on

TCP conges+on control

Introduc)on to Computer Networks

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

Chapter III: Transport Layer

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

Internet Protocols Fall Lecture 16 TCP Flavors, RED, ECN Andreas Terzis

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

CS321: Computer Networks Congestion Control in TCP

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

Mid Term Exam Results

Lecture 4: Congestion Control

EE 122: Router Support for Congestion Control: RED and Fair Queueing. Ion Stoica Oct. 30 Nov. 4, 2002

Flow and Congestion Control (Hosts)

Introduc)on to Transport Protocols

Computer Networking Introduction

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

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

Lecture 14: Congestion Control"

Congestion Control In the Network

CSCI Topics: Internet Programming Fall 2008

Flow and Congestion Control Marcos Vieira

Congestion Avoidance

ADVANCED COMPUTER NETWORKS

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

CS4700/CS5700 Fundamentals of Computer Networks

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

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

Chapter 3 Transport Layer

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

TCP Congestion Control

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

CSC 4900 Computer Networks: TCP

Bandwidth Allocation & TCP

CSE 461. TCP and network congestion

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

TCP congestion control:

CSE 123A Computer Networks

TCP Congestion Control. Lecture 16. Outline. TCP Congestion Control. Additive Increase / Multiplicative Decrease (AIMD)

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

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

Reliable Transport II: TCP and Congestion Control

CS 557 Congestion and Complexity

Transport Layer (Congestion Control)

Chapter 6 Congestion Control and Resource Allocation

Congestion Collapse in the 1980s

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

CSC 8560 Computer Networks: TCP

CS4700/CS5700 Fundamentals of Computer Networks

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

UNIT IV -- TRANSPORT LAYER

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

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

EE122 MIDTERM EXAM: Scott Shenker, Ion Stoica

COMP/ELEC 429/556 Introduction to Computer Networks

Fall 2012: FCM 708 Bridge Foundation I

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

Chapter 3 Transport Layer

CS3600 SYSTEMS AND NETWORKS

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

ECE 333: Introduction to Communication Networks Fall 2001

Detecting half-open connections. Observed TCP problems

514 CHAPTER 6 Congestion control and resource allocation

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

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Introduc)on to Computer Networks

CS Transport. Outline. Window Flow Control. Window Flow Control

CNT 6885 Network Review on Transport Layer

Transport Layer TCP / UDP

Opera&ng Systems and Networks. Network Lecture 10: Conges&on Control. Adrian Perrig Network Security Group ETH Zürich

Transmission Control Protocol (TCP)

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

Computer Networking

image 3.8 KB Figure 1.6: Example Web Page

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

Lecture 15: Transport Layer Congestion Control

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

Communication Networks

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

Chapter 3 Transport Layer

Conges'on Control Reading: Sec'ons

CS644 Advanced Networks

Lecture 14: Congestion Control"

8. TCP Congestion Control

Congestion Control & Resource Allocation. Issues in Resource Allocation Queuing Discipline TCP Congestion Control

Operating Systems and Networks. Network Lecture 10: Congestion Control. Adrian Perrig Network Security Group ETH Zürich

Where we are in the Course. Topic. Nature of Congestion. Nature of Congestion (3) Nature of Congestion (2) Operating Systems and Networks

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

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Transcription:

Introduc)on to Computer Networks COSC 4377 Lecture 10 Spring 2012 February 20, 2012

Announcements HW5 due this week HW deadlines Exam1 prac)ce problems later today

Today s Topics HW5 discussions Transport Protocol TCP Friendliness GeOng help from the network

Slow Start From [Jacobson88]

Tahoe RTT Es)ma)on RTT (sec.) 0 2 4 6 8 10 12 0 10 20 30 40 50 60 70 80 90 100 110 Packet

Fast Recovery and Fast Retransmit cwnd AI/MD Slow Start Fast retransmit Time

TCP Friendliness Can other protocols co- exist with TCP? E.g., if you want to write a video streaming app using UDP, how to do conges)on Throughput(Mbps) 10 9 8 7 6 5 4 3 2 1 0 control? RED 1 4 7 10 13 16 19 22 25 28 31 Flow Number 1 UDP Flow at 10MBps 31 TCP Flows Sharing a 10MBps link

TCP Friendliness Can other protocols co- exist with TCP? E.g., if you want to write a video streaming app using UDP, how to do conges)on control? Equa)on- based Conges)on Control Instead of implemen)ng TCP s CC, es)mate the rate at which TCP would send. Func)on of what? RTT, MSS, Loss Measure RTT, Loss, send at that rate!

TCP Throughput Assume a TCP connec)on of window W, round- trip )me of RTT, segment size MSS Sending Rate S = W x MSS / RTT (1) Drop: W = W/2 grows by MSS W/2 RTTs, un)l another drop at W W Average window then 0.75xS From (1), S = 0.75 W MSS / RTT (2) Loss rate is 1 in number of packets between losses: Loss = 1 / ( 1 + (W/2 + W/2+1 + W/2 + 2 + + W) = 1 / (3/8 W 2 ) (3)

TCP Throughput (cont) Loss = 8/(3W 2 ) (4) W = 8 3 Loss Subs)tu)ng (4) in (2), S = 0.75 W MSS / RTT, Throughput 1.22 RTT MSS Loss Equation-based rate control can be TCP friendly and have better properties, e.g., small jitter, fast ramp-up

[Mathis et al. 97]

What Happens When Link is Lossy? Throughput 1 / sqrt(loss) p = 0 60 50 40 30 20 p = 1% p = 10% 10 0 1 26 51 76 101 126 151 176 201 226 251 276 301 326 351 376 401 426 451 476

What can we do about it? Two types of losses: conges)on and corrup)on One op)on: mask corrup)on losses from TCP Retransmissions at the link layer E.g. Snoop TCP: intercept duplicate acknowledgments, retransmit locally, filter them from the sender Another op)on: Tell the sender about the cause for the drop Requires modifica)on to the TCP endpoints

Conges)on Avoidance TCP creates conges)on to then back off Queues at bolleneck link are omen full: increased delay Sawtooth palern: jiler Alterna)ve strategy Predict when conges)on is about to happen Reduce rate early Two approaches Host centric: TCP Vegas Router- centric: RED, DECBit

TCP Vegas Idea: source watches for sign that router s queue is building up (e.g., sending rate flalens) KB 70 60 50 40 30 20 10 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 Time (seconds) 900 700 500 300 100 Sending KBps 1100 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 Time (seconds) Queue size in router 10 5 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 Time (seconds)

TCP Vegas Compare Actual Rate (A) with Expected Rate (E) If E- A > β, decrease cwnd linearly : A isn t responding If E- A < α, increase cwnd linearly : Room for A to grow KB 70 60 50 40 30 20 10 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 Time (seconds) KBps 240 200 160 120 80 40 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 Time (seconds)

Vegas Shorter router queues Lower jiler Problem: Doesn t compete well with Reno. Why? Reacts earlier, Reno is more aggressive, ends up with higher bandwidth

Help from the network What if routers could tell TCP that conges)on is happening? Conges)on causes queues to grow: rate mismatch TCP responds to drops Idea: Random Early Drop (RED) Rather than wait for queue to become full, drop packet with some probability that increases with queue length TCP will react by reducing cwnd Could also mark instead of dropping: ECN

RED Details Compute average queue length (EWMA) Don t want to react to very quick fluctua)ons Queue length Instantaneous Average Time

RED Drop Probability Define two thresholds: MinThresh, MaxThresh Drop probability: P(drop) 1.0 MaxP AvgLen MinThresh MaxThresh Improvements to spread drops (see book)

RED Advantages Probability of dropping a packet of a par)cular flow is roughly propor)onal to the share of the bandwidth that flow is currently geong Higher network u)liza)on with low delays Average queue length small, but can absorb bursts ECN Similar to RED, but router sets bit in the packet Must be supported by both ends Avoids retransmissions op)onally dropped packets

More help from the network Problem: s)ll vulnerable to malicious flows! RED will drop packets from large flows preferen)ally, but they don t have to respond appropriately Idea: Mul)ple Queues (one per flow) Serve queues in Round- Robin Nagle (1987) Good: protects against misbehaving flows Disadvantage? Flows with larger packets get higher bandwidth

Example Flow 1 (arrival traffic) 1 2 3 4 5 6 )me Flow 2 (arrival traffic) 1 2 3 4 5 )me Service in fluid flow system 1 2 1 2 3 3 4 4 5 6 5 )me Packet system 1 2 1 3 2 3 4 4 5 5 6 )me