在linux上抓包的时候,发现了很大的包,有的包达到了2800字节,在局域网的时候甚至有10K字节以上的包。这与我们所学的IP数据包不能超过MTU(一般是1500字节)相违背。查资料得知,这是因为网卡有设置tcp-segmentation-offload。这是操作系统为了减轻负担,提高处理效率的一种方法。

 

我们知道,用TCP/IP协议处理网络流量,要占用大量服务器资源。为了减轻服务器的压力,一种称为TCP减负引擎(TCP Offload Engine :TOE)的技术应运而生。TCP减负引擎一般由软硬两部分组件构成,将传统的TIP/IP协议栈的功能进行延伸,把网络数据流量的处理工作全部转到网卡上的集成硬件中进行,服务器只承担TCP/IP控制信息的处理任务。这种为服务器减轻负担的技术,得到了大多数厂商的肯定。 
  
普通网卡用软件方式进行一系列TCP/IP相关操作,因此,会在三个方面增加服务器的负担,这三个方面是:数据复制、协议处理和中断处理。 

 

 

参考:

https://blog.csdn.net/sdulibh/article/details/50108471

 

https://blog.csdn.net/mgxcool/article/details/73028534

 

如何设置tcp-segmentation-offload:

https://www.cnblogs.com/danxi/p/6591885.html

http://bbs.chinaunix.net/thread-4181859-1-1.html

Logo

更多推荐