SCTP

SCTP [FA] is an emerging IETF standard, which started in the SIGTRAN group, and has been moved to the Transport Area Working Group. The initial interest in SCTP has been to provide SS7 signaling over IP networks. The Public switched telephone network (PSTN) requires SS7 signaling for carrying setup & tear-down messages, billing information, routing queries, etc. Due to the recent popularity of voice over IP applications, there is significant interest in providing the additional signaling the PSTN requires in SS7 over IP networks as well.

SCTP has several features which make it technically interesting. It is a message-oriented protocol, unlike TCP which is a simple byte-stream. This allows applications to avoid head-of-line blocking, while still providing benefits over unreliable UDP. SCTP also provides multi-homing at the transport layer, allowing for a system with multiple IP address to form an SCTP association using both IP's, and provides a fail-over mechanism if one IP should fail. Another feature is multi-streaming, for example a single SCTP association could contain multiple download streams from a web site. Finally, in SCTP selective acknowledgment is mandatory, and the SCTP SACK is not limited to 3 or 4 gap blocks like the TCP SACK is.

Due to this interest, there are now several readily available implementations of SCTP in Unix kernels available. In this paper, we examine [lkS] the lkSCTP project, which provides an in-kernel SCTP implementation in Linux kernel, and is shipped in the released 2.6 series kernel. Using SCTP is a relatively simple matter of having the correct development headers and an application such as [ipe] which has been patched to use SCTP.

Troy Benjegerdes 2005-02-15