TCP和UDP(有时)使用简单的校验和来确保内容正确。我想知道的是,对于拥有标准计算机和互联网连接的人来说,一个数据包被损坏但具有正确的校验和的频率有多高,是否有任何经验数据或估计值。现在我知道这可能会受到ISP质量、硬件质量等因素的影响,但我只是想听听有关此方面的任何信息。
来自微软研究院,
基本上,在典型的互联网连接上传输100MB以上的数据,很可能会出现无声的失败。过去两年的互联网数据包迹象表明,在链路层循环冗余校验(CRC)应该捕获所有错误的情况下,每1,100个到32,000个数据包中就有1个数据包未通过TCP校验和。对于某些情况,校验和失败率甚至更高:在一个小时的测试中,我们观察到400个数据包中有1个校验和失败。我们正在调查为什么会出现这么多错误,当链路层CRC应该几乎可以捕获所有错误。