Transmission Control Protocol (TCP) Parameters (original) (raw)
Last Updated
2025-03-26
Available Formats
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
[RFC2780]
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 [RFC3692] 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 [RFC1700]), 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 | [RFC9293] |
1 | - | No-Operation | [RFC9293] |
2 | 4 | Maximum Segment Size | [RFC9293] |
3 | 3 | Window Scale | [RFC7323] |
4 | 2 | SACK Permitted | [RFC2018] |
5 | N | SACK | [RFC2018] |
6 | 6 | Echo (obsoleted by option 8) | [RFC1072][RFC6247] |
7 | 6 | Echo Reply (obsoleted by option 8) | [RFC1072][RFC6247] |
8 | 10 | Timestamps | [RFC7323] |
9 | 2 | Partial Order Connection Permitted (obsolete) | [RFC1693][RFC6247] |
10 | 3 | Partial Order Service Profile (obsolete) | [RFC1693][RFC6247] |
11 | CC (obsolete) | [RFC1644][RFC6247] | |
12 | CC.NEW (obsolete) | [RFC1644][RFC6247] | |
13 | CC.ECHO (obsolete) | [RFC1644][RFC6247] | |
14 | 3 | TCP Alternate Checksum Request (obsolete) | [RFC1146][RFC6247] |
15 | N | TCP Alternate Checksum Data (obsolete) | [RFC1146][RFC6247] |
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) | [RFC2385] |
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 | [RFC4782] |
28 | 4 | User Timeout Option (also, other known unauthorized use) [***][1] | [RFC5482] |
29 | TCP Authentication Option (TCP-AO) | [RFC5925] | |
30 | N | Multipath TCP (MPTCP) | [RFC8684] |
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 | [RFC7413] |
35-68 | Reserved | ||
69 | N | Encryption Negotiation (TCP-ENO) | [RFC8547] |
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-ietf-tcpm-accurate-ecn-34] |
173 | Reserved | ||
174 | N | Accurate ECN Order 1 (AccECN1) | [RFC-ietf-tcpm-accurate-ecn-34] |
175-252 | Reserved | ||
253 | N | RFC3692-style Experiment 1 (also improperly used for shipping products) [*] | [RFC4727] |
254 | N | RFC3692-style Experiment 2 (also improperly used for shipping products) [*] | [RFC4727] |
TCP Alternate Checksum Numbers
Registration Procedure(s)
Not defined
Reference
[RFC1146]
Available Formats
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 | [J_Kay] |
Cryptographic Algorithms for TCP-AO Registration
Registration Procedure(s)
RFC Publication After Expert Review
Reference
[RFC5926]
Available Formats
Algorithm | Reference |
---|---|
SHA1 | [RFC5926] |
AES128 | [RFC5926] |
MPTCP Option Subtypes
Registration Procedure(s)
Standards Action
Reference
[RFC8684]
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 [RFC6824].
Available Formats
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 | [RFC8684] |
MPTCP Handshake Algorithms
Registration Procedure(s)
Standards Action
Reference
[RFC8684]
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 [RFC6824].
Available Formats
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
[RFC6994][RFC-ietf-tsvwg-udp-options-45]
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 the corresponding reference.
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] |
0x0348 | TCP | HOST_ID | [RFC7974] |
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] | [RFC8547] |
0x5323 | TCP | Service Number | [draft-touch-tcpm-sno-00] |
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-ietf-tcpm-accurate-ecn-34] |
0xACC1 | TCP | AccECN Experimental Option - Order 1 (current and new implementations SHOULD use option kind 174) | [RFC-ietf-tcpm-accurate-ecn-34] |
0xACCE | TCP | AccECN Experimental Option (current and new implementations SHOULD use option kinds 172 or 174) | [RFC-ietf-tcpm-accurate-ecn-34] |
0xE2D4C3D9 | TCP | Shared Memory Communications over RMDA protocol | [RFC7609] |
0xF989 | TCP | Fast Open (current and new implementations SHOULD use option 34) | [RFC7413] |
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
[RFC8547]
Available Formats
Value | Meaning | Reference |
---|---|---|
0x20 | Experimental Use | [RFC8547] |
0x21 | TCPCRYPT_ECDHE_P256 | [RFC8548] |
0x22 | TCPCRYPT_ECDHE_P521 | [RFC8548] |
0x23 | TCPCRYPT_ECDHE_Curve25519 | [RFC8548] |
0x24 | TCPCRYPT_ECDHE_Curve448 | [RFC8548] |
0x25-0x6f | Unassigned | |
0x70-0x7f | Reserved for extended values | [RFC8547] |
tcpcrypt AEAD Algorithms
Registration Procedure(s)
IETF Review or Expert Review with RFC Required
Expert(s)
Unassigned
Reference
[RFC8548]
Available Formats
Value | AEAD Algorithm | Reference |
---|---|---|
0x0000 | Reserved | |
0x0001 | AEAD_AES_128_GCM | [RFC8548] |
0x0002 | AEAD_AES_256_GCM | [RFC8548] |
0x0003-0x000f | Unassigned | |
0x0010 | AEAD_CHACHA20_POLY1305 | [RFC8548] |
0x0011-0xffff | Unassigned |
MPTCP MP_TCPRST Reason Codes
Registration Procedure(s)
Specification Required
Expert(s)
Unassigned
Reference
[RFC8684]
Available Formats
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
[RFC9293]
Available Formats
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 |
[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 |