目录

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
文章知识点与官方知识档案匹配,可进一步学习相关知识
网络技能树WAN技术PPP32460 人正在系统学习中

【转帖】SmartNIC — TSO、GSO、LRO、GRO 技术的更多相关文章

  1. [转帖]AVS音视频编解码技术了解

    AVS高清立体视频编码器 电视技术在经历了从黑白到彩色.从模拟到数字的技术变革之后正在酝酿另一场技术革命,从单纯观看二维场景的平面电视跨越到展现三维场景的立体电视3DTV.3DTV系统的核心问题之一是 ...

  2. [转帖]Linux 中的零拷贝技术,第 2 部分

    Linux 中的零拷贝技术,第 2 部分 https://www.ibm.com/developerworks/cn/linux/l-cn-zerocopy2/index.html   Linux 中 ...

  3. [转帖]Linux 中的零拷贝技术,第 1 部分

    Linux 中的零拷贝技术,第 1 部分 https://www.ibm.com/developerworks/cn/linux/l-cn-zerocopy1/index.html   引言 传统的 ...

  4. 理解 Linux 网络栈(3):QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(发送端)

    本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...

  5. 理解 Linux 网络栈(2):非虚拟化Linux 环境中的 Segmentation Offloading 技术

    本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...

  6. 理解 Linux 网络栈(1):Linux 网络协议栈简单总结

    本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...

  7. GSO/TSO/GRO等对VirtIO虚机的网络性能影响分析(by quqi99)

    作者:张华  发表于:2016-04-05版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) IP层 ...

  8. GSO和TSO

    http://www.cnhalo.net/2016/09/13/linux-tcp-gso-tso/ TSO(TCP Segmentation Offload): 是一种利用网卡来对大数据包进行自动 ...

  9. [网络技术][转]网卡的offload概念

    网络数据包分析 网卡Offload 对于网络安全来说,网络传输数据包的捕获和分析是个基础工作,绿盟科技研究员在日常工作中,经常会捕获到一些大小远大于MTU值的数据包,经过分析这些大包的特性,发现和网卡 ...

  10. 网络性能优化GSO/GIO研究

    性能检测工具安装 # curl -O http://downloads.es.net/pub/iperf/iperf-3.0.6.tar.gz # tar axf iperf-3.0.6.tar.gz ...

随机推荐

  1. Spring Boot 整合 Log4j2 日志并压测性能

    1/ Log4j2的性能测试 从图中不难看出,在线程数为 2~16 之间,混合使用同步和异步的logger来打印日志,性能是最好的. 2/ 目标 混合 sync/async 彩色日志 分类输出到不同文 ...

  2. 划重点!DWS开发的五大要点

    摘要:高效使用数据库是一个合格的开发工程师的必备技能,如何使用DWS进行高效开发,提升应用效率,技术干货来喽~~~ 高效使用数据库是一个合格的开发工程师的必备技能,如何使用DWS进行高效开发,提升应用 ...

  3. 玩转GaussDB 中的SET操作符

    摘要:关系数据库中提供了一个关于集合的运算符SET操作符,其中包括以下操作:UNION/UNION ALL 并集.INTERSECT 交集.MINUS 差集. 本文分享自华为云社区<GaussD ...

  4. JAVA SQLServerException: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败

    [2021-01-15 13:20:14.623] ERROR [Druid-ConnectionPool-Create-497208183] DruidDataSource.java:2471 - ...

  5. SpringBoot Docker 发布到 阿里仓库

    1. 创建仓库 管理里面,可以查看详细的信息 设置登录密码 2. 接下来,将本地镜像推到阿里 : SpringBoot Docker 发布 docker commit 这部分可以不操作 docker ...

  6. 基于BaseHTTPRequestHandler的HTTP服务器基础实现

    1. BaseHTTPRequestHandler介绍 BaseHTTPRequestHandler是Python中的一个基类,属于http.server模块,用于处理HTTP请求的基本功能.它提供了 ...

  7. Codeforces Round #739 (Div. 3) 个人题解(A~F2)

    比赛链接:Here 1560A. Dislike of Threes Description 找出第 $k$ 大的不可被 $3$ 整除以及非 $3$ 结尾的整数 直接枚举出前 1000 个符合条件的数 ...

  8. Element UI Table合并行

    Vue使用Element-ui Table 合并行,官方只是一个非常简单的合并例子,通常业务都是相同的某个字段进行合并. 效果图 代码实现 1.Table <el-table :data=&qu ...

  9. C语言基础之第一个C程序

    前言 在开始学习 C 语言的基础知识之前,我们需要学习如何编写.编译和运行第一个 C 程序. 要编写第一个 C 程序,打开 C 控制台并编写以下代码,我这里直接使用vs2022进行代码的编写: #in ...

  10. TOEFL | Reading · 题型总结

    目录 直接引用 - 直译题(不要读文章) 直接引用 - why 题(需要细读题干) 直接引用 - 其他(需要细读题干) 理解题(出现最多,需要细读题干) 转义题(不要读题干) 添加句子题(不要读题干) ...