Transmission Control Protocol (TCP) Parameters

Last Updated

  • 2026-04-24

Available Formats


TCP Option Kind Numbers

Registration Procedure(s)

  • Standards Action or IESG Approval

Reference

  • RFC 2780: IANA Allocation Guidelines For Values In the Internet Protocol and Related Headers

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.

[**] These values have been deployed in the Internet without proper IANA assignment. At some point, these numbers may be officially allocated for some new purpose. It is therefore strongly recommended that implementers migrate to mechanisms with IANA-assigned values to avoid potential issues with their systems or products at a later point.

[***] This value has been deployed on the Internet in ways that are not compatible with the documented use in this IANA allocation.

Note

Values 16-18 were assigned before October 1994 (see RFC 1700), and values 20-26 were assigned between Feb 9, 1999 and May 10, 2000. No further documentation is available.

Available Formats

Kind Length Meaning Reference
0 - End of Option List RFC 9293
1 - No-Operation RFC 9293
2 4 Maximum Segment Size RFC 9293
3 3 Window Scale RFC 7323
4 2 SACK Permitted RFC 2018
5 N SACK RFC 2018
6 6 Echo (obsoleted by option 8) RFC 1072; RFC 6247
7 6 Echo Reply (obsoleted by option 8) RFC 1072; RFC 6247
8 10 Timestamps RFC 7323
9 2 Partial Order Connection Permitted (obsolete) RFC 1693; RFC 6247
10 3 Partial Order Service Profile (obsolete) RFC 1693; RFC 6247
11 CC (obsolete) RFC 1644; RFC 6247
12 CC.NEW (obsolete) RFC 1644; RFC 6247
13 CC.ECHO (obsolete) RFC 1644; RFC 6247
14 3 TCP Alternate Checksum Request (obsolete) RFC 1146; RFC 6247
15 N TCP Alternate Checksum Data (obsolete) RFC 1146; RFC 6247
16 Skeeter Stev Knowles
17 Bubba Stev Knowles
18 3 Trailer Checksum Option Subbu Subramaniam; Monroe Bridges
19 18 MD5 Signature Option (obsoleted by option 29) RFC 2385
20 SCPS Capabilities Keith Scott
21 Selective Negative Acknowledgements Keith Scott
22 Record Boundaries Keith Scott
23 Corruption experienced Keith Scott
24 SNAP Vladimir Sukonnik
25 Unassigned (released 2000-12-18)
26 TCP Compression Filter Steve Bellovin
27 8 Quick-Start Response RFC 4782
28 4 User Timeout Option (also, other known unauthorized use) [***][1] RFC 5482
29 TCP Authentication Option (TCP-AO) RFC 5925
30 N Multipath TCP (MPTCP) RFC 8684
31 Reserved (known unauthorized use without proper IANA assignment) [**]
32 Reserved (known unauthorized use without proper IANA assignment) [**]
33 Reserved (known unauthorized use without proper IANA assignment) [**]
34 variable TCP Fast Open Cookie RFC 7413
35-68 Reserved
69 N Encryption Negotiation (TCP-ENO) RFC 8547
70 Reserved (known unauthorized use without proper IANA assignment) [**]
71-75 Reserved
76 Reserved (known unauthorized use without proper IANA assignment) [**]
77 Reserved (known unauthorized use without proper IANA assignment) [**]
78 Reserved (known unauthorized use without proper IANA assignment) [**]
79-171 Reserved
172 N Accurate ECN Order 0 (AccECN0) RFC 9768
173 Reserved
174 N Accurate ECN Order 1 (AccECN1) RFC 9768
175-252 Reserved
253 N RFC3692-style Experiment 1 (also improperly used for shipping products) [*] RFC 4727
254 N RFC3692-style Experiment 2 (also improperly used for shipping products) [*] RFC 4727

TCP Alternate Checksum Numbers

Registration Procedure(s)

  • Not defined

Reference

  • RFC 1146: TCP alternate checksum options

Available Formats

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 J. Kay

Cryptographic Algorithms for TCP-AO Registration

