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