Sctp
SCTP 概述
流控制传输协议 (SCTP) 是互联网协议套件中的一种传输层协议。SCTP 与 UDP 和 TCP 以等效级别存在,从而为许多互联网应用程序提供传输层功能。SCTP 是一种以消息流为中心的可靠连接导向传输协议,具有以下功能:
-
多流协议 — SCTP 提供了一种为每个 SCTP 端点维护多个消息流的机制。
此协议支持执行以下任务的应用程序:
-
传递不同优先级的消息
-
在流中提供严格的消息顺序
-
在流中绕过序列交付服务,使用多流协议
-
-
用户数据分片 — 要发送大于路径最大传输单元 (MTU) 限制的消息,SCTP 会将消息分片为数据块,并使用不同的 SCTP 数据包发送。SCTP 报头有一个标记,用于标记最后一个分片消息块。接收方会重组所有分片块并将其传递到上层协议。
-
块捆绑 — 此功能使 SCTP 能够将来自多个消息的块捆绑在一个 SCTP 数据包中。接收方在传送到上层协议之前拆装块。
-
数据包验证 — 您可以在 SCTP 标头中包含一个验证标记,以唯一标识 SCTP 关联会话。使用新的验证标记进行复兴。会话中。此功能可抵御先前关联的伪装攻击和陈旧的 SCTP 数据包。
-
支持多宿主 — SCTP 可以为 SCTP 端点指定服务器和客户端在关联启动期间交换的本地传输地址列表。此列表在其他端点播发一个端点在设置 SCTP 关联后接收的 SCTP 数据包中的可用目标地址和源地址。另一个 SCTP 端点会为每个接收的目标地址建立路由,并使用此路由来确保数据传输的高可用性。
与 AMF 的 SCTP 连接
接入网关功能 (AGF) 使用流控制传输协议 (SCTP) 传输新一代应用程序协议 (NGAP) 消息。这些消息提供带有接入和移动管理功能 (AMF) 的控制平面信令。SCTP 是一种传输层协议,可确保可靠、按顺序传输数据。SCTP 提供多宿主支持,其中一个或两个连接端点可以包含多个 IP 地址。此功能可在冗余网络路径之间实现透明故障转移。SCTP 关联是两个 SCTP 端点之间的连接。AGF 在 AGF 和 AMF 上的端点之间创建传输层网络关联 (TNLA)。

图 1 显示了一个多宿主 AGF SCTP 端点和一个单宿主 AMF SCTP 端点。使用 AGF SCTP 端点多宿主,您可以将其中一个 AGF 端点(IP 地址)指定为主路径。如果主路径发生故障,SCTP 将切换到辅助路径。AGF 支持以下功能:
-
多宿主本地端点
-
将实例路由到 AMF
-
每个 AMF 最多 10 个 TNL
-
跨支持 UE 相关信令的所有 TNL 对用户设备 (UE) 进行负载平衡。
您可以在层次结构中配置与 AMF 的 [edit services agf amf]
SCTP 连接。
对虚拟路由和转发 (VRF) 的 SCTP 支持
VRF(虚拟路由和转发)功能允许管理远程 IP 地址。如果出口接口到 VRF 内配置的 SCTP 服务器,则 SCTP 客户端在发起新的 SCTP 关联之前,应为路由表索引/VRF 索引设置套接字选项,否则无法建立关联,因为 SCTP 客户端将使用默认/全局路由实例进行关联建立。在 SCTP 服务器端,如果侦听插槽上没有设置 VRF 索引插槽选项,则所有 VRF 上收到的关联请求都将得到处理,但如果在侦听插槽上设置了 VRF 索引插槽选项,则针对特定 VRF 的关联建立请求只会被娱乐。
应用程序可以通过自定义标记设置套接字选项,以便向 SCTP 提供路由表索引,以处理基于 VRF 的 SCTP 关联,将关联置入该特定关联,或者让 SCTP 内核在建立过程中根据配置入口接口的 VRF 在 4 次握手过程中选择 VRF 进行关联。
通过 VRF 实例建立 SCTP 关联时,内核在使用 SCTP 中使用的现有 4 元(源 IP、源端口、目标 IP、目标端口)来查找唯一关联时,内核在查找唯一关联时必须考虑一个附加参数,即唯一 VRF ID。
- 通过 VRF 的入站 SCTP 数据包:
当 SCTP 数据包到达入口接口时,将使用 5 元(源 IP、源端口、目标 IP、目标端口和接收数据包的 VRF ID)进行查找,以确定内核中是否存在现有 SCTP 关联。
- 通过 VRF 的出站 SCTP 数据包:
对于从内核发送出的每个 SCTP 数据包,使用 5 元(源 IP、源端口、目标 IP、目标端口和“数据包将发送的 VRF ID”)从关联数据中获取相应的 VRF ID。