用户数据报协议(UDP)于1980年推出,是现存最古老的网络协议之一。它是用于客户端/服务器网络应用的简单OSI传输层协议,基于Internet协议(IP),是TCP的主要替代方案。
UDP的简要说明可能解释说,与TCP相比,它是一种不可靠的协议。虽然这是事实,但由于数据传输中没有任何错误检查或纠正,因此TCP无法匹配的协议确实存在。
UDP(有时称为UDP / IP)通常用于视频会议应用程序或专门用于实时性能的计算机游戏。为了实现更高的性能,该协议允许丢弃单个数据包(没有重试),并且按照与应用程序的指示不同的顺序接收UDP数据包。
与TCP相比,这种传输方法允许更少的数据开销和延迟。由于数据包无论发送什么,并且没有涉及任何错误检查,因此导致使用较少的带宽。
UDP比TCP好吗?
这个问题的答案取决于上下文,因为UDP可以提供比TCP更好的性能,但质量可能更差。
UDP优先于TCP的一个很好的例子就是当应用程序以更低的延迟执行时性能更好,例如在线游戏,视频聊天或语音传输。数据包可能会丢失,但总体延迟较少会降低质量,因此不会有太多质量损失。
通过在线游戏,UDP流量允许游戏继续,即使连接暂时丢失,或者某些数据包由于某种原因被丢弃。如果涉及纠错,连接将遭受时间损失,因为数据包试图重新进入他们中断的地方以弥补错误,但这在现场视频游戏中是不必要的。直播也是如此。
但是,UDP在文件传输方面不是那么好的原因是你需要整个文件才能正确使用它。但是,您不需要视频游戏或视频的每一个数据包来享受它。
OSI模型的第4层中的TCP和UDP,并使用TFTP,RTSP和DNS等服务。
UDP数据报
UDP流量通过所谓的数据报工作,每个数据报由一个消息单元组成。标题详细信息存储在前八个字节中,但其余部分保存实际消息。
此处列出的UDP数据报头的每个部分都是两个字节:
- 源端口号
- 目标端口号
- 数据报大小
- 校验
UDP端口号允许不同的应用程序维护自己的数据通道,类似于TCP。 UDP端口头长度为两个字节;因此,有效的UDP端口号范围为0到65535。
UDP数据报大小是标头和数据部分中包含的总字节数的计数。由于报头长度是固定大小,因此该字段有效地跟踪可变大小数据部分的长度(有时称为有效载荷)。
数据报的大小取决于操作环境,但最多为65535字节。
UDP校验和保护消息数据不被篡改。校验和值表示由发送方首先计算的数据报数据的编码,然后由接收方计算。如果在传输过程中单个数据报被篡改或损坏,UDP协议会检测校验和计算不匹配。
在UDP中,校验和是可选的,而TCP则是必需的校验和。