传输层中的 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依赖于更高层的协议。