背景

当谈及上网体验时,总是会涉及网络性能优化的探索。

其中,对于提升网速这一块,最直接最有效的莫过于增加带宽、增加物理链路来实现更大更快的网络网络流量。通常在家庭场景、商业场景会向ISP订购更多的宽带服务,通过单线多拨多线多拨机制实现「网速叠加」。

而对于办公场景等具有多层交换机、NAT内网的环境而言,网速优化的首要目标不是增加更多的链路,而是「避开内网网速限制」和「压榨内网带宽」,让内网终端能够最大化利用内网出口带宽。

本文讨论「多WAN口」实现内网带宽压榨,并亲测wan口数量带来的网速提升效果。

多线多拨与单线多拨

在最舒服的理想状况下,路由器每一次拨号,便能从ISP获取一个 IP,运营商会分配对应的带宽,每个IP独立计算一个带宽大小。

将路由器的端口模拟成多个拨号端口(或者是,本来路由器就支持多端口拨号),多个端口分别拨号,成功连接的前提下,如果将网络通信分配到这些端口进行传输,那么实际上就实现了「网速叠加」。

注意是在最舒服的状况下能实现:运营商支持/套餐支持、猫支持、路由器支持、操作系统支持…

单线多拨:实际上就是实现了多拨,但是“每个拨”的出口都是同一个链路(同一个宽带)

多线多拨:多拨,并且出口并不都是同一个链路(比如办理移动千兆+电信百兆两个套餐,配置双拨分别使用这两条宽带)

多拨除了「网速叠加」以外,一大用途是作为链路备份。当某条链路故障时,多拨的其他链路可以维持正常服务,保证可用性。

多WAN口压榨带宽

对于办公场景,一个典型的网络架构就是「多层交换机+多层NAT」。通常,会带有流量控制、带宽配额。因此,对于存在网络瓶颈或网络加速需求的时候,「多拨将不是首要关注点(显然,首先过掉内网的网速限制,让自己分配到更多带宽才是重点)」。

事实上,一种常见的网速控制/带宽分配方案就是按交换机客户端接入点来定额分配。在不「入侵计算机系统」的前提下,每个接入点的配额不能被随意修改。

按照多拨的思路,容易想到,如果上网终端能够同时连接交换机的多个端口,再像多拨一样将流量分配到这些端口上,即可实现和多拨原理一样的「网速叠加」。

事实上是最大带宽叠加,每条链路本身的速度还是固定不变的。它不能让一个小的数据包传输的更快。

实现这一方案(同时连接到交换机的多个端口上)对软件(路由器软件或操作系统)来说是已经就绪可行的(都已实现)。对于硬件也有要求,即使用的路由器(用来通过网线连接到交换机的)必须支持「多WAN口」(便宜的家庭路由器通常只有一个WAN口);或不使用路由器,上网终端直接通过多个自带的/扩展的网口连接交换机。

还有一些隐性的硬件要求,比如你必须有多根网线,并且要靠近交换机或老板在你的工位安装了多个网口(不然你怎么实现接入到交换机的多个口?)此外,上网终端配备的网卡必须是千兆网卡,否则实现多WAN口后网卡性能跟不上,还是会降级减速。

小结:

  1. 对于内网有带宽限制的场景,突破带宽限制成为第一关注点
  2. 类似多拨,上网终端通过多WAN口接入交换机,多个WAN口的带宽可以实现叠加,提高极限带宽,「变相绕路」避开了内网带宽配额
  3. 多WAN口有硬件条件——起码是实施条件

移动端有一种技术——iPhone的Wifi信号不佳时自动转数据、手游网络优化(Wifi卡顿时允许使用数据),这些实现了链路备份,并从技术上来说,可以(或已经)实现了「多拨」

环境、配置

在某个环境中尝试一下多WAN口的效果。

  • 工具:提供上网服务的交换机(有多个空余接入口);该交换机单个接入口带宽在50~100M左右(测速数据,见下一节单WAN口,非ISP提供)
  • 工具:路由器TL-WAR1208L(9口路由器,可以配置最大支持将其中4个口配置成WAN口)。在测试过程中,分别配置1~4个WAN口并连接到交换机进行测速
  • 上网终端:Apple M1 Pro 2021 14寸,Chrome 105,通过speedtest.cn测速。该终端通过雷雳接口连接一个绿联hub,引出网线连接路由器LAN口实现上网

网络拓扑简单描述:终端->网线->路由器->(1~4根网线)连接交换机(1~4个接入口)

效果

注意到上述我使用的路由器是最大支持4个WAN口。因此这里通过多个WAN口压榨带宽的极限就是4,下列分别是1~4个WAN口时的表现。

(不展示怎么配置多WAN口了,通常系统配置或路由器配置即可。)

  • 没有使用多WAN口(单WAN口)

单WAN口

  • 两个WAN口

双WAN口

  • 三个WAN口

三WAN口

  • 四个WAN口

四WAN口

可以看到,多WAN口带来的测速成绩(极限带宽)提升很明显。在1、2、3个WAN口的情况下,随着WAN口数量提升,测速成绩也不断攀升

但是,当WAN口数量到第4个的时候,测速成绩反而下降了。这提示一个违反常理的结果:明显带宽提高了,测速成绩却更低了?虽然没有找到根本原因,但从对路由器性能参数的观察发现,四WAN口同时启用,可能对路由器CPU带来了较大压力,不堪重负的CPU在更多WAN口的调度压力下表现更差了。因此,多WAN口配置还需要考虑硬件/软件性能,一味提高链路带宽不一定保证提高实际的最大带宽。

其实来到「三WAN口」已经能“睥睨”出一点路由器性能瓶颈了。带宽叠加的结果一般都是测速翻倍(注意是测速,没说你打开网页也翻倍)。但是可以看到,双WAN比单WAN的下载速度刚好翻倍,而三WAN则没有对双WAN有翻倍的效果了——实际上这里就是因为路由器性能没跟上,发挥不出来三WAN的完整带宽了(到了四WAN由于调度工作拖累,反而更差了)。

总结:

  1. 多拨、多WAN口有机会优化网络访问速度,还有链路备份功能、高可用功能
  2. 多拨、多WAN口需要硬件支持
  3. 链路带宽一定程度上受制于路由器性能,可能出现带宽提高反而测速降低的现象