Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany.

Slides:



Advertisements
Similar presentations
Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.
Advertisements

1 Transport Protocols & TCP CSE 3213 Fall April 2015.
By Arjuna Sathiaseelan Tomasz Radzik Department of Computer Science King’s College London EPDN: Explicit Packet Drop Notification and its uses.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
Explicit Congestion Notification (ECN) RFC 3168 Justin Yackoski DEGAS Networking Group CISC856 – TCP/IP Thanks to Namratha Hundigopal.
Explicit Congestion Notification (ECN) Qi (Gill) Wang CISC 856 – TCP/IP, Fall 2012 Special thanks to: Dr. Paul Amer Guna Ranjan, Justin.
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.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-4690: Experimental Networking Informal Quiz: TCP Shiv Kalyanaraman:
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
1 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
1 Minseok Kwon and Sonia Fahmy Department of Computer Sciences Purdue University {kwonm, TCP Increase/Decrease.
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 Internet Networking Spring 2006 Tutorial 10 The Eifel Detection Algorithm for TCP RFC 3522.
Data Communication and Networks
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Semester Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
TCP Congestion Control
CS :: Fall 2003 TCP Friendly Streaming Ketan Mayer-Patel.
Ns Simulation Final presentation Stella Pantofel Igor Berman Michael Halperin
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.
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.
A Simulation of Adaptive Packet Size in TCP Congestion Control Zohreh Jabbari.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
CIS : TCP Traffic Control. Effect of Window Size W = TCP window size (octets) R = Data rate (bps) at TCP source D = Propagation delay (seconds)
Adding Explicit Congestion Notification (ECN) Capability to TCP's SYN/ACK Packets A. Kuzmanovic, A. Mondal, S. Floyd, and K.K. Ramakrishnan draft-ietf-tcpm-ecnsyn-03.txt.
CSE 461 University of Washington1 Topic How TCP implements AIMD, part 1 – “Slow start” is a component of the AI portion of AIMD Slow-start.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
Congestion Control - Supplementary Slides are adapted on Jean Walrand’s Slides.
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
A Self-Configuring RED Gateway Wu-chang Feng, Dilip Kandlur, Debanjan Saha, Kang Shin INFOCOM ‘99.
AQM & TCP models Courtesy of Sally Floyd with ICIR Raj Jain with OSU.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
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 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
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.
Recap Slow start introduced cwnd Slow start introduced cwnd Can transmit up to Can transmit up to min( cwnd, offered window ) Flow control by the sender.
Analysis and Design of an Adaptive Virtual Queue (AVQ) Algorithm for AQM By Srisankar Kunniyur & R. Srikant Presented by Hareesh Pattipati.
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.
Computer Networking Lecture 10 – TCP & Routers.
Adding Explicit Congestion Notification (ECN) Capability to TCP's SYN/ACK Packets A. Kuzmanovic, A. Mondal, S. Floyd, and K.K. Ramakrishnan draft-ietf-tcpm-ecnsyn-02.txt.
Transport Layer session 1 TELE3118: Network Technologies Week 11: Transport Layer TCP Some slides have been taken from: r Computer Networking:
Adding ECN Capability to TCP’s SYN/ACK Packets
Internet Networking recitation #9
Chapter 3 outline 3.1 transport-layer services
Computer Networks with Internet Technology William Stallings
Chapter 3 outline 3.1 Transport-layer services
Queuing and Queue Management
Other Methods of Dealing with Congestion
Adding ECN Capability to TCP’s SYN/ACK Packets
Internet Networking recitation #10
Project-2 (20%) – DiffServ and TCP Congestion Control
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Presentation transcript:

Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany

Tilo Hamann Outline Motivation for ECN How ECN works Benefits of ECN New-ECN TCP –Algorithm –Simulation results –Some numbers Conclusions

Tilo Hamann Motivation for ECN TCP relies on packets drops to detect congestion –usually caused by queue overflow at a gateway  many connections see packet drops  synchronization of loss  greater variance in queueing delay Solution: active queue management (e.g. RED) avoids synchronization of loss across multiple flows tries to maintain a smaller average queue size attempts to increase fairness but packet drops are still the indication of congestion

Tilo Hamann Motivation for ECN ECN uses “marked” instead of dropped packets for congestion indication ECN can react to congestion before packets get lost ECN avoids transmission delay due to unnecessary packet drops: –TCP sender does not need to wait for timeouts or duplicate ACKs currently ECN is only defined for data packets –congestion in the ACK path is open for future research

Tilo Hamann How ECN works: TCP header ECN makes use of four bits in the TCP header: –ECN Capable Transmission (ECT) bit: DS field, bit 6 –Congestion Experienced (CE) bit: DS field, bit 7 (these two bits are currently listed unused in RFC2474 (DiffServ)) –ECN echo flag: reserved field, bit 9 –Congestion Window Reduced (CWR) flag: reserved field, bit 8 Definitions: –ECT packet: a data packet of a ECN capable connection –CE packet: a marked ECT packet (ECT bit = 1, CE bit = 1) –ECN echo packet: an ACK with ECN echo flag set to 1

Tilo Hamann How ECN works: connection setup Connection setup phase: –TCP sender and receiver negotiate their ECN capability during connection setup TCP sender sets the ECN echo flag and CWR in the SYN packet TCP receiver sets, if also ECN capable, only the ECN echo flag in the SYN-ACK packet If and only if both are ECN capable, the ECT bit gets set in every data packet

Tilo Hamann How ECN works: Gateway, TCP Receiver If a ECT packet arrives at a RED gateway –it gets marked randomly (RED algorithm) if the average queue size is greater than min th and less than max th –it gets always dropped if average queue size is greater than max th the queue is full After the receiver gets a CE packet, the ECN echo flag gets set in the next outgoing ACK The receiver continues to set the echo bit until it receives a data packet with the CWR flag set

Tilo Hamann How ECN works: TCP sender TCP should react to a ECN echo packet like it would to a lost packet: –cut the congestion window: cwnd_ = ½ ·cwnd_ –and reduce the slow start threshold But TCP should not –increase cwnd_ for a ECN echo ACK –trigger an slow start in TCP-Tahoe –wait for roughly a half RTT in the fast recovery phase of TCP-Reno

Tilo Hamann How ECN works: TCP sender TCP should react at most once per RTT to any congestion indication, including –timeout of the retransmit timer –duplicate ACKs –ECN echo ACK TCP should set the CWR flag in the next outgoing packet after it has reduced its congestion window for any reason

Tilo Hamann Benefits of ECN Benefits for short web transfers: –most of TCP loss recovery is expected to be with timeouts –worst case: first packet gets dropped –ECN reduces packets drops Bulk data transfers Real time flows (Non-TCP)

Tilo Hamann ECN-TCP is biased against connections with longer RTTs Question: Can we use the marks to achieve a fair sharing of the available bandwidth? Approach: –reduce window and –reduce the slope of the window-increase for each marked packet –increase window for each regular ACK and –increase slope every RTT while receiving regular ACK s New-ECN

Tilo Hamann New-ECN: Algorithm Regular ACK received: –increase window: –if ((First_Mark_Received_ = 1) && (Not_Increased_within_the_last_RTT)) { } TCP initialization: –First_Mark_Received_ = 0 –

Tilo Hamann New-ECN: Algorithm Marked packet received: –First_Mark_Received_ = 1 –if (seqno_Ack_  recover_ ) { recover_ = maxseq_ }

Tilo Hamann New-ECN: ns simulation parameters RED: –p max = 0.1 –max th = 20 –min th = 10 –w q = Network topology: New-ECN: –  1 = 0.9 –  2 = 0.9 –  = 16 –tcpTick_ = 0.01 –packet size: 512byte

Tilo Hamann 4 New-ECN connections (Test 10) Link 1: 10Mbps, 1ms  4ms Link 2: 10Mbps, 14ms  30ms Link 4: 10Mbps, 94ms  190ms Link 3: 10Mbps, 34ms  70ms Gateway Link 7: 10Mbps, 1ms

Tilo Hamann 4 New-ECN connections (Test 10) TCP3: 70ms TCP4: 190ms TCP2: 30ms TCP1: 4ms TCP2: 30ms TCP3: 70ms TCP4: 190ms

Tilo Hamann 4 New-ECN vs. 4 ECN connections (Test 7) New-ECN 190ms 30ms 4ms 70ms

Tilo Hamann TCP-Friendliness (1) (Test 8) Link 1: 10Mbps, 14ms  30ms Gateway Link 7: 5Mbps, 1ms ECN New-ECN

Tilo Hamann TCP-Friendliness (2) (Test 1) New-ECN 30ms 70ms 4ms 30ms 4ms

Tilo Hamann TCP-Friendliness (3) (Test 2) New-ECN 30ms 70ms 4ms 30ms 4ms

Tilo Hamann 4 New-ECN connections (2) (Test 9) 70ms 30ms 190ms 4ms 30ms 70ms 4ms 190ms

Tilo Hamann 4 New-ECN connections (3) (Test 9) 70ms 30ms 190ms 4ms 30ms 70ms 4ms 190ms

Tilo Hamann New-ECN: some numbers 4 New-ECN TCP connections: –Fairnessindex: –TCP-Friendliness (Test 8): 4 ECN TCP connections: –Fairnessindex:

Tilo Hamann New-ECN: some numbers (2) seems to be proportional to RTT  with 1<  <2 – where and –  is ranges over 1 to a few RTT  t

Tilo Hamann Conclusions It is possible to achieve fairness by using the congestion feedback provided by ECN New-ECN seems to be TCP friendly Some potential problems: –How to choose the design parameters? –Interaction between TCP-Reno and New-ECN TCP Future work: –multiple congested gateways –more congestion indication bits? ECN Home-Page: –