1. 当前位置: 网站首页 >  路由器百科 >  路由器链路聚合有什么用?两个千兆口绑一起,单线程还是110MB/s

路由器链路聚合有什么用?两个千兆口绑一起,单线程还是110MB/s

链路聚合原理图:单条连接锁定一根线110MB/s,多条连接散到两根线合计220MB/s,组聚合要过三道门

表弟上周末来我家拷4K原盘,蹲在弱电箱边上瞅见我那台飞牛NAS后面插着两根网线,扭头问我:「哥,你这俩千兆口绑一起,是不是就能跑2G了?」

我没直接回他,把键盘推过去让他自己拷一个试试。58G的蓝光原盘,拖进去,任务管理器一看速率:稳稳当当110MB/s,跟他家单根网线一个德行。他盯着我看了半天,说那你这两根线不是白插了?

还真不是白插,但这里头的门道,值得单独写一篇讲清楚。两年前我研究双宽带那阵,链路聚合就是被我第一个划掉的方案,今天把它捡起来细说。

聚合捆的是「逻辑通道」,分流量按「连接」算,不按线算

先把概念掰正。链路聚合(Link Aggregation,标准叫法802.3ad,现在归到802.1ax,靠LACP协议协商)干的事情,是把两根甚至多根物理网线,捆成一根「逻辑网线」。对外看起来就是一个网口、一个IP,DHCP也只给它发一个地址,内里底下藏着两条路。

关键就在流量怎么分到两条路上。想象超市把两个人工收银台改成「联合通道」:牌子挂出来了,但每位顾客从排队到结完账,只能固定走其中一条队。你一个人推十车货,对不起,还是一条队慢慢结;只有两个人同时来买,才能各占一条队,整体吞吐翻倍。

网络这边一个道理。设备拿到一条连接的五元组——源IP、目的IP、源端口、目的端口、协议号——哈希算一下,落在哪根线上,这条连接从头到尾就走哪根。为什么要这么死板?因为要是按数据包轮流发(这根发一个、那根发一个),同一个文件的包会乱序到达,TCP一看乱序就当丢包处理,重传、降速,反而更慢。所以主流设备的聚合全都是按「流」分配,不按「包」。

顺着这个逻辑能推出一个副产品:下载工具开多线程,等于同时开了好几条连接,哈希散开,是有可能占满两根线的。记住这点,后面实测要用的。

单线程拷片实测:两根线和一根线一个样

表弟家就是现成的实验场。他为了那台二手四口群晖,专门淘了台二手的管理型千兆交换机,NAS两个口、交换机两个口,两边都建了聚合组,协议用的802.3ad。机器是组好了的,剩下的就是跑数。

第一轮,资源管理器直接拖一个58G原盘从电脑往NAS拷:110MB/s,纹丝不动。表弟当时的表情我拍了照。第二轮换我常用的拷贝工具,还是110上下晃。第三轮开迅雷下同一个资源,多线程拉满——这回两口都活了,交换机管理页上看实时流量,两个口各跑七八百兆,合计1.6Gbps上下。单连接趴窝、多连接起飞,跟上一节的原理严丝合缝。

顺便说个看数据的门道:聚合组好在系统里就是一块网卡,任务管理器看不出两条线各自背了多少流量。想看每根线的真实负载,得进管理型交换机的后台看每个端口的实时速率,这也是为什么玩聚合的人手上基本都有台管理交换机。

真正占便宜的,是「挤在同一时间」的流量

那聚合到底给谁用的?给「同一时间有很多条连接」的场景用的。

表弟家NAS的日常是这样:qBittorrent常年挂着保种,上下行常驻几十兆;晚上相册自动备份往上写;他媳妇在客厅电视上串流片库。以前单口的时候,他一拷大文件,口被拷贝占满,下载的peer连不进来,电视就开始转圈,家里三件事排队用一个门。组完聚合,拷贝是一条连接走一根线,下载、串流、备份各自是独立的连接,哈希大概率散到另一根线上——不是QoS那种精确隔离,聚合没有优先级的概念,纯粹是「人多了分两个门进」,但对他家这种三路并发的场景,够用了。拷片期间电视不卡了,这是他自己的原话。

