什么是SCTP?

SCTP 代表流控制传输协议。它是一种新的可靠的、面向消息的传输层协议。它通常是为当前已引入的 Internet 应用程序创建的。这些新的应用包括IUA(ISDN over IP)、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 执行拥塞控制来决定可以将多少数据块插入网络。