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

5. SCTP Functions: Tracking the Transmission Process

This section describes the data transport process within the three main phases of an SCTP association: initiation, data transmission and shutdown. The endpoint that initiates the association will be referred to as "Node A"; the peer endpoint that receives the association establishment requests will be referred to as "Node B."

Note: ABORT chunks and ERROR chunks can be generated by either endpoint and can be sent at any time during the association. In these two cases, the endpoints undergo immediate shutdown.

Association Initiation


Figure 3. The Four-Way Handshake in the Initiation of SCTP Association

  1. Node A generates an INIT chunk and sends it to Node B. Node A starts the INIT timer.
  2. If Node B wishes to accept the association, it generates an INIT ACK chunk that includes a cookie. It then sends the INIT ACK chunk, along with a cookie, back to Node A.
  3. Node A receives the INIT ACK chunk and stops INIT timer. Node A generates a COOKIE ECHO chunk, which is then sent to Node B. Node A starts the cookie timer. DATA chunks may be also be bundled in this packet.
  4. Node B checks the validity of the cookie. Following validation it sends a COOKIE ACK back to Node A.
  5. Node A receives the COOKIE ACK and enters into the next phase of data transmission.

Association Data Transmission

Node A and Node B seamlessly transmit data. Throughout the data transmission process, HEARTBEAT and HEARTBEAT ACK chunks are exchanged between the nodes at regular-time intervals regulated by the heartbeat timer. These chunks test the connectivity of the endpoints, thereby preserving the validity of the data transmission.


Figure 4. Tracking The Data Transmission Process in SCTP

  1. Node A and Node B exchange DATA chunks.
  2. After each DATA chunk is received, the receiving endpoint returns a SACK chunk to acknowledge the receipt.
  3. Data is transmitted until one of the endpoints decides to shutdown the association by sending a SHUTDOWN chunk bundled in one of the packets.

Association Shutdown

The SHUTDOWN chunk can be sent by any one of the two nodes. For illustrative reasons, Node A is considered here to be the initiator if the Shutdown process.


Figure 5. Graceful Termination of an SCTP Association

  1. Node A sends a SHUTDOWN chunk to Node B and starts the shutdown timer.
  2. Node B acknowledges the receipt of the SHUTDOWN chunk through generation of SHUTDOWN ACK chunk, which is sent to Node A.
  3. Node A receives the SHUTDOWN ACK and responds by stopping the SHUTDOWN timer. Then, Node A generates a SHUTDOWN COMPLETE chunk and sends the chunk to Node B.

In all three stages—initiation, data transmission and shutdown—the SCTP API interfaces with the User Application Layer and the Transport Service Layer.

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