28/09/2016 Congestion Control Ian McDonald (with many other WAND members)

Slides:



Advertisements
Similar presentations
TCP Variants.
Advertisements

Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Ahmed El-Hassany CISC856: CISC 856 TCP/IP and Upper Layer Protocols Slides adopted from: Injong Rhee, Lisong Xu.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
Recent Research in Congestion Control The problem of high bandwidth-delay product connections By Guillaume Marceau Presented for WPI CS577, Advanced Computer.
1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
Congestion control for multimedia Henning Schulzrinne Dept. of Computer Science Columbia University Fall 2003.
Much better than the old TCP Flavours 1Rajon Bhuiyan.
1 Transport Protocols (continued) Relates to Lab 5. UDP and TCP.
Datagram Congestion Control Protocol
Congestion Control - Supplementary Slides are adapted on Jean Walrand’s Slides.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
What is TCP? Connection-oriented reliable transfer Stream paradigm
Compound TCP in NS-3 Keith Craig 1. Worcester Polytechnic Institute What is Compound TCP? As internet speeds increased, the long ‘ramp’ time of TCP Reno.
Computer Networking Lecture 18 – More TCP & Congestion Control.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
Low Latency Adaptive Streaming over TCP Authors Ashvin Goel Charles Krasic Jonathan Walpole Presented By Sudeep Rege Sachin Edlabadkar.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 19 – March 23, 2010.
Performance Engineering E2EpiPEs and FastTCP Internet2 member meeting - Indianapolis World Telecom Geneva October 15, 2003
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Peer-to-Peer Networks 13 Internet – The Underlay Network
@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.
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
@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.
© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 1 ns-2 TCP Simulations with The Network Simulation Cradle Sam Jansen and Anthony McGregor.
Network Congestion Control HEAnet Conference 2005 (David Malone for Doug Leith)
29/09/2016 Passive Detection of TCP Congestion Events Shane Alcock and Richard Nelson University of Waikato, Hamilton New Zealand.
Could SP-NAT Save the Internet?
Other Methods of Dealing with Congestion
Window Control Adjust transmission rate by changing Window Size
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
13. TCP Flow Control and Congestion Control – Part 2
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
Internet Networking recitation #9
Topics discussed in this section:
Approaches towards congestion control
Chapter 3 outline 3.1 transport-layer services
The Transport Layer (TCP)
Chapter 6 TCP Congestion Control
COMP 431 Internet Services & Protocols
Introduction to Congestion Control
Ian McDonald, Richard Nelson
Computer Networks Bhushan Trivedi, Director, MCA Programme, at the GLS Institute of Computer Technology, Ahmadabad.
Internet and Intranet Protocols and Applications
Hojun Lee TCP enhancements Hojun Lee 11/8/2018.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application. Some implementations of TCP.
Other Methods of Dealing with Congestion
Other Methods of Dealing with Congestion
Chapter 6 TCP Congestion Control
Sven Ubik TCP performance Sven Ubik
Internet Networking recitation #10
Lecture 18 – More TCP & Congestion Control
Project-2 (20%) – DiffServ and TCP Congestion Control
TCP Overview.
Sally Floyd and Eddie Kohler draft-floyd-ccid4-01.txt July 2007
TCP flow and congestion control
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
SCPS-TP, TCP and Rate-Based Protocol Evaluation
Review of Internet Protocols Transport Layer
Presentation transcript:

28/09/2016 Congestion Control Ian McDonald (with many other WAND members)

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 2 Outline Congestion and Congestion Control Queuing Van Jacobson Linux congestion control TCP Throughput and Tuning Bandwidth Delay TCP Windows TCP Throughput Perry's Calculator

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 3 Outline continued Other TCP stuff ECN WAND Research TCP measurement DCCP

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 4 TCP congestion control - queuing

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 5 TCP congestion control Van Jacobson resolved by implementing a congestion window Once system is overloaded hard to recover so do not use full window size immediately If congestion occurs fast action is needed Window to transmit is minimum of congestion window and advertised window

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 6 TCP congestion control – congestion window

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 7 TCP congestion control Changes in Linux kernel BIC default in for vanilla kernel. Fixed in ! Pluggable congestion control from Linux is now used more widely for congestion control research

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 8 TCP congestion control TCP variants in Linux New Reno (van Jacobson's) BIC (binomial search to get speed back) CUBIC (improved BIC as of ) Vegas & Westwood (wireless) Highspeed variants (H-TCP, Highspeed TCP, Scalable TCP) Hybla (for long RTT)

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 9 TCP congestion control How do I change which variant? echo name > /proc/sys/net/ipv4/tcp_congestion_control can also do on a per socket basis via socket options

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 10 Bandwidth Delay Product It is the amount of data in transit = rate * latency e.g. 2 Mbit and 300 msec latency = 2,000,000 / 8 * 0.3 = 75,000 bytes (e.g. ADSL to USA) 100 Mbit and 100 msec latency = 1.25 Mbytes (e.g. cross NZ Ethernet)

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 11 TCP Windows and tuning TCP window must be bigger than the sum of the bandwidth delay products or else you will not go full speed Different operating systems have different defaults but they are not adequate for high speed/high latency networks To tune Linux see

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 12 TCP Windows and tuning If using TCP Segmentation Offload (TSO) to increase network performance (e.g. Broadcom Gbit cards, Intel e1000) then upgrade your kernel as early implementations buggy or turn off TSO (ethtool -K eth0 tso off). Another problem was that TSO prevented the congestion window from increasing properly. This was fixed in

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 13 TCP throughput TCP throughput (in packets) is: where b = number of packets acknowledged by one acknowledgement and p is probability of packet loss (Source: Padhye, J., Firoiu, V., Towsley, D. and J. Kurose) As throughput is in packets try to use as large packets as possible (e.g. jumbograms)

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 14 TCP throughput Instead of formula you can use Perry's throughput calculator Checks whether constrained by: upstream bandwidth (delayed acks, MSS, ack size) loss & RTT Window size (bandwidth delay product)

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 15 More TCP stuff ECN (Explicit congestion notification) notifies of congestion before packets are dropped. Causes congestion window to halve and slow start threshold to decrease previous backward compatibility issues with old firewalls due to using formerly reserved bits to turn it on “echo 1 > /proc/sys/net/ipv4/tcp_ecn” for Linux. Please do for routers and consider for servers

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 16 Comparative TCP startup TCP connection establishment and slow start Large differences between implementations Some difference due to administrative defaults, some due to TCP features and algorithms in place Measured on the WAND Emulation Network

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 17 TCP bugs Bugs found while measuring TCP stacks Windows XP sends outside of the receive window FreeBSD 5.3 produces bad selective acknowledgment ranges in response to this. This bug has been fixed. Measured on the WAND Emulation Network

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 18 TCP implementations vary The previous two slides show some sample measurements of how TCP implementations vary We are also able to simulate these implementations in one research project called the “Network Simulation Cradle” An example result on this follows, this shows how TCP fairness differs between TCP implementations in the same scenario Also shown is a traditional simulated TCP model

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 19 Example simulation results: TCP fairness analysis

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 20 DCCP New protocol at draft RFC status Connection based protocol (like TCP) but unreliable (like UDP) Has pluggable congestion control Designed for services such as VoIP, streaming media where both UDP and TCP have issues In Linux kernel from onwards and rapidly improving Being worked on within WAND

© THE UNIVERSITY OF WAIKATO TE WHARE WANANGA O WAIKATO 21 WAND Network Research Group Department of Computer Science The University of Waikato Private Bag 3105 Hamilton, New Zealand