TCPDUMP 中有太多不正确的校验和错误

Vis*_*hal 27 network-monitoring tcpdump checksum

我发现在 GNU Linux 64 位服务器上执行的TCPDUMP 中有太多不正确的校验和错误。导出中有接近 50% 的错误校验和?

cksum 0xe61f(不正确(-> 0x8c37)

我们如何解释这些数据?它对性能影响很大吗?

the*_*bit 37

由于称为 TCP 校验和卸载的功能,您会看到“不正确”的校验和。输出 TCP 数据包的校验和字段不是由操作系统预先计算的,而是设置为 0 并留给 NIC 处理器计算。该Wireshark的常见问题有一个更详细的解释。

  • 您应该只看到机器发送的数据包的校验和不正确。这不是 Wireshark 特有的,任何在此级别工作的数据包捕获软件都会产生类似的结果。如果您看到收到的数据包校验和失败,则可能确实存在问题 - 这些数据包被 TCP 堆栈丢弃并触发重传以及拥塞控制算法 - 这将对数据吞吐量产生直接影响。 (5认同)