47 SCTP - Stream Control Transmission Protocol #
From Stream Control Transmission Protocol - Wikipedia
The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the protocol provides the message-oriented feature of the User Datagram Protocol (UDP) while ensuring reliable, in-sequence transport of messages with congestion control like the Transmission Control Protocol (TCP). Unlike UDP and TCP, the protocol supports multihoming and redundant paths to increase resilience and reliability.
SCTP is standardized by the Internet Engineering Task Force (IETF) in RFC 9260. The SCTP reference implementation was released as part of FreeBSD version 7 and has since been widely ported to other platforms.
In 3GPP 4G (LTE) specifications, SCTP (Stream Control Transmission Protocol) acts as the foundational Layer 4 transport for control-plane signaling messages across the Evolved Packet Core (EPC), including the signaling connection with the Radio Access Network (RAN) domain. 3GPP 5G specifications have instead removed the need for SCTP inside the Core Network through the introduction of the Service Based Architecture (SBA) which replaces all the Diameter-over-SCTP based signalling interfaces by HTTP/2. However it is still required inside the 5G RAN domain:
in the signaling interfaces across the network elements making up a "disaggregated" gNodeB instance (F1-C interface between DU and CU-CP and E1 interface between CU-CP and CU-UP).
in the Xn-C interface connecting gNodeB instances for signaling purposes.
in the N2 (aka NG-C) reference point used to connect gNodeB instances (RAN domain) with AMF instances (Core Nework domain) for signaling purposes.
You must then enable the sctp linuk kernel module (lksctp) on downstream cluster nodes hosting the SCTP-capable Telco workloads that leverage it:
To manually load the
sctpkernel module on a linux node:
$ sudo modprobe sctpTo automate loading the
sctpkernel module at every node boot, create a file namedsctp.confin/etc/modules-load.d/directory that simply contains the stringsctp(that is, the name of the kernel module that systemd-modules-load.service unit should load at boot).
$ echo "sctp" > /etc/modules-load.d/sctp.conf
$ rebootThe easiest and best way to ensure the sctp kernel module loads at every node boot is to add that /etc/modules-load.d/sctp.conf file to the
Edge Image Builder (EIB) built raw image used to provision downstream nodes; see the EIB documentation (Section 5.3.5, “Adding Operating System Files”)
for more information on how to do it.