UDP 协议是否有一些错误检测?

Man*_*ara 4 error-handling udp crc

所述ü SER d atagram P rotocol提供了一些错误检测。

有人说它有校验和机制。但是这个协议没有握手过程。所以这个协议似乎并不担心数据错误。
它怎么会有校验和部分?

Sev*_*eva 5

校验和与握手无关。它只是验证正在传输的数据包的完整性。如果数据包无效,它将被丢弃。在 TCP 的情况下,接收方(或者更确切地说是下一跳路由器)将通过要求发送方重新发送无效数据包来尝试恢复。但是在 UDP 的情况下,它只是在那里结束 - 数据包被简单地丢弃,仅此而已。请注意,UDP 校验和实际上是可选的。我相信甚至可以通过中间跳路由器删除。即使使用,它也是一个非常弱的校验和。

一般来说,现代的“常识”说现代设备上的数据包很少在传输中被损坏。如果你同意这个假设,那么我建议简单地假设数据包永远不会损坏,而忽略是否在转换中使用了校验和。但是,如果您对偶尔的数据损坏不满意,那么您应该将更好的校验和嵌入到您的数据中,例如 CRC 甚至加密哈希。这完全取决于数据完整性对您的重要性以及您愿意为实现它而走多远。这实际上适用于 TCP 以及 UDP。

请参阅RFC以及此答案