SCTP is a reliable, message-oriented transport layer protocol. It was initially developed for telephony signaling (specifically for SS7 (Signaling System No. 7)) over IP, which requires robust and reliable messaging, but is widely used in WebRTC for data channels today as a standard. Being suitable for high availability , fault tolerant networks it is a perfect candidate for video streaming with multiple data streams.
Features of SCTP :
- data is delivered in chunks, or messages, rather than a continuous stream of bytes as in TCP
- supports multi-homing, allowing multiple IP addresses for each endpoint. This enables redundancy in case of network failures.
- multiple streams within a single connection (called an association), each stream being independently reliable. This eliminates head-of-line blocking as in TCP
- offers acknowledgment, retransmissions, and congestion control.
- Path MTU Discovery, which ensures that the largest possible data chunks are sent without exceeding the maximum transmission unit (MTU) of the network.
Four-way handshake in SCTP
1. INIT -> Client sends INIT with sequence number and supported parameters
2. INIT ACK <- Server responds with INIT ACK and its own sequence number
3. COOKIE ECHO -> Client sends COOKIE ECHO to confirm receipt of INIT ACK
4. COOKIE ACK <- Server responds with COOKIE ACK to finalize connection setup
SCTP vs QUIC
Is SCTP Still Relevant After QUIC?
No, for general web-based applications: For modern web applications, QUIC is the preferred protocol due to its low-latency and built-in security features, as well as its integration with HTTP/3. QUIC can outperform SCTP in web traffic, video streaming, and real-time communications like WebRTC.
Yes, for specific use cases: While QUIC has gained attention for web traffic and real-time communication, SCTP is still relevant in niche use cases that demand multi-homing (e.g., cellular and telecommunication networks) or high-reliability signaling (e.g., SIP in VoIP). SCTP’s ability to handle multiple streams of data with strong error correction and congestion control makes it indispensable for telecommunication protocols. SCTP continues to be used in areas like VoIP (Voice over IP), 5G, and telecommunication systems today.
SCTP in IPSec
This combo is meant to leverage IPSec to secure SCTP communication ensuring that the transmission of SCTP packets is protected against threats such as eavesdropping, tampering, and spoofing. IPSec is a network layer protocol ( L3) while SCTP is transport layer ( L4). Therefore IPSec is often used to provide encryption, integrity, and authentication services by securing the payload and headers.
References :
- RFC 4960 + IETF Signaling Transport (SIGTRAN) working group
- https://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol
- RFC 3554 On the Use of Stream Control Transmission Protocol (SCTP) with IPsec
