为什么 UDP header 有 'Length' 字段?

Why the UDP header has 'Length' field?

UDP header 中 'Length' 字段的用途是什么?鉴于IPheader中也有一个'Length'字段,而UDPheader的长度是常数

我知道这个问题已被问过多次,但 none 我找到的答案说服了我。

如果是 IP 分片 - 据我了解,IP 分片将 UDP 数据报分成多个 IP 帧,然后接收主机中的 IP 层使用 'Length' 字段重新组装帧从 IP header 到 UDP 数据报,UDP 层甚至不知道数据报已分片。

如果是因为我们不能假设网络层使用的协议是 IP - 也许我没有正确理解传输层从网络层接收数据的确切形式,但不是传输层只从网络层接收 UDP header & 数据是真的吗?如果是这样,那么网络层使用哪种协议都没有关系。 如果传输层以比特流的形式接收数据而不是数据块,那么它如何计算整个 UDP headers & 数据的校验和?

我也不能接受这个字段是多余的答案,因为我了解到在制定RFC的时代,每一位都很重要,没有没有专门用途的位。

希望你能帮我弄清楚这件事。 谢谢!

所以我找到了答案 -

在“https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-udp-options-01”中说:

"The UDP Length length field is typically redundant".

我认为如果它在“ietf.org”域下,我可以相信...

上面 link 中的更多详细信息供感兴趣的人参考。 (第 4 和第 9 节)

感谢回复者!