计算机网络基础 — Smart NIC — TSO、GSO、LRO、GRO 卸载技术
目录
文章目录
网络功能卸载
为适应高速网络,现代网卡中普遍卸载了部分 L3-L4 层的处理逻辑(e.g. 校验和计算、传输层分片重组等),来减轻 Host CPU 的处理负担。甚至有些网卡(e.g. RDMA 网卡)还将整个 L4 层的处理都卸载到硬件上,以完全解放 Host CPU。得益于这些硬件卸载技术,Host OS 的网络协议栈处理才能与现有的高速网络相匹配。
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
文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。
原文链接:is-cloud.blog.csdn.net/article/details/118858113
- 点赞
- 收藏
- 关注作者
评论(0)