Stream Control Transmission Protocol (SCTP) Chunk Flags Registration
obsoleted by
- rfc-9260 — Stream Control Transmission Protocol
updates
- rfc-4960 — Stream Control Transmission Protocol
Extracted elements (13)
RFC 4960 defined a procedure for new chunk types but provided no mechanism to register new chunk flags for existing chunk types. Several protocol extensions under discussion required exactly this capability, motivating RFC 6096 to fill that gap without otherwise changing SCTP.
When defining a new chunk flag, it must be considered that implementations not supporting that flag will send '0' for it on transmit and simply ignore it on receipt. This backward-compatibility constraint is a required part of all chunk flag documentation.
Assignment of new chunk flags is done through an RFC Required action. Documentation MUST contain a name for the flag and a detailed procedural description of its use, and MUST consider that implementations not supporting the flag will send '0' on transmit and ignore it on receipt.
Assignment of new SCTP chunk type codes is done through an IETF Review action. Documentation of a new chunk MUST contain: a long and short name, a detailed structural description conforming to RFC 4960 Section 3.2, a detailed definition of each field including chunk flags, and a detailed procedural description of the chunk's use.
Chunk type value 255 is reserved for future extension and must not be assigned to any new chunk type.
For each new chunk type, IANA creates a registration table for that chunk type's flags. Defined chunk flags in the new chunk's documentation will serve as initial entries in that table.
IANA selects the chunk flag value, which MUST be one of 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, or 0x80 (i.e., a single-bit value), and MUST be unique within the flag values for the specific chunk type.
ABORT chunk flags registry (initial values): 0x01 = T bit (RFC 4960). All other flag values are unassigned.
DATA chunk flags registry (initial values): 0x01 = E bit (RFC 4960), 0x02 = B bit (RFC 4960), 0x04 = U bit (RFC 4960). All other flag values are unassigned.
RFC 6096 establishes a per-chunk-type IANA registry for SCTP chunk flags, one registry table per chunk type. Initial registries are created for all chunk types defined in RFC 3758, RFC 4820, RFC 4960, RFC 4895, and RFC 5061.
SHUTDOWN COMPLETE chunk flags registry (initial values): 0x01 = T bit (RFC 4960). All other flag values are unassigned.
The following chunk types have initially empty chunk flags registries (no flags defined at time of RFC 6096 publication): INIT, INIT ACK, SACK, HEARTBEAT, HEARTBEAT ACK, SHUTDOWN, SHUTDOWN ACK, ERROR, COOKIE ECHO, COOKIE ACK, ECNE, CWR, AUTH, ASCONF ACK, PAD, FORWARD TSN, ASCONF.
RFC 6096 does not add any security considerations beyond those already given in RFC 4960. The chunk flags registration procedure is purely administrative and does not alter SCTP's security properties.