SCTP 和 UDP 有什么区别?

让我们首先了解什么是流控制传输协议 (SCTP)。

SCTP

SCTP 代表流控制传输协议。它是一种新的稳定的、面向消息的传输层协议。它通常是为已引入的 Internet 应用程序设计的。

这些新的应用包括IUA(ISDN over IP)、M2UA和M3UA(电话信令)、H.248(媒体网关控制)、H.323(IP电话)和SIP(IP电话)等。

SCTP 连接了UDP 和TCP 的特性。SCTP 是一种稳定的面向消息的协议。它保护消息边界,同时检测隐藏数据、重复信息和无序数据。它还具有拥塞控制和流量控制结构。

在 TCP 中,每个连接中只有一个流。在 SCTP 中,每个关联中可以有多个流。SCTP 中的每个流都需要使用流标识符 (SI) 进行标识。

每个数据块都应在其标头中携带 SI,以便当它出现在目的地时,它可以适当地放置在其流中。51 是一个从 O 开始的 16 位数字。

数据传输协议

UDP 代表用户数据报协议。它是一种传输层无连接协议。它支持通过网络在连接设备之间快速传输数据。UDP 中没有生成、维护和删除连接的开销。

它通常可用于在无法承受一些传输延迟的情况下发送实时数据。UDP 以恒定数据流的结构将数据从一台设备发送到另一台设备。

UDP 报头的大小是恒定的,即 8 个字节。它不可靠,但速度更快。由于其传输速度,DNS、DHCP、RIP 等协议使用 UDP 在网络上进行准确的数据传输。

UDP 是一种不可靠的协议。在某些方面,它将需要 UDP 协议。UDP 部署在数据包需要大量带宽以及基本信息的地方。

例如,在视频流中,接受数百个数据包很麻烦并且会滥用带宽。一些隐藏的数据包不会在视频流中产生问题,也可以避免它。

通常一次传输少量信息的应用程序也使用 UDP。

例如,UDP 支持协议端口在单个设备上实现的多个程序之间进行分类。每个 UDP 消息都包括目标端口号和源端口号。

这使得目的地的 UDP 软件可以将消息传递给适当的应用程序,并且应用程序可以发送确认。