[e2e] RFC List

Duke, Martin martin.duke at boeing.com
Wed Oct 22 08:51:27 PDT 2003


Judging from the lack of comment recently, I think it's time to go to
internet-draft format and go to tsvwg.  Unless there are further
comments, I will do so in a week or so.

Version to be submitted follows.

- Martin

-------------------------------------------

I. INTRODUCTION

This Document provides a roadmp to the Requests for Comment (RFC)
documents relating to TCP.

The intent of this document is twofold.  First, it provides a brief
summary of the  relevant RFC documents that summarize the "state" of
TCP.  Second, it is a snapshot of  the current status of these proposals
so that the community at large can more easily  initiate action to
update the status of old RFCs.


Each RFC number has a letter code after it indicating its category in
the RFC series.
	S - Standards Track
	E - Experimental
	B - Best Current Practice
	I - Informational

The status of each RFC does not necessarily reflect how it is
categorized below.  For  instance, even though RFC 2581 is a "Proposed
Standard," it is virtually universally  employed, and TCP proposals are
informally expected to show that they are fair to the  congestion
control mechanism explained it.  Also, some "Informational" RFCs
actually  contain proposals about ways to change TCP.

A more complete listing of Operating Systems and which TCP options they
support,  although somewhat out of date, is at 
http://www.psc.edu/networking/perf_tune.html#table


II. CORE SPECIFICATION

0793S "Transmission Control Protocol" (Sep 81): The core document that
describes the  semantics of data transmission, reliability, flow
control, multiplexing,  acknowledgement, precedence, and security.

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

1213S "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.

1323S "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.

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

2018S "TCP Selective Acknowledgement Options" (Oct 96): introduces SACK.
Implemented in  Windows and Linux.

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

2581S "TCP Congestion Control" (Apr 99): Latest version of standards in
sender rate  control.

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

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

2988S "Computing TCP's Retransmission Timer" (Nov 00): specifies
algorithm for computing  the RTO.

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

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

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

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


III. IMPLEMENTATION SUGGESTIONS

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

2525I "Known TCP Implementation Problems" (Mar 99)

2757I "Long Thin Networks" (Jan 00): addresses issues with satellite
links.

3150B "End-to-end Performance Implications of Slow Links" (Jul 01)

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

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

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

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


IV. SPECIAL CASES

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

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

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


V. EXPERIMENTAL EXTENSIONS

May one day join the standards track, but currently not recommended for
implementation.

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

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

3465E "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.

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

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


VI. DEPRECATED EXTENSIONS

Extensions that failed to arouse substantial interest, or were found to
be defective.   Ready to be moved to the "Historic" category, as they
are not likely to join the  standards track.

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

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

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

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


VII. CASE STUDIES AND PROTOCOL ANALYSIS

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

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

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

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

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

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

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

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


VIII. TOOLS AND TUTORIALS

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

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

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

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




More information about the end2end-interest mailing list