[e2e] Transport Protocol Road Map(s)

Duke, Martin martin.duke at boeing.com
Thu Sep 18 14:37:12 PDT 2003


Here's a go at categorizing all the TCP RFCs.  I would be interested in
feedback, specifically:

(1) Whether all necessary categories are present, and all RFCs are in
the correct category.

(2) Any notes about the extent of fielding of the various proposals.

(3) Any missing RFCs

(4) Further comments to summarize the individual RFCs.

-Martin
--------------------------------

Summary of TCP RFCs

ABSTRACT

This Document lists the Requests for Comment (RFC) of importance to
implementers of TCP.   An effort has been made to exclude RFCs that are
obsolete or irrelevant, while  distinguishing standards that MUST be
followed by TCP from various proposals that MAY be  implemented.


I. INTRODUCTION

This document consists of three parts:

(1) A list of the RFCs that lay out the basic specifications for TCP;

(2) A list of various proposals, some of which are broadly deployed in
the internet,  that are alive in the IETF and that may be implemented in
some TCP stacks;

(3) Studies of TCP performance in specific environments, often with
prescriptions; and

(4) Tutorials and tools for the TCP implementor.




II. STANDARDS

0793 "Transmission Control Protocol" (Sep 81): The core document that
describes the core  semantics of data transmission and acknowledgement.

1122 "Requirements for Internet Hosts - Communication Layers" (Oct 89):
update and  clarification of RFC 793.

1213 "Management Information Base for Network Management of TCP/IP-based
internets:MIB-II" (Mar 91): the data fields that a TCP implementation is
required to  keep track of.

2581 "TCP Congestion Control" (Apr 99): Latest version of standards in
sender rate  control.
[Ed. note: Technically listed as a "Proposed Standard", although it's
pretty universal.   Should it be Standard?]

2988 "Computing TCP's Retransmission Timer" (Nov 00): specifies
algorithm for computing  the RTO. [Ed. note: also "proposed"]




III. EXTENSIONS

1144 "Compressing TCP/IP headers for low-speed serial links" (Feb 90):
not many people  have this problem anymore.

1146 "TCP alternate checksum options" (Mar 90): for those who insist
that the standard  checksum algorithm is insufficiently robust.

1323 "TCP Extensions for High Performance" (May 92): introduces window
scaling,  timestamps, and protection against wrapped sequence numbers
for long, fat pipes.   Implemented in Linux and BSD; a non-default
option in Windows.

1337 "TIME-WAIT Assassination Hazards in TCP" (May 92): resolves some
bad corner cases  at connection close.

1644 "T/TCP -- TCP Extensions for Transactions Functional Specification"
(Jul 94)

1693 "An Extension to TCP: Partial Order Service" (Nov 94): for
applications where total  reliability isn't necessary.

2012 "SNMPv2 Management Information Base for the Transmission Control
Protocol using  SMIv2" (Nov 96): an extension to the MIB to support
IPv6.

2018 "TCP Selective Acknowledgement Options" (Oct 96): introduces SACK.

2140 "TCP Control Block Interdependence" (Apr 97): enables TCP
connections to share  information.  Partially implemented in Linux.

2452 "IP Version 6 Management Information Base for the Transmission
Control Protocol"  (Dec 98): further MIB extensions for IPv6.

2582 "The NewReno Modification to TCP's Fast Recovery Algorithm" (Apr
99): tweaks to  congestion control.

2861 "TCP Congestion Window Validation" (Jun 00): decays congestion
window if it hasn't  been recently utilized.

2873 "TCP Processing of the IPv4 Precendence Field" (Jun 00):  resolves
a conflict  between different uses of bits in the IP header.

2883 "An Extension to the Selective Acknowledgement (SACK) Option for
TCP" (Jul 00):  introduces the concept of duplicate SACK.

3042 "Enhancing TCP's Loss Recovery Using Limited Transmit" (Jan 01): a
means of  avoiding coarse timeouts when the window is small.

3168 "The Addition of Explicit Congestion Notification (ECN) to IP" (Sep
01): a means of  detecting congestion without resorting to loss.

3390 "Increasing TCP'S Initial Window" (Oct 02): starts with a larger
window, given  larger modern bandwidths.

3465 "TCP Congestion Control with Appropriate Byte Counting (ABC)" (Feb
03): congestion  control uses number of bytes acknowledged rather than
number of acknowledgements  received.  Implemented in Linux.

3493 "Basic Socket Interface Extensions for IPv6" (Feb 03)

3517 "A Conservative Selective Acknowledgement (SACK)-based Loss
Recovery Algorithm for  TCP" (Apr 03): tweaks the response to SACK.

3522 "The Eifel Detection Algorithm for TCP" (Apr 03): uses timestamps
to detect  spurious timeouts.

3540 "Robust Explicit Congestion Notificaiton (ECN) signaling with
Nonces" (Jun 03):  re-introduces ECN with security concerns addressed.





IV. CASE STUDIES AND BEST PRACTICE NOTES

2415 "Simulation Studies of Increased Initial TCP Window Size" (Sep 98)

2416 "When TCP Starts Up With Four Packets Into Only Three Buffers" (Sep
98)

2488 "Enhancing TCP Over Satellite Channels using Standard Mechanisms
(Jan 99)

2525 "Known TCP Implementation Problems" (Mar 99)

2760 "Ongoing TCP Research Related to Satellites" (Feb 00)

2884 "Performance Evaluation of Explicit Congestion Notification (ECN)
in IP Networks"  (Jul 00)

2923 "TCP Problems with Path MTU Discovery" (Sep 00)

2963 "A Rate Adaptive Shaper for Differentiated Services" (Oct 2000):
optimizing TCP  performance in the presence of a DiffServ scheme.

3135 "Performance Enhancing Proxies Intended to Mitigate Link-Related
Degradations" (Jun  01)

3155 "End-to-end Performance Implications of Links with Errors" (Aug 01)

3360 "Inappropriate TCP Resets Considered Harmful" (Aug 02)

3449 "TCP Performance Implications of Network Path Asymmetry" (Dec 02)

3481 "TCP over Second (2.5G) and Third (3G) Generation Wireless
Networks" (Feb 03)




V. TOOLS AND TUTORIALS

1180 "TCP/IP tutorial" (Jan 91): the basics

1379 "Extending TCP for Transactions -- Concepts" (Nov 92)

1470 "FYI on a Network Management Tool Catalog: Tools for Monitoring and
Debugging  TCP/IP Internets and Interconnected Devices" (Jun 93)

2151 "A Primer on Internet and TCP/IP Tools and Utilities" (Jun 97)

2398 "Some Testing Tools for TCP Implementors" (Aug 98)




More information about the end2end-interest mailing list