SCTP Programmer's Guide

before completing the shutdown process. When an immediate shutdown is required,
SCTP sends an ABORT message to an endpoint.
Figure 1-8 illustrates graceful shutdown in SCTP and the half-closed state in TCP.
Figure 1-8 Shutdown in TCP and SCTP
SCTP Support for IPv4 and IPv6 Addresses
SCTP supports both IPv4 and IPv6 address parameters in an SCTP packet, as defined
in RFC 2960 (Stream Control Transmission Protocol). When an association is set up, the
SCTP endpoints exchange the list of addresses of the endpoints in the INIT and
INIT-ACK chunks. The address of the endpoint is represented by the following
parameters: an IPv4 address parameter with value 5 and an IPv6 address parameter
with value 6. The INIT chunks can contain multiple addresses, which can be an IPv4
or IPv6 address.
SCTP Data Exchange Features
This section discusses the enhanced features in SCTP that ensures reliable data exchange
between endpoints.
Following are the data exchange features in SCTP:
In SCTP, data is transmitted in the form of packets. Each packet contains a DATA
chunk and a control chunk. An SCTP endpoint acknowledges the receipt of a DATA
chunk by sending a SACK chunk to the other endpoint. The SACK chunk indicates
the range of cumulative TSNs and non-cumulative TSNs, if any. The
non-cumulative TSNs indicate gaps in the received TSN sequence. When SCTP
identifies gaps in the TSN sequence, it resends the missing DATA chunks to the
other endpoint. SCTP uses the “delayed ack” method to send the SACK chunks.
In this method, SACK is sent for every second packet, but with an upper limit on
32 Introduction