为什么 UDP 校验和对于 IPv4 是可选的?

网络工程 IPv4 IP地址 UDP 第 4 层 校验和
2022-03-02 09:19:43

我们知道IPv4标头具有标头而不是数据的校验和。因此,为了检查数据错误,我们需要传输层中的校验和。假设我们正在使用UDPinlayer 4.那么如果我从数据报中删除校验和选项,UDP将如何检测到错误?或者我的问题是为什么UDP校验和是可选的IPv4

1个回答

这就是它的设计方式。您可以使用校验和,但您不需要。

应用程序可能不太关心数据损坏,或者您的应用程序层协议可能包含比 UDP 非常简单的校验和更好的完整性检查。此外,在某些情况下,最好接收任何东西而不是什么都没有

在 UDP 报头中不使用校验和也可能是一个好处——因为校验和验证失败的数据报会被简单地丢弃,接收应用程序不会看到它们。

通过明确使用校验和选项,发送方应用程序可以将损坏的数据报同样传递给接收方应用程序。现在,如果发送方应用程序还在 UDP 有效负载中(在应用程序层上)包含前向纠错 (FEC) 信息,则允许接收方应用程序修复损坏的数据并最终接收正确的数据。