International Engineering Consortium
Web ProForums
Stream Control Transmission Protocol (SCTP)

4. SCTP Packet Format: A Structural Overview

This section discusses the structure of the SCTP packets. A detailed illustration of the SCTP packet is illustrated in Figure 2.


Figure 2. SCTP Packet Format

The common header includes the following:

  • The source port address
  • The destination port address
  • The verification tag
  • The checksum of the entire packet

The source port number is used by the receiving endpoint to identify the association to which the SCTP packet belongs. The destination port number is the SCTP receiver's address for which the packet is destined. Each endpoint assigns a verification tag (32-bit value) that identifies the association. The checksum acts as a data integrity tool for each SCTP packet.

The chunk fields within a chunk can be described as follows:

  • The chunk-type field: identifies the type of chunk being transmitted
  • The chunk flag: specifies whether bits will be used in the association
  • The chunk length: determines the size of the entire chunk in bytes
  • The chunk data: includes the actual data payload of the chunk

As indicated in Figure 2, there are N chunks (number of chunks) indicated in a single SCTP packet. The number N is determined by the maximum transmission unit (MTU) size of the transmission path. SCTP allows chunks to be multiplexed in one packet to full MTU capacity, with the exception of initiation (INIT) and initiation-acknowledgement (INIT ACK) chunks. There are 14 types of chunks in all, including one DATA chunk and 13 types of control chunks. The DATA chunk contains the actual data payload. The definition and parameters of the control chunks are summarized in Table 1.

CHUNK DEFINITION
Initiation
INIT
The INIT chunk is sent in order to initiate a SCTP association between two endpoints.
Initiation Acknowledgement
INIT ACK
INIT ACK chunk acknowledges the receipt of an INIT chunk. The receipt of the INIT ACK chunk establishes an association.
Selective Acknowledgement
SACK
SACK chunks acknowledge the receipt of DATA chunks.
Cookie Echo
COOKIE ECHO
The COOKIE ECHO chunk is used exclusively during the initiation process and is sent to the peer endpoint.
CookieAcknowledgement
COOKIE ACK
The COOKIE ACK chunk acknowledges 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 may be bundled with DATA chunks or SACK chunks
Heartbeat Request
HEARTBEAT
HEARTBEAT chunks are sent from one SCTP endpoint to its peer in order to test the connectivity of a specific destination address in the association.
Heartbeat Acknowledgement
HEARTBEAT ACK
Every time a HEARTBEAT chunk is received by an endpoint, a HEARTBEAT ACK chunk is sent to the source IP address in order to acknowledge receipt of the HEARTBEAT chunk.
Abort Association
ABORT
The ABORT chunk is an indication to the peer endpoint to close the association. In addition, the ABORT chunk informs the receiver of the reason for aborting the association in the cause parameters.
Operation Error
ERROR
The ERROR chunk is sent to the peer endpoint to report certain error conditions that may exist. The ERROR chunk may contain parameters that determine the type of error that has taken place.
Shutdown Association
SHUTDOWN
The SHUTDOWN chunk triggers a graceful close of an association with a peer endpoint.
Shutdown Acknowledgement
SHUTDOWN ACK
A SHUTDOWN ACK is used to acknowledge the receipt of the SHUTDOWN chunk at the end of the shutdown process.
Shutdown Complete
SHUTDOWN COMPLETE
The SHUTDOWN COMPLETE concludes the shutdown procedure.

Table 1: Control Chunk Types and Their Definitions by Function

Registered Users
Enjoy exclusive access to free On-Line Education and receive the biweekly IEC newsletter.

IEC Newsletter
Get the latest industry information including critical insights from key industry leaders, technology briefings, and an Analyst Corner.
Current
Subscribe

Newsroom

IEC Corporate Member

Advertising Kit