Mesh的前门楼子和wi-fi漫游的胯骨轴子
最近又在谈mesh和AC/AP的优缺点问题。

发现很多概念到了普通用户之后就有点理不清的感觉了,咱们来说下概念性的信息。
首先,咱们来说下什么是无线网络。大家不觉得一个智能设备通过连接到无线接入点后就能上网是一件很神奇的事情吗?
反正iN是觉得挺神奇的。原因在于依据OSI网络标准模型的七层结构来看:

物理层(PHY)是需要承载脉冲信号的设备来进行连接和交互的。无非是网线和光纤,这些东西都是大家能肉眼可见的实实在在的东西。
而无线(Wireless)则是通过电磁波作用在物理层上,让物理层获得了电脉冲信号。而且这个无线信号还不像是广播电视一样,电视台建立一个电视塔,通过电视塔发出电视信号,电视机通过电视接收天线,选择不同频率上的频道,根据频道上的无线电信号变化来解译成电视图像和声音。

无线网络神奇的一点就在于利用了一套无线机制将四散在空间中的无线电波规整成OSI网络模型上的比特流。
是怎么做到的呢?
这里就借助了一个很重要的网络设备AP,AP——Access Point,接入点。

在AP中发出的信号是这样的:

通过一个特定频率发出一段在频率和强度上不同的信号脉冲,利用这套信号脉冲承载了网络无线信号。但这个信号仅仅是对于无线接入点和无线终端设备之间的。在能够发送和接收这段信号之前,无线终端还需要和无线接入点建立一个连接,采用了一个互信机制。这个互信机制取决于无线接入点的广播信息,一个正在工作的无线接入点会不停的广播自己的身份,广播的内容叫做“服务集(Service Set)”,也就是告诉周边的无线终端设备自己可以做什么以及预计要怎么做。由于是无线设备,我们就不能保证无线接入点像是电视台一样在特定空间内只有一个,于是,就要给无线接入点做出一个独立的标识,网络工程师就将Service Set做了一个ID(Identifier)——于是一个大家熟悉的词汇就出现了“SSID”。
所以你在设置无线的时候,路由器大部分并不提示你设置一个“无线网络的名称”,而是提示你要输入一个SSID。

然后有的比较人性化的界面中还会给你捎带脚的提示一句,这是你的无线网络名称。
为什么说AP的信号神奇呢?实际上在无线网络的技术中,网络信号是套娃。
无线网络信号也是一组脉冲,和有线信号不同的则是这组脉冲是通过无线电波表达的,而并不是通过电信号高/低或者光信号亮/灭来表达出来的。

这组脉冲如果去拆分你会发现前面包含了一个固定格式和长度的无线网络专属的数据头部(PLCP),随后就是PSDU数据。在PSDU中除了一个额外又加进去的MAC Header(MAC地址头)省下的部分就是“网络传输数据”了。在网络传输数据这一段实际上是和有线网络传输的数据一样的,日常我们所使用的无线网络这部分数据就是以太网数据帧。这东西在OSI模型里在第二层,也就是数据链路层。你看,一个本身在第一层的设备,却硬要处理包进去的二层数据,神奇之处就在这里了。
原则上说,无线AP和无线节点之间并不是802.3以太网,而是802.11无线网,这两个网络不同。而AP也并不是一层设备而是二层设备,同时AP利用二层设备的“身份”,依据无线网络数据包中的Mac header来模拟转发本来位于第二层的以太网数据帧。这个过程和普通二层交换机进行包转发的过程一样。因此,AP叫做“接入点”或者“访问点”,并不叫做一个无线网口。它的作用就是做一个信号转换和转发。
当然了,如果一个网络中有很多AP会乱,即便是只有一个AP也面临着网络传输过程中时序、分发、认证等等问题。这时候就要对AP进行管控,于是在网络中就有一个新的设备叫做AC(Access Controller,访问控制器)。

AC不一定要直接利用自身的端口连接AP,只要AC能够在网络中存在即可。AC的作用是对一系列的AP进行管理,例如分配一系列AP各自或者统一的SSID、均衡AP的工作负载,认证每个无线设备的访问是否合法……
到大家真正能看到的设备通常就是一个类似于交换机的设备以及一些无线模块。

类似于这些AP设备,本身对于客户端的承载量是相当大的,可以充分的利用分时分频机制来协调大量无线客户端,例如iN自己家里的AP是这样的:

