ICMP 校验和卸载

Posted

技术标签:

【中文标题】ICMP 校验和卸载【英文标题】:ICMP Checksum offload 【发布时间】:2013-01-25 07:07:51 【问题描述】:

我有一个简单的自定义 ping 程序回显请求/回显回复....服务器部分部署在 Linux 中,客户端在 Windows 机器中....

客户端和服务器端都以编程方式计算 ICMP 校验和并设置它..一切正常。

现在我想为服务器模块启用 到网卡 ....我已经使用 ethtool 启用它

我可以看到 TCP,校验和卸载发生......但是当我从服务器程序中注释掉 ICMP 校验和计算部分时,希望网卡可以为我做但是我没有收到任何 Echo 回复...... .虽然服务器正在接收 Echo 请求....一定是错误的校验和数据包被丢弃...

谁能给我指路。

谢谢

【问题讨论】:

【参考方案1】:

据我所知,NIC checksum offloading 只能破坏 IP/TCP/UDP 帧。

我不认为 ICMP 框架被覆盖。

【讨论】:

我明白了。感谢您的意见。

以上是关于ICMP 校验和卸载的主要内容,如果未能解决你的问题,请参考以下文章

如何计算IP或ICMP协议首部里的checksum字段

Python网络编程4--实现IP分片与网络路径MTU探测

什么是校验和?

ip校验与计算

IP首部校验合

计算数IP据报的校验和