传输层中的 TCP 和 UDP

第 3 层或网络层采用 IP 或 Internet 协议,这是一种无连接协议,独立处理每个数据包,导致缺乏传输可靠性。当数据从一台主机传输到另一台主机时,每个数据包,即使它属于同一个会话,也可能通过不同的路径。这意味着数据包可能会或可能不会以正确的顺序到达。因此,IP 的可靠性依赖于更高层的协议。

传输控制协议 (TCP)

TCP 是一种允许数据从一台计算机发送到另一台计算机的协议。TCP 是第 4 层协议,它提供数据包确认,并且由于它重新发送丢失的数据包,因此也很可靠。它优于UDP。然而,由于这些特性,它有一个缺点。

用户数据报协议 (UDP)

用户数据报协议也是第 4 层协议,但与传输控制协议不同,它不确认发送的数据包。因此,它是不可靠的并且依赖于更高层的协议来运行。但是,与 TCP 相比,它更简单、更具可扩展性且开销更低。它用于流式传输视频和音频。

TCP 对比 UDP

以下是区分 TCP 和 UDP 的主要因素 -

会话复用

单个主机可以使用单个 IP 地址与多个服务器交互。使用 TCP 时,服务器和接收器必须首先创建连接,然后必须在传输完成后终止连接。TCP 还确保传输在进行时是可靠的。

另一方面,UDP 不识别数据包已被接收。结果,它是不可靠的。

分割

Fastethernet 的最大传输单元或 MTU 是 1500 字节,而 TCP 的理论限制是 65495 字节。由于 UDP 不支持此功能,因此数据分段必须依赖于更高层的协议。

流量控制

如果发送器传送数据的速度比接收器处理它的速度快,接收器将丢弃它并寻求重放,从而浪费时间和资源。TCP 通过使用滑动窗口提供端到端的流量控制。滑动窗口从接收端发送一个确认,指示在任何给定时刻可能接收到的数据量。

UDP 不支持流量控制,必须依靠更高层的协议来实现。

面向连接

TCP 是面向连接的,这意味着它为传输建立连接,然后在传输完成后关闭该连接。另一方面,UDP 是无连接的,就像 IP(互联网协议)一样。

TCP 在收到数据包时提供确认,以确保其可靠性。如果数据包丢失,它会要求重传。为此,UDP 依赖于更高层的协议。