Description
The Stream Control Transmission Protocol (SCTP) is an IETF-defined transport layer protocol (RFC 4960) that is mandated by 3GPP for carrying signaling plane protocols across many critical interfaces. It operates at an equivalent layer to TCP and UDP but is designed with telecommunication signaling reliability in mind. Within a 3GPP network, SCTP associations are established between network functions, such as between an eNB and an MME (over S1-MME), a gNB and an AMF (over NG-C), or between Diameter peers (e.g., MME and HSS). It provides a reliable, in-sequence delivery of signaling messages with congestion control.
SCTP works by establishing an association between two endpoints, which can consist of multiple IP addresses per endpoint (multi-homing). Data is transferred in chunks, which are bundled into SCTP packets. A key architectural feature is multi-streaming: within a single SCTP association, multiple independent logical streams exist. A failure or head-of-line blocking in one stream (e.g., due to a lost chunk) does not affect the delivery of chunks in other streams. This is crucial for signaling where different procedures (e.g., attach, handover) can proceed in parallel. The protocol uses a four-way handshake (INIT, INIT-ACK, COOKIE-ECHO, COOKIE-ACK) with state cookies to provide protection against blind SYN flooding attacks.
Key components in its operation include the SCTP endpoint (the network function), the SCTP association (the connection), streams, and the chunk-based packet structure. The protocol ensures reliability through a selective acknowledgment (SACK) mechanism and retransmission timers. Its role in the 3GPP architecture is as the foundational transport for nearly all control plane interfaces in both the Evolved Packet Core (EPC) and 5G Core (5GC), including S1-MME, S6a, S11, NG-C, N11, N12, and many more. It carries application layer protocols like S1-AP, NG-AP, and Diameter, ensuring that signaling messages for mobility management, session management, and authentication are delivered robustly even in the face of network congestion or partial path failures.
Furthermore, SCTP's multi-homing capability allows a network function to be reachable via multiple IP network interfaces. If the primary path fails, traffic can be seamlessly switched to a secondary path without breaking the association, providing network-level redundancy. This makes the core network signaling infrastructure highly resilient, which is a fundamental requirement for carrier-grade telecommunications systems.
Purpose & Motivation
SCTP was adopted by 3GPP to address the shortcomings of TCP for carrying telephony signaling. TCP, while reliable, introduces head-of-line blocking where packet loss for one message delays all subsequent messages in the connection, which is unacceptable for time-critical signaling where independent transactions need to proceed in parallel. Furthermore, TCP is vulnerable to certain denial-of-service attacks (e.g., SYN floods) and lacks native support for multi-homed endpoints, which is desirable for network resilience.
Its creation was motivated by the need for a transport protocol that matched the requirements of SS7 signaling but over an IP-based network. SCTP solves these problems by providing message-oriented delivery (preserving application message boundaries), multi-streaming to eliminate head-of-line blocking, a secure four-way handshake, and built-in multi-homing support. This made it the ideal choice for 3GPP when designing the all-IP core network (starting with UMTS R99 and solidified in EPS), ensuring that signaling for millions of subscribers is both robust and efficient. It provided the necessary foundation for the reliability and availability expected in public land mobile networks.
Key Features
- Message-oriented, preserving application protocol data unit boundaries
- Multi-streaming within a single association to avoid head-of-line blocking
- Multi-homing support for path redundancy and failover
- Four-way handshake with state cookies for enhanced security against floods
- Reliable, in-sequence delivery with selective acknowledgments (SACK)
- Congestion control and path MTU discovery
Evolution Across Releases
Initial adoption of SCTP as the transport protocol for Iu-CS and Iu-PS control plane interfaces (RANAP) in the UMTS architecture, replacing SCCP over MTP-3 from the GSM era. This marked the beginning of the transition to an IP-based signaling transport layer in 3GPP networks.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.231 | 3GPP TS 23.231 |
| TS 23.333 | 3GPP TS 23.333 |
| TS 24.103 | 3GPP TS 24.103 |
| TS 24.229 | 3GPP TS 24.229 |
| TS 24.803 | 3GPP TS 24.803 |
| TS 25.410 | 3GPP TS 25.410 |
| TS 25.412 | 3GPP TS 25.412 |
| TS 25.422 | 3GPP TS 25.422 |
| TS 25.426 | 3GPP TS 25.426 |
| TS 25.430 | 3GPP TS 25.430 |
| TS 25.432 | 3GPP TS 25.432 |
| TS 25.450 | 3GPP TS 25.450 |
| TS 25.452 | 3GPP TS 25.452 |
| TS 25.468 | 3GPP TS 25.468 |
| TS 25.469 | 3GPP TS 25.469 |
| TS 25.470 | 3GPP TS 25.470 |
| TS 25.471 | 3GPP TS 25.471 |
| TS 25.820 | 3GPP TS 25.820 |
| TS 26.114 | 3GPP TS 26.114 |
| TS 26.223 | 3GPP TS 26.223 |
| TS 26.802 | 3GPP TS 26.802 |
| TS 26.862 | 3GPP TS 26.862 |
| TS 26.923 | 3GPP TS 26.923 |
| TS 28.671 | 3GPP TS 28.671 |
| TS 29.109 | 3GPP TS 29.109 |
| TS 29.118 | 3GPP TS 29.118 |
| TS 29.162 | 3GPP TS 29.162 |
| TS 29.163 | 3GPP TS 29.163 |
| TS 29.168 | 3GPP TS 29.168 |
| TS 29.171 | 3GPP TS 29.171 |
| TS 29.202 | 3GPP TS 29.202 |
| TS 29.205 | 3GPP TS 29.205 |
| TS 29.229 | 3GPP TS 29.229 |
| TS 29.232 | 3GPP TS 29.232 |
| TS 29.235 | 3GPP TS 29.235 |
| TS 29.329 | 3GPP TS 29.329 |
| TS 29.332 | 3GPP TS 29.332 |
| TS 29.333 | 3GPP TS 29.333 |
| TS 29.334 | 3GPP TS 29.334 |
| TS 29.424 | 3GPP TS 29.424 |
| TS 29.819 | 3GPP TS 29.819 |
| TS 29.890 | 3GPP TS 29.890 |
| TS 29.891 | 3GPP TS 29.891 |
| TS 32.771 | 3GPP TR 32.771 |
| TS 36.300 | 3GPP TR 36.300 |
| TS 36.410 | 3GPP TR 36.410 |
| TS 36.412 | 3GPP TR 36.412 |
| TS 36.413 | 3GPP TR 36.413 |
| TS 36.422 | 3GPP TR 36.422 |
| TS 36.442 | 3GPP TR 36.442 |
| TS 36.456 | 3GPP TR 36.456 |
| TS 36.458 | 3GPP TR 36.458 |
| TS 36.462 | 3GPP TR 36.462 |
| TS 37.470 | 3GPP TR 37.470 |
| TS 37.472 | 3GPP TR 37.472 |
| TS 37.480 | 3GPP TR 37.480 |
| TS 37.482 | 3GPP TR 37.482 |
| TS 38.401 | 3GPP TR 38.401 |
| TS 38.412 | 3GPP TR 38.412 |
| TS 38.413 | 3GPP TR 38.413 |
| TS 38.420 | 3GPP TR 38.420 |
| TS 38.422 | 3GPP TR 38.422 |
| TS 38.423 | 3GPP TR 38.423 |
| TS 38.460 | 3GPP TR 38.460 |
| TS 38.462 | 3GPP TR 38.462 |
| TS 38.470 | 3GPP TR 38.470 |
| TS 38.472 | 3GPP TR 38.472 |