CS 4700 / CS 5700 Network Fundamentals

Slides:



Advertisements
Similar presentations
Balaji Prabhakar Active queue management and bandwidth partitioning algorithms Balaji Prabhakar Departments of EE and CS Stanford University
Advertisements

The Transmission Control Protocol (TCP) carries most Internet traffic, so performance of the Internet depends to a great extent on how well TCP works.
Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Reconsidering Reliable Transport Protocol in Heterogeneous Wireless Networks Wang Yang Tsinghua University 1.
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
TCP and Congestion Control
Helping TCP Work at Gbps Cheng Jin the FAST project at Caltech
RED-PD: RED with Preferential Dropping Ratul Mahajan Sally Floyd David Wetherall.
One More Bit Is Enough Yong Xia, RPI Lakshmi Subramanian, UCB Ion Stoica, UCB Shiv Kalyanaraman, RPI SIGCOMM’ 05, Philadelphia, PA 08 / 23 / 2005.
Network Operations & administration CS 4592 Lecture 15 Instructor: Ibrahim Tariq.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
CS 268: Lecture 7 (Beyond TCP Congestion Control) Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 16: Congestion control II Slides used with.
Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
CS268: Beyond TCP Congestion Control Ion Stoica February 9, 2004.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
Explicit Congestion Notification (ECN) RFC 3168 Justin Yackoski DEGAS Networking Group CISC856 – TCP/IP Thanks to Namratha Hundigopal.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
Congestion Control for High Bandwidth-Delay Product Networks Dina Katabi, Mark Handley and Charlie Rohrs SIGCOMM2002 Pittsburgh Presenter – Bob Kinicki.
Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
Comparison between TCPWestwood and eXplicit Control Protocol (XCP) Jinsong Yang Shiva Navab CS218 Project - Fall 2003.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168)
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Data Communication and Networks
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
Random Early Detection Gateways for Congestion Avoidance
Lecture 5: Congestion Control l Challenge: how do we efficiently share network resources among billions of hosts? n Last time: TCP n This time: Alternative.
Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs.
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
PCP: Efficient Endpoint Congestion Control To appear in NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of.
Advanced Computer Networks : RED 1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking,
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
CS 268: Computer Networking L-6 Router Congestion Control.
Advance Computer Networking L-6 TCP & Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
Congestion Control - Supplementary Slides are adapted on Jean Walrand’s Slides.
Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm.
Explicit Congestion Notification (ECN) RFC 3168
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Congestion Control for High Bandwidth-Delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Presented by Yufei Chen.
Other Methods of Dealing with Congestion
Internet Networking recitation #9
Chapter 3 outline 3.1 transport-layer services
Congestion Control for High Bandwidth-Delay Product Networks
CS 268: Lecture 6 Scott Shenker and Ion Stoica
Chapter 6 Congestion Avoidance
Router-Assisted Congestion Control
CIS, University of Delaware
Queuing and Queue Management
Other Methods of Dealing with Congestion
Internet Networking recitation #10
April 10, 2006, Northwestern University
TCP Congestion Control
Transport Layer: Congestion Control
Review of Internet Protocols Transport Layer
Presentation transcript:

CS 4700 / CS 5700 Network Fundamentals Christo Wilson 8/22/2012 CS 4700 / CS 5700 Network Fundamentals Lecture 13: Beyond TCP Congestion Control (a.k.a. how to get a job at MIT) Defense

In Between Network and Transport… Goals: Replace TCP congestion control Keep queues/delay short Drop ~0 (data) packets Key challenge: How to estimate network congestion better than TCP How to make the solutions practical Application Presentation Session Transport Network Data Link Physical

Issues with TCP CC Fairness: throughput depends on RTT High speed networks: slow start is too slow @10Gbps Short flows: how to set the initial cwnd? Lossy links: poor performance over wireless Synchronization and Oscillations Can’t sustain throughput near capacity Periods of high queuing delay Guaranteed to drop packets Full buffers: queues are usually full, no burst tolerance Lock out: queue space is monopolized by few flows

