Internet Assigned Numbers Authority

Transmission Control Protocol (TCP) Parameters

Last Updated
2024-07-11
Available Formats

XML

HTML

Plain text

Registries included below

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

CSV
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) (TEMPORARY - registered 2022-08-03, extension registered 2024-07-11, expires 2025-08-03) [draft-ietf-tcpm-accurate-ecn-20]
173 Reserved
174 N Accurate ECN Order 1 (AccECN1) (TEMPORARY - registered 2022-08-03, extension registered 2024-07-11, expires 2025-08-03) [draft-ietf-tcpm-accurate-ecn-20]
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

CSV
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

CSV
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

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

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 Experimental Option Experiment Identifiers (TCP ExIDs)

Registration Procedure(s)
First Come First Served
Reference
[RFC6994]
Note
IANA will record known duplicate uses.
      
    
Available Formats

CSV
Value Description Reference
0x00AC TCP ACK Rate Request [draft-gomez-tcpm-ack-rate-request-02]
0x0348 HOST_ID [RFC7974]
0x0A0D Autonomous System Compensation [draft-donnerhacke-linktax]
0x0CA0 TCP Capability Option [draft-boucadair-tcpm-capability-option]
0x0ED0 Extended Data Offset [draft-ietf-tcpm-tcp-edo]
0x454E TCP-ENO [2] [RFC8547]
0x5323 Service Number [draft-touch-tcpm-sno]
0x75ECFFEE Timestamp Interval [draft-trammell-tcpm-timestamp-interval]
0xACC0 AccECN Experimental Option - Order 0 (current and new implementations SHOULD use option kind 172) [draft-ietf-tcpm-accurate-ecn-20]
0xACC1 AccECN Experimental Option - Order 1 (current and new implementations SHOULD use option kind 174) [draft-ietf-tcpm-accurate-ecn-20]
0xACCE AccECN Experimental Option (current and new implementations SHOULD use option kinds 172 or 174) [draft-kuehlewind-tcpm-accurate-ecn]
0xE2D4C3D9 Shared Memory communications over RMDA protocol [RFC7609]
0xF989 Fast Open (current and new implementations SHOULD use option 34) [RFC7413]
0xF990 Low Latency [draft-wang-tcpm-low-latency-opt]

TCP Encryption Protocol Identifiers

Registration Procedure(s)
IETF Review or Expert Review with RFC Required
Expert(s)
Unassigned
Reference
[RFC8547]
Available Formats

CSV
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

CSV
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

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
[RFC9293]
Available Formats

CSV
Bit Offset Name Reference Assignment Notes
4 Reserved for future use [RFC9293]
5 Reserved for future use [RFC9293]
6 Reserved for future use [RFC9293]
7 Reserved for future use [RFC8311] Previously used by Historic [RFC3540] as NS (Nonce Sum).
8 CWR (Congestion Window Reduced) [RFC3168]
9 ECE (ECN-Echo) [RFC3168]
10 Urgent Pointer field is significant (URG) [RFC9293]
11 Acknowledgment field is significant (ACK) [RFC9293]
12 Push Function (PSH) [RFC9293]
13 Reset the connection (RST) [RFC9293]
14 Synchronize sequence numbers (SYN) [RFC9293]
15 No more data from sender (FIN) [RFC9293]

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

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.