TCP modifications for Congestion Exposure

Similar documents
TCP Modifications for Congestion Exposure

TCP modifications for Congestion Exposure

Transparent TCP Timestamps draft-scheffenegger-tcpm-timestampnegotiation-03

Design and Evaluation of Schemes for More Accurate ECN Feedback

More Accurate ECN Feedback in TCP draft-ietf-tcpm-accurate-ecn-04

On the State of ECN and TCP Options on the Internet

TCP SIAD: Congestion Control supporting Low Latency and High Speed

Congestion / Flow Control in TCP

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Outline. History Introduction Packets Association/ Termination Data Transmission concepts Multihoming Streams

TCP Sendbuffer Advertising. Costin Raiciu University Politehnica of Bucharest

Lecture 3: The Transport Layer: UDP and TCP

TCP Enhancements in Linux. Pasi Sarolahti. Berkeley Summer School Outline

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

Networked Systems and Services, Fall 2018 Chapter 3

Networked Systems and Services, Fall 2017 Reliability with TCP

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

CS268: Beyond TCP Congestion Control

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

Your Name: Your student ID number:

An SCTP-Protocol Data Unit with several chunks

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

UNIT IV -- TRANSPORT LAYER

Internet Networking recitation #10 TCP New Reno Vs. Reno

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

Transport Protocols & TCP TCP

TCP Congestion Control

TCP Congestion Control

Transport Layer (Congestion Control)

TCP/IP Protocol Suite 1

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

Transport Layer Review

Congestion Collapse in the 1980s

Transport Layer TCP / UDP

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

Advanced Computer Networks

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Protocols and TCP: Review

Chapter 24. Transport-Layer Protocols

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

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM SOLUTION

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

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22

image 3.8 KB Figure 1.6: Example Web Page

Network Technology 1 5th - Transport Protocol. Mario Lombardo -

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

Model-based Measurements Of Network Loss

State of ECN and improving congestion feedback with AccECN in Linux

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti

Computer Networking Introduction

Chapter III: Transport Layer

Hashing on broken assumptions

Transmission Control Protocol (TCP)

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

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

MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

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

ECE4110, Internetwork Programming, QUIZ 2 - PRACTICE Spring 2006

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

Internet Engineering Task Force (IETF) Request for Comments: B. Briscoe Simula Research Laboratory C. Ralli Telefonica May 2016

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

TCP /IP Fundamentals Mr. Cantu

CSCI Topics: Internet Programming Fall 2008

Washington State University CptS 455 Sample Final Exam (corrected 12/11/2011 to say open notes) A B C

8. TCP Congestion Control

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

TCP Congestion Control 65KB W

Outline. User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Transport layer (cont.) Transport layer. Background UDP.

Networking Technologies and Applications

Stream Control Transmission Protocol

A Survey of Recent Developments of TCP. Sally Floyd ACIRI (AT&T Center for Internet Research at ICSI) October 17, 2001

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

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios

ECE697AA Lecture 3. Today s lecture

ITS323: Introduction to Data Communications

CS321: Computer Networks Congestion Control in TCP

Extensions to FreeBSD Datacenter TCP for Incremental Deployment Support

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

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

CS419: Computer Networks. Lecture 10, Part 2: Apr 11, 2005 Transport: TCP mechanics (RFCs: 793, 1122, 1323, 2018, 2581)

Programming Assignment 3: Transmission Control Protocol

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

The ISP Column An occasional column on things Internet

Intro to LAN/WAN. Transport Layer

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments

ROBUST TCP: AN IMPROVEMENT ON TCP PROTOCOL

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

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

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

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay

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

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

An Issue in NewReno After Fast Recovery. Yoshifumi Nishida

Transcription:

TCP modifications for Congestion Exposure ConEx 82. IETF Taipei November 17, 2011 draft-kuehlewind-conex-tcp-modifications-01 Mirja Kühlewind <mirja.kuehlewind@ikr.uni-stuttgart.de> Richard Scheffenegger <rs@netapp.com>

