
TCP OPTION NUMBERS

(last updated 2007-02-15)

The Transmission Control Protocol (TCP) has provision for optional
header fields identified by an option kind field.  Options 0 and 1 are
exactly one octet which is their kind field.  All other options have
their one octet kind field, followed by a one octet length field,
followed by length-2 octets of option data.

Kind   Length   Meaning                           Reference
----   ------   -------------------------------   ---------
  0        -    End of Option List                 [RFC793]
  1        -    No-Operation                       [RFC793]
  2        4    Maximum Segment Size               [RFC793]
  3        3    WSOPT - Window Scale              [RFC1323]
  4        2    SACK Permitted                    [RFC2018]
  5        N    SACK                              [RFC2018]
  6        6    Echo (obsoleted by option 8)      [RFC1072]
  7        6    Echo Reply (obsoleted by option 8)[RFC1072]
  8       10    TSOPT - Time Stamp Option         [RFC1323]
  9        2    Partial Order Connection Permitted[RFC1693]
 10        3    Partial Order Service Profile     [RFC1693]
 11             CC                                [RFC1644]
 12             CC.NEW                            [RFC1644]
 13             CC.ECHO                           [RFC1644]
 14         3   TCP Alternate Checksum Request    [RFC1146]
 15         N   TCP Alternate Checksum Data       [RFC1146]
 16             Skeeter                           [Knowles]
 17             Bubba                             [Knowles]
 18         3   Trailer Checksum Option    [Subbu & Monroe]
 19        18   MD5 Signature Option              [RFC2385]
 20             SCPS Capabilities                   [Scott]
 21		Selective Negative Acknowledgements [Scott]
 22		Record Boundaries                   [Scott]
 23		Corruption experienced              [Scott]
 24		SNAP				 [Sukonnik]
 25		Unassigned (released 12/18/00)
 26             TCP Compression Filter           [Bellovin]
 27          8  Quick-Start Response              [RFC4782]
 28-252         Unassigned
 253         N  RFC3692-style Experiment 1 (*)    [RFC4727]
 254         N  RFC3692-style Experiment 2 (*)    [RFC4727]

(*) It is only appropriate to use these values in explicitly-
    configured experiments; they MUST NOT be shipped as defaults in
    implementations.  See RFC 3692 for details.


TCP ALTERNATE CHECKSUM NUMBERS

Number	Description			Reference
------- ------------------------------- ----------
   0    TCP Checksum                    [RFC-1146]
   1    8-bit Fletchers's algorithm     [RFC-1146]
   2    16-bit Fletchers's algorithm    [RFC-1146]
   3    Redundant Checksum Avoidance    [Kay]


REFERENCES
----------

[KAY] Kay, J. and Pasquale, J., "Measurement, Analysis, and
      Improvement of UDP/IP Throughput for the DECstation 5000,"
      Proceedings of the Winter 1993 Usenix Conference, January 1993
      (available for anonymous FTP in
      ucsd.edu:/pub/csl/fastnet/fastnet.tar.Z). <jkay&ucsd.edu>

[RFC793] Postel, J., "Transmission Control Protocol - DARPA Internet
         Program Protocol Specification", STD 7, RFC 793, DARPA,
         September 1981.

[RFC1323] Jacobson, V., Braden, R., and D. Borman, "TCP Extensions for
          High Performance", RFC 1323, LBL, ISI, Cray Research, May
          1992.

[RFC1072] Jacobson, V., and R. Braden, "TCP Extensions for Long-Delay
          Paths", RFC 1072, LBL, ISI, October 1988. 

[RFC1644] Braden, R. "T/TCP -- TCP Extensions for Transactions
	  Functional Specification", RFC 1644, ISI, July 1994

[RFC1693] Connolly, T., et al, "An Extension to TCP : Partial Order
	  Service", RFC 1693, University of Deleware, November 1994.

[RFC1146] Zweig, J., and C. Partridge, "TCP Alternate Checksum
          Options", RFC 1146, UIUC, BBN, March 1990. 

[RFC2018] Mathis, M., Mahdavi, J., Floyd, S., and Romanow, A., TCP
	  Selective Acknowledgement Options. RFC 2018, April 1996.

[RFC2385] Heffernan, A., "Protection of BGP Sessions via the TCP MD5
          Signature Option", RFC 2385, Cisco Systems, August 1998.

[RFC4727] B. Fenner, "Experimental values In IPv4, IPv6, ICMPv4, ICMPv6,
          UDP and TCP Headers", RFC 4727, November 2006.

[RFC4782] S. Floyd, M. Allman, A. Jain, P. Sarolahti, "Quick-Start 
          for TCP and IP", RFC 4782, January 2007.


PEOPLE
------

[Bellovin] Steve Bellovin, <smb&research.att.com>, March 2000.

[Braden]  Bob Braden, <braden&isi.edu>, March 1995.

[Bridges] Monroe Bridges, <monroe&cup.hp.com>, September 1994.

[Knowles] Stev Knowles, <stev&ftp.com>, March 1995.

[Kay] J. Kay, <jkay&ucsd.edu>, Septermber 1994.

[Scott] Keith Scott <kscott&mitre.org>, February 1999.

[Subbu] Subbu Subramaniam, <subbu&cup.hp.com>, September 1994.

[Sukonnik] Vladimir Sukonnik <vladimir&sitaranetworks.com>, February 1999.

(last updated 2001-05-01)

[]