每个AP上可以支持的客户端数量达到1024个。AP的价格高,实际上性能也在线,其原因是大部分AP设备所用的硬件规格已经等同于甚至超过你家的路由器,还是以iN家里的7060DN为例子:

它的CPU为高通的IPQ8074SoC,现在看并不是特别高端,但是我们来对比同样使用这片SoC的家用路由器,你就会发现这片SoC会用在当年相当高端的家用无线路由器中。

例如网件的RAX 120,在即便是在2023年初年货节的价格依旧是3000+

很多人认为AP贵的原因也就是在此,本身商用级的AP就是一个堆料的产物。那么类似于RAX 120这样的高端路由器的无线性能是不是可以达到商用AP的水准呢?答案是否定的。因为CPU的计算能力是有限的,在家用路由器上即便是相同的CPU,但受限于家用路由器本身还要处理很多无线传输之外的操作,就导致了整体上无论从稳定性上再到带机量上都有着巨大的差异,例如网件的RAX 120官方推荐的带机量是72台,极限的带机量不超过100台,和一台纯AP的动辄几百台带机量还能继续稳定工作是有着量级的区别。
而且,和玩相机要选定焦镜头一个道理,如果一个产品功能单一,那么厂商就有可能在这一个单一功能上做深度的优化,而如果一个产品功能很多,那么各种优化也就得相互取舍了,所以变焦镜头不可能在其涵盖的所有焦端上都做出相应的调教,路由器也是如此,全部都调优的家用路由器如果生产出来也是天价,是没有市场的。
只是,由于家用需求较小,家用无线路由器可以拆东墙补西墙的将一些性能均衡到其他功能上,对集成到家用路由器中无线AP性能进行妥协。于是,家用无线路由器就包括了四个基本功能——路由、交换机、AC控制器、AP接入点。没错,大家褒扬或避之不及的AC/AP模式实际上就存在于家用无线路由器当中,只是AC控制器和AP接入点都只是在路由器软件层面集合在路由器的后台管理功能中,并且由于是面对于家庭用户,很多的管理功能并不会开放设置,而是做成了默认项目。

你在家用无线路由器上进行的无线设置,实际上是和AC控制器中设置并无二致的,只是一些晦涩难懂的术语被转变成了一般用户能够迅速理解的说法。例如梅林路由器Wi-Fi设置中有一个选项叫做“为Xbox优化”,这个选项勾选后,实际上改变了AC控制器的三个参数:降低了Beacon的重发速率、提高了收发方向上MCS值到设备所能支持的最大值,同时改变设备策略到可靠性优先。

实际上这个设置并不是提高了Xbox联机的网络速率,相反是降低了速度提高了可用性,让Xbox减少在无线网络使用期间的网络卡顿,算是一个“以空间换时间”的操作。但普通用户不理解,于是被改成了“为Xbox优化”,不玩Xbox的时候勾选它有意义吗?并没有,而且会让网络速度稍微降低,算是一个负优化。
到这里,大家就应该了解到,你家的家用路由器再怎么不好,再怎么垃圾,只要有无线功能本质上都是在用的AC/AP模式,只不过是厂商将这个最基本的网络功能给你隐藏到了路由器里面。
再说Mesh,很多人觉得Mesh是一个相当神奇的可以解决自己家Wi-Fi网络信号不好的有效手段。那咱们就继续聊聊Mesh是怎么来的:
Mesh这个词就是“网”,但是并不是指咱们“上网”的“网”。这就是中文不精确的问题了。Mesh指的是“网格”或者“网状物”,例如:

金属网
这个词汇用到网络技术术语的时候是指代一种网络拓扑结构。在环形、总线型、星形网络之外还有一种网络拓扑结构叫做“网形拓扑结构”也就是咱们常说的“Mesh”。
这东西由来已久,现在最大的Mesh网络就是整个因特网。

各个因特网的节点都被各种线路所连接,当一个节点路径被阻断后,我们可以绕行另外的节点到达因特网的其他节点上。这是一种有效的保障整个网络在大部分情况下都可以运行的技术。因特网很大,因此这些节点和节点之间的链路在传输数据的时候往往要借助特定的协议和算法来应付如此庞大和复杂的网络,例如OSPF、BGP等路由协议也就孕育而生了。

