美文网首页
为何抓包中出现大于MTU的数据包?

为何抓包中出现大于MTU的数据包?

作者: 山茶小树王勇军 | 来源:发表于2020-04-28 10:09 被阅读0次

    如图所示,包的长度大于MTU

    网卡开启了TCP Segmentation Offloading功能(简称TSO):操作系统的TCP/IP模块不再进行TCP分段操作,而是直接发大包(净荷超过1460字节)给网卡,由网卡完成分段功能(如果MTU=1500B,则分成的每个段大小都不超过MSS=MTU-40=1460B),这样可以减轻CPU的负担。

    抓包位置是在TCP/IP模块和网卡之间,所以抓到的是大包,实际上在网卡上传的还是小包,包大小不会超过1500字节,净荷不会超过1460字节。

    这个功能类似于TCP Checksum offloading功能,思路都是由网卡来分担CPU的一些工作,可以降低CPU的占用率。

    如果抓包要看到小与1500的报文,可以关闭网卡TCO功能,关闭后会使CPU占用率升高:

    ethtool -k eth0

    ethtool -K eth0 tso off

    相关文章

      网友评论

          本文标题:为何抓包中出现大于MTU的数据包?

          本文链接:https://www.haomeiwen.com/subject/lpnmwhtx.html