WireShark抓包时TCP数据包出现may be caused by ip checksum offload
2014-01-17 14:06
609 查看
最近用WireShark抓包时发现TCP数据包有报错:IP Checksum Offload,经过查阅资料终于找到了原因
总结下来就是wireshark抓到的数据包提示Checksum错误,是因为它截获到的是操作系统胡乱填充的checksum,而千兆网卡在开启Checksum Offload之后,会把这些计算的工作交给网卡去做,网卡最后还是会计算出正确的checksum并且发出去的。
也就是以前校验和是由系统协议栈来实现,现在交给网卡硬件去实现了,这样可以节约不少CPU资源,微软的测试表明它可以最多节约30%的CPU资源。IBM里AIX的文档则指出:对于PCI接口的千兆网卡来说还不如让400Mhz以上的CPU来计算校验和,而PCI-X的千兆网卡启用此项后可以达到线路速度,从而节约CPU资源。
在windows系统下,我们可以打开设备管理器找到相应的网卡,在网卡的高级属性里将checksum offload属性改为none。
linux下使用ethtool命令关闭checksum offload,具体命令如下:
#ethtool -K eth0 tx off rx off
这样就修改为不由网卡硬件去完成检验和,而由系统来实现,也就不会报错了。
总结下来就是wireshark抓到的数据包提示Checksum错误,是因为它截获到的是操作系统胡乱填充的checksum,而千兆网卡在开启Checksum Offload之后,会把这些计算的工作交给网卡去做,网卡最后还是会计算出正确的checksum并且发出去的。
也就是以前校验和是由系统协议栈来实现,现在交给网卡硬件去实现了,这样可以节约不少CPU资源,微软的测试表明它可以最多节约30%的CPU资源。IBM里AIX的文档则指出:对于PCI接口的千兆网卡来说还不如让400Mhz以上的CPU来计算校验和,而PCI-X的千兆网卡启用此项后可以达到线路速度,从而节约CPU资源。
在windows系统下,我们可以打开设备管理器找到相应的网卡,在网卡的高级属性里将checksum offload属性改为none。
linux下使用ethtool命令关闭checksum offload,具体命令如下:
#ethtool -K eth0 tx off rx off
这样就修改为不由网卡硬件去完成检验和,而由系统来实现,也就不会报错了。
相关文章推荐
- 网络最大流问题
- 2013年第4季度唇彩品牌网络知名度排名
- 基本的TCP编程
- 使用TCP协议的NAT穿透技术
- Red Hat & CentOS Linux 网络相关配置文件说明
- 网络摘抄-davinci通信以及消息队列机制等的简述
- bzoj 1412 最小割 网络流
- 解决因手机客户端android网络不稳定而导致asmack不能自动重连接openfire的问题
- NetTcpBinding In IIS7.0 ASP.NET v4.0
- 利用HttpUrlConnection 上传 接收文件方法
- ajax中 XmlHttp的open( )方法
- httpclient4文档及下载地址
- Strategy pattern - http://en.wikipedia.org/wiki/Strategy_pattern
- Vmware学习(二),Vmware三种网络
- Linux 网络管理员福利:Namp命令的29个实战例子
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />详解
- 2013年第4季度橱柜品牌网络知名度排名
- Android Q4. [机卡兼容]终端显示可打紧急呼叫状态下,有时候打紧急号码打不通,最后显示“网络连接失败”
- asp xmlhttp 读取文件
- 腾讯或将成首家网络银行 Q币十年发行超千亿