tso, gso, gro, lro对抓包功能的影响

基于libpcap的抓包库只能抓到tso, gso优化之前或gro, lro优化之后的包,也就是组装后的包。由于抓包库很多时候需要准确统计包,因此这个问题需要解决。
 
来看一个例子:
 
1351581859.215208 client:59799 server:80 seq:0 ack:0 len:0 win:131070 [S]  MSS 1460  TCPOPT_NOP  wscale: 2  TCPOPT_NOP  TCPOPT_NOP  timestamp:  228254262 0  SACK permitted  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_NOP  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_NOP 
1351581859.215223 server:80 client:59799 seq:0 ack:1 len:0 win:7475200 [SA]  MSS 1460  TCPOPT_NOP  TCPOPT_NOP  SACK permitted  TCPOPT_NOP  wscale: 512 
1351581860.261139 client:59799 server:80 seq:0 ack:2482697881 len:0 win:131070 [S] MSS 1460  TCPOPT_NOP  wscale: 2  TCPOPT_NOP  TCPOPT_NOP  timestamp:  228255325 0  SACK permitted  TCPOPT_EOL  TCPOPT_EOL  timestamp:  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  TCPOPT_EOL  timestamp:  timestamp:  TCPOPT_NOP  TCPOPT_EOL  timestamp:  TCPOPT_EOL  TCPOPT_EOL  timestamp:  TCPOPT_EOL  timestamp:  TCPOPT_EOL  TCPOPT_NOP 
1351581860.261148 server:80 client:59799 seq:0 ack:1 len:0 win:7475200 [SA] MSS 1460  TCPOPT_NOP  TCPOPT_NOP  SACK permitted  TCPOPT_NOP  wscale: 512 
1351581861.240784 client:59799 server:80 seq:1 ack:1 len:0 win:65700 [A]
1351581861.300309 client:59799 server:80 seq:1 ack:1 len:675 win:65700 [AP]
1351581861.300419 server:80 client:59799 seq:1 ack:676 len:0 win:16384 [A]
1351581861.300838 server:80 client:59799 seq:1 ack:676 len: 14600 win:16384 [A]
1351581861.955197 client:59799 server:80 seq:676 ack:1 len:0 win:65700 [A]
1351581862.514834 client:59799 server:80 seq:1 ack:1 len:675 win:65700 [AP]
1351581862.514848 server:80 client:59799 seq:14601 ack:676 len:0 win:16384 [A] TCPOPT_NOP  TCPOPT_NOP 
1351581863.66748 client:59799 server:80 seq:676 ack:2921 len:0 win:64240 [A]
1351581863.139901 client:59799 server:80 seq:676 ack:4381 len:0 win:65700 [A]
1351581863.139920 server:80 client:59799 seq:14601 ack:676 len: 7300 win:16384 [A]
1351581863.226443 client:59799 server:80 seq:676 ack:7301 len:0 win:64240 [A]
1351581863.259703 client:59799 server:80 seq:676 ack:8761 len:0 win:65700 [A]
1351581863.259724 server:80 client:59799 seq:21901 ack:676 len:7300 win:16384 [A]
1351581863.319948 client:59799 server:80 seq:676 ack:11681 len:0 win:64240 [A]
1351581863.353794 client:59799 server:80 seq:676 ack:13141 len:0 win:65700 [A]
1351581863.353815 server:80 client:59799 seq:29201 ack:676 len:7300 win:16384 [A]
1351581863.546935 client:59799 server:80 seq:676 ack:14601 len:0 win:65700 [A]
1351581865.100724 client:59799 server:80 seq:676 ack:17521 len:0 win:64240 [A]
1351581865.100742 server:80 client:59799 seq:36501 ack:676 len:7300 win:16384 [A]
1351581865.134807 client:59799 server:80 seq:676 ack:18981 len:0 win:65700 [A]
1351581865.134825 server:80 client:59799 seq:43801 ack:676 len:2920 win:16384 [A]
1351581865.200662 client:59799 server:80 seq:676 ack:21901 len:0 win:64240 [A]
1351581865.252728 client:59799 server:80 seq:676 ack:23361 len:0 win:65700 [A]
1351581865.252748 server:80 client:59799 seq:46721 ack:676 len:7300 win:16384 [A]
1351581865.339913 client:59799 server:80 seq:676 ack:26281 len:0 win:64240 [A]
1351581865.339931 server:80 client:59799 seq:54021 ack:676 len:451 win:16384 [AP]
1351581865.367165 client:59799 server:80 seq:676 ack:27741 len:0 win:65700 [A]
1351581865.480705 client:59799 server:80 seq:676 ack:30661 len:0 win:64240 [A]
1351581865.506653 client:59799 server:80 seq:676 ack:32121 len:0 win:65700 [A]
1351581865.546772 client:59799 server:80 seq:676 ack:35041 len:0 win:64240 [A]
1351581865.594454 client:59799 server:80 seq:676 ack:36501 len:0 win:65700 [A]
这个例子中,可以看到很多len > MSS的包。这里是网卡开启了tso, gso, gro, lro等优化项造成的。
 
ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: on
 