Outline ECN XCP PCP Explicit Congestion Notification eXplicit Congestion Control Protocol PCP Probe Control Protocol

Active Queue Management (AQM) Detect “incipient” (early) congestion in the router Try to keep average queue size in “good” range Randomly choose flows to notify about congestion E.g. RED, packet drops are implicit notification Randomly “notify” flow via packet drop min max queue_len

Explicit Congestion Notification ECN is an AQM mechanism Use TCP/IP headers to send ECN signals Router sets ECN bit in header if there is congestion Host TCP treats ECN marked packets the same as packet drops (i.e. congestion signal) But no packets are dropped :) Sender receives feedback No Congestion Congestion ECN-bit set in ACK

ECN Implementation Uses two 1-bit flags in the TCP header Congestion Window Reduce (CWR): slow down ECN-Echo (ECE): feedback in the ACK Also uses two bits in the IP header ToS field 01/10 – ECT, indicates ECN compatibility 11 – CE, indicates congestion Supported by… Windows (Vista+), OS X (10.5+), Linux Cisco routers, *BSD … but usually turned off by default

Is the Internet ECN-Ready? As of 2011, not really Measuring the State of ECN Readiness (IMC 2011) ECN incompatible servers: 83-86% ECN incompatible clients: 96-100% … but results are better than for 2004 and 2008 Caught many routers mangling ECN bits! Typically done by ISP border routers Legacy routers clear IP ToS field, destroy ECN bits

Outline ECN XCP PCP Explicit Congestion Notification eXplicit Congestion Control Protocol PCP Probe Control Protocol

Settings the Stage for XCP ECN uses a 1-bit congestion indicator Is there congestion: yes or no? Does not indicate amount of congestion TCP combines utilization and fairness control AIMD Probes for bandwidth (utilization) Converges to fairness (if we ignore RTT…)

Poor Performance of TCP CC Bottleneck Bandwidth (Mb/s) Avg. TCP Utilization 50 flows in both directions Buffer = BW x Delay RTT = 80 ms Round Trip Delay (sec) Avg. TCP Utilization 50 flows in both directions Buffer = BW x Delay BW = 155 Mb/s

Key Observations Packet loss is a poor signal of congestion Why? Congestion is not only source of loss (i.e. wireless) Loss takes time to detect By the time you see loss, congestion has already occurred Relies on timeouts, which are slow Loss/no-loss a binary value: are you at the cliff? Result: slowly and blindly walk towards cliff

Bandwidth allocation policy Key Observations Rate of feedback is a function of delay to source Congestion control as control loop w/ feedback delay Large delays  instability. Why? TCP couples congestion control and fairness High utilization, Small queues, Few drops Bandwidth allocation policy

eXplicit Control Protocol (XCP) Uses multi-bit, explicit congestion feedback Improves congestion control Small queues at routers Almost zero drops Decouples congestion control from fairness MIMD for congestion control AIMD for fairness Fair even when RTTs differ Scalable: no per flow state in routers

XCP Implementation Keep some TCP functionality Keep most of the TCP header Sequence numbers, reliable in-order delivery Retransmit timers Replace TCP’s cwnd functionality Add additional fields to the TCP header Modify routers to compute feedback Like ECN and CSFQ

Feedback copied into ACK XCP Example RTT cwnd feedback RTT cwnd +0.1 packets RTT cwnd -0.3 packets Feedback copied into ACK cwnd = cwnd + feedback Congestion Header XCP extends ECN and CSFQ Routers compute feedback without any per flow state

Feedback Computation Goals Looks at aggregate traffic and queue Congestion Controller Fairness Controller Goals Match input traffic to link capacity Drain the queue Looks at aggregate traffic and queue  =  davg Spare -  Queue davg is avg. RTT Spare capacity Queue length  and  are const. parameters Goal: divide  fairly among flows Looks at each flow’s state in their congestion header Algorithm: If  > 0  divide  equally between flows If  < 0  divide  between flows proportionally to their current rate Need to estimate N, number of flows…

