负载分配

前段时间办公室网络总是不好,

经常出现一台设备从路由器那里分配到了局域网的IP地址,但是却Ping不通网关的情况。彼时的网络结构是电信提供的光猫作为路由器,三个Lan口两个接台式PC,一个接了TPLinkAP,其余的十几台设备全部通过APwifi连接到光猫上。电信的光猫学名叫做「单端口光端机」,主要作用是将入户光纤使用的光信号与内部网线使用的数字信号做转换。作为电信入户的产品,为了更广的应用场景,在主要的光信号转换功能上增加了路由功能和无线功能。对应的,就是这个光猫采用的芯片属于比较低档的芯片,负载能力偏弱。

超过20人的公司大多会部署专门的网络,将不同的功能拆分开,使用不同的机器。而我们因为人数偏少,而且考虑到后续不久就要换地方,所以之前一直都是使用家庭级别的上网设备。一开始,部署网络时,考虑到内部的联网设备大概在40左右(人不多,但是人均设备不少),大部分还都是通过wifi连接网络的,而光猫自身的无线功能只是家用级别,目测无线连接10个就是上限了。第一次部署网络时,我就关闭了光猫的无线功能,保留了光猫的信号转换和路由功能,新增一个Fat模式的AP,简单来讲Fat模式就是相当于一个Hub,传统的Hub是将一个接口拓展成多个接口实现拓展,而AP则是通过无线与各种设备进行连接,然后通过网线与网关连接,也就是AP是一个无线拓展器,让无线设备与网关产生了连接。AP的无线连接功能远比光猫自身的无线功能强,一方面是信号连接更加稳定,另一方面是AP能负载更多的无线设备连接。而且AP还可以提供多达16个的SSID,可以设置SSID之间是否隔离,起到一定的局域网安全保护。官方参数里提到2.4G5G的两个频段的设备连接上限分别为100台。目前阶段而言,是足够我们团队使用的。

第一次改组网络结束之后,设备的wifi信号都是满格,也不会出现连不进去的状况。但是紧跟着,不到半天的功夫,相继有同事反馈微信发不出消息。事后排查,确定AP本身没有DHCP的功能,只有光猫的路由上开启了DHCP,这意味着并不是IP地址冲突造成的网络连接失败。找了台连不上网的PC用命令行Ping了网关,丢包率超90%。这次就确认了,是光猫自身的路由功能出了bug。第二次改组网络,在光猫的Lan口接了一台家用无线路由器,照例把无线功能关掉,只保留路由器的Lan口有线连接,然后把AP和另外两台台式PC有线连接到无线路由器上。这次,光猫关闭了大部分功能,只保留了最基本的光信号和数字信号的转换功能。路由功能则全部交给了关闭无线功能的无线路由器。果不其然,这次改组之后,一周内都没有出现过网络连接失败的反馈。

当把路由、无线功能全部集成到原本做信号转换的光猫上时,它的负载能力是很弱的,目测连接五六台设备没有问题。后来,我把路由和无线都拆分开,使用专职的设备去承担对应的功能,整体网络的负载能力大幅度的提升。可以说,负载能力的提升是几何形式的增长,比如说无线路由器关闭无线功能后路由支持超过100IP的连接。如果把光猫的几个Lan口全部接路由器,然后每个路由器接一个AP,理论上可以支持大约400台设备的连接。但实际上,现阶段就可以实现大约100台设备的连接,这样的负载能力已经提升很多了。另一方面,如果盲目拓展网络的复杂程度,无线网络增多,反而会出现网络竞争,导致所有的设备速度下降。目前来看,在现有的条件下(不采购新的硬件设备,利用现有的设备),这样的组网方案已经优化的足够。剩下的优化,就是在软件层面进行管理,比如说带宽控制。

这件事,本质上就是一个「负载分配」的问题。虽然现在很多设备都讲究多功能集成,但如果真的要考虑更大的负载能力,就需要将非主要功能剥离开,让固定的处理能力尽可能多的消耗在专业功能上。类似的例子就是,HiFi爱好者们,喜欢买专门的播放器+耳放+耳机。

有异曲同工之妙的例子就是亚当·斯密提过的将做针进行流程细分,每个工人专职做具体某一个流程,可以极大地提高针的生产效率。

「负载分配」这是一种思想,不仅仅是在计算机领域,在整个世界的运行之中,合理的利用它,可以极大地提高效率。

发表评论

电子邮件地址不会被公开。 必填项已用*标注