另一个容易被忽略的收益是冗余。就算你用不到双倍吞吐,两根线里松了一根、或者NAS一个口接触不良,网络不断,业务照跑。群晖和Linux底下还有专门的主备模式(active-backup),平时只走一根,另一根纯待命,图的就是这个稳字。

我自己组失败那回,坑在中间那台傻瓜交换机

说说我的翻车经历,给想抄作业的人排个雷。我那块两百多买的双口千兆网卡,插在N100主机上当NAS用,心气很高地想组802.3ad。结果聚合组一建,网络时通时断,ping丢一半,查了小半个晚上,病根是我家弱电箱里那台八口千兆傻瓜交换机——非管理型的交换机压根不认识LACP协议,NAS这边发的协商报文过去石沉大海,两头对不上话,只能是这个下场。当时我还纳闷,网卡和NAS都明晃晃标着支持聚合,怎么就是不通,后来翻了交换机的说明书才反应过来:它就没有「管理」这个功能,LACP四个字母在它的字典里不存在。

所以组聚合这件事,要过三道门,一道都不能少:

位置要做什么容易踩的坑
NAS这头群晖在控制面板的网络接口里建Bond;飞牛在网络设置里建网口聚合模式选错,见下一行
中间交换机必须是管理型,建聚合组并启用LACP傻瓜交换机直接没戏,我家那台就是
对端设备路由器或交换机的另一侧也要认这个聚合组家用路由器大多没有LAN聚合口

NAS这头的模式选择有讲究,说人话版:群晖的「802.3ad」和「Balance TCP」都要交换机开LACP;「Balance SLB」不需要交换机配合,自己按会话分发,是最省事的一档。Linux底下的bond模式同理,mode 4是正经LACP要交换机,mode 1主备和mode 5/6这类不挑交换机。我到头来选的是主备模式——反正家里重度用户就我一个,单线程横竖是110,要冗余不要假提速。

路由器那头多说一句。我那台AX3000T参数页写着支持双LAN聚合,但家用路由器有这功能的凤毛麟角,而且聚合是两端的事,路由器组了、NAS没组,或者中间隔了台傻瓜交换机,照样白搭。实际上多数人的聚合都做在「NAS到交换机」这一段,路由器安心当它的网关就行。

聚合还是上2.5G?对号入座再掏钱

写到这结论已经浮出来了:聚合给的是「并发分流加冗余」,不是「单文件翻倍」。想让一个文件拷得快,正路是把链路换成2.5G,我之前算过账,2.5G口的交换机加网卡两百多块,单线程直接290MB/s,比折腾聚合便宜,还不用两头配置。

你家的情况掏钱方向
就一台电脑一台NAS,拷片永远一个人谁也别折腾,2.5G才是你的菜
NAS挂着下载保种,还常有人拷片、串流聚合值得玩,并发不抢路
交换机是傻瓜型的,又不想换用Balance SLB或主备模式,要稳不要快
图省事,一个字都不想配两根线拔掉一根,世界清净

收尾给个顺序:先问自己要快还是要稳——要快,直接上2.5G,别在聚合上浪费时间;要并发分流,先看中间那台交换机是不是管理型,不是就先换它,再两头建组;都懒得弄,主备模式插两根线,断一根不断网,也算这两根网线没白插。

表弟那天临走前问我,那他这套是不是白折腾了。我说没有,你家三路并发是真实需求,聚合没白组——白折腾的是我,两根线插了两年,跑的一直是主备。

展开全文


版权说明 手机扫码阅读
版权所有:《数巢笔记》 => 《路由器链路聚合有什么用?两个千兆口绑一起,单线程还是110MB/s
本文地址:https://www.shunot.com/lybk/1006.html
除非注明,文章均为 《SHUNOT》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注