Transmission Control Protocol (TCP) Parameters
- Last Updated
- 2026-04-24
- Available Formats
-

XML
HTML
TXT
Registries Included Below
- TCP Option Kind Numbers
- TCP Alternate Checksum Numbers
- Cryptographic Algorithms for TCP-AO Registration
- MPTCP Option Subtypes
- MPTCP Handshake Algorithms
- TCP/UDP Experimental Option Experiment Identifiers (TCP/UDP ExIDs)
- TCP Encryption Protocol Identifiers
- tcpcrypt AEAD Algorithms
- MPTCP MP_TCPRST Reason Codes
- TCP Header Flags
TCP Option Kind Numbers
- Registration Procedure(s)
-
Standards Action or IESG Approval
- Reference
- [RFC 2780]
- 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
-

CSV
| 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]
- Available Formats
-

CSV
| 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]
- Available Formats
-

CSV
| Algorithm | Reference |
|---|---|
| SHA1 | [RFC 5926] |
| AES128 | [RFC 5926] |
MPTCP Option Subtypes
- Registration Procedure(s)
-
Standards Action
- Reference
- [RFC 8684]
- 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
-

CSV
| Value | Symbol | Name | Reference |
|---|---|---|---|
| 0x0 | MP_CAPABLE | Multipath Capable | [RFC8684, Section 3.1] |
| 0x1 | MP_JOIN | Join Connection | [RFC8684, Section 3.2] |
| 0x2 | DSS | Data Sequence Signal (Data ACK and Data Sequence Mapping) | [RFC8684, Section 3.3] |
| 0x3 | ADD_ADDR | Add Address | [RFC8684, Section 3.4.1] |
| 0x4 | REMOVE_ADDR | Remove Address | [RFC8684, Section 3.4.2] |
| 0x5 | MP_PRIO | Change Subflow Priority | [RFC8684, Section 3.3.8] |
| 0x6 | MP_FAIL | Fallback | [RFC8684, Section 3.7] |
| 0x7 | MP_FASTCLOSE | Fast Close | [RFC8684, Section 3.5] |
| 0x8 | MP_TCPRST | Subflow Reset | [RFC8684, Section 3.6] |
| 0x9-0xe | Unassigned | ||
| 0xf | Reserved for Private Use | [RFC 8684] |
MPTCP Handshake Algorithms
- Registration Procedure(s)
-
Standards Action
- Reference
- [RFC 8684]
- 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
-

CSV
| Flag Bit | Meaning | Reference |
|---|---|---|
| A | Checksum required | [RFC8684, Section 3.1] |
| B | Extensibility | [RFC8684, Section 3.1] |
| C | Do not attempt to establish new subflows to the source address. | [RFC8684, Section 3.1] |
| D-G | Unassigned | |
| H | HMAC-SHA256 | [RFC8684, Section 3.2] |
TCP/UDP Experimental Option Experiment Identifiers (TCP/UDP ExIDs)
- Registration Procedure(s)
-
First Come First Served
- Reference
- [RFC 6994][RFC 9868]
- 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
-

CSV
| 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]
- Available Formats
-

CSV
| 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]
- Available Formats
-

CSV
| 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]
- Available Formats
-

CSV
| Code | Meaning | Reference |
|---|---|---|
| 0x00 | Unspecified error | [RFC8684, Section 3.6] |
| 0x01 | MPTCP-specific error | [RFC8684, Section 3.6] |
| 0x02 | Lack of resources | [RFC8684, Section 3.6] |
| 0x03 | Administratively prohibited | [RFC8684, Section 3.6] |
| 0x04 | Too much outstanding data | [RFC8684, Section 3.6] |
| 0x05 | Unacceptable performance | [RFC8684, Section 3.6] |
| 0x06 | Middlebox interference | [RFC8684, Section 3.6] |
| 0x07-0xff | Unassigned |
TCP Header Flags
- Registration Procedure(s)
-
Standards Action
- Reference
- [RFC 9293]
- Available Formats
-

CSV
| 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
| ID | Name | Contact URI | Last Updated |
|---|---|---|---|
| [J_Kay] | J. Kay | mailto:jkay&ucsd.edu | 1994-09 |
| [Keith_Scott] | Keith Scott | mailto:kscott&mitre.org | 1999-02 |
| [Kevin_Vermeulen] | Kevin Vermeulen | mailto:kevin.vermeulen&polytechnique.edu | 2025-08-19 |
| [Monroe_Bridges] | Monroe Bridges | mailto:monroe&cup.hp.com | 1994-09 |
| [Stev_Knowles] | Stev Knowles | mailto:stev&ftp.com | 1995-03 |
| [Steve_Bellovin] | Steve Bellovin | mailto:smb&research.att.com | 2000-03 |
| [Subbu_Subramaniam] | Subbu Subramaniam | mailto:subbu&cup.hp.com | 1994-09 |
| [Vladimir_Sukonnik] | Vladimir Sukonnik | mailto: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. |