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

Similar documents
An Extension to the Selective Acknowledgement (SACK) Option for TCP

A Report on Some Recent Developments in TCP Congestion Control

A Report on Some Recent Developments in TCP Congestion Control

Chapter 3. Wireless Access of Internet Using TCP/IP A Survey of Issues and Recommendations 3.1 INTRODUCTION

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area

UNIT IV -- TRANSPORT LAYER

On Inter-layer Assumptions

Making TCP Robust Against Delay Spikes

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Communication Networks

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

CE693 Advanced Computer Networks

Chapter III: Transport Layer

RD-TCP: Reorder Detecting TCP

Combating Packet Reordering in Vertical Handoff using Cross-layer Notifications to TCP

Using the ECN Nonce to detect Spurious Loss Events in TCP

ROBUST TCP: AN IMPROVEMENT ON TCP PROTOCOL

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

Computer Networking Introduction

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

Chapter 24. Transport-Layer Protocols

CMPE 257: Wireless and Mobile Networking

Reliable Transport II: TCP and Congestion Control

image 3.8 KB Figure 1.6: Example Web Page

Networked Systems and Services, Fall 2017 Reliability with TCP

Congestion Control for High-Bandwidth-Delay-Product Networks: XCP vs. HighSpeed TCP and QuickStart

Adding Acknowledgement Congestion Control to TCP draft-floyd-tcpm-ackcc-05.txt. Status of this Memo

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

8. TCP Congestion Control

A Proposal to add Explicit Congestion Notification (ECN) to IPv6 and to TCP

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

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

Outline. CS5984 Mobile Computing

SCTP Congestion Window Overgrowth During Changeover

The Present and Future of Congestion Control. Mark Handley

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

Networked Systems and Services, Fall 2018 Chapter 3

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

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

TCP congestion control:

This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79.

Chapter 3 Transport Layer

TCP/IP Protocol Suite 1

Transport Protocols & TCP TCP

Adding Acknowledgement Congestion Control to TCP draft-floyd-tcpm-ackcc-03a.txt. Status of this Memo

Enhancing TCP Throughput over Lossy Links Using ECN-Capable Capable RED Gateways

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

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

Mid Term Exam Results

Impact of transmission errors on TCP performance. Outline. Random Errors

Reliable Transport II: TCP and Congestion Control

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

Evaluating the Eifel Algorithm for TCP in a GPRS Network

Transport Protocols and TCP: Review

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Lecture 3: The Transport Layer: UDP and TCP

Sally Floyd, Mark Handley, and Jitendra Padhye. Sept. 4-6, 2000

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

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

CS268: Beyond TCP Congestion Control

cs/ee 143 Communication Networks

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

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

CSC 8560 Computer Networks: TCP

F-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts

A Survey on Quality of Service and Congestion Control

T Computer Networks II. Transport Issues Contents. TCP and UDP. Congestion Prevention. Motivation for Congestion Control

SCTP Congestion Control: Initial Simulation Studies

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

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

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

Buffer Requirements for Zero Loss Flow Control with Explicit Congestion Notification. Chunlei Liu Raj Jain

Synopsis on. Thesis submitted to Dravidian University for the award of the degree of

Outline Computer Networking. Transport Protocols. Functionality Split. Review 2 Transport Protocols

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

Applied Networks & Security

Improved Selective Acknowledgment Scheme for TCP

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

TCP based Receiver Assistant Congestion Control

Network Working Group Request for Comments: 4774 BCP: 124 November 2006 Category: Best Current Practice

User Datagram Protocol (UDP):

RED behavior with different packet sizes

HighSpeed TCP for Large Congestion Windows draft-floyd-tcp-highspeed-00.txt

Chapter 3 Transport Layer

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

IIP Wireless. Presentation Outline

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

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

SCTP over Satellite Networks

Reliable Transport I: Concepts and TCP Protocol

Chapter 3 Transport Layer

TCP over wireless links

Congestion / Flow Control in TCP

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

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Computer Networks and Data Systems

Problem 7. Problem 8. Problem 9

