UDP 编号段?

UDP numbered segments?

我的防火墙教科书说:“UDP 将消息分成编号的段以便可以传输。”

我的理解是 UDP 没有序列或其他编号方案?该数据被分成数据包并在另一端没有有序重建的情况下发送出去,至少在这个层面上是这样。我错过了什么吗?

这本书只是错在这里。 relevant section 表示:

User Datagram Protocol (UDP)—This protocol is similar to TCP in that it handles the addressing of a message. UDP breaks a message into numbered segments so that it can be transmitted. It then reassembles the message when it reaches the destination computer.

UDP 不包含任何分段或重组消息的机制;每条消息都作为单个 UDP 数据报发送。如果您查看第 108 页上的 UDP“数据包”(技术上的数据报)结构,就会发现没有段号或类似的东西。

请注意,分段可能发生在 UDP 之上或之下的其他层:

  • 如果 IP 数据包对于网络 link 的 MTU(最大传输单元)而言太大,则可能会被分段。这可能发生在包含 UDP、TCP 或其他任何内容的 IP 数据包上。这实际上与防火墙相关,因为创意碎片可以 sometimes be used to bypass packet filtering rules.

  • 某些 运行 在 UDP 之上的协议也使用诸如编号段之类的东西。例如,TFTP(普通文件传输协议)将文件分成“块”,并传输一个block number in the header for each block。 (并且接收方响应确认它收到的块号——它就像一个大大简化的 TCP 版本。)但这是 TFTP 协议的一部分,而不是 UDP 的一部分。

  • QUIC 是 运行 基于 UDP 并支持分段(和多个连接,以及...)和每个数据包 contains a packet number 的协议的另一个示例。但同样它是 QUIC 协议的一部分,而不是 UDP。