康耐信(CncTion)论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 685|回复: 1

请康耐信厂家推出固件关闭intel i226网卡TSO、LRO功能

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2024-4-22 22:48:10 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 cict777 于 2024-4-22 23:02 编辑

近期发现,自己的康耐信n100软路由,主板是intel 461c,网卡是Intel I226-V (rev 04),物理机直装爱快,在负载较大时,个别网口不定期断开然后重新连接(几乎天天都有),chiphell论坛同样问题很多用户反映:I226-V断流问题https://www.chiphell.com/thread-2535386-1-1.html


查询各种资料得知是TSO、LRO功能引发的问题,引用知乎帖子:
TSO? LRO? 这是什么东西?和我有关系么?https://zhuanlan.zhihu.com/p/87093404


TCP/IP传输的一个重要特点就是数据分段传输。我们电脑上不管多大的文件,使用TCP传输时,都会分成一个个小小的数据段进行传输。应用层的数据经过传输层之后,就分成一个个小小的数据片段,然后层层加数据头,到达网卡硬件,再发送出去。早期是由CPU来做这个事情。千兆网络的传输,一秒125MByte,假设分成1500字节一个包,那么要分成833333份。
但是对于万兆网络来说,数据传输量变成千兆的10倍,但是TCP/IP包的大小还是1500,所以包的数量变成千兆网络的10倍,CPU处理起来比以前费力多了(CPU的主频并没有变成以前的10倍)。
那么最好的办法就是将数据分段这个事情下放(offload)到网卡去做。这就是TSO技术的源来。现在的网卡,大都支持TSO这个特性,数据直接扔给驱动,网卡自己会自动切割分包。
同样,LRO(Large Receive Offload)也是做同样的事情,网卡收到多个包之后,合并成一个大数据包再发给应用层。TSO和LRO大大解放了CPU的工作量,看起来很美好。但是对于网关来说,启用这个功能会带来致命的问题:网络传输变慢,传输时延增加。


TSO和LRO为何会拖慢网络性能?


首先我们要知道,网关,简单的说,就是一个数据交换中心,它的职责很简单,将到达的数据包转发给下一个目的网关,或者主机。如果是家庭网关,还会包含NAT功能,对数据包的源地址或者目的地址进行转换。它不会去,也不应该修改数据包的内容。
但是从上面的描述中,TSO和LRO都会修改数据包的内容。TSO将一个大数据包切分成小段,发送出去。LRO将数据蓄积起来再传输。
要知道网关一般会有两个或者多个网络界面,以太网的话,网络界面的MTU都应该是1500,假如网卡接受数据时通过LRO将几个1500的数据片段合并,由于它是网关,并不需要处理数据,接下来它要将数据发出,发出时还是要分成1500的片段,否则大数据包直接发出去将会被丢弃。所以LRO和TSO在网关上来说,相当于一直做无用功:接受数据时进行LRO,发送出去时进行TSO......
除了无用功之外,TSO和LRO还会带来网络延时。因为LRO时,需要等待N个包才能合并。而不是一个包过来就可以马上转发出去。


说了这么多,网关或者虚拟主机一定要关闭TSO和LRO这两个特性。


当前新设备中intel i226系列网卡已成为主流配置,用户众多,希望康耐信厂家能出固件关闭TSO、LRO功能,不胜感激。
回复

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
 楼主| 发表于 2024-4-23 13:08:57 | 显示全部楼层
本帖最后由 cict777 于 2024-4-23 20:15 编辑

不解释,直接下沉帖子,这就是康耐信处理问题的方法?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|康耐信(CncTion) ( 粤ICP备19035475号 )

GMT+8, 2024-5-25 17:04 , Processed in 0.091145 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表