📜  UDP标头示例

📅  最后修改于: 2021-08-24 16:13:06             🧑  作者: Mango

用户数据报协议是传输层协议。 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。找到以下内容:

  1. 源端口号?
  2. 目的端口号?
  3. 用户数据报的长度?
  4. 数据长度?

解决方案 :

  1. 源端口–
    源端口是2字节长的字段,用于标识源的端口号。源端口号是前四个十六进制数字,即06 32如果将十六进制转换为十进制,则得到1586。
  2. 目的端口 –
    它是一个2字节长的字段,用于标识目的地数据包的端口。目标端口号是后四个十六进制数字00 0D如果将十六进制转换为十进制,则得到13
  3. 长度 –
    长度是UDP的长度,包括头和数据。它是一个16位字段。第三个四个十六进制数字00 1C如果将十六进制转换为十进制,则得到16,将整个UDP数据包的长度定义为28
  4. 标头长度–
    它是8个字节,因为它是固定的。数据的长度就是整个数据包的长度,即报头的长度,即28 – 8 = 20字节。

示例2:

给定一个十六进制格式的UDP头的DUMP 04 21 00 0B 00 2A E2 17.找到以下内容:

  1. 源端口号?
  2. 目的端口号?
  3. 用户数据报的长度?
  4. 数据长度?

解决方案:

  1. 源端口号是前四个十六进制数字,即04 21如果将十六进制转换为十进制,则得到1057
  2. 目标端口号是后四个十六进制数字00 0B如果将十六进制转换为十进制,则得到11
  3. 如果我们将十六进制转换为十进制,则后四个十六进制数字00 2A将整个UDP数据包的长度定义为28
  4. 数据的长度就是整个数据包的长度,即报头的长度,即28 – 8 = 20字节。

示例3:

给定UDP头的DUMP为十六进制格式03 61 10 1A 10 4C Y242。找到以下内容:

  1. 源端口号?
  2. 目的端口号?
  3. 用户数据报的长度?
  4. 数据长度?

解决方案:

  1. 源端口号是前四个十六进制数字,即03 61如果将十六进制转换为十进制,则会得到0865
  2. 目标端口号是后四个十六进制数字10 1A如果将十六进制转换为十进制,则得到4122
  3. 如果我们将十六进制转换为十进制,则后四个十六进制数字10 4C将整个UDP数据包的长度定义为28
  4. 数据的长度就是整个数据包的长度,即报头的长度,即28 – 8 = 20字节。

笔记 :
UDP报头还包含长度可变的有效载荷数据。 UDP用作隧道协议,其中隧道终结点将另一个协议的数据包封装在UDP数据报内,并将其传输到另一个隧道终结点,后者对UDP数据报进行解封装并转发有效负载中包含的原始数据包。