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
- Node A generates an INIT chunk and sends it to Node B. Node A starts the INIT timer.
- 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.
- 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.
- Node B checks the validity of the cookie. Following validation it sends a COOKIE ACK back to Node A.
- 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
- Node A and Node B exchange DATA chunks.
- After each DATA chunk is received, the receiving endpoint returns a SACK chunk to acknowledge the receipt.
- 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
- Node A sends a SHUTDOWN chunk to Node B and starts the shutdown timer.
- Node B acknowledges the receipt of the SHUTDOWN chunk through generation of SHUTDOWN ACK chunk, which is sent to Node A.
- 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 stagesinitiation, data transmission and shutdownthe SCTP API interfaces with the User Application Layer and the Transport Service Layer.


