Generated by GPT-5-mini| Stream Control Transmission Protocol | |
|---|---|
| Name | Stream Control Transmission Protocol |
| Acronyms | SCTP |
| Developer | Internet Engineering Task Force |
| Initial release | 2000 |
| Latest release | 2018 |
| Status | Standardized |
| Rfcs | RFC 2960, RFC 3309, RFC 4895, RFC 6525 |
Stream Control Transmission Protocol
Stream Control Transmission Protocol is a transport-layer protocol standardized for packet-switched networks, designed to provide reliable, message-oriented, and multi-streamed transmission between endpoints. It was developed to combine features of Transmission Control Protocol and User Datagram Protocol while addressing issues like head-of-line blocking and multi-homing support for resilience. SCTP is specified in multiple Request for Comments documents and has seen adoption in signaling, web, and industrial systems.
SCTP provides association-oriented, message-based communication with multi-homing and multi-streaming capabilities, offering reliable ordered and unordered delivery. It supports congestion control and selective retransmission akin to mechanisms in Transmission Control Protocol and integrates checksum protection similar to User Datagram Protocol with enhancements originating from Pascal Van Hentenryck-era work in robustness research. The protocol is described in standards maintained by the Internet Engineering Task Force and widely referenced in implementations from vendors such as Cisco Systems, Juniper Networks, and open-source projects like FreeBSD and Linux kernel.
Work on SCTP began in the late 1990s to address shortcomings identified in transport protocols used for telephony signaling and real-time media. Researchers at organizations including AT&T, Bell Labs, University of Massachusetts Amherst, and Nokia collaborated with the Internet Engineering Task Force's SIGTRAN working group to produce the initial specification. The primary IETF output, RFC 2960, was followed by revisions and extensions documented in later RFCs; contributors included engineers from Ericsson, Lucent Technologies, Sun Microsystems, and Microsoft Research. SCTP's evolution paralleled developments in protocols like Stream Control Transmission Protocol (SCTP)-adjacent signaling stacks and influenced later transport studies at institutions like MIT and Carnegie Mellon University.
SCTP defines an association abstraction that can contain multiple independent streams, allowing application-level message framing and reducing head-of-line blocking, a limitation seen in Transmission Control Protocol streams used by HTTP/1.1 and some WebSocket scenarios. It implements path management and multi-homing so an endpoint with multiple IP addresses can switch paths for fault tolerance, a capability valued by carriers such as AT&T and Verizon. Flow and congestion control mechanisms draw on work from Van Jacobson and are compatible with congestion-avoidance strategies used in TCP NewReno and RFC 5681-style algorithms. SCTP supports partial reliability extensions influenced by research at Bell Labs and implemented in some VoIP and media systems.
SCTP packets, called chunks, are encapsulated within an IP datagram and include a common header with source and destination ports, verification tags, and checksum fields similar to UDP's checksum but using the Adler-32 or CRC algorithms specified in IETF documents. Chunk types include INIT, INIT-ACK, COOKIE-ECHO, COOKIE-ACK for association setup; HEARTBEAT and HEARTBEAT-ACK for path monitoring; DATA and SACK for payload transfer and acknowledgments; SHUTDOWN and SHUTDOWN-COMPLETE for teardown; and ASCONF and RE-CONFIG for address reconfiguration. These message types were defined in RFCs authored by contributors from IETF working groups and later extended by engineers at Qualcomm, Nokia, and Huawei to support features like stream reconfiguration and partial reliability.
SCTP is implemented in many operating systems and network stacks, including FreeBSD, OpenBSD, NetBSD, and the Linux kernel through the lksctp project and kernel modules maintained by contributors from the Open Source community. Commercial networking equipment from Cisco Systems, Juniper Networks, and Ericsson supports SCTP for signaling applications such as Signaling System No. 7 interworking used by carriers and mobile operators including T-Mobile and Sprint. Telecommunication standards bodies like the 3rd Generation Partnership Project have specified SCTP for transport of control protocols, and it is used in deployments by equipment vendors such as Siemens and Alcatel-Lucent.
SCTP includes mechanisms to mitigate certain attacks through cookie-based association setup to prevent resource exhaustion, similar in intent to SYN cookies used in Transmission Control Protocol defenses recommended in RFC 4987. However, vulnerabilities have been identified in implementations prompting coordination with CERT teams at organizations like US-CERT and vendors such as Microsoft and Apple to issue advisories and patches. Security enhancements include features to authenticate control chunks and to integrate with network-level protections provided by IPsec and Transport Layer Security in application-layer encapsulations. Research from Carnegie Mellon University and Stanford University has examined potential abuse vectors and recommended hardening guidance.
SCTP's multi-streaming and partial reliability extensions make it suitable for applications that need ordered delivery across independent channels, such as telephony signaling stacks like SIGTRAN, media transport in VoIP systems, and certain industrial control protocols used by vendors like Siemens and Schneider Electric. Performance comparisons in academic studies from IEEE conferences and trials run by carriers such as NTT indicate reduced latency in multi-stream scenarios and improved survivability with multi-homing. SCTP has been experimented with for web transport alternatives to TCP in research by teams at Google, Facebook, and academic labs, influencing newer protocols like QUIC even where direct adoption remains limited.
Category:Internet protocols