其他分享
首页 > 其他分享> > 谈一谈SCTP协议

谈一谈SCTP协议

作者:互联网

在EPC体系结构中,eNodeB和MME之间的S1接口的传输层是使用的是流控制协议SCTP协议。SCTP是一种可靠的面向连接的传输层协议,跟TCP协议很相似。SCTP能够实现拥塞和流量控制、差错控制、数据的丢弃和复制并且支持选择重传机制,进行可靠的信令数据传送的协议。下面我们谈一谈SCTP协议。

什么是信令

这里简单说一下信令,后面很多都带信令两个字。其实很简单,就是终端和终端、终端和网络之间传递的一种消息。说白了就是通信两端,在一端进行状态转移的时候,需要发送信息来通知另一端来做状态同步。然后顺便捎带一些配置信息和控制信息等。信令主要是用来通信连接的两侧做状态同步使用。

对于信令必须具有可靠传送和顺序传送的特点,同时信令数据报文会比较短小,在不同信令报文之间需要明确的分界。

IP传输协议我们常见的主要包含TCP、UDP协议。但是在设计上,由于出发点不同,TCP和UDP都不合适进行信令的传送。

下面我们说说为什么TCP、UDP不合适做信令的传送。

TCP存在哪些问题

我们都知道TCP是面向传输的协议,支持可靠的数据传输、严格的数据发送顺序。上面我们说了TCP、UDP、SCTP在设计上有所不同。有哪些不同呢?

UDP协议存在哪些问题

我们都知道UDP是面向无连接的数据包协议,不支持可靠、顺序的数据报传送,信令的应用需要自行设计信令的数据报的分段、重组、顺序传送保证,可靠传送保证机制等等。增加了信令的设计复杂度。

对于UDP本身实时性较好,但是无拥塞、流量控制机制。

SCTP具有哪些特点

针对TCP和UDP的缺点,SCTP有针对性的根据信令的传送特点设计协议处理机制。在IP协议栈中,SCTP与TCP、UDP处于相同位置。

在这里插入图片描述
与TCP、UDP相比,SCTP具有以下特点:

为了实现预定的信令传送能力,SCTP协议进行了如下的定义。

SCTP端点(Endpoint)

SCTP数据报协议的发送、接收者。SCTP端点是一个逻辑概念,每一个SCTP端点可以绑定多个IP地址作为其传送地址,用于SCTP数据报的收发。

SCTP端点绑定的IP地址组中的每一个IP地址都必须是唯一的,不能重复。SCTP端点所绑定的多个IP地址必须使用相同的端口,即SCTP端点具有唯一的端口。

SCTP偶联(Association)

SCTP偶联是SCTP端点之间连接关系。偶联可以使用SCTP端点的传送层地址唯一标识。两个SCTP端点之间同时只能有一个偶联。这意味着在两个端点之间虽然可以绑定多个IP地址,但是同时只能有一个活动的IP地址用于数据传送。

SCTP流(Stream)

SCTP流用于描述SCTP偶联中由一个SCTP端点到另一个端点的单向逻辑通道,这个通道将用于在偶联之间提供消息的有序传送。

SCTP偶联中可以建立多条流,流间消息不需要关心顺序,从而可以避免队头拥塞。

SCTP通路(Path)

代表SCTP分组由SCTP偶联的一个端点传送至另一个端点特定绑定传送地址的途径。

SCTP通路是一个数据传送目标路由的抽象。当发送SCTP数据报的时候,默认设置的发送端传送地址和接收地址被称为SCTP默认通路。

基于通路的设定,端点之间的数据报可以使用不同的目标传送地址,以避免特定IP地址的失效而造成的偶联失败。

SCTP分组(Packet)

SCTP消息在网络上的基本传送单位,SCTP单元(Chunk)则是SCTP分组中的一个单位。SCTP分组用于将信令数据包承载在网络上,并进行信令数据报的有效验证。

SCTP单元则用于信令的定界、分析与重组,并基于SCTP单元完成数据单元证实、重发与预防拥塞。

总结

基于SCTP的信令传送结构,SCTP的基本功能划分为以下部分:

参考:RFC4166、RFC4960

欢迎关注微信公众号【程序猿编码】,欢迎添加本人微信号(17865354792)交流学习。

标签:协议,UDP,谈一谈,信令,TCP,传送,端点,SCTP
来源: https://blog.csdn.net/chen1415886044/article/details/118882121