目录
TSO(TCP Segmentation Offload)
TSO(TCP Segmentation Offload):是一种利用网卡对大数据包进行分片,从而减小 CPU 负荷的一种技术。
-
TSO off 和 GSO off:
-
TSO on:
GSO(Generic Segmentation Offload)
GSO(Generic Segmentation Offload):是一种延缓分片技术。它比 TSO 更通用,原因在于它不需要硬件的支持就可以进行分片。
其过程是:首先查询网卡是否支持 TSO 功能,如果硬件支持 TSO 则使用网卡的硬件分片能力执行分片;如果网卡不支持 TSO 功能,则将分片的执行,延缓到了将数据推送到网卡的前一刻执行。
- TSO off and GSO on:一个大的网络包直到进入网卡前的最后一步才进行了分片。
LRO(Large Receive Offload)
LRO(Large Receive Offload):将网卡接收到的多个数据包合并成一个大的数据包,然后再传递给网络协议栈处理的技术。这样提系统接收数据包的能力,减轻 CPU 负载。
-
LRO off and GRO off
-
LRO on:数据一进入网卡立刻进行了合并。
GRO (Generic Receive Offload)
GRO (Generic Receive Offload):是 LRO 的软实现,GRO 的合并条件更加的严格和灵活。
- GRO on