Network Working Group. Category: Experimental February TCP Congestion Control with Appropriate Byte Counting (ABC)

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Transcription:

A Survey of Recent Developments of TCP Sally Floyd ACIRI (AT&T Center for Internet Research at ICSI) October 17, 2001 IEEE Annual Computer Communications Workshop 1

An overview of this session: This talk: A Survey of Recent Developments of TCP. And an introduction to DCP, a newly-proposed transport protocol. Neil Spring: Robust ECN Signaling with Nonces. Adding ECN Nonces to TCP. Srini Seshan: The Congestion Manager. Sharing congestion control state below the transport layer. Randall Stewart: An Overview of SCTP. A reliable transport protocol accommodating multiple streams. 2

An outline of this talk: Current and future developments for TCP: The Limited Transmit mechanism in TCP. Using D-SACK to detect unnecessary Fast Retransmits, or unnecessary Retransmit Timeouts. The addition of ECN (Explicit Congestion Notification) to TCP. Corruption Notification? Congestion control mechanisms with very large congestion windows? Other developments: DCP: Datagram Control Protocol. A proposed unreliable transport protocol. 3

Themes: Bringing TCP closer to a model of pure AIMD (Additive Increase, Multiplicative Decrease) and exponential backoff of the retransmit timer. Making the indication of congestion more explicit. Modifying TCP s AIMD mechanisms at very high congestion windows? Other transport protocols for other purposes: Other than reliable, in-order delivery. Other than AIMD congestion control. (For this talk, we only consider unicast transport protocols.) 4

Packet The Limited Transmit mechanism in TCP: The problem: unnecessary retransmit timeouts after a loss. 8 7 6 5 4 3 2 1 0-1 "packets" "drops" "acks" "ecn" TCP without Limited Transmit 0 0.5 1 1.5 2 2.5 3 Time There is no response to the duplicate acknowledgement (dup ack) at time 0.5. 5

The Limited Transmit mechanism in TCP: The solution: Limited Transmit, RFC 3042. Send a new packet after the first and second dup acks. Packet 8 7 6 5 4 3 2 1 0-1 "packets" "drops" "acks" "ecn" TCP with Limited Transmit 0 0.5 1 1.5 2 2.5 3 Time A Fast Retransmit can be more effective than a Retransmit Timeout. Limited Transmit is useful for TCPs with small congestion windows. 6

DSACK: Detecting unnecessary Fast Retransmits or Retransmit Timeouts The problem: TCP is not robust to reordered or delayed packets. More that three reordered packets are interpreted as a loss. A long delay is interpreted as a loss. After a loss, a packet is retransmitted, and the window is halved. The solution: make TCP robust to reordered or delayed packets. Part 1: Detect that the packet was delayed or reordered, not lost. Part 2: Undo the unnecessary halving of the window. Part 3: Modify the Dup Ack Threshold or Timeout value as appropriate. 7

Part 1: Detecting that the packet was not lost. Use the D-SACK extension to SACK TCP for the receiver to inform the sender of all duplicate packets received. If the sender retransmitted a packet, and the receiver received two copies of that packet, the sender can infer that the original packet was not lost. [RFC 2883], [Blanton01] Or, use timestamps. Or, define a new RTX bit in TCP packet headers to indicate retransmitted packets, and to report the receipt of retransmitted packets. [Ludwig01] 8

Part 2: Undoing the unnecessary halving of the congestion window. Set the slow start threshold (ssthresh) to the window s value before the halving. Slow-start back up to the old window. 9

Part 3: Modify the Dup Ack Threshold or Timeout value as appropriate. Goal: Most of the Fast Retransmits and Retransmit Timeouts should be for legitimate lost packets. Without waiting unnecessarily long to retransmit a lost packet. Adjust the Dup Ack Threshold after each Fast Retransmit. [Blanton01a] Or, keep track of the history of reordering in the connection, and use this to determine the Dup Ack Threshold. [Zhang, Karp, Floyd] Similar approaches could be used for adjusting the algorithm for setting Retransmit Timeout values. This is still under investigation. [Blanton01a] 10

