SCTP

Stream Control Transmission Protocol

Protocol
Introduced in R99
SCTP is a reliable, message-oriented transport layer protocol used extensively in 3GPP core network signaling interfaces. It provides multi-homing, multi-streaming, and enhanced security compared to TCP, making it ideal for carrying critical signaling protocols like S1-AP, NG-AP, and Diameter.

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

Defining Specifications

SpecificationTitle
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