ospf——最短路径优先协议
Mesh的先天优势在于其中某个节点顺坏数据流依旧可以绕行到其他节点达到目的——这是网络的鲁棒性体现。可是为什么Mesh网络的拓扑结构并没有应用在小规模的利用线缆承载的企业网络和家庭网络中呢?原因在于如果要织一个Mesh的本地网络我们需要部署大量的电缆,从成本上考虑不如星形网络这么便宜。

本来一个节点只需要一个到两个网络接口连接的情况就变成了每个节点需要更多的网络线缆连接,这就导致了网络的铺设成本大幅度增加。同时由于Mesh的路径变化也导致了维护的困难度呈几何级的增加。
而这一切到了无线的领域上就有了变化,因为没有线缆的存在,Mesh并不会增加额外铺设线缆的开销。相反利用无线可以快速的部署网络系统到更远、更广泛的区域中。这就是Mesh的价值了。

实际上读到这里大家应该理解Mesh只是一种网络拓扑结构,在Mesh上的无线接入点依旧是AC/AP模式,只不过是AP到网络的连接方式换成了Mesh结构而并非传统的星形结构。
那么Mesh有优势外存在什么问题吗?当然会存在!技术领域中并没有十全十美的解决方案,总是优化一边削减另一边。这里就涉及到了回程的问题。

往往演示图会给你画上几个路由器和一个终端,当其中某个路由器出故障的时候,mesh无线网络会迅速切换数据路径让网络保持连接。这是最理想的技术状态,如果一个家庭里只有一台手机和三台Mesh路由器这种简单的模型是成立的,但大多数人家里往往不只是这么简单的架构,在不同的房间里有不同的Wi-Fi设备,人员也会在不同的房间中做不同的事情。Mesh的使用模型立刻就复杂化了,并不是用户要从最远端去访问网络,有可能就在主路由边上利用主路由访问外部系统。这时候Mesh的回程流量问题就很显著了。
还记得咱们在讲AP的时候提到的电磁波复用的图表吗?

Wi-Fi设备的天线如果做了一件事,在同时就无法做另一件事,这时候Mesh 的AP如果接受网络数据信号的同时需要将信号传递到另外一个AP节点会是怎样呢?先收取数据包,然后再打标后传递给另一个节点。进入这个节点和转发出去的流量是相同的,但是由于要经过其他AP节点进行回程,真正能达到AP本身性能的效率也就打五折了。
这是无线回程Mesh的硬伤,为此很多支持无线Mesh的设备采用了三频,其中除了2.4G和5G之外还存在一个你用不到的专用频段,这个频段就是为了应对回程数据的。

同时也有一些厂商使用了有线回程的技术

这些方式都相应的解决了回程数据占用传输带宽的问题。但问题仅仅如此吗?
咱们就又得从Mesh的网络结构来说了,例如因特网这种超大型网络,是有相关协议来优化网络传输路径的。但对于家庭用户来说,这些协议并不存在于家用Mesh中。如果家里的Mesh节点过多,往往会出现数据的流动方向并不是最优化的情况。
目前,一些个别品牌的Mesh家用路由器采用了两个优化Mesh传输的协议。B.A.T.M.A.N.(Better Approach To Mobile Ad-hoc Networking)和OLSR(Optimized Link State Routing)看名字大家就会发现蝙蝠侠和奥尔萨,这是两个在开源社区由爱好者编写的Mesh路由优化协议,例如OLSR需要在支持它的开源路由系统中手动安装。但这两个协议基本上都没有普遍的被路由器大厂所采用。于是——到目前为止你家的数据在Mesh上还是属于随处乱串的状态。
这是Mesh路由,基本上给大家说清楚了吧?这是咱们之前说的一个前门楼子。
对于漫游,漫游技术并不仅仅局限于Mesh无线路由中,只要路由器支持802.11k和802.11r协议就都可以支持漫游服务,这一点和AC/AP、Mesh这种网络拓扑结构性的设计没有任何关联。所以说Mesh=漫游这种说法就是一个说前门楼子,另一个人理解成了胯骨轴子。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

五十包郵解君愁
校验提示文案
值友4781484724
校验提示文案
saintmylady
校验提示文案
saintmylady
校验提示文案
值友4781484724
校验提示文案
五十包郵解君愁
校验提示文案