Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Helping TCP Work at Gbps Cheng Jin the FAST project at Caltech
A Survey of Recent High Speed TCP Variants
TCP Variants.
LOGO Transmission Control Protocol 12 (TCP) Data Flow.
RED-PD: RED with Preferential Dropping Ratul Mahajan Sally Floyd David Wetherall.
Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli University of Calif, Berkeley and Lawrence Berkeley National Laboratory SIGCOMM.
Restricted Slow-Start for TCP William Allcock 1,2, Sanjay Hegde 3 and Rajkumar Kettimuthu 1,2 1 Argonne National Laboratory 2 The University of Chicago.
Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
An Implementation and Experimental Study of the eXplicit Control Protocol (XCP) Yongguang Zhang and Tom Henderson INFOCOMM 2005 Presenter - Bob Kinicki.
Congestion control in data centers
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
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.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
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.
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.
Ns Simulation Final presentation Stella Pantofel Igor Berman Michael Halperin
All rights reserved © 2006, Alcatel Accelerating TCP Traffic on Broadband Access Networks  Ing-Jyh Tsang 
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.
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.
1 MaxNet and TCP Reno/RED on mice traffic Khoa Truong Phan Ho Chi Minh city University of Technology (HCMUT)
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
B 李奕德.  Abstract  Intro  ECN in DCTCP  TDCTCP  Performance evaluation  conclusion.
MaxNet NetLab Presentation Hailey Lam Outline MaxNet as an alternative to TCP Linux implementation of MaxNet Demonstration of fairness, quick.
Chapter 12 Transmission Control Protocol (TCP)
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
2000 년 11 월 20 일 전북대학교 분산처리실험실 TCP Flow Control (nagle’s algorithm) 오 남 호 분산 처리 실험실
Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Murari Sridharan and Kun Tan (Collaborators: Jingmin Song, MSRA & Qian Zhang, HKUST.
Improving TCP Performance over Wireless Networks
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.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
We used ns-2 network simulator [5] to evaluate RED-DT and compare its performance to RED [1], FRED [2], LQD [3], and CHOKe [4]. All simulation scenarios.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
Explicit Allocation of Best-Effort Service Goal: Allocate different rates to different users during congestion Can charge different prices to different.
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
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
TCP Traffic Characteristics—Deep buffer Switch
Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP Congestion Control.
Internet Networking recitation #9
Approaches towards congestion control
Introduction to Congestion Control
Generalizing The Network Performance Interference Problem
Understanding Congestion Control in Multi-hop Wireless Mesh Networks
FAST TCP : From Theory to Experiments
Internet Networking recitation #10
CS4470 Computer Networking Protocols
TCP Congestion Control
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Review of Internet Protocols Transport Layer
Presentation transcript:

Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in Lab

Problems with Current Implementations of TCP The underlying algorithms usually do not scale with the speeds or sizes of networks properly The problem is that current TCPs react to correlation rather than causation of congestion… We provide implementation of TCP MaxNet, a protocol that solves these shortcomings by EXPLICITLY SIGNALING THE CONGESTION LEVEL They usually do not share available capacity with max-min fairness They usually have poor behavior on loss because loss is interpreted as a congestion signal

Outline Description of the MaxNet architecture Our implementation of TCP MaxNet in the Linux kernel Experimental setup allowing protocol performance evaluation on WAN in Lab Experimental results – comparison to other protocols Convergence properties and RTT in the network Fair sharing of available capacity Behavior on packet loss Issues with partial deployment

Description of the MaxNet Architecture Overview Congestion level at each link in the network is monitored by routers. Implementation involves changes at both the SOURCE and ROUTER side Sender only reacts to the maximum level of congestion on one of the links on the end-to-end path The window size of the sender is a function of this maximum

Description of the MaxNet Architecture Design of the Router Routers periodically calculate the current congestion level on each of their links C the capacity of the output link μ efficiency parameter X(t) number of bytes enqueued since last price calculation γ let γ 1 / C Price approximates how long it takes to empty the queue if the router transmits at rate μC

Description of the MaxNet Architecture Design of the Sender Sender sets congestion window as a function of the maximal level of congestion on the end-to-end path Parameters p1 and p3 determine the rate of the convergence Parameters p2 and p4 determine the severity of the reaction to the congestion signal Sender does not decrease its sending rate on loss Congestion window is set as follows:

Implementation of TCP MaxNet in the kernel Communicating the maximal price to the sender A new TCP option with two fields, price and echo, is attached to each packet Routers overwrite the price option if their own price is higher than the one already there The receiver places this value in the echo field and the options are returned to the sender with the ACK

Implementation of TCP MaxNet in the kernel New challenges encountered in the Linux kernel The TCP header size in Linux is limited to 60 bytes Up to 28 bytes are used by SACKs Only 2 SACK blocks per packet header are allowed in our implementation Convergence requires high precision of all calculations Exponential was calculated using a lookup table Fractional numbers need to be used We are experimenting with various encodings of price that work for extreme rates and RTTs

Experimental Setup WAN in Lab A real WAN network in a laboratory An array of reconfigurable routers, servers and clients the backbone of the network connected by 2 x 1600km OC-48 introducing real propagation delay

Experimental Setup WAN in Lab Router code installed on Bottleneck Router 1 and 2 Sender code installed on Host A, B, C and on the Listening server Performance monitored in the kernels of the hosts and routers

Convergence and RTT Short Router Queues RTT of TCP MaxNet stays close to the two-way propagation delay on the link This indicates that MaxNet keeps the router queues empty RTT of TCP BIC and TCP FAST is much higher

Fair Sharing Identical Flows Through a Bottleneck TCP MaxNetTCP FASTTCP BIC

Fair Sharing Flows with Differing RTTs TCP MaxNetTCP FASTTCP BIC

Performance under Loss TCP MaxNet achieves the highest throughput because sender does not decrease its sending rate on loss TCP MaxNet TCP FAST TCP BIC

Summary We provide an implementation of TCP MaxNet in the Linux kernel We compare properties of TCP MaxNet and other protocols and observe: Fair sharing of bottleneck capacity even when the propagation delays of the competing flows vary Extraordinary performance in lossy environment Low latency and short queue sizes (making TCP MaxNet an excellent protocol for real time applications) Some issues remain Incremental deployment and fair sharing with other protocols

Deployment Issues Solving incremental deployment issues is important for usability of the new protocol Initially, not all routers support TCP MaxNet The best we can currently do is to detect this and fall back on loss based congestion control Easy detection by duplicating time to live field that is decremented only by MaxNet routers The protocol needs to be supported by the sender, receiver and all the routers on the end-to-end path Not all senders will use TCP MaxNet TCP MaxNet is less aggressive and cannot compete fairly with loss or delay based TCP flows

Is Fair Dropping of Packets by MaxNet Routers the Solution? Using an approach similar to AFD (Approximate Fair Dropping) could solve the problem AFD uses a shadow buffer that stores b recent packet headers to estimate the flows current rate Packets are dropped differentially based on the rate Approximate max-min fairness is achieved while keeping queue length at q target Some changes to AFD would be needed Two separate queues: for MaxNet and for other traffic? Increasing the signaled price instead of dropping a TCP MaxNet packet?

Questions & Discussion…