47 SCTP - 流控制传输协议 #
流控制传输协议 (SCTP) 是一种计算机网络通信协议,位于互联网协议套件的传输层。 该协议最初旨在用于电信领域的信令系统 7 (SS7) 消息传输,它提供了用户数据报协议 (UDP) 的面向消息功能,同时确保了像传输控制协议 (TCP) 那样具有拥塞控制的可靠、按序的消息传输。 与 UDP 和 TCP 不同,该协议支持多宿主和冗余路径,以提高弹性和可靠性。
SCTP 由互联网工程任务组 (IETF) 在 RFC 9260 中标准化。SCTP 参考实现作为 FreeBSD 7 版本的一部分发布,此后已被广泛移植到其他平台。
在 3GPP 4G (LTE) 规范中,SCTP(流控制传输协议)充当演进分组核心网 (EPC) 中控制面信令消息的基础第 4 层传输,包括与无线接入网 (RAN) 域的信令连接。3GPP 5G 规范通过引入服务化架构 (SBA) 取消了核心网内部对 SCTP 的需求,该架构用 HTTP/2 取代了所有基于 Diameter-over-SCTP 的信令接口。然而,在 5G RAN 域内仍然需要它:
在构成“解耦”gNodeB 实例的网络单元之间的信令接口中(DU 和 CU-CP 之间的 F1-C 接口,以及 CU-CP 和 CU-UP 之间的 E1 接口)。
在用于信令目的的连接 gNodeB 实例的 Xn-C 接口中。
在用于将 gNodeB 实例(RAN 域)与 AMF 实例(核心网)连接以进行信令传输的 N2(又称 NG-C)参考点中。
然后,您必须在托管利用它的支持 SCTP 的电信工作负载的下游集群节点上启用 sctp Linux 内核模块 (lksctp):
若要手动在 Linux 节点上加载
sctp内核模块:
$ sudo modprobe sctp若要自动在每次节点启动时加载
sctp内核模块,请在/etc/modules-load.d/目录中创建一个名为sctp.conf的文件,其中仅包含字符串sctp(即 systemd-modules-load.service 单元应在启动时加载的内核模块名称)。
$ echo "sctp" > /etc/modules-load.d/sctp.conf
$ reboot确保 sctp 内核模块在每次节点启动时加载的最简单且最佳的方法是将该 /etc/modules-load.d/sctp.conf 文件添加到用于预配下游节点的 Edge Image Builder (EIB) 构建的原始映像中;有关如何执行此操作的更多信息,请参阅 EIB 文档 (第 5.3.5 节 “添加操作系统文件”)。