UDP

实验五

​ UDP是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。——百度百科

​ 1.在 Wireshark 中捕获数据包,然后执行一些会导致主机发送和接收多个 UDP 数据包的操作。(运行python代码发送UDP数据包)

​ 2.停止数据包捕获后,设置数据包筛选器,以便 Wireshark 仅显示在主机上发送和接收的 UDP 数据包。 选择其中一个 UDP 数据包并在详细信息窗口中展开 UDP 字段。

image.png

​ 从跟踪中选择一个 UDP 数据包:

UDP 的标头有 4 个字段,一共 7 byte,各字段分别为:

Source Port:源端口号
​ Destination Port:目的端口号
​ Length:长度
​ Checksum:校验和

​ 通过查询 Wireshark 的数据包内容字段中显示的信息,UDP 报头字段的长度。UDP 报头为 8 byte = 64 bit。

​ 长度字段指示了在 UDP 报文段中的字节数(首部 + 数据),这是因为数据字段的长度在一个 UDP 段中不同于在另一个段中,因此需要一个明确的长度。如图,报文的长度是 7 byte,加上首部的 8 byte 为 15 byte 刚好是 Length 字段的长度。

​ UDP 有效负载中可包含的最大字节数是多少?

​ 简单地说,有效负载就是可变长度的数据部分。由于Length 字段占 2byte = 65535 bit,并且其中 8 byte 是 UDP 首部信息。因此有效载荷 = 65535 - 8 = 65527 bit。

​ 最大可能的源端口号是65534。

​ UDP 的协议号是什么? 以十六进制和十进制表示法给出答案。

image.png

UDP 的协议号为 17,十六进制为 0x11。

​ 检查主机发送第一个UDP包的一对UDP数据包,第二个UDP数据包是该第一个UDP数据包的回复。(提示:要发送第二个数据包以响应第一个数据包,第一个数据包的发送者应是第二个数据包的目的地)。 描述两个数据包中的端口编号之间的关系。

发送过去的 源端口号 之后就变成了回应时的目的端口号