Stream Control Transmission Protocol |
The Stream Control Transmission Protocol (SCTP) is a transport layer communications protocol defined in 2000 by the IETF Signaling Transport (SIGTRAN) working group. The protocol is defined in RFC 2960, and an introductory text is provided by RFC 3286.
As a transport protocol, SCTP is equivalent in a sense to Transmission Control Protocol or User Datagram Protocol. Indeed it provides some similar services as TCP, ensuring reliable, in-sequence transport of messages with congestion control. While TCP is byte-oriented, SCTP deals with framed messages.
Benefits of SCTP are:
Multi-homing support, where one (or both) endpoints of a connection can consist of more than one IP address, enabling transparent fail-over between hosts or network cards.
Delivery of data in chunks within independent streams - Eliminates unnecessary head-of-the-line blocking, as opposed to TCP byte stream delivery.
Path Selection and Monitoring - Selects a primary data transmission path and tests the connectivity of the transmission path.
Validation and Acknowledgment mechanisms - Protects against flooding attacks and provides notification of duplicated or missing data chunks.
SCTP was originally intended for the transport of telephony (SS7) protocols over Internet Protocol, with the goal of duplicating some of the reliability attributes of the SS7 signaling network in IP. This IETF effort is known as SIGTRAN. In the meantime, other uses have been proposed, for example the DIAMETER protocol.
== Implementations ==
SCTP is implemented in the following Operating Systems:
Linux kernel 2.4/2.6
Sun Solaris 10
*BSD with external patch at KAME project
QNX Neutrino Realtime OS
== RFCs ==
RFC 3873 Stream Control Transmission Protocol (SCTP) Management Information Base (MIB)
RFC 3758 Stream Control Transmission Protocol (SCTP) Partial Reliability Extension
RFC 3554 On the Use of Stream Control Transmission Protocol (SCTP) with IPsec
RFC 3436 Transport Layer Security over Stream Control Transmission Protocol
RFC 3309 Stream Control Transmission Protocol (SCTP) Checksum Change
RFC 3286 An Introduction to the Stream Control Transmission Protocol
RFC 3257 Stream Control Transmission Protocol Applicability Statement
RFC 2960 Stream Control Transmission Protocol
= External links =
http://www.sigtran.org
http://www.ietf.org/html.charters/sigtran-charter.html
http://www.openss7.org
http://www.sctp.de
http://sourceforge.net/projects/lksctp/
[http://lksctp.sourceforge.net/ The Linux Kernel Stream Control Transmission Protocol (lksctp) project]