rfc9260v2.txt   rfc9260.txt 
Internet Engineering Task Force (IETF) R. Stewart Internet Engineering Task Force (IETF) R. Stewart
Request for Comments: 9260 Netflix, Inc. Request for Comments: 9260 Netflix, Inc.
Obsoletes: 4460, 4960, 6096, 7053, 8540 M. Tüxen Obsoletes: 4460, 4960, 6096, 7053, 8540 M. Tüxen
Category: Standards Track Münster Univ. of Appl. Sciences Category: Standards Track Münster Univ. of Appl. Sciences
ISSN: 2070-1721 K. Nielsen ISSN: 2070-1721 K. Nielsen
Kamstrup A/S Kamstrup A/S
April 2022 May 2022
Stream Control Transmission Protocol Stream Control Transmission Protocol
Abstract Abstract
This document describes the Stream Control Transmission Protocol This document describes the Stream Control Transmission Protocol
(SCTP) and obsoletes RFC 4960. It incorporates the specification of (SCTP) and obsoletes RFC 4960. It incorporates the specification of
the chunk flags registry from RFC 6096 and the specification of the I the chunk flags registry from RFC 6096 and the specification of the I
bit of DATA chunks from RFC 7053. Therefore, RFCs 6096 and 7053 are bit of DATA chunks from RFC 7053. Therefore, RFCs 6096 and 7053 are
also obsoleted by this document. In addition, RFCs 4460 and 8540, also obsoleted by this document. In addition, RFCs 4460 and 8540,
skipping to change at line 128 skipping to change at line 128
Chunks Chunks
3.3.4. Selective Acknowledgement (SACK) (3) 3.3.4. Selective Acknowledgement (SACK) (3)
3.3.5. Heartbeat Request (HEARTBEAT) (4) 3.3.5. Heartbeat Request (HEARTBEAT) (4)
3.3.6. Heartbeat Acknowledgement (HEARTBEAT ACK) (5) 3.3.6. Heartbeat Acknowledgement (HEARTBEAT ACK) (5)
3.3.7. Abort Association (ABORT) (6) 3.3.7. Abort Association (ABORT) (6)
3.3.8. Shutdown Association (SHUTDOWN) (7) 3.3.8. Shutdown Association (SHUTDOWN) (7)
3.3.9. Shutdown Acknowledgement (SHUTDOWN ACK) (8) 3.3.9. Shutdown Acknowledgement (SHUTDOWN ACK) (8)
3.3.10. Operation Error (ERROR) (9) 3.3.10. Operation Error (ERROR) (9)
3.3.10.1. Invalid Stream Identifier (1) 3.3.10.1. Invalid Stream Identifier (1)
3.3.10.2. Missing Mandatory Parameter (2) 3.3.10.2. Missing Mandatory Parameter (2)
3.3.10.3. "Stale Cookie" Error (3) 3.3.10.3. Stale Cookie (3)
3.3.10.4. Out of Resource (4) 3.3.10.4. Out of Resource (4)
3.3.10.5. Unresolvable Address (5) 3.3.10.5. Unresolvable Address (5)
3.3.10.6. Unrecognized Chunk Type (6) 3.3.10.6. Unrecognized Chunk Type (6)
3.3.10.7. Invalid Mandatory Parameter (7) 3.3.10.7. Invalid Mandatory Parameter (7)
3.3.10.8. Unrecognized Parameters (8) 3.3.10.8. Unrecognized Parameters (8)
3.3.10.9. No User Data (9) 3.3.10.9. No User Data (9)
3.3.10.10. Cookie Received While Shutting Down (10) 3.3.10.10. Cookie Received While Shutting Down (10)
3.3.10.11. Restart of an Association with New Addresses (11) 3.3.10.11. Restart of an Association with New Addresses (11)
3.3.10.12. User-Initiated Abort (12) 3.3.10.12. User-Initiated Abort (12)
3.3.10.13. Protocol Violation (13) 3.3.10.13. Protocol Violation (13)
skipping to change at line 2195 skipping to change at line 2195
Cause Code: 16 bits (unsigned integer) Cause Code: 16 bits (unsigned integer)
Defines the type of error conditions being reported. Defines the type of error conditions being reported.
+=======+==============================================+ +=======+==============================================+
| Value | Cause Code | | Value | Cause Code |
+=======+==============================================+ +=======+==============================================+
| 1 | Invalid Stream Identifier | | 1 | Invalid Stream Identifier |
+-------+----------------------------------------------+ +-------+----------------------------------------------+
| 2 | Missing Mandatory Parameter | | 2 | Missing Mandatory Parameter |
+-------+----------------------------------------------+ +-------+----------------------------------------------+
| 3 | "Stale Cookie" Error | | 3 | Stale Cookie |
+-------+----------------------------------------------+ +-------+----------------------------------------------+
| 4 | Out of Resource | | 4 | Out of Resource |
+-------+----------------------------------------------+ +-------+----------------------------------------------+
| 5 | Unresolvable Address | | 5 | Unresolvable Address |
+-------+----------------------------------------------+ +-------+----------------------------------------------+
| 6 | Unrecognized Chunk Type | | 6 | Unrecognized Chunk Type |
+-------+----------------------------------------------+ +-------+----------------------------------------------+
| 7 | Invalid Mandatory Parameter | | 7 | Invalid Mandatory Parameter |
+-------+----------------------------------------------+ +-------+----------------------------------------------+
| 8 | Unrecognized Parameters | | 8 | Unrecognized Parameters |
skipping to change at line 2276 skipping to change at line 2276
| Missing Param Type #N-1 | Missing Param Type #N | | Missing Param Type #N-1 | Missing Param Type #N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Number of Missing params: 32 bits (unsigned integer) Number of Missing params: 32 bits (unsigned integer)
This field contains the number of parameters contained in the This field contains the number of parameters contained in the
Cause-Specific Information field. Cause-Specific Information field.
Missing Param Type: 16 bits (unsigned integer) Missing Param Type: 16 bits (unsigned integer)
Each field will contain the missing mandatory parameter number. Each field will contain the missing mandatory parameter number.
3.3.10.3. "Stale Cookie" Error (3) 3.3.10.3. Stale Cookie (3)
Indicates the receipt of a valid State Cookie that has expired. Indicates the receipt of a valid State Cookie that has expired.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code = 3 | Cause Length = 8 | | Cause Code = 3 | Cause Length = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Measure of Staleness (usec.) | | Measure of Staleness (usec.) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at line 5335 skipping to change at line 5335
ICMP9) If the ICMP type is "Destination Unreachable", the ICMP9) If the ICMP type is "Destination Unreachable", the
implementation MAY move the destination to the unreachable implementation MAY move the destination to the unreachable
state or, alternatively, increment the path error counter. state or, alternatively, increment the path error counter.
SCTP MAY provide information to the upper layer indicating SCTP MAY provide information to the upper layer indicating
the reception of ICMP messages when reporting a network the reception of ICMP messages when reporting a network
status change. status change.
These procedures differ from [RFC1122] and from its requirements for These procedures differ from [RFC1122] and from its requirements for
processing of port-unreachable messages and the requirements that an processing of port-unreachable messages and the requirements that an
implementation MUST abort associations in response to a "protocol implementation MUST abort associations in response to a protocol
unreachable" message. Port-unreachable messages are not processed, unreachable message. Port-unreachable messages are not processed,
since an implementation will send an ABORT chunk, not a port- since an implementation will send an ABORT chunk, not a port-
unreachable message. The stricter handling of the "protocol unreachable message. The stricter handling of the protocol
unreachable" message is due to security concerns for hosts that do unreachable message is due to security concerns for hosts that do not
not support SCTP. support SCTP.
11. Interface with Upper Layer 11. Interface with Upper Layer
The Upper Layer Protocols (ULPs) request services by passing The Upper Layer Protocols (ULPs) request services by passing
primitives to SCTP and receive notifications from SCTP for various primitives to SCTP and receive notifications from SCTP for various
events. events.
The primitives and notifications described in this section can be The primitives and notifications described in this section can be
used as a guideline for implementing SCTP. The following functional used as a guideline for implementing SCTP. The following functional
description of ULP interface primitives is shown for illustrative description of ULP interface primitives is shown for illustrative
skipping to change at line 6459 skipping to change at line 6459
- Reserved for Congestion Window Reduced (CWR) - Reserved for Congestion Window Reduced (CWR)
- Shutdown Complete (SHUTDOWN COMPLETE) - Shutdown Complete (SHUTDOWN COMPLETE)
- Reserved for IETF-defined Chunk Extensions - Reserved for IETF-defined Chunk Extensions
* In the "Chunk Parameter Types" registry, IANA has replaced the * In the "Chunk Parameter Types" registry, IANA has replaced the
registry reference to [RFC4960] with a reference to this document. registry reference to [RFC4960] with a reference to this document.
IANA has changed the name of the "Unrecognized Parameters" chunk
parameter type to "Unrecognized Parameter" in the "Chunk Parameter
Types" registry.
In addition, each reference to [RFC4960] has been replaced with a In addition, each reference to [RFC4960] has been replaced with a
reference to this document for the following chunk parameter reference to this document for the following chunk parameter
types: types:
- Heartbeat Info - Heartbeat Info
- IPv4 Address - IPv4 Address
- IPv6 Address - IPv6 Address
- State Cookie - State Cookie
- Unrecognized Parameters - Unrecognized Parameter
- Cookie Preservative - Cookie Preservative
- Host Name Address - Host Name Address
- Supported Address Types - Supported Address Types
IANA has added a reference to this document for the following IANA has added a reference to this document for the following
chunk parameter type: chunk parameter type:
skipping to change at line 6517 skipping to change at line 6521
- T bit - T bit
IANA has replaced the reference to [RFC4960] with a reference to IANA has replaced the reference to [RFC4960] with a reference to
this document for the following SHUTDOWN COMPLETE chunk flag: this document for the following SHUTDOWN COMPLETE chunk flag:
- T bit - T bit
* In the "Error Cause Codes" registry, IANA has replaced the * In the "Error Cause Codes" registry, IANA has replaced the
registry reference to [RFC4960] with a reference to this document. registry reference to [RFC4960] with a reference to this document.
IANA has changed the name of the "User Initiated Abort" error
cause to "User-Initiated Abort" and the name of the "Stale Cookie
Error" error cause to "Stale Cookie" in the "Error Cause Codes"
registry.
In addition, each reference to [RFC4960] has been replaced with a In addition, each reference to [RFC4960] has been replaced with a
reference to this document for the following cause codes: reference to this document for the following cause codes:
- Invalid Stream Identifier - Invalid Stream Identifier
- Missing Mandatory Parameter - Missing Mandatory Parameter
- "Stale Cookie" Error - Stale Cookie
- Out of Resource - Out of Resource
- Unresolvable Address - Unresolvable Address
- Unrecognized Chunk Type - Unrecognized Chunk Type
- Invalid Mandatory Parameter - Invalid Mandatory Parameter
- Unrecognized Parameters - Unrecognized Parameters
 End of changes. 10 change blocks. 
11 lines changed or deleted 20 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/