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

时间:2018-07-13 16:31:03

标签: error-handling udp crc

U ser D 谱图 P rotocol提供了一些错误检测功能。

有人说它具有校验和机制。 但是该协议没有握手过程。 因此,该协议似乎不必担心数据错误。
怎么有校验和部分?

1 个答案:

答案 0 :(得分:2)

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

通常,现代的“常识”说,在现代设备上,数据包很少在传输中损坏。而且,如果您对这种假设还满意,那么我建议您简单地假设数据包从未被破坏,而忽略是否在过渡中使用了校验和。但是,如果您对偶尔的数据损坏不满意,那么您应该将更好的校验和嵌入到数据中,例如CRC甚至是加密哈希。这完全取决于数据完整性对您的重要程度以及您愿意为实现它而付出的努力。这实际上适用于TCP和UDP。

请参见RFCthis answer