什么是SCTP?
SCTP代表流控制传输协议。它是一种新的可靠的、面向消息的传输层协议。它通常是为当前已引入的Internet应用程序创建的。这些新的应用包括IUA(ISDNoverIP)、M2UA和M3UA(电话信令)、H.248(媒体网关控制)、H.323(IP电话)和SIP(IP电话)等。
SCTP连接了UDP和TCP的特性。它是一种可靠的面向消息的协议。它可以保持消息边界,同时检测丢失的信息、重复的信息和乱序的信息。它还具有拥塞控制和流量控制结构。
SCTP的特点
SCTP的各种功能如下-
传输序列号
TCP中的一组数据是一个字节。TCP中发送的数据是通过使用序列号对字节进行编号来控制的。SCTP中的数据单元是一个DATA块,由于碎片,它可以或不能与进程出现的消息存在一对一的关系。
流标识符
在TCP中,每个连接都应该有一个流。在SCTP中,每个关联中可以有多个流。SCTP中的每个流都需要使用流标识符(SI)进行标识。
每个数据块都应在其标头中携带SI,以便当它出现在目的地时,可以正确地在其流中定位。51是一个从0开始的16位数字。
流序列号
当数据块出现在目标SCTP上时,它会以准确的顺序传送到合适的流。这进一步表示SI,SCTP用流序列号(SSN)定义每个流中的每个数据块。
数据包
在TCP中,段提供数据和控制信息。数据作为一组字节携带;控制数据由头部中的六个控制标志表示。SCTP的设计完全不同,数据以数据块的形式承载,控制数据以控制块的形式承载。
流量控制
与TCP一样,SCTP执行流量控制以防止接收方不堪重负。
错误控制
与TCP一样,SCTP执行错误控制以支持可靠性。TSN号和确认号用于差错控制。
拥塞控制
与TCP一样,SCTP执行拥塞控制来决定可以将多少数据块插入网络。