SCTP Overview

Stream Control Transmission Protocol (SCTP) is a message oriented, reliable transport protocol with direct support for multihoming that runs on top of Internet Protocol (IP).

Like TCP, SCTP provides reliable, connection-oriented data delivery with congestion control. Unlike TCP, SCTP also provides:

  1. Message framing 
  2. Ordered and unordered message delivery 
  3. Multi-streaming (to eliminate the head-of-line blocking problem) 
  4. Multi-homing 
The Internet Engineering Task Force (IETF) Signaling Transport (SIGTRAN) Working Group recognized that telephony signaling for commercial-grade system had special transport requirements not met by the available transport protocols. SIGTRAN developed SCTP into an IETF Proposed Standard, RFC2960.

The IETF Transport Area Directors (TSV ADs) recognized SCTP as more than just a signaling transport and moved it from SIGTRAN to the Transport Area Working Group (TSVWG). TSVWG continues the standards process for SCTP, moving it toward full standard, and expanding the scope and application of SCTP.

If you are new to SCTP, the following documents are excellent references:

In addition, the following web sites on SCTP are very informative:
  • Randall Stewart's SCTP site, at http://www.sctp.org/. This is where Randy Stewart publishes his reference implementations, including one in user space and one in the FreeBSD/openBSD/netBSD kernel space. 
  • SCTP web site from Siemens and University of Essen, at http://www.sctp.de/. This site contains a good collection of pointers to SCTP related documents and web sites. A user space SCTP implementation is also available from this site.