2

我目前正在查看 DHCP 设置方案中 UDP 数据包的结构,并且在确定 UDP 数据包末尾需要的填充字节数时遇到了麻烦。

我使用 Wireshark 跟踪数据,并且可以了解以太网帧的内容到 UDP 级别。我不明白的是 UDP 数据中添加了多少填充字节 0x00。在我的场景中,我的 UDP 长度为 0x0134(=308 字节/八位字节,来自 Wireshark),最后七个八位字节只是填充(=0x00)。UDP 的 Wikipedia-article ( http://en.wikipedia.org/wiki/User_Datagram_Protocol ) 段落“校验和计算”提到使用零八位字节填充以形成两个八位字节的倍数。我最初将此解释为我的 UDP 长度为 2 的倍数。但是,如果这是真的,那么我将不需要 7 个填充八位字节,但可以使用一个填充八位字节:这是跟踪结束的等价物:

字节-#....内容
...
299d.......0xF9
300d.......0x2B
301d.......0xFF
302d.......0x00
=> 这里我已经有了 2 的倍数,但是我仍然得到了 6 个更多的填充字节。

有人可以帮我了解这六个是从哪里来的吗?

干杯,

ye_ol_man

4

0 回答 0