用户数据报协议是传输层协议。 UDP是Internet协议套件(称为UDP / IP套件)的一部分。与TCP不同,它是不可靠且无连接的协议。因此,无需在数据传输之前建立连接。尽管传输控制协议(TCP)是大多数Internet服务使用的主要传输层协议;提供了有保证的交付,可靠性和更多功能,但所有这些服务使我们付出了额外的开销和延迟。在这里,UDP出现了。对于实时服务,例如计算机游戏,语音或视频通信,现场会议;我们需要UDP。由于需要高性能,因此UDP允许丢弃数据包,而不是处理延迟的数据包。 UDP中没有错误检查,因此也节省了带宽。
就延迟和带宽而言,用户数据报协议(UDP)效率更高。
UDP标头:
UDP标头是一个8字节的固定和简单标头。前8个字节包含所有必需的标头信息,其余部分包含数据。 UDP端口号字段每个都有16位长,因此,端口号的范围是从0到65535;端口号0保留。端口号有助于区分不同的用户请求或进程。
示例1:
给定UDP头的DUMP为十六进制格式06 32 00 0D 00 1C E217。找到以下内容:
- 源端口号?
- 目的端口号?
- 用户数据报的长度?
- 数据长度?
解决方案 :
- 源端口–
源端口是2字节长的字段,用于标识源的端口号。源端口号是前四个十六进制数字,即06 32如果将十六进制转换为十进制,则得到1586。 - 目的端口 –
它是一个2字节长的字段,用于标识目的地数据包的端口。目标端口号是后四个十六进制数字00 0D如果将十六进制转换为十进制,则得到13 - 长度 –
长度是UDP的长度,包括头和数据。它是一个16位字段。第三个四个十六进制数字00 1C如果将十六进制转换为十进制,则得到16,将整个UDP数据包的长度定义为28 - 标头长度–
它是8个字节,因为它是固定的。数据的长度就是整个数据包的长度,即报头的长度,即28 – 8 = 20字节。
示例2:
给定一个十六进制格式的UDP头的DUMP 04 21 00 0B 00 2A E2 17.找到以下内容:
- 源端口号?
- 目的端口号?
- 用户数据报的长度?
- 数据长度?
解决方案:
- 源端口号是前四个十六进制数字,即04 21如果将十六进制转换为十进制,则得到1057
- 目标端口号是后四个十六进制数字00 0B如果将十六进制转换为十进制,则得到11
- 如果我们将十六进制转换为十进制,则后四个十六进制数字00 2A将整个UDP数据包的长度定义为28
- 数据的长度就是整个数据包的长度,即报头的长度,即28 – 8 = 20字节。
示例3:
给定UDP头的DUMP为十六进制格式03 61 10 1A 10 4C Y242。找到以下内容:
- 源端口号?
- 目的端口号?
- 用户数据报的长度?
- 数据长度?
解决方案:
- 源端口号是前四个十六进制数字,即03 61如果将十六进制转换为十进制,则会得到0865
- 目标端口号是后四个十六进制数字10 1A如果将十六进制转换为十进制,则得到4122
- 如果我们将十六进制转换为十进制,则后四个十六进制数字10 4C将整个UDP数据包的长度定义为28
- 数据的长度就是整个数据包的长度,即报头的长度,即28 – 8 = 20字节。
笔记 :
UDP报头还包含长度可变的有效载荷数据。 UDP用作隧道协议,其中隧道终结点将另一个协议的数据包封装在UDP数据报内,并将其传输到另一个隧道终结点,后者对UDP数据报进行解封装并转发有效负载中包含的原始数据包。