Internet Assigned Numbers Authority Transmission Control Protocol (TCP) Parameters Last Updated 2023-07-23 Available Formats [IMG] XML [IMG] HTML [IMG] Plain text Registries included below • TCP Option Kind Numbers • TCP Alternate Checksum Numbers • Cryptographic Algorithms for TCP-AO Registration • MPTCP Option Subtypes • MPTCP Handshake Algorithms • TCP Experimental Option Experiment Identifiers (TCP 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 [IMG] 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 [draft-ietf-tcpm-accurate-ecn-20] 2023-06-13, expires 2024-08-03) 173 Reserved 174 N Accurate ECN Order 1 (AccECN1) (TEMPORARY - registered 2022-08-03, extension registered [draft-ietf-tcpm-accurate-ecn-20] 2023-06-13, expires 2024-08-03) 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 [IMG] 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 [IMG] 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 [IMG] 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 [IMG] 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 [IMG] 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 [draft-ietf-tcpm-accurate-ecn-20] 172) 0xACC1 AccECN Experimental Option - Order 1 (current and new implementations SHOULD use option kind [draft-ietf-tcpm-accurate-ecn-20] 174) 0xACCE AccECN Experimental Option (current and new implementations SHOULD use option kinds 172 or [draft-kuehlewind-tcpm-accurate-ecn] 174) 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 [IMG] 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 [IMG] 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 [IMG] 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 [IMG] 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. Licensing Terms