解决办法:
抓包函数解析TCP建立连接时双方协商的MSS(本例中client_MSS=server_MSS=1460),计算包数时,如果出现IP包的长度> MSS的情况,一条dump记录对应的包数=len/MSS。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
概述 TSO系列角度传感器(又名:角位移)是我公司生产的用于检测角度变化的高性能产品,它利用最新角度传感技术将变化的角度转换成线性的模拟电压信号。本产品具有无使用寿命限制、造型美观、内部采用电子限位、安全可靠、成本低、功耗低等特点。采用轴套安装设计。本产品紧跟当今世界先进的角度传感技术。与其它角度传感器比较有着不可比拟的优点,本产品无任何机械转动装置,具有无触点、无磨损、无转动惯性,实现了真正意义上的永久性使用。 TSO系列角度传感器适用于检测设备的角度和位置变化,从而实现设备的自动控制。用户可直接用锁紧螺丝固定安装在需要检测角度的位置或松紧架出轴上,安装结构极其简便美观,为用户降低成本。具有防水能力,免维护,可广泛应用于拉丝机、纺织、染整、无纺布、造纸、皮革、线缆等有收放卷、角度检测和多单元同步控制要求的场合。 产品规格和技术指标 型号 技术指标 TSO-B5 TSO-B24 TSO-C24 TSO-D24 电源电压(DC) ±5V±10% 24V±2V 24V±2V 24V±2V 额定功率、电流 0.5W 35mA 1W 42mA 1W 42mA 0.6W 25mA 有效测量角度 ±90° ±90° ±90° 0-90° 信号输出 ±45°对应±3V ±45°对应±5V 给定信号叠加角度信号 0-90°对应0-10V 输出线性度 0.5% 1% 1% 1% 输出稳定度 0.5% 0.5% 0.5% 0.5% 输出驱动能力 5mA 5mA 5mA 5mA 越位继电器输出 1A 1A 1A 1A 增益调节 有 有 有 有 极性转换功能 有 有 有 有 工作环境温度 -10~60° -10~60° -10~60° -10~60° 使用寿命 无限 无限 无限 无限 注:具体使用详见各型号使用说明
概述 TSO系列角度传感器(又名:角位移)是我公司生产的用于检测角度变化的高性能产品,它利用最新角度传感技术将变化的角度转换成线性的模拟电压信号。本产品具有无使用寿命限制、造型美观、内部采用电子限位、安全可靠、成本低、功耗低等特点。采用轴套安装设计。本产品紧跟先进的角度传感技术。与其它角度传感器比较有着不可比拟的优点,本产品无任何机械转动装置,具有无触点、无磨损、无转动惯性,实现了真正意义上的永久性使用。 TSO系列角度传感器适用于检测设备的角度和位置变化,从而实现设备的自动控制。用户可直接用锁紧螺丝固定安装在需要检测角度的位置或松紧架出轴上,安装结构极其简便美观,为用户降低成本。具有防水能力,免维护,可广泛应用于拉丝机、纺织、染整、无纺布、造纸、皮革、线缆等有收放卷、角度检测和多单元同步控制要求的场合。 产品规格和技术指标 型号 技术指标 TSO-B5 TSO-B24 TSO-C24 TSO-D24 电源电压(DC) ±5V±10% 24V±2V 24V±2V 24V±2V 额定功率、电流 0.5W 35mA 1W 42mA 1W 42mA 0.6W 25mA 有效测量角度 ±90° ±90° ±90° 0-90° 信号输出 ±45°对应±3V ±45°对应±5V 给定信号叠加角度信号 0-90°对应0-10V 输出线性度 0.5% 1% 1% 1% 输出稳定度 0.5% 0.5% 0.5% 0.5% 输出驱动能力 5mA 5mA 5mA 5mA 越位继电器输出 1A 1A 1A 1A 增益调节 有 有 有 有 极性转换功能 有 有 有 有 工作环境温度 -10~60° -10~60° -10~60° -10~60° 使用寿命 无限 无限 无限 无限 注:具体使用详见各型号使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值