
Transmission Control Protocol (TCP) Option Numbers

(last updated 2007-02-15)

Registries included below:
- TCP Option Kind Numbers
- TCP Alternate Checksum Numbers


Registry Name: TCP Option Kind Numbers
Reference: [RFC2780]
Registration Procedures: IESG Approval or Standards Action

Note:
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.

(*) 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.

Registry:
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 2000-12-18)
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]


Registry Name: TCP Alternate Checksum Numbers
Reference: [RFC1146]
Registration Procedures: Not defined

Registry:
Number  Description                      Reference
------  -------------------------------  ---------
0       TCP Checksum                     [RFC1146]
1       8-bit Fletchers's algorithm      [RFC1146]
2       16-bit Fletchers's algorithm     [RFC1146]
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.

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

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

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

[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.

[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.

[RFC2780] S. Bradner and V. Paxson, "IANA Allocation Guidelines For 
          Values In the Internet Protocol and Related Headers", RFC 2780, 
          March 2000.

[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.


Peopel
------
[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)

[]

