Overview
SCTP is a new IP transport protocol, which exists at an equivalent level with TCP and user datagram protocol (UDP) and which currently provides transport layer functions to many Internet-based applications. SCTP has been approved by the IETF as a proposed standard, and is specified in RFC 2960.
Architectural View of SCTP
SCTP is architecturally viewed as a layer between the SCTP user adaptation layer (see Figure 2) and a connectionless packet network service such as IP (This tutorial assumes that SCTP runs on top of IP). The basic service offered by SCTP is a reliable transfer of user messages between peer SCTP users. SCTP is connection oriented; thus it establishes a connection between two endpoints (called association in SCTP context) before transmitting the user data itself.
Functional View of SCTP
The SCTP transport service can be fragmented into several functionalities. These functions are depicted in Figure 3 and explained in the remainder of this section.

Figure 3.
Note: "SCTP user" refers to adaptation protocol in this context.
- Association Startup and TeardownAn association is initiated by a request from the SCTP user. A cookie mechanism is employed during the initialization to provide protection against security attacks.
- Sequenced Delivery within StreamsThe SCTP user can specify at association startup time the number of streams to be supported by the association.
- User Data FragmentationSCTP supports fragmentation and reassembly of user messages to ensure that the SCTP packet passed to the lower layer conforms to the path multiple-tenant unit (MTU).
- Acknowledgement and Congestion AvoidanceSCTP assigns a transmission sequence number (TSN) to each user data message (fragment or unfragmented). The receiving end acknowledges all TSNs received, even if there are gaps in the sequence.
- Chunk BundlingThe SCTP packet delivered to the lower layer consists of a common header followed by one or more chunks. The following table depicts the general structure of an SCTP packet:

- Packet ValidationA mandatory verification tag field and a 32-bit checksum field are included in the SCTP common header.
- Path ManagementThe SCTP path-management function chooses the destination transport address for each outgoing SCTP packet based on the SCTP user's instructions and the currently perceived reachability status of the eligible destination set.
SCTP Common Header Format
The following table depicts the common header format of SCTP:

- Source/Destination Port Number Field: 16 Bits
Indicates the SCTP sender's/destination's port number. - Verification Tag Field: 32 Bits
The receiver of this packet uses the verification tag to validate the sender of this SCTP packet. - Checksum Field: 32 Bits
This field contains the checksum of this SCTP packet. SCTP uses the Adler-32 algorithm for calculating the checksum.


