A Roadmap for Transmission Control Protocol (TCP) Specification Documents
8. Undocumented TCP Features
There are a few important implementation tactics for the TCP that
have not yet been described in any RFC. Although this roadmap is
primarily concerned with mapping the TCP RFCs, this section is
included because an implementer needs to be aware of these important
Header prediction is a trick to speed up the processing of
segments. Van Jacobson and Mike Karels developed the technique in
the late 1980s. The basic idea is that some processing time can
be saved when most of a segment's fields can be predicted from
previous segments. A good description of this was sent to the
TCP-IP mailing list by Van Jacobson on March 9, 1988 (see
[ Jacobson] for the full message):
Quite a bit of the speedup comes from an algorithm that we
('we' refers to collaborator Mike Karels and myself) are
calling "header prediction". The idea is that if you're in the
middle of a bulk data transfer and have just seen a packet, you
know what the next packet is going to look like: It will look
just like the current packet with either the sequence number or
ack number updated (depending on whether you're the sender or
receiver). Combining this with the "Use hints" epigram from
Butler Lampson's classic "Epigrams for System Designers", you
start to think of the tcp state (rcv.nxt, snd.una, etc.) as
"hints" about what the next packet should look like.
If you arrange those "hints" so they match the layout of a tcp
packet header, it takes a single 14-byte compare to see if your
prediction is correct (3 longword compares to pick up the send
& ack sequence numbers, header length, flags and window, plus a
short compare on the length). If the prediction is correct,
there's a single test on the length to see if you're the sender
or receiver followed by the appropriate processing. E.g., if
the length is non-zero (you're the receiver), checksum and
append the data to the socket buffer then wake any process
that's sleeping on the buffer. Update rcv.nxt by the length of
this packet (this updates your "prediction" of the next
packet). Check if you can handle another packet the same size
as the current one. If not, set one of the unused flag bits in
your header prediction to guarantee that the prediction will
fail on the next packet and force you to go through full
protocol processing. Otherwise, you're done with this packet.
So, the *total* tcp protocol processing, exclusive of
checksumming, is on the order of 6 compares and an add.
Forward Acknowledgement (FACK)
MM96] includes an alternate algorithm for triggering fast
retransmit [ RFC5681], based on the extent of the SACK scoreboard.
Its goal is to trigger fast retransmit as soon as the receiver's
reassembly queue is larger than the duplicate ACK threshold, as
indicated by the difference between the forward most SACK block
edge and SND.UNA. This algorithm quickly and reliably triggers
fast retransmit in the presence of burst losses -- often on the
first SACK following such a loss. Such a threshold-based
algorithm also triggers fast retransmit immediately in the
presence of any reordering with extent greater than the duplicate
ACK threshold. FACK is implemented in Linux and turned on per
Congestion Control for High Rate Flows
In the last decade significant research effort has been put into
experimental TCP congestion control modifications for obtaining
high throughput with reduced startup and recovery times. Only a
few RFCs have been published on some of these modifications,
including HighSpeed TCP [ RFC3649], Limited Slow-Start [ RFC3742],
and Quick-Start [ RFC4782] (see Section 4.3 of this document for
more information on each), but high-rate congestion control
mechanisms are still considered an open issue in congestion
control research. Some other schemes have been published as
Internet-Drafts, e.g. CUBIC [ CUBIC] (the standard TCP congestion
control algorithm in Linux), Compound TCP [ CTCP], and H-TCP [ HTCP]
or have been discussed a little by the IETF, but much of the work
in this area has not been adopted within the IETF yet, so the
majority of this work is outside the RFC series and may be
discussed in other products of the IRTF Internet Congestion
Control Research Group (ICCRG).
9. Security Considerations
This document introduces no new security considerations. Each RFC
listed in this document attempts to address the security
considerations of the specification it contains.
10.1. Normative References
[RFC675] Cerf, V., Dalal, Y., and C. Sunshine, "Specification of
Internet Transmission Control Program", RFC 675, December
1974, < http://www.rfc-editor.org/info/rfc675>.
[RFC700] Mader, E., Plummer, W., and R. Tomlinson, "Protocol
experiment", RFC 700, August 1974,
[RFC721] Garlick, L., "Out-of-Band Control Signals in a Host-to-
Host Protocol", RFC 721, September 1976,
[RFC761] Postel, J., "DoD standard Transmission Control Protocol",
RFC 761, January 1980,
[RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC
793, September 1981,
[RFC794] Cerf, V., "Pre-emption", RFC 794, September 1981,
[RFC813] Clark, D., "Window and Acknowledgement Strategy in TCP",
RFC 813, July 1982,
[RFC814] Clark, D., "Name, addresses, ports, and routes", RFC 814,
July 1982, < http://www.rfc-editor.org/info/rfc814>.
[RFC816] Clark, D., "Fault isolation and recovery", RFC 816, July
1982, < http://www.rfc-editor.org/info/rfc816>.
[RFC817] Clark, D., "Modularity and efficiency in protocol
implementation", RFC 817, July 1982,
[RFC872] Padlipsky, M., "TCP-on-a-LAN", RFC 872, September 1982,
[RFC879] Postel, J., "TCP maximum segment size and related topics",
RFC 879, November 1983,
[RFC889] Mills, D., "Internet delay experiments", RFC 889, December
1983, < http://www.rfc-editor.org/info/rfc889>.
[RFC896] Nagle, J., "Congestion control in IP/TCP internetworks",
RFC 896, January 1984,
[RFC964] Sidhu, D. and T. Blumer, "Some problems with the
specification of the Military Standard Transmission
Control Protocol", RFC 964, November 1985,
[RFC1071] Braden, R., Borman, D., Partridge, C., and W. Plummer,
"Computing the Internet checksum", RFC 1071, September
1988, < http://www.rfc-editor.org/info/rfc1071>.
[RFC1078] Lottor, M., "TCP port service Multiplexer (TCPMUX)", RFC
1078, November 1988,
[RFC1106] Fox, R., "TCP big window and NAK options", RFC 1106, June
1989, < http://www.rfc-editor.org/info/rfc1106>.
[RFC1110] McKenzie, A., "Problem with the TCP big window option",
RFC 1110, August 1989,
[RFC1122] Braden, R., "Requirements for Internet Hosts -
Communication Layers", STD 3, RFC 1122, October 1989,
[RFC1144] Jacobson, V., "Compressing TCP/IP headers for low-speed
serial links", RFC 1144, February 1990,
[RFC1146] Zweig, J. and C. Partridge, "TCP alternate checksum
options", RFC 1146, March 1990,
[RFC1156] McCloghrie, K. and M. Rose, "Management Information Base
for network management of TCP/IP-based internets", RFC
1156, May 1990, < http://www.rfc-editor.org/info/rfc1156>.
[RFC1180] Socolofsky, T. and C. Kale, "TCP/IP tutorial", RFC 1180,
January 1991, < http://www.rfc-editor.org/info/rfc1180>.
[RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191,
November 1990, < http://www.rfc-editor.org/info/rfc1191>.
[RFC1213] McCloghrie, K. and M. Rose, "Management Information Base
for Network Management of TCP/IP-based internets:MIB-II",
STD 17, RFC 1213, March 1991,
[RFC1263] O'Malley, S. and L. Peterson, "TCP Extensions Considered
Harmful", RFC 1263, October 1991,
[RFC1337] Braden, B., "TIME-WAIT Assassination Hazards in TCP", RFC
1337, May 1992, < http://www.rfc-editor.org/info/rfc1337>.
[RFC1379] Braden, B., "Extending TCP for Transactions -- Concepts",
RFC 1379, November 1992,
[RFC1470] Enger, R. and J. Reynolds, "FYI on a Network Management
Tool Catalog: Tools for Monitoring and Debugging TCP/IP
Internets and Interconnected Devices", RFC 1470, June
1993, < http://www.rfc-editor.org/info/rfc1470>.
[RFC1624] Rijsinghani, A., "Computation of the Internet Checksum via
Incremental Update", RFC 1624, May 1994,
[RFC1644] Braden, B., "T/TCP -- TCP Extensions for Transactions
Functional Specification", RFC 1644, July 1994,
[RFC1693] Connolly, T., Amer, P., and P. Conrad, "An Extension to
TCP : Partial Order Service", RFC 1693, November 1994,
[RFC1705] Carlson, R. and D. Ficarella, "Six Virtual Inches to the
Left: The Problem with IPng", RFC 1705, October 1994,
[RFC1936] Touch, J. and B. Parham, "Implementing the Internet
Checksum in Hardware", RFC 1936, April 1996,
[RFC1958] Carpenter, B., "Architectural Principles of the Internet",
RFC 1958, June 1996,
[RFC1981] McCann, J., Deering, S., and J. Mogul, "Path MTU Discovery
for IP version 6", RFC 1981, August 1996,
[RFC2012] McCloghrie, K., "SNMPv2 Management Information Base for
the Transmission Control Protocol using SMIv2", RFC 2012,
November 1996, < http://www.rfc-editor.org/info/rfc2012>.
[RFC2018] Mathis, M., Mahdavi, J., Floyd, S., and A. Romanow, "TCP
Selective Acknowledgment Options", RFC 2018, October 1996,
[RFC2140] Touch, J., "TCP Control Block Interdependence", RFC 2140,
April 1997, < http://www.rfc-editor.org/info/rfc2140>.
[RFC2398] Parker, S. and C. Schmechel, "Some Testing Tools for TCP
Implementors", RFC 2398, August 1998,
[RFC2415] Poduri, K., "Simulation Studies of Increased Initial TCP
Window Size", RFC 2415, September 1998,
[RFC2416] Shepard, T. and C. Partridge, "When TCP Starts Up With
Four Packets Into Only Three Buffers", RFC 2416, September
1998, < http://www.rfc-editor.org/info/rfc2416>.
[RFC2452] Daniele, M., "IP Version 6 Management Information Base for
the Transmission Control Protocol", RFC 2452, December
1998, < http://www.rfc-editor.org/info/rfc2452>.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998,
[RFC2488] Allman, M., Glover, D., and L. Sanchez, "Enhancing TCP
Over Satellite Channels using Standard Mechanisms", BCP
28, RFC 2488, January 1999,
[RFC2525] Paxson, V., Dawson, S., Fenner, W., Griner, J., Heavens,
I., Lahey, K., Semke, J., and B. Volz, "Known TCP
Implementation Problems", RFC 2525, March 1999,
[RFC2675] Borman, D., Deering, S., and R. Hinden, "IPv6 Jumbograms",
RFC 2675, August 1999,
[RFC2757] Montenegro, G., Dawkins, S., Kojo, M., Magret, V., and N.
Vaidya, "Long Thin Networks", RFC 2757, January 2000,
[RFC2760] Allman, M., Dawkins, S., Glover, D., Griner, J., Tran, D.,
Henderson, T., Heidemann, J., Touch, J., Kruse, H.,
Ostermann, S., Scott, K., and J. Semke, "Ongoing TCP
Research Related to Satellites", RFC 2760, February 2000,
[RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For
Values In the Internet Protocol and Related Headers", BCP
37, RFC 2780, March 2000,
[RFC2861] Handley, M., Padhye, J., and S. Floyd, "TCP Congestion
Window Validation", RFC 2861, June 2000,
[RFC2873] Xiao, X., Hannan, A., Paxson, V., and E. Crabbe, "TCP
Processing of the IPv4 Precedence Field", RFC 2873, June
2000, < http://www.rfc-editor.org/info/rfc2873>.
[RFC2883] Floyd, S., Mahdavi, J., Mathis, M., and M. Podolsky, "An
Extension to the Selective Acknowledgement (SACK) Option
for TCP", RFC 2883, July 2000,
[RFC2884] Hadi Salim, J. and U. Ahmed, "Performance Evaluation of
Explicit Congestion Notification (ECN) in IP Networks",
RFC 2884, July 2000,
[RFC2914] Floyd, S., "Congestion Control Principles", BCP 41, RFC
2914, September 2000,
[RFC2923] Lahey, K., "TCP Problems with Path MTU Discovery", RFC
2923, September 2000,
[RFC3042] Allman, M., Balakrishnan, H., and S. Floyd, "Enhancing
TCP's Loss Recovery Using Limited Transmit", RFC 3042,
January 2001, < http://www.rfc-editor.org/info/rfc3042>.
[RFC3124] Balakrishnan, H. and S. Seshan, "The Congestion Manager",
RFC 3124, June 2001,
[RFC3135] Border, J., Kojo, M., Griner, J., Montenegro, G., and Z.
Shelby, "Performance Enhancing Proxies Intended to
Mitigate Link-Related Degradations", RFC 3135, June 2001,
[RFC3150] Dawkins, S., Montenegro, G., Kojo, M., and V. Magret,
"End-to-end Performance Implications of Slow Links", BCP
48, RFC 3150, July 2001,
[RFC3155] Dawkins, S., Montenegro, G., Kojo, M., Magret, V., and N.
Vaidya, "End-to-end Performance Implications of Links with
Errors", BCP 50, RFC 3155, August 2001,
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
of Explicit Congestion Notification (ECN) to IP", RFC
3168, September 2001,
[RFC3360] Floyd, S., "Inappropriate TCP Resets Considered Harmful",
BCP 60, RFC 3360, August 2002,
[RFC3366] Fairhurst, G. and L. Wood, "Advice to link designers on
link Automatic Repeat reQuest (ARQ)", BCP 62, RFC 3366,
August 2002, < http://www.rfc-editor.org/info/rfc3366>.
[RFC3390] Allman, M., Floyd, S., and C. Partridge, "Increasing TCP's
Initial Window", RFC 3390, October 2002,
[RFC3439] Bush, R. and D. Meyer, "Some Internet Architectural
Guidelines and Philosophy", RFC 3439, December 2002,
[RFC3449] Balakrishnan, H., Padmanabhan, V., Fairhurst, G., and M.
Sooriyabandara, "TCP Performance Implications of Network
Path Asymmetry", BCP 69, RFC 3449, December 2002,
[RFC3465] Allman, M., "TCP Congestion Control with Appropriate Byte
Counting (ABC)", RFC 3465, February 2003,
[RFC3481] Inamura, H., Montenegro, G., Ludwig, R., Gurtov, A., and
F. Khafizov, "TCP over Second (2.5G) and Third (3G)
Generation Wireless Networks", BCP 71, RFC 3481, February
2003, < http://www.rfc-editor.org/info/rfc3481>.
[RFC3493] Gilligan, R., Thomson, S., Bound, J., McCann, J., and W.
Stevens, "Basic Socket Interface Extensions for IPv6", RFC
3493, February 2003,
[RFC3522] Ludwig, R. and M. Meyer, "The Eifel Detection Algorithm
for TCP", RFC 3522, April 2003,
[RFC3540] Spring, N., Wetherall, D., and D. Ely, "Robust Explicit
Congestion Notification (ECN) Signaling with Nonces", RFC
3540, June 2003, < http://www.rfc-editor.org/info/rfc3540>.
[RFC3649] Floyd, S., "HighSpeed TCP for Large Congestion Windows",
RFC 3649, December 2003,
[RFC3708] Blanton, E. and M. Allman, "Using TCP Duplicate Selective
Acknowledgement (DSACKs) and Stream Control Transmission
Protocol (SCTP) Duplicate Transmission Sequence Numbers
(TSNs) to Detect Spurious Retransmissions", RFC 3708,
February 2004, < http://www.rfc-editor.org/info/rfc3708>.
[RFC3742] Floyd, S., "Limited Slow-Start for TCP with Large
Congestion Windows", RFC 3742, March 2004,
[RFC3819] Karn, P., Bormann, C., Fairhurst, G., Grossman, D.,
Ludwig, R., Mahdavi, J., Montenegro, G., Touch, J., and L.
Wood, "Advice for Internet Subnetwork Designers", BCP 89,
RFC 3819, July 2004,
[RFC4015] Ludwig, R. and A. Gurtov, "The Eifel Response Algorithm
for TCP", RFC 4015, February 2005,
[RFC4022] Raghunarayan, R., "Management Information Base for the
Transmission Control Protocol (TCP)", RFC 4022, March
2005, < http://www.rfc-editor.org/info/rfc4022>.
[RFC4653] Bhandarkar, S., Reddy, A., Allman, M., and E. Blanton,
"Improving the Robustness of TCP to Non-Congestion
Events", RFC 4653, August 2006,
[RFC4727] Fenner, B., "Experimental Values In IPv4, IPv6, ICMPv4,
ICMPv6, UDP, and TCP Headers", RFC 4727, November 2006,
[RFC4774] Floyd, S., "Specifying Alternate Semantics for the
Explicit Congestion Notification (ECN) Field", BCP 124,
RFC 4774, November 2006,
[RFC4782] Floyd, S., Allman, M., Jain, A., and P. Sarolahti, "Quick-
Start for TCP and IP", RFC 4782, January 2007,
[RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU
Discovery", RFC 4821, March 2007,
[RFC4898] Mathis, M., Heffner, J., and R. Raghunarayan, "TCP
Extended Statistics MIB", RFC 4898, May 2007,
[RFC4953] Touch, J., "Defending TCP Against Spoofing Attacks", RFC
4953, July 2007, < http://www.rfc-editor.org/info/rfc4953>.
[RFC4987] Eddy, W., "TCP SYN Flooding Attacks and Common
Mitigations", RFC 4987, August 2007,
[RFC5033] Floyd, S. and M. Allman, "Specifying New Congestion
Control Algorithms", BCP 133, RFC 5033, August 2007,
[RFC5166] Floyd, S., "Metrics for the Evaluation of Congestion
Control Mechanisms", RFC 5166, March 2008,
[RFC5461] Gont, F., "TCP's Reaction to Soft Errors", RFC 5461,
February 2009, < http://www.rfc-editor.org/info/rfc5461>.
[RFC5482] Eggert, L. and F. Gont, "TCP User Timeout Option", RFC
5482, March 2009,
[RFC5562] Kuzmanovic, A., Mondal, A., Floyd, S., and K.
Ramakrishnan, "Adding Explicit Congestion Notification
(ECN) Capability to TCP's SYN/ACK Packets", RFC 5562, June
2009, < http://www.rfc-editor.org/info/rfc5562>.
[RFC5681] Allman, M., Paxson, V., and E. Blanton, "TCP Congestion
Control", RFC 5681, September 2009,
[RFC5682] Sarolahti, P., Kojo, M., Yamamoto, K., and M. Hata,
"Forward RTO-Recovery (F-RTO): An Algorithm for Detecting
Spurious Retransmission Timeouts with TCP", RFC 5682,
September 2009, < http://www.rfc-editor.org/info/rfc5682>.
[RFC5690] Floyd, S., Arcia, A., Ros, D., and J. Iyengar, "Adding
Acknowledgement Congestion Control to TCP", RFC 5690,
February 2010, < http://www.rfc-editor.org/info/rfc5690>.
[RFC5783] Welzl, M. and W. Eddy, "Congestion Control in the RFC
Series", RFC 5783, February 2010,
[RFC5827] Allman, M., Avrachenkov, K., Ayesta, U., Blanton, J., and
P. Hurtig, "Early Retransmit for TCP and Stream Control
Transmission Protocol (SCTP)", RFC 5827, May 2010,
[RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP
Authentication Option", RFC 5925, June 2010,
[RFC5926] Lebovitz, G. and E. Rescorla, "Cryptographic Algorithms
for the TCP Authentication Option (TCP-AO)", RFC 5926,
June 2010, < http://www.rfc-editor.org/info/rfc5926>.
[RFC5927] Gont, F., "ICMP Attacks against TCP", RFC 5927, July 2010,
[RFC5961] Ramaiah, A., Stewart, R., and M. Dalal, "Improving TCP's
Robustness to Blind In-Window Attacks", RFC 5961, August
2010, < http://www.rfc-editor.org/info/rfc5961>.
[RFC6013] Simpson, W., "TCP Cookie Transactions (TCPCT)", RFC 6013,
January 2011, < http://www.rfc-editor.org/info/rfc6013>.
[RFC6056] Larsen, M. and F. Gont, "Recommendations for Transport-
Protocol Port Randomization", BCP 156, RFC 6056, January
2011, < http://www.rfc-editor.org/info/rfc6056>.
[RFC6069] Zimmermann, A. and A. Hannemann, "Making TCP More Robust
to Long Connectivity Disruptions (TCP-LCD)", RFC 6069,
December 2010, < http://www.rfc-editor.org/info/rfc6069>.
[RFC6077] Papadimitriou, D., Welzl, M., Scharf, M., and B. Briscoe,
"Open Research Issues in Internet Congestion Control", RFC
6077, February 2011,
[RFC6093] Gont, F. and A. Yourtchenko, "On the Implementation of the
TCP Urgent Mechanism", RFC 6093, January 2011,
[RFC6181] Bagnulo, M., "Threat Analysis for TCP Extensions for
Multipath Operation with Multiple Addresses", RFC 6181,
March 2011, < http://www.rfc-editor.org/info/rfc6181>.
[RFC6182] Ford, A., Raiciu, C., Handley, M., Barre, S., and J.
Iyengar, "Architectural Guidelines for Multipath TCP
Development", RFC 6182, March 2011,
[RFC6191] Gont, F., "Reducing the TIME-WAIT State Using TCP
Timestamps", BCP 159, RFC 6191, April 2011,
[RFC6247] Eggert, L., "Moving the Undeployed TCP Extensions RFC
1072, RFC 1106, RFC 1110, RFC 1145, RFC 1146, RFC 1379,
RFC 1644, and RFC 1693 to Historic Status", RFC 6247, May
2011, < http://www.rfc-editor.org/info/rfc6247>.
[RFC6298] Paxson, V., Allman, M., Chu, J., and M. Sargent,
"Computing TCP's Retransmission Timer", RFC 6298, June
2011, < http://www.rfc-editor.org/info/rfc6298>.
[RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S.
Cheshire, "Internet Assigned Numbers Authority (IANA)
Procedures for the Management of the Service Name and
Transport Protocol Port Number Registry", BCP 165, RFC
6335, August 2011,
[RFC6349] Constantine, B., Forget, G., Geib, R., and R. Schrage,
"Framework for TCP Throughput Testing", RFC 6349, August
2011, < http://www.rfc-editor.org/info/rfc6349>.
[RFC6356] Raiciu, C., Handley, M., and D. Wischik, "Coupled
Congestion Control for Multipath Transport Protocols", RFC
6356, October 2011,
[RFC6429] Bashyam, M., Jethanandani, M., and A. Ramaiah, "TCP Sender
Clarification for Persist Condition", RFC 6429, December
2011, < http://www.rfc-editor.org/info/rfc6429>.
[RFC6528] Gont, F. and S. Bellovin, "Defending against Sequence
Number Attacks", RFC 6528, February 2012,
[RFC6582] Henderson, T., Floyd, S., Gurtov, A., and Y. Nishida, "The
NewReno Modification to TCP's Fast Recovery Algorithm",
RFC 6582, April 2012,
[RFC6633] Gont, F., "Deprecation of ICMP Source Quench Messages",
RFC 6633, May 2012,
[RFC6675] Blanton, E., Allman, M., Wang, L., Jarvinen, I., Kojo, M.,
and Y. Nishida, "A Conservative Loss Recovery Algorithm
Based on Selective Acknowledgment (SACK) for TCP", RFC
6675, August 2012,
[RFC6691] Borman, D., "TCP Options and Maximum Segment Size (MSS)",
RFC 6691, July 2012,
[RFC6824] Ford, A., Raiciu, C., Handley, M., and O. Bonaventure,
"TCP Extensions for Multipath Operation with Multiple
Addresses", RFC 6824, January 2013,
[RFC6846] Pelletier, G., Sandlund, K., Jonsson, L-E., and M. West,
"RObust Header Compression (ROHC): A Profile for TCP/IP
(ROHC-TCP)", RFC 6846, January 2013,
[RFC6897] Scharf, M. and A. Ford, "Multipath TCP (MPTCP) Application
Interface Considerations", RFC 6897, March 2013,
[RFC6928] Chu, J., Dukkipati, N., Cheng, Y., and M. Mathis,
"Increasing TCP's Initial Window", RFC 6928, April 2013,
[RFC6937] Mathis, M., Dukkipati, N., and Y. Cheng, "Proportional
Rate Reduction for TCP", RFC 6937, May 2013,
[RFC6994] Touch, J., "Shared Use of Experimental TCP Options", RFC
6994, August 2013,
[RFC7323] Borman, D., Braden, B., Jacobson, V., and R.
Scheffenegger, "TCP Extensions for High Performance", RFC
7323, September 2014,
[RFC7413] Cheng, Y., Chu, J., Radhakrishnan, S., and A. Jain, "TCP
Fast Open", RFC 7413, December 2014,
10.2. Informative References
[CK73] Cerf, V. and R. Kahn, "Towards Protocols for Internetwork
Communication", IFIP/TC6.1, NIC 18764, INWG 39, September
[CTCP] Sridharan, M., Tan, K., Bansal, D., and D. Thaler,
"Compound TCP: A New TCP Congestion Control for High-Speed
and Long Distance Networks", Work in Progress,
draft-sridharan-tcpm-ctcp-02, November 2008.
[CUBIC] Rhee, I., Xu, L., and S. Ha, "CUBIC for Fast Long-Distance
Networks", Work in Progress, draft-rhee-tcpm-cubic-02,
[Errata] RFC Editor, "RFC Errata",
[HTCP] Leith, D., "H-TCP: TCP Congestion Control for High
Bandwidth-Delay Product Paths", Work in Progress,
draft-leith-tcp-htcp-06, April 2008.
[JK92] Jacobson, V. and M. Karels, "Congestion Avoidance and
Control", November 1992,
[Jac88] Jacobson, V., "Congestion Avoidance and Control", ACM
SIGCOMM 1988 Proceedings, in ACM Computer Communication
Review, 18 (4), pp. 314-329, August 1988.
[Jacobson] Jacobson, V., "TCP-IP Mailing List", Article 167 of
comp.protocols.tcp-ip, March 1988,
[KP87] Karn, P. and C. Partridge, "Round Trip Time Estimation",
ACM SIGCOMM 1987 Proceedings, in ACM Computer
Communication Review, 17 (5), pp. 2-7, August 1987.
[MAF04] Medina, A., Allman, M., and S. Floyd, "Measuring the
Evolution of Transport Protocols in the Internet", ACM
Computer Communication Review, 35 (2), April 2005.
[MM96] Mathis, M. and J. Mahdavi, "Forward Acknowledgement:
Refining TCP Congestion Control", ACM SIGCOMM 1996
Proceedings, in ACM Computer Communication Review 26 (4),
pp. 281-292, October 1996.
[RFC1016] Prue, W. and J. Postel, "Something a host could do with
source quench: The Source Quench Introduced Delay
(SQuID)", RFC 1016, July 1987,
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
3", BCP 9, RFC 2026, October 1996,
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997,
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474, December
1998, < http://www.rfc-editor.org/info/rfc2474>.
[RFC3758] Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P.
Conrad, "Stream Control Transmission Protocol (SCTP)
Partial Reliability Extension", RFC 3758, May 2004,
[RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram
Congestion Control Protocol (DCCP)", RFC 4340, March 2006,
[RFC4341] Floyd, S. and E. Kohler, "Profile for Datagram Congestion
Control Protocol (DCCP) Congestion Control ID 2: TCP-like
Congestion Control", RFC 4341, March 2006,
[RFC6115] Li, T., "Recommendation for a Routing Architecture", RFC
6115, February 2011,
[SCWA99] Savage, S., Cardwell, N., Wetherall, D., and T. Anderson,
"TCP Congestion Control with a Misbehaving Receiver", ACM
Computer Communication Review, 29 (5), pp. 71-78, October
This document grew out of a discussion on the end2end-interest
mailing list, the public list of the End-to-End Research Group of the
IRTF, and continued development under the IETF's TCP Maintenance and
Minor Extensions (TCPM) working group. We thank Mark Allman, Yuchung
Cheng, Ted Faber, Gorry Fairhurst, Sally Floyd, Janardhan Iyengar,
Reiner Ludwig, Pekka Savola, and Joe Touch for their contributions,
in particular. Keith McCloghrie provided some useful notes and
clarification on the various MIB-related RFCs.
401 Elliott Ave W
Seattle, WA 98119
USC Information Sciences Institute
Marina del Rey, CA 90292-6695
Wesley M. Eddy
18013 Cleveland Parkway
Cleveland, OH 44135
Phone: +49 89 900594712
© 2005-2018 Tech-invite, All Rights Reserved.