• 隐藏侧边栏
  • 展开分类目录
  • 关注微信公众号
  • 我的GitHub
  • QQ:1753970025
Chen Jiehua

家庭网络VLAN单线复用 

每一个程序猿对于自己的家庭网络肯定都不会满足于能上网就可以这个基本要求,路由器性能如何、是否能跑满带宽、Wifi信号是否足够稳定、客厅房间是否都能接入、网络中的设备如何规划网段……许多有趣的问题都值得我们去探索。

背景

搬家之后需要重新安装宽带,无良开发商只接入了电信光纤,没得选择只好挑一个便宜的套餐办理,最后选了229元/月的套餐(500M光纤+IPTV)。

然后先来看一下目前的网络走线:

再次吐槽一下,网线用的是超五类网线,结果水晶头全部只接4芯,这样最高传输速度就只有100Mb/s了,只好自己全部重新压一下水晶头,千兆网络可是我们的最低要求。

首次安装

根据上面的网络走线,考虑到客厅有电视会使用IPTV,最简单的安装方式便是光猫放弱电箱,然后网线直接接光猫的iTV口和LAN口,因为现在的光猫基本都有无线路由的功能,所以一下子就搞定了:

预约了电信的安装师傅上门,果不其然就是按照这个方案来操作的,对于一般的家庭使用已经能满足上网和看电视的基本要求了,于是还不等我提出其他要求,安装师傅便已经跑了。

困境

对于目前的安装方案,简单测试一下就会发现许多问题。

第一个问题也是最大的问题就是网速,因为弱电箱的位置在入户门口,站在门口的时候网络测速可以勉强达到400~500Mb/s,可是一旦走到客厅速度瞬间就降下来了,在房间基本都没什么信号了。

第二个问题是光猫的性能基本比较一般,同时兼具拨号、路由、Wifi多个功能,在家庭设备接入比较多的时候肯定会掉速, 而我手头的路由器华硕RT-AX86U要怎么才能派上用场(好歹也是性能杠杆的Wifi6路由器(lll¬ω¬)。

第三个问题是除了路由器,家里的其他网络设备要怎么接入(比如家庭网络存储NAS,虚拟机ESXI),而且还要保证在内网能够跑满千兆,毕竟谁都无法忍受NAS只有10+M/s的读写吧。

针对这几个问题,如果不考虑已有的实际走线,那么整个家庭网络的部署大概是这样子的:

然而,目前的网络走线却不支持这么做:

  • 弱电箱到客厅只有一条网线,没法同时支持路由器和IPTV;即便舍弃了IPTV,那房间的网线也没法直接连接到路由器上来,通过光猫中转又会存在性能损耗;
  • 看起来如果把路由器和光猫一起塞在弱电箱里面可以解决上面的问题,但事实上把路由器放在弱电箱又会出现Wifi信号衰弱的问题,而且现实也不允许这么干:弱电箱太TM小了,路由器根本放不进去。

IEEE802.1Q 与 VLAN

思来想去,问题的本质在于弱电箱到客厅只有一条网线,那么有没有什么方法可以实现在一条网线上传输多个网络数据呢?

答案是肯定的,那就是VLAN。当然,这需要依赖两个支持VLAN功能的交换机或路由器才能实现。

根据IEEE 802.1Q 协议也就是“Virtual Bridged Local Area Networks”(虚拟桥接局域网,简称“虚拟局域网”)协议,主要规定了 VLAN 的实现方法,要使交换机能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。

协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用于标识数据帧所属的VLAN:

在一个VLAN交换网络中,以太网帧主要有以下两种形式:

  • 有标记帧(Tagged帧):加入了4字节VLAN标签的帧。
  • 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的帧。

以太网链路包括接入链路(Access Link)和干道链路(Trunk Link):

  • 接入链路用于连接交换机和用户终端,只可以承载1个VLAN的数据帧。
  • 干道链路用于交换机间互连或连接交换机与路由器,可以承载多个不同VLAN的数据帧。

在接入链路上传输的帧都是Untagged帧,在干道链路上传输的数据帧都是Tagged帧。

交换机内部处理的数据帧一律都是Tagged帧。从用户终端接收无标记帧后,交换机会为无标记帧添加VLAN标签,重新计算帧校验序列(FCS),然后通过干道链路发送帧;向用户终端发送帧前,交换机会去除VLAN标签,并通过接入链路向终端发送无标记帧。

单线复用

理解了VLAN的基本概念和原理之后,就可以开始着手重新部署我们的网络了。

首先需要两台带网管功能的交换机(支持VLAN),我在这里用的是水星SG105 Pro和SG108 Pro,两台交换机除了网口数量外其他功能基本一样,5口的放弱电箱,8口的放客厅(可以连接更多设备),弱电箱到客厅的网线就充当干道链路了(Trunk)。

在上面的图中,相同颜色的连线代表同一个VLAN。

唯一需要注意的是交换机SG108和路由器同时连了两条网线,蓝色连接路由器的WAN口,相当于是广域网的拨号上网;绿色则是路由器的本地网络,划分在同一个VLAN后两个交换机的部分端口(SG105的4、5,SG108的4~8)就相当于路由器的扩展LAN口了。

再看一下两个交换机的802.1Q VLAN设置,其中INTERNET和IPTV的VLAN编号保持和光猫默认的一致:

SG105 Pro 5口交换机:

VLANVLAN描述成员端口Tagged端口Untagged端口
1Default1-51-5
2LOCAL1,4-514-5
41INTERNET1,313
45IPTV1-212

SG108 Pro 8口交换机:

VLANVLAN描述成员端口Tagged端口Untagged端口
1Default1-81-8
2LOCAL1,4-814-8
41INTERNET1,313
45IPTV1-212

最后再把光猫设置为桥接,改用路由器拨号,最大化路由器的性能。此外,路由器拨号的最大好处是路由器可以直接获取到公网IP(而不是光猫公网IP,路由器内网IP),这样子就可以在路由器上进行更多玩耍啦。

参考:

码字很辛苦,转载请注明来自ChenJiehua《家庭网络VLAN单线复用》

评论