Stream Control Transmission Protocol (SCTP) is a Transport Layer computer networking protocol, used to transmit multiple streams of data at the same time between two end points with a network connection. It ensures reliable, in-sequence transport of messages with congestion control, similar to Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).
In contrast to TCP, SCTP ensures the complete concurrent transmission of several streams of data in “messages” between connected end points. This means that if data is lost in one stream, delivery will not be affected for the other streams. SCTP assigns a sequence number to each message sent in a stream to preserve byte order in the stream, allowing independent ordering of messages in different streams and processing messages in the order received instead of the order sent.
SCTP also supports multihoming, so a connected end point can have alternate IP addresses to route around network failure or changing conditions. Sometimes referred to as "next generation TCP," SCTP supports Signaling System 7 (SS7) telephone connection over the Internet and enables management of connections over a wireless network and transmission of multimedia data.
SCTP was defined by the Internet Engineering Task Force (IETF) Signaling Transport (Sigtran) working group in 2000, including Cisco’s Randall Stewart and Peter Lei. They collaborated with colleagues from Aciri, Ericsson, Nortel Networks, Siemens, Telecordia, and UCLA. SCTP is maintained by Stewart and the IETF Transport Area (TSVWG) working group, including Lei and Michael Tuexen. Additional maintainers focus on the Mac Operating System and v6 mobility.
SCTP has been implemented for a number of operating systems including: