以太网卡TSO、GSO、LRO、GRO描述及相关配置

news2025/1/21 18:42:41

以太网卡TSO、GSO、LRO、GRO描述及相关配置

以太网卡的 TSO、GSO、LRO、GRO 是一些传输协议中用于提高网络性能的技术。

硬件包拆分与合并

TSO(TCP Segmentation Offload )

TSO 是一种由网卡卸载 TCP 数据包分段的技术。在传统的方式中,当 TCP 数据包超过网卡 MTU(最大传输单元)时,操作系统需要将这些数据包分成多个小包进行传输,这会增加 CPU 的负担。而使用 TSO 技术,网卡可以将大的 TCP 数据包分成多个小的数据包,而不需要 CPU 的介入。这可以提高网络性能并减少 CPU 的负担。

TSO针对TCP在发送端网卡上的拆包。

UFO(UDP Fragmentation Offload )

已弃用UFO segmentation-offloads

在这里插入图片描述

UFO针对UDP在发送端网卡上的拆包。

LRO(Large Receive Offload )

LRO 是一种由网卡卸载数据包重组的技术。在传统的方式中,当网络接收到多个小的数据包时,操作系统需要对这些小的数据包进行重组,这会增加 CPU 的负担。而使用 LRO 技术,网卡可以将多个小的数据包重组成一个大的数据包,而不需要 CPU 的介入。这可以提高网络性能并减少 CPU 的负担。
LRO针对TCP在接收端网卡的组包。

TSO、UFO、LRO基于网卡特性,可在网卡上进行包的合并与拆分,减轻CPU的负荷。

软件包拆分与合并

GSO(Generic Segmentation Offload)

GSO 是一种类似于 TSO 的技术,但是不仅限于 TCP 协议,也适用于其他协议,如 UDP。与 TSO 不同的是,GSO 通过将多个小的数据包组合成一个大的数据包来减少网络流量的开销。这样做有助于减少 CPU 的负担,并提高网络性能。

软件实现包拆分,若网卡不支持分片、重组offload能力(如TSO、UFO、LRO)的情况下,GSO推迟数据分片直至数据发送到网卡驱动之前进行分片后再发往网卡。

拆包过程:首先查询网卡是否支持 TSO 功能,如果硬件支持 TSO 则使用网卡的硬件分片能力执行分片;如果网卡不支持 TSO 功能,则将分片的执行,延缓到了将数据推送到网卡的前一刻执行。

TSOGSO分片阶段
offonGSO、网卡驱动阶段
ononTSO、网卡硬件阶段

GRO(Generic Receive Offload)GRO (Generic Receive Offload)

GRO 是一种类似于 LRO 的技术,但是不仅限于 TCP 协议,也适用于其他协议,如 UDP。与 LRO 不同的是,GRO 可以在协议层面上进行数据包重组,而不需要在网络层面重组数据包。这可以提高网络性能并减少 CPU 的负担。

软件实现包合并,GRO将大量的小报文合并为少量的大报文,再将合并后的大报文提交给OS协议栈处理。

同时GSO、GRO不仅支持TCP和UDP包,还可支持vxlan和gre。

LROGRO阶段
offoffTCP阶段
onoff网卡硬件阶段
offon网卡驱动阶段

Bluefiled2网卡配置TSO、GSO、LRO、GRO

安装ethtool工具

sudo apt install ethtool

查询TSO

sudo ethtool -k eth<x>

eg

sudo ethtool -k enps4f0np0

设置TSO

sudo ethtool -K eth<x> [rx on|off] [tx on|off] [sg on|off] [tso on|off] [lro on|off]

eg

sudo ethtool -K enps4f0np0 tso on

注意:ethtool命令的相关配置不可持续,在计算机下电后会被清除;

参考

Ethernet Driver Usage and Configuration - MLNX_EN v5.8-1.0.1.1 LTS - NVIDIA Networking Docs 迈络思网卡配置手册。

关于网卡特性TSO、UFO、GSO、LRO、GRO_51CTO博客_网卡的特性

网卡TSO、UFO、GSO、LRO、GRO和RSS介绍_小雨的网络文档的技术博客_51CTO博客

SmartNIC — TSO、GSO、LRO、GRO 技术_范桂飓的博客-CSDN博客

TSO和GSO_测试里的小虾米的技术博客_51CTO博客

TSO、UFO、GSO、LRO、GRO和RSS介绍-飞鸿无痕-ChinaUnix博客

网络虚拟化中的 offload 技术:LSO/LRO、GSO/GRO、TSO/UFO、VXLAN_yeasy的博客-CSDN博客

https://www.kernel.org/doc/Documentation/networking/segmentation-offloads.txt Linux内核offload的描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/468904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

案例01-tlias智能学习辅助系统04-登录认证+全局异常处理

目录 1、基础登录 2、登录校验 2.1、会话跟踪技术&#xff1a; Cookie、Session JWT令牌 2.2、请求过滤 方式一、过滤器&#xff08;Filter&#xff09; 方法二&#xff1a;拦截器&#xff08;interceptor&#xff09; Filter与Interceptor的区别 3、全局异常处理器 1、…

fork函数如何创建进程,exit/_exit函数如何使进程终止的详细分析与代码实现

&#x1f38a;【进程通信与并发】专题正在持续更新中&#xff0c;进程&#xff0c;线程&#xff0c;IPC&#xff0c;线程池等的创建原理与运用✨&#xff0c;欢迎大家前往订阅本专题&#xff0c;获取更多详细信息哦&#x1f38f;&#x1f38f;&#x1f38f; &#x1fa94;本系列…

【Pytorch基础教程38】torchserve模型部署和推理

note torch-model-archiver打包模型&#xff1b;利用torchserve加载前面打包的模型&#xff0c;并以grpc和http等接口往外提供推理服务启动模型的api服务、curl命令发送http post请求&#xff0c;请求模型服务API&#xff1b;流程和TensorFlow serving流程大同小异 文章目录 n…

人工智能之配置环境教程二:在Anaconda中创建虚拟环境并在VsCode中使用

人工智能之配置环境教程二&#xff1a;在Anaconda中创建虚拟环境安装pytorch并在VsCode中使用虚拟环境 作者介绍一. 在Anaconda中创建虚拟环境1. 进入本地终端1.1 键盘使用**winR**快捷键1.2 输入**cmd**点击**确定**进入windows命令行终端 2. 安装镜像源2.1 添加镜像源 3. 创建…

PowerShell install 一键部署http+用户名密码登录实现文件系统

Apache 前言 Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上&#xff0c;由于其跨平台和安全性被广泛使用&#xff0c;是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充&#xff0c;将Perl/Python等…

BUUCTF [第五空间2019 决赛]PWN5

小白垃圾做题笔记而已&#xff0c;不建议阅读。 简书上的大佬有三种解题思路&#xff0c;而我刚开始一种也不会&#xff0c;看了题解后才勉强有了两种。 1.第一种算绕过if吧。 更改dword_804C044中的内容&#xff0c;第二次输出相同的内容&#xff0c;从而绕过if 脚本如下&…

Linux-安装gcc和g++报错降级的解决方法

一、简介 通过sudo apt-get install gcc指令安装g报错。 下列软件包有未满足的依赖关系&#xff1a;gcc : 依赖: gcc-7 (> 7.3.0-12~) 但是它将不会被安装推荐: libc6-dev 但是它将不会被安装 或libc-dev又按照网上的解决办法 &#xff0c;还是报错。 apt-get update apt-g…

ESET NOD32 互联网安全软件和防毒软件 -简单,可靠的防护。

安全防范病毒和间谍软件&#xff0c;银行和网上购物更安全, 网络摄像头和家用路由器使用更安全&#xff0c;阻止黑客访问您的电脑, 让您的孩子网络安全&#xff1b;产品兑换码仅支持中国ip地址兑换&#xff0c;兑换后可全球通用。 简单&#xff0c;可靠的防护 防范黑客&#x…

【C++11】新的类功能、可变参数模板

C11——新的类功能、可变参数模板 文章目录 C11——新的类功能、可变参数模板一、新的类功能1.测试代码2.默认成员函数3.类成员变量初始化4.强制生成默认函数的关键字default5.禁止生成默认函数的关键字delete6.继承和多态中的final与override关键字 二、可变参数模板1.可变参数…

第64章 树型结构数据的前端渲染渲染显示示例

1 \src\views\TreeTestView.vue <template> <div class"wrap"> <!--注意&#xff1a;1、“回到顶部”组件及其回滚内容都必须包含到同1个div容器中。--> <!-- 2、div容器中必须有1个唯1性的样式类&#xff08;例如&#xff1a;wrap&#xff09…

【Kubenetes进阶】Helm3保姆级安装与Chart使用

之前在Centos 7_64位上实现了用kubespray-2.15.0完成kubenetes的部署&#xff0c;对于kubenetes&#xff0c;Helm无疑是一个良好的命令行下的客户端工具。Helm主要用于 Kubernetes 应用程序 Chart 的创建、打包、发布以及创建和管理本地和远程的 Chart 仓库。 需要对helm加深了…

安全狗云安全资源池为运营商行业云降本增效

随着政府大力促进数字化转型&#xff0c;网络安全作为数字化建设的安全基石&#xff0c;已然成为保障数字化过程中稳定运行的重要因素。 一 严峻挑战下用户亟需安全托管专业服务 1) 云计算虚拟化的存储、部署及运作模式&#xff0c;数据所有权与管理权分离等特点&#xff0c…

【iOS】—— KVO再学习

KVO 文章目录 KVOKVO概念KVO使用步骤注册KVO监听KVO监听实现移除KVO监听 KVO基本用法KVO传值禁止KVO的方法使用注意事项 KVO原理GSKVOInfoGSKVOPathInfoGSKVOObservation为什么要重写class方法呢&#xff1f; GSKVOReplacementGSKVOBaseGSKVOBase小结 源码实现移除观察者总结 K…

unity Shader实现半透明阴影

在shader中&#xff0c;要对移动端的兼容&#xff0c;还不想实现两套分开兼容的话&#xff0c; #pragma exclude_renderers gles gles3 glcore #pragma target 4.5这两句话一定要改掉&#xff0c;第一行代码直接剔除了gles的渲染&#xff0c;而恰恰大部分移动端都是用的gles&a…

第十七章 访问者模式

文章目录 前言一、访问者模式基本介绍二、访问者模式应用实例完整代码评测抽象类 Action成功评价 Success失败评价评价人抽象类男性女性数据结构&#xff0c;管理很多人评价Clint 测试添加 wait 选票clint 测试 三、访问者模式的注意事项和细节 前言 一、访问者模式基本介绍 二…

Vue2 脚手架下载及配置淘宝镜像--和ieda的配置和打开

目录 Vue2 脚手架下载及配置淘宝镜像 为什么需要 Vue Cli 脚手架? 环境配置&#xff0c;搭建项目 1. 搭建 Vue2 脚手架工程&#xff0c; 2.查看 3.冲突 4. 下载 5. 安装 6. 验证 7. 先删除以前的 cli 版本<不论是之前未下载或没有下载> 8. 安装淘宝镜像-cnpm…

20230427配置cv1826的buildroot在串口免登录的方法二

20230427配置cv1826的buildroot在串口免登录的方法二 2023/4/27 16:46 进度&#xff1a;可以拿掉密码&#xff0c;但是无法拿掉用户名&#xff01; 1、 Z:\buildroot1\buildroot\configs\cvitek_cv182x_defconfig BR2_TOOLCHAIN_EXTERNAL_GCC_6y BR2_TOOL…

编译一个魔兽世界开源服务端Windows需要安装什么环境

编译一个魔兽世界开源服务端Windows需要安装什么环境 大家好我是艾西&#xff0c;去年十月份左右wy和bx发布了在停服的公告。当时不少小伙伴都在担心如果停服了怎么办&#xff0c;魔兽这游戏伴随着我们渡过了太多的时光。但已经发生的事情我们只能顺其自然的等待GF的消息就好了…

Selenium基础篇之键盘操作(一)

文章目录 前言一、常用方法(上)二、小剧场2.1场景2.2代码2.2.1引入库2.2.2启动浏览器实例2.2.3访问C站首页2.2.4窗口最大化2.2.5获取输入框元素2.2.6向输入框输入文字2.2.7使用退格键删除最后一个字符2.2.8全选输入框文字2.2.9剪切输入框文字2.2.10粘贴文字到输入框2.2.11回车查…

经验分享 | 科研行业如何搭建RASP防护体系?

多年来&#xff0c;开源网安长期服务金融、政府、科技等大型企业&#xff0c;针对不同实际应用场景&#xff0c;打造出了成熟落地的解决方案&#xff0c;提高并完善了企业安全防护技术与管理体系。今天&#xff0c;我们就来了解开源网安是如何为科研行业搭建RASP防护体系的。 科…