Sender-side Modifications A ConEx sender MUST... "... expose congestion to the network according to the congestion information received by ECN or based on loss provided by the TCP feedback loop." Only sender-side modifications needed Both half-connections of one TCP connection can enable ConEx independently "... negotiate for both SACK (SACK-Permitted Option in SYN, RFC 2018) and ECN or the more accurate ECN feedback in the TCP handshake if these TCP extension are available at the sender." It s not required to implement more accurate ECN feedback but if available it must be used Timeliness of the ConEx Signals The sender SHOULD sent the ConEx signaling with the next available packet The sender MUST NOT delay the ConEx signal more than one RTT 2

Accounting Congestion Byte-wise Accounting From draft-ietf-conex-abstract-mech: "Within any flow or aggregate of flows, the volume of data (total number of bytes) tagged with ConEx Signals should never be less than the total volume of ECN marked data seen near the receiver." A TCP ConEx sender MUST account congestion byte-wise (and not packet-wise) A ConEx sender MAY only account the TCP payload bytes (if packets are equal sized) The ConEx marked packets as well as the original packets causing the congestion will both contain about the same number of headers Otherwise the sender MUST take the headers into account A ConEx sender MUST mark the respective number of payload bytes in subsequent packets (after the congestion notification) 3

Accounting Congestion ECN-based Congestion feedback Congestion Exposure Gauge (CEG): num. of outstanding bytes with E bit Accurate ECN feedback CEG += min( SMSS*D, acked_bytes ) D is the number of ECN feedback marks (calculation depends on the coding) Classic ECN support 1. Full compliance mode (Only one ECN feedback signal per RTT) CEG += SMSS (whenever the ECE flag toggles from "0" to "1") 2. Simple compatibility mode Set the CWR permanently to force the receiver to signal only one ECE per CE mark Problem with delayed ACKs will cause information loss in high congestion situation Proposed solution: Assume every received marking as M markings (M=2 delayed ACKs) CEG += M*SMSS (for every ECE flag) 3. Advanced compatibility mode Set CWR only on those data segments, that will actually trigger an (delayed) ACK if previous_marked: CEG += min( M*SSMS, acked_bytes ), else: CEG += SMSS 4

Accounting Congestion Loss Detection with/without SACK Loss Exposure Gauge (LEG): number of outstanding bytes with L bit Increase LEG by the size of the TCP payload containing a retransmission (if equal sized packets are sent) L bit is set on subsequent packet Decrease LEG if spurious retransmit have been detected LEG can get negative 5

Setting the ConEx IPv6 Bits 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Option Type Option Length +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ X L E C Reserved +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Setting the X bit All packets carrying payload MUST be marked with the X bit set (including retransmissions) Control packets as pure ACKs (which are not carrying any payload) MUST carry a ConEx Destination Option with the X bit unset No congestion feedback information is available about those packets Should not be taken into account when determining ConEx information 6

Setting the ConEx IPv6 Bits Setting the E Bit and the L Bit As long as the CEG/LEG is positive, ConEx-capable packets MUST be marked with E or respective L and the CEG/LEG is decreased by the TCP payload bytes carried in this packet If the CEG/LEG is negative, the CEG/LEG is drained by one byte with every packet sent out, as ConEx information are only meaningful for a certain time if CEG > 0: CEG -= TCPpayload.length, else: CEG++ if LEG > 0: LEG -= TCPpayload.length, else: LEG++ 7

Setting the ConEx IPv6 Bits Setting C(redit) Bits From draft-ietf-conex-abstract-mech: "The transport SHOULD signal sufficient credit in advance to cover any reasonably expected congestion during its feedback delay." Credits should cover the increase of CWND per RTT (as this can cause congestion) Slow Start (RFC5681 congestion control) Exponential increase means double CWND very RTT Half of the flight size has to be marked Marking of every fourth packet (as credit will not time out during Slow Start phase) Increasing number of losses Can indicate losses incorporated by audit device Sender should send further credits 8

Question? 9