SCTP Programmer's Guide
An SCTP packet contains a common header, and one or more chunks. The SCTP
common header contains the following information:
• Source and destination port numbers to enable multiplexing of different SCTP
associations at the same address.
• A 32-bit verification tag that guards against the insertion of an out-of-date or false
message into the SCTP association.
• A 32-bit checksum for error detection. The checksum can be either a
32-bit CRC checksum or Adler-32 checksum.
A chunk can be either a control chunk or a DATA chunk. A control chunk incorporates
different flags and parameters, depending on the chunk type. The DATA chunk
incorporates flags to control segmentation and reassembly, and parameters for the
transmission sequence number (TSN), Stream Identifier (SID) and Stream Sequence Number
(SSN), and a Payload Protocol ID. The DATA chunk contains the actual data payload.
Each control and data chunk in the SCTP packet contains the following information:
Chunk Type This field identifies the type of information contained in the Chunk
Data field. The value of the chunk field ranges from 0 to 254. The
value 255 is reserved for future use, as an extension field. SCTP
consists of one DATA chunk and 12 control chunks.
Table 1-1 lists the definitions and parameters of the different chunk
types.
Table 1-1 Chunk Types
DefinitionChunk
Used for data transfer.
Payload Data (DATA)
Initiates an SCTP association between two
endpoints.
Initiation (INIT)
Acknowledges the receipt of an INIT chunk.
The receipt of the INIT ACK chunk establishes
an association.
Initiation Acknowledgement (
INIT ACK)
Acknowledges the receipt of the DATA chunks
and also reports gaps in the data.
Selective Acknowledgement
(SACK)
Used during the initiation process. The
endpoint initiating the association sends the
COOKIE ECHO chunk to the peer endpoint.
Cookie Echo (COOKIE ECHO)
Acknowledges the receipt of the COOKIE
ECHO chunk. The COOKIE ACK chunk must
take precedence over any DATA chunk or SACK
chunk sent in the association. The COOKIE
ACK chunk can be bundled with DATA chunks
or SACK chunks
Cookie Acknowledgement
(COOKIE ACK)
24 Introduction