传统的家庭网络
家庭上网,一般都是通过 ISP 的猫(modem)和一个路由器,这种传统已经维持了十几年,只不过是从十几年前的有线路由器演变成了后来可以提供 WiFi 的无线路由器。现在有些 ISP 会在自己的猫里面内置 WiFi,从而节省一台设备。但是 ISP 的猫性能参差不齐,所以像我这种比较在乎性能的人,一般都是将猫设置成桥接模式,然后使用自己的路由器。
但是 IoT(物联网)时代,联网设备增多,而且分散在家里各个角落,这对网络布设提出了新的要求。
- 可以同时管理大量设备
- 很大的无线信号覆盖范围
- 足够的网络吞吐量
一般来讲,放置无线路由器的最佳地点是在房子的正中央。但是考虑到 ISP 的入户线路一般都在家里的一侧,这也限制了无线路由器的位置,家里很容易出现无线信号死角。比如说我家里,猫和路由器(Netgear R7000)就放在了房子的一个角上,房子对角线位置就是一个无线网络死角。这时候信号扩展产品就应运而生了。
WiFi 信号扩展器和接入点(AP)
要扩展 WiFi 信号,方法无外乎两种。要么用 WiFi 信号扩展器延展覆盖范围,要么干脆再加一个接入点,专门服务死角区。但是两个方法都有问题。WiFi 信号扩展器会影响无线网络性能,如果家里有需要高带宽的设备(如高清摄像头),比较好的办法是再加一个接入点。
所以,之前我买了一个 Google OnHub 拿来做接入点使用。但是在系统更新到 9000 版本之后,OnHub 的信号突然变弱了。我猜想可能是因为 Google 推出 Home 无线套装,为了让各个节点之间不互相干扰,人为降低了主路由器的传输功率。当然这只是猜测。不管怎么样,Google OnHub 的覆盖范围变小了。于是我就又尝试了几个接入点,都不尽人意。而且作为主路由器的 Netgear R7000 也出现短板。
家里面各式各样的设备林林总总加起来几十台,为了管理方便,我把设备分类,按类别给设备分配好了 IP 地址。但是 Netgear 路由器的最多才能预留 64 个 IP 地址(IP Reservation for DHCP),实际要分配 IP 有 77 个之多,现在主流三大厂商(Linksys、Netgear、D-Link)的设备都无法管理这么多 IP 分配。
我尝试将上古时期的 Netgear WNDR3700 刷上 DD-WRT 来绕开 64 个地址的限制,但是第三方固件就是第三方固件,运行不稳定,而且经常网络卡壳。我觉得有可能是硬件太老,拖不动这么庞大的网络,于是我又开始找商用路由器。
将设备放在正确的位置
商用路由器毕竟还是贵。我突然想到,Google OnHub 到底能预留多少个 IP 呢?
于是我将 Google OnHub 和 Netgear R7000 调了个位置,由 OnHub 当主路由器,R7000 作为接入点。果然,R7000 的功率相当强,覆盖整个房子没有任何问题,就连地下室角落里的摄像头都能流畅传送视频数据。而 OnHub 虽然在操作上比较麻烦,但是也顺利地加入了 70 多个预留地址。这样省了买商用路由器和商用接入点。
Google Onhub 的问题:
- 不能关掉无线网络
- 要预留 IP 地址,必须要设备联入网络才行,不能手工输入 mac 地址
- 端口转发只能一个端口一个端口设置,不能设置端口范围转发
- 不能设置子网网段,必须用 192.168.86.x
- 不能设置 OnHub 的 IP 地址,必须用 192.168.86.1
- 遇到过一次 DNS 停止工作(设置的是“使用 ISP 的 DNS 设置”)
- 端口转发不靠谱,设置完之后不会立即生效
网络规模究竟能达到多大?
这个问题不好说。尤其是 IoT 时代,如果每个插座、每个开关都接入网络,并且都要分配 IP 的话,网络节点规模和数据规模就不是现在这些设备能处理的了。无线设备多了不仅会互相干扰,还会互相抢占传送时段,拖慢整个网络。有线设备增加则需要更精确的流量控制,使网络资源在各类设备之间达到平衡。
总之,十几年前的“一个路由器搞定一个家庭网络”的时代基本上已经结束了。如果要更好地优化家庭网络,不仅要增加接入点扩展网络覆盖,而且需要换一个更强劲的路由器来管理网络才行。