The Addition of ECN to IP and to TCP: The problem: Packet losses are an expensive form of congestion notification, For the receiver (the packet is not received); For the sender (uncertainties in inferring the congestion signal). The solution: Explicit Corruption Notification (ECN). The router can mark a packet as an indication of congestion. RFC 3168, Proposed Standard. Issue: Why trust the receiver to report the congestion indication? Use the ECN nonce, described in the next talk. 11

Future Work: Corruption Notification The problem: TCP assumes that losses are from congestion, not corruption. Even with ECN, packets can be lost from buffer overflow. Losses can t be assumed to be corruption instead of congestion. The solution: Some form of Corruption Notification? The packet with this header was lost in the network due to corruption, not congestion. Issues: Only the link-level sender knows for sure the packet header of the corrupted packet. The Corruption Notification could arrive at the TCP sender after the packet was already assumed lost. The Corruption Notification message could be spoofed. 12

Future Work: Modified congestion control for large-window TCP The problem: For high windows, TCP requires a *very* low packet drop rate. To fill a 10 Gbps pipe, a TCP with 1500-byte packets requires: A congestion window of 83,333 packets. (Assuming a 100-ms round-trip time.) At most one in 5,000,000,000 packets lost. The solution: Use parallel TCP connections; Or, modify TCP s increase and decrease parameters for high windows. This is research in progress. [Ratnasamy, Floyd, Shenker] For high congestion windows, TCP s increase and decrease parameters could depend on the congestion window: Increasing by more than one packet per round-trip time; Decreasing less than halving the congestion window. 13

DCP: Datagram Control Protocol DCP: a congestion-controlled, unreliable transport protocol. Without in-order, reliable delivery. The application can specify either AIMD-based (like TCP) or equationbased (TFRC) congestion control. Designed to be as minimal as possible, for applications that now use UDP without end-to-end congestion control. This is in the initial stages [Kohler, Handley, Floyd, Padhye]. 14

Why add DCP instead of using an unreliable version of SCTP? For some applications, the AIMD congestion control used by TCP and SCTP is not appropriate. For some applications, unreliable versions of SCTP would involve more overhead that is needed (compared to DCP). 15

Why add DCP when applications could use the Congestion Manager instead? The initial versions of the Congestion Manager (CM) require applications to have their own end-to-end feedback about packet drops and marks. We want to allow applications to choose between AIMD and TFRC congestion control. We don t want the use of end-to-end congestion control for unreliable applications to be contingent on the deployment of CM. 16

References: [Blanton01] Ethan Blanton, Mark Allman, Using TCP DSACKs and SCTP Duplicate TSNs to Detect Spurious Retransmissions, draft-blanton-dsackuse-01.txt, internet-draft, work in progress, August, 2001. [Blanton01a] Ethan Blanton, Mark Allman, Adjusting the Duplicate ACK Threshold to Avoid Spurious Retransmits, draft-blanton-dupack-thresh-adjust- 00.txt, internet-draft, work in progress, July, 2001. [DCP] DCP Web Page, http://www.aciri.org/kohler/dcp/ [ECN] Ramakrishnan, K.K., Floyd, S., and Black, D., The Addition of Explicit Congestion Notification (ECN) to IP., RFC 3168, Proposed Standard, September 2001. [Floyd01] Floyd, S., A Report on Some Recent Developments in TCP Congestion Control. IEEE Communications Magazine, April 2001. 17

[Ludwig01] Reiner Ludwig, TCP Retransmit (RXT) Flag, draft-ludwig-tsvwgtcp-rxt-flag-01.txt, internet-draft, work in progress, July, 2001. [RFC 2883] Floyd, S., Mahdavi, J., Mathis, M., and Podolsky, M.., An Extension to the Selective Acknowledgement (SACK) Option for TCP. RFC 2883, Proposed Standard, July 2000. [RFC 3042] Allman, M., Balakrishnan, H., and Floyd, S., Enhancing TCP s Loss Recovery Using Limited Transmit. RFC 3042, Proposed Standard, January 2001. Papers by Floyd are available from: http://www.aciri.org/floyd/