Linux Network GSO
http://blog.sina.com.cn/s/blog_57dab0f60100oiw3.html
简介:
简要介绍了GSO的原理,没有涉及到任何代码,只是原理的介绍。
Table of Contents
tent"> 1 TSOTCP Segmentation Offload 是Linux网络设备层支持的一个特性,当驱动程序将net->device->features的Flag里面声明了NETIF_F_TSO,则表明该驱动想要支持TSO。而与此同时,该设备还需要支持TCP的Checksum和Scatter Gather 。 2 GSOGSO ("Generic Segmentation Offload") 是基于TSO概念的一个归纳,可以提升性能。从Linux 2.6.18被加入内核。 TSO 之所以可以提升性能,是因为 TSO 可以让每一个 super-packet 在内核的网络协议栈中只遍历一次,而不是多次。这种性能的提升并不需要硬件的支持,且可以应用到其他的协议上,例如TCPv6, UDP, 设置 DCCP. 而在对上述的几种协议实现类似TSO的性能提升时,降低Cost的关键,是将segmentation 的处理尽量的延后。理想情况下,当网卡驱动将一个 super-packet 分开时候, segmentation 就会出现。 在将 super-packet 分割的时候,或者产生直接用于硬件的 SG lists,或者将这些 segments 线性化的添到分配好的内存中,以便传给网卡。但是这种方法需要修改每一个驱动。 另外一种较为简单的做法,是在将super-packet传给驱动的hard_xmit之前对其进行分割(segmentation),这种方案,就被称为 GSO: Generic Segmentation Offload。 |
Linux Network GSO相关推荐
- linux网络命名空间详解,Linux Network Namespace (netns) 详解
Linux Network Namespace (netns) 详解 Network Namespace (以下简称netns)是Linux内核提供的一项实现网络隔离的功能,它能隔离多个不同的网络空间 ...
- [翻译:更新]Understanding Linux Network Internals - Table of Contents
会在每一节翻译完成后,更新本目录的链接,没有链接的就是还没有翻译的. Linux内核源代码下载(linux-2.6.10): http://www.softpedia.com/progDownload ...
- linux network io,Linux network I/O
1 缓存 I/O (Buffered I/O)介绍 对于传统的操作系统来说,普通的 I/O 操作一般会被内核缓存,这种 I/O 被称作缓存 I/O.缓存 I/O 又被称作标准 I/O,大多数文件系统的 ...
- linux 网卡gso,linux内核网络协议栈学习笔记:关于GRO/GSO/LRO/TSO等patch的分析和测试...
TSO,全称是TCP Segmentation Offload,我们知道通常以太网的MTU是1500,除去TCP/IP的包头,TCP的MSS (Max Segment Size)大小是1460,通常情 ...
- linux tso gso关系,1.3.1 TSO/GSO
1.3.1 TSO/GSO TSO是通过网络设备进行TCP段的分割,从而来提高网络性能的一种技术.较大的数据包(超过标准1518B的帧)可以使用该技术,使操作系统减少必须处理的数据数量以提高性能.通 ...
- linux network service not found,我自己调出来的,还有小学弟的帮忙。哈哈
/etc/init.d/networking restart /etc/init.d/networking restart /etc/init.d/networking restart /etc/in ...
- Linux network namespace源码分析
一.network namespace的创建 在对iproute2的源码进行分析后,我们可以知道,当我们调用命令`ip netns add ns1`时,本质上就是调用`unshare(CLONE_NE ...
- linux 网卡gso,网卡 offload 简介
网卡 offload 简介 现在,越来越多的网卡设备支持 offload 特性,来提升网络收/发性能. offload 是将本来该操作系统进行的一些数据包处理(如分片.重组等)放到网卡硬件中去做, 降 ...
- Linux network source code
https://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/
最新文章
- 漫画 | 产品经理的八大罪状
- C++实现大数的加法
- python cv2 matchtemplate_OpenCV-Python系列十:模板匹配
- Windows2003不认3G以上内存时可以看看此文
- mysql originator_MySQL数据库事件调度(Event)
- 为memcached增加缓存依赖的性能测试
- java locationuitool_求助systemui编译时哪里出错
- php删除图片按钮代码,jquery 按钮预览图片功能的代码,我看不太懂。应该怎么学...
- c# gerber文件读取_gerber大文本文件打开工具|gerber文件打开工具(gerbview) v7.71 免费版 - 软件下载 - 绿茶软件园|33LC.com...
- cdr怎么转plt_win10系统下cdr格式文本转plt格式文本怎么做
- mac修改hosts刷新DNS使其立即生效
- NepCTF2022 Writeup
- 中国互联网出海战略大盘点
- 集成电路 多功能手电筒与移动照明方案
- 什么是RTOS系统定义分析
- [Uncaught Error: Class 'mysqli' not found]Ubuntu系统和window系统下用MYSQLi方式不能连接数据库
- YTU2018级每周训练-动态规划1
- Python正则表达式模式
- 简网越过阅读,重新定义个性化
- 面试|HiveSQL常用的一些小技巧
热门文章
- NXP(Freescale) QorIQ T2080 SRIO FRA程序分析
- 创新趋势|自动驾驶出租车(Robotaxi)商业化2023年趋势展望
- Vite打包项目提示“some chunks are larger than 500 kib....“
- 关键词优化难易程度如何判断?
- 如果只有十万,你会选择买房还是买车?
- 配置Grade 依赖和搜索Maven库
- color属性 python_Python curses.COLOR_BLUE属性代码示例
- 牛掰!C++大神一小时打造千里眼远程计算机视频监控系统!
- 未雨绸缪——请养成良好的数据使用习惯
- win10主题保存位置