Utilization vs. B/W and Delay Christo Wilson 8/22/2012 Utilization vs. B/W and Delay Utilization as a func. of B/W Utilization a func. of Delay Avg. Utilization Avg. Utilization XCP increases proportionally to spare bandwidth  and  chosen to make XCP robust to delay Change circles to rectangles, don’t block the text Bottleneck Bandwidth (Mb/s) Round Trip Delay (sec) Defense

Response to Flow Dynamics Christo Wilson 8/22/2012 Response to Flow Dynamics 40 flows start 40 flows stop Change circles to rectangles, don’t block the text Defense

Short Flows High utilization with few short flows Christo Wilson 8/22/2012 High utilization with few short flows Short Flows Utilization Significantly shorter queues Queue Length (Packets) Change circles to rectangles, don’t block the text Drops (Packets) Almost zero drops! Short Flow Arrival Rate (New Flows per Second) Defense

Fairness Same RTT Different RTT Avg. Throughput Avg. Throughput Christo Wilson 8/22/2012 Fairness Same RTT Different RTT Avg. Throughput Avg. Throughput Change circles to rectangles, don’t block the text Flow ID Flow ID (RTT is 40 ms  330 ms ) Defense

XCP Bonus Prizes Differentiating error loss from congestion loss How? Easy to differentiate unresponsive flows Easy to do differential bandwidth allocation What about performance metrics like queuing delay and jitter? Question: are there any weaknesses to XCP?

Other Thoughts The XCP paper is exceptionally good Innovative ideas Challenges entrenched preconceptions Other goodness metrics SIGCOMM best paper award Got Dina Katabi a faculty job at MIT Inspired me to get a PhD Originally, I was just a Masters student My first paper ever was on XCP security

Outline ECN XCP PCP Explicit Congestion Notification eXplicit Congestion Control Protocol PCP Probe Control Protocol

Network-Assisted CC Routers provide feedback to end-systems Problems Add TCP-specific support to routers Signal end-hosts to reduce their sending rates Problems Makes routers complicated/expensive Hinders adoption How can we improve congestion control without requiring network support?

Context Endpoint Router Support Try and Backoff TCP, Vegas, RAP, FastTCP, Scalable TCP, HighSpeed TCP DecBit, ECN, RED, AQM Request and Set ? ATM, XCP, WFQ, RCP

Probe Control Protocol (PCP) Test for bandwidth using short, non-intrusive probes If bandwidth is available, send at the desired rate Sending at desired rate is “safe” Probe is a request Successful probe sets the sending rate Other flows cannot acquire the allocated bandwidth Probe Channel Capacity Rate Probe Probe Time

PCP Mechanisms Probes: how to check for available bandwidth Probe control: how to vary the requests? Rate compensation: deal with queue build-ups

Probes Send packet train spaced at an interval to achieve desired rate Currently, five packets whose size could be varied Check for queuing based on time delays

Probe Control Base protocol: Augmented with history: Start with a baseline rate: One maximum sized packet per round-trip If probe succeeds, double the requested bandwidth If probe fails, halve the requested bandwidth If probed rate falls below baseline rate: Keep probed rate constant Issue probes less frequently (exponential back-off) Augmented with history: Endpoint keeps track of previously used rates for different paths Directly jumps to probe for a rate based on history

Rate Compensation Queue build-ups could occur: Even short probes, can trigger queuing Simultaneous probes could allocate the same bandwidth to two flows Measurement errors could result in too much load Solution: rate compensation Monitor packet delays Notice queue-buildups Slow down the transmission rate to drain queue

Performance PCP vs. TCP vs. 4 concurrent PCP flows

Is PCP Fair vs. TCP? Is PCP getting its performance gains by being aggressive to TCP traffic?

Another View on PCP PCP decouples B/W estimation from data traffic Control traffic now more light-weight Probe more often Minimal impact on data flows No need to incur data loss Probe loss is OK

Different Perspectives on CC Three very different approaches to congestion control Implicit router feedback (RED) Explicit router feedback (ECN, XCP) Light-weight bandwidth measurements (PCP) Which approach is best? Ease of deployment? Stability? Fairness? Utilization?