Registration Procedure(s)

  • RFC Publication After Expert Review

Reference

  • RFC 5926: Cryptographic Algorithms for the TCP Authentication Option (TCP-AO)

Available Formats

Algorithm Reference
SHA1 RFC 5926
AES128 RFC 5926

MPTCP Option Subtypes

Registration Procedure(s)

  • Standards Action

Reference

  • RFC 8684: TCP Extensions for Multipath Operation with Multiple Addresses

Note

This registry specifies the MPTCP Option Subtypes for MPTCP v1, which obsoletes the Experimental MPTCP v0. For the MPTCP v0 subtypes, please refer to RFC 6824.

Available Formats

Value Symbol Name Reference
0x0 MP_CAPABLE Multipath Capable RFC 8684, Section 3.1
0x1 MP_JOIN Join Connection RFC 8684, Section 3.2
0x2 DSS Data Sequence Signal (Data ACK and Data Sequence Mapping) RFC 8684, Section 3.3
0x3 ADD_ADDR Add Address RFC 8684, Section 3.4.1
0x4 REMOVE_ADDR Remove Address RFC 8684, Section 3.4.2
0x5 MP_PRIO Change Subflow Priority RFC 8684, Section 3.3.8
0x6 MP_FAIL Fallback RFC 8684, Section 3.7
0x7 MP_FASTCLOSE Fast Close RFC 8684, Section 3.5
0x8 MP_TCPRST Subflow Reset RFC 8684, Section 3.6
0x9-0xe Unassigned
0xf Reserved for Private Use RFC 8684

MPTCP Handshake Algorithms

Registration Procedure(s)

  • Standards Action

Reference

  • RFC 8684: TCP Extensions for Multipath Operation with Multiple Addresses

Note

This registry specifies the MPTCP Handshake Algorithms for MPTCP v1, which obsoletes the Experimental MPTCP v0. For the MPTCP v0 subtypes, please refer to RFC 6824.

Available Formats

Flag Bit Meaning Reference
A Checksum required RFC 8684, Section 3.1
B Extensibility RFC 8684, Section 3.1
C Do not attempt to establish new subflows to the source address. RFC 8684, Section 3.1
D-G Unassigned
H HMAC-SHA256 RFC 8684, Section 3.2

TCP/UDP Experimental Option Experiment Identifiers (TCP/UDP ExIDs)

Registration Procedure(s)

  • First Come First Served

Reference

  • RFC 6994: Shared Use of Experimental TCP Options
  • RFC 9868: Transport Options for UDP

Note

16-bit ExIDs can be used with either TCP or UDP; 32-bit ExIDs can be used with TCP or their first 16 bits can be used with UDP. Use with each transport (TCP, UDP) is indicated in the protocol column, as defined in RFC 9868.

Note

IANA will record known duplicate uses.

Available Formats

Value Protocol Description Reference
0x00AC TCP TCP ACK Rate Request draft-gomez-tcpm-ack-rate-request-02
0x00BD TCP Bidirectional Traceroute Kevin Vermeulen
0x0348 TCP HOST_ID RFC 7974
0x0A0D TCP Autonomous System Compensation draft-donnerhacke-linktax-02
0x0CA0 TCP TCP Capability Option draft-boucadair-tcpm-capability-option-00
0x0ED0 TCP Extended Data Offset draft-ietf-tcpm-tcp-edo-00
0x454E TCP TCP-ENO [2] RFC 8547
0x6F7D TCP SCONE-TCP draft-eddy-tcpm-scone-01
0x75ECFFEE TCP Timestamp Interval draft-trammell-tcpm-timestamp-interval-00
0xACC0 TCP AccECN Experimental Option - Order 0 (current and new implementations SHOULD use option kind 172) RFC 9768
0xACC1 TCP AccECN Experimental Option - Order 1 (current and new implementations SHOULD use option kind 174) RFC 9768
0xACCE TCP AccECN Experimental Option (current and new implementations SHOULD use option kinds 172 or 174) RFC 9768
0xE2D4C3D9 TCP Shared Memory Communications over RMDA protocol RFC 7609
0xF989 TCP Fast Open (current and new implementations SHOULD use option 34) RFC 7413
0xF990 TCP Low Latency draft-wang-tcpm-low-latency-opt-00

TCP Encryption Protocol Identifiers

Registration Procedure(s)

  • IETF Review or Expert Review with RFC Required

Expert(s)

  • Unassigned

Reference

  • RFC 8547: TCP-ENO: Encryption Negotiation Option

Available Formats

Value Meaning Reference
0x20 Experimental Use RFC 8547
0x21 TCPCRYPT_ECDHE_P256 RFC 8548
0x22 TCPCRYPT_ECDHE_P521 RFC 8548
0x23 TCPCRYPT_ECDHE_Curve25519 RFC 8548
0x24 TCPCRYPT_ECDHE_Curve448 RFC 8548
0x25-0x6f Unassigned
0x70-0x7f Reserved for extended values RFC 8547

tcpcrypt AEAD Algorithms

Registration Procedure(s)

  • IETF Review or Expert Review with RFC Required

Expert(s)

  • Unassigned

Reference

  • RFC 8548: Cryptographic Protection of TCP Streams (tcpcrypt)

Available Formats

Value AEAD Algorithm Reference
0x0000 Reserved
0x0001 AEAD_AES_128_GCM RFC 8548
0x0002 AEAD_AES_256_GCM RFC 8548
0x0003-0x000f Unassigned
0x0010 AEAD_CHACHA20_POLY1305 RFC 8548
0x0011-0xffff Unassigned

MPTCP MP_TCPRST Reason Codes

Registration Procedure(s)

  • Specification Required

Expert(s)

  • Unassigned

Reference

  • RFC 8684: TCP Extensions for Multipath Operation with Multiple Addresses

Available Formats

Code Meaning Reference
0x00 Unspecified error RFC 8684, Section 3.6
0x01 MPTCP-specific error RFC 8684, Section 3.6
0x02 Lack of resources RFC 8684, Section 3.6
0x03 Administratively prohibited RFC 8684, Section 3.6
0x04 Too much outstanding data RFC 8684, Section 3.6
0x05 Unacceptable performance RFC 8684, Section 3.6
0x06 Middlebox interference RFC 8684, Section 3.6
0x07-0xff Unassigned

TCP Header Flags

Registration Procedure(s)

  • Standards Action

Reference

  • RFC 9293: Transmission Control Protocol (TCP)

Available Formats

Bit Offset Name Reference Assignment Notes
4 Reserved for future use RFC 9293
5 Reserved for future use RFC 9293
6 Reserved for future use RFC 9293
7 AE (Accurate ECN) RFC 9768 Previously used as NS (Nonce Sum) by RFC 3540, which is now Historic RFC 8311.
8 CWR (Congestion Window Reduced) RFC 3168
9 ECE (ECN-Echo) RFC 3168
10 Urgent Pointer field is significant (URG) RFC 9293
11 Acknowledgment field is significant (ACK) RFC 9293
12 Push Function (PSH) RFC 9293
13 Reset the connection (RST) RFC 9293
14 Synchronize sequence numbers (SYN) RFC 9293
15 No more data from sender (FIN) RFC 9293

Contact Information

Name Contact URI Last Updated
J. Kay jkay&ucsd.edu 1994-09
Keith Scott kscott&mitre.org 1999-02
Kevin Vermeulen kevin.vermeulen&polytechnique.edu 2025-08-19
Monroe Bridges monroe&cup.hp.com 1994-09
Stev Knowles stev&ftp.com 1995-03
Steve Bellovin smb&research.att.com 2000-03
Subbu Subramaniam subbu&cup.hp.com 1994-09
Vladimir Sukonnik vladimir&sitaranetworks.com 1999-02

Footnotes

[1]

https://devcentral.f5.com/tech-tips/articles/accessing-tcp-options-from-irules

[2]

current and new TCP-ENO implementations MUST use TCP option kind 69.