1 概述
网络设备选购指南,因为引入了家用的nas系统,和准备升级200m光纤宽带,所以现有的家庭网络环境需要升级成千兆局域网架构。试想一下,nas系统跑满机械硬盘的话大概能到160mb/s,但是如果只有百兆局域网的话,最大瓶颈就会在网络,速度最高只能到达12mb/s,只有极限的十分之一速度,十分蛋疼。
2 物理层
2.1 光纤
光纤是带宽最大,时延最低的传输介质,一般入户的宽带都是用光纤入户的,运营商宽带光纤的带宽为400G。
2.2 以太网
以太网是最常用的传输介质,根据有线电缆的等级,有不同的传输速度
- 5类网线,RJ45接口,最大带宽100Mbps,仅使用4芯传输,8芯作为冗余可靠保证
- 超5类网线,RJ45接口,最大带宽1000Mbps,必须全部使用8芯传输,其中一芯不通时会退回到5类网线
- 6类网线,RJ45接口,最大带宽2.5Gbps,必须全部使用8芯传输,带屏蔽线,抗干扰能力更强
- 超6类网线,RJ45接口,最大带宽5Gbps,必须全部使用8芯传输,带屏蔽线,抗干扰能力更强,传输距离更远
- 7类网线,SFP+接口,最大带宽10Gbps,必须全部使用8芯传输,带屏蔽线,抗干扰能力更强,传输距离更远
除了7类网线外,其他网线的接口都是可以通用兼容的。对于家庭的布线,最低必须要从超5类网线起步,推荐使用6类及超6类网线。7类网线的可使用设备还很少,而且标准还没有完全定稿,建议不要使用。另外,网线的最大长度最好不要超过50米,不然传输距离过长会导致衰减严重。而且,你要用7类网线的话,还不如直接上光纤SFP接口,兼容性更好,速率更高,成本更低。
2.3 无线网桥
无线网桥,就是使用两对已经匹配好的无线ap做对接,替代原来的有线传输。优点是传输距离非常长,可以高达5km的无线传输,最大高达800M的带宽。但是时延较长,而且容易受到环境干扰。适用于长距离(楼宇之间的监控传输)和移动物体(电梯里面的监控传输)的网络传输。
2.4 电力猫
电力猫是较为神奇的东西,它使用的是现有的电线作为传输方式。分公母两个规格,公接入电线和现有网络,母接入电线以后,就能从中抽取出公的网络信号。要注意这种方法,最好直接插入到墙体,不要插入到插座中使用。优点是不像无线容易受到遮挡物的信号衰减影响,缺点是不太稳定,容易受到大功率电器的影响。
2.5 总结
翻了一遍家里的已有电线,当年埋线的师傅还是比较良心,用的都是超5类网线,而且经过测试,8芯全通,可以稳定跑千兆网络。
3 链路层
3.1 功能
链路层主要就是交换机了,交换机主要有以下功能:
- 端口转发,购买交换机时要注意有多少个端口,端口速率是多少,背板带宽是多少。
- 网管管理,是否需要交换机的vlan管理,端口镜像,端口汇聚,端口带宽控制等功能。
选购时现在肯定选全千兆交换机了,注意是每个端口都是千兆速率,而不是总的背板带宽是千兆。另外,由于有单线复用iptv和宽带数据,以及端口汇聚提高nas上传带宽的需求,所以我选了一个全千兆的24口网管型交换机,纯粹是爱折腾。
3.2 vlan
最开始是这样的,客厅电视机的地方只有一个网口,但它需要同时传输iptv数据,监控录像机数据,无线wifi路由器的数据,智能电视的联网数据。后面三个可以很轻松地聚合到一个无线wifi路由器中就可以了,但iptv数据不行!因为iptv数据和宽带数据不一样的是,它是从光猫的iptv端口单独引出来的数据,其与宽带不共享带宽,而且走的是广播数据,不是宽带的ip帧数据。简单来说就是,如果将iptv的线和宽带的线同时插入同一部交换机或同一个路由器,然后从唯一的网口出来时,就会崩溃。要么宽带用不了,要么iptv用不了。
传统的办法是,将这个唯一的网口的8芯拆开,分成两个4芯网线,一条网线连接光猫的iptv端口,另外一条网线连接宽带的交换机。但是,这样做会让宽带的网线变成4芯,最高带宽只有100m,不符合我们的要求呀。而且,这个网线还传递着9个监控500万摄像头的视频数据,长期占用40M的带宽。也就是说,用这个接口放出来的wifi路由器最多只有60M的带宽,这不是坑爹吗。
另外一个办法是,让iptv不走网口了,另外单独走电力猫,或者无线AP。但在我这里,无线AP需要穿过厚厚的地板,电力猫靠近电视这种大功率电器,效果都不太理想,所以我最终使用的办法是,跨交换机传递vlan!它的想法很简单,就是通过在一条网线上同时传递iptv和宽带数据,然后这条网线的数据进入交换机以后,交换机通过识别为是否iptv数据来将数据输出到不同的端口上。
3.2.1 端口vlan
端口vlan是最基础的vlan方式,例如,上图中将端口1和端口2划分为vlan1,端口3和端口4划分为vlan2,那么端口1和端口2能互相ping通和传输数据,而端口3和端口4能互相ping通和传输数据,但是端口1和端口3或端口4都不能连通,两个vlan的端口虽然在物理上是共享同一部交换机,但它们在逻辑上就像插上了两台不同的交换机。这样做就能实现用软配置的方式来划分多个子网,而不需要在划分子网进行物理上的变化。
要注意的是,在这种情况下,一个端口只能绑定到一个vlan上,不能绑定到多个vlan上。
3.2.2 跨交换机划分vlan
当业务比较大时,一台交换机已经不能同时插入所有的终端了,我们需要用两台交换机来插上所有的终端。但是,与此同时,我们希望即使有两台交换机,也能够以软配置的方式划分多个子网。例如,终端A和终端C在不同的交换机上,但我们希望它们能划分到同一个vlan,而终端B和终端D也在不同的交换机上,我们也希望它们划分到同一个vlan上。那么,显然地,我们需要一种方式在交换机传递封包时,带上封包所在的vlan id,这样才能跨交换机划分vlan。
一种标准的跨交换机传递带vlan标识的封包协议为,802.1q vlan,它扩展以太网数据帧,在协议的类型字段上固定为0x8100,并指定了传递时vlan标识。
但是,802.1q vlan仅仅指定了封包协议,而交换机在什么时候对封包打vlan的tag,什么时候剔除封包的vlan的tag,则没有作任何的标准说明,不同厂商有不同的实现方式。
3.2.3 思科的802.1q vlan的跨交换机传递vlan
思科的802.1q vlan协议实现,是最权威的实现方式,配置和实现更加简单直观,但是功能不够灵活。(这部分属于扩展阅读,家用的网管型交换机一般用的是tplink的802.q vlan实现,如果你不感兴趣,完全可以跳过这一节)
端口类型 | 收发 | 描述 |
---|---|---|
Access | 收报文 | 判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省) |
发报文 | 将报文的VLAN信息剥离,直接发送出去 | |
Trunk | 收报文 | 收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃 |
发报文 | 比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送 |
思科的想法是从端口vlan中发展出来的,它将原来的同交换机内交换的端口定义为Access端口,而需要跨交换机内传递vlan信息封包协议的端口定义为Trunk端口。
工作流程为:
- 输入阶段,这个包进入到交换机内,如果它是802.1q vlan协议,带有vlan id信息的,则直接进入到转发阶段。如果它是普通的以太网数据帧,那么它会打上端口的PVID信息,转换为802.1q vlan协议,然后进入到转发阶段。
- 转发阶段,这个包根据它所携带的vlan id信息,传递给它同一个vlan的其他Access端口,以及所有的Trunk端口,注意,端口是Access类型的,还是Trunk类型的,是软配置静态决定的,跟转发不同的vlan无关。
- 输出阶段,Access端口输出封包时会剔除802.1q vlan协议中的vlan id信息,变为一个普通的以太网数据帧格式。Trunk端口则保留802.1q vlan协议中的vlan id信息,直接输出整个802.1q vlan协议的封包。
可以看出,思科的802.1q vlan协议实现,就是仅仅需要新增一个Trunk端口的想法而已,相当简单。要注意的是,和端口vlan一样,思科的802.1q vlan协议实现,每个Access端口也仅能绑定到一个vlan上,不能绑定到多个vlan上。
3.2.4 思科的802.1q vlan的跨vlan路由
802.1q解决了如何在多个交换机中传递vlan的问题,但是没有解决在必要的时候如何让多个vlan之间传递数据的问题。显然,由于不同的vlan在不同的子网上,不同子网上的数据交换我们需要三层的信息,也就是引入路由器。一个直观的解决办法就是,让交换机连出两个端口出来连接路由器,每个端口就是一个vlan的线路。这样做的优点是简单,缺点是如果vlan很多时,就需要占用过多的路由器端口,而且当vlan增多时,交换机连接路由器的线路就需要硬件上的调整,而不仅仅是软件上配置,十分麻烦。
为了解决办法,我们可以借用交换机的Trunk概念,让路由器和交换机之间传递的不是以太网数据帧格式,而不是802.1q vlan协议格式,那么路由器就能在一个端口上区分出来自不同子网的数据。然后在路由器上的一个端口上就能进行多个子网的路由转发和交换,这就是单臂路由的意义了。这样做的优点是简单,不占用过多的路由器端口,而且vlan增多时不需要硬件上的调整,但是还有一个缺点是,由于交换机和路由器上只有一条线路,这容易造成单点故障,和单线带宽瓶颈的问题。
为了解决最后一个问题,我们引入了三层交换机,将路由器移入到交换机内部,这样就能避免单点故障,和单线带宽瓶颈的问题。三层交换机,既包括了二层交换机中的划分vlan的功能,也包含了三层路由器中多个vlan路由的问题。拥有了以上所说的所有优点,解决了所有的问题,唯一的缺点可能就是贵。普通的24口弱三层交换机需要1500元,至少是普通的24口二层交换机的3倍价格。
3.2.4 tplink的802.1q vlan
tplink的802.1q vlan实现,配置和实现会更为复杂一点,但胜在更在灵活,它竟然允许同一个端口绑定到多个vlan上。要注意的是,tplink的802.1q vlan实现中,端口没有ACCESS和Trunk的区分,只有输出规则为Untag和Tag的区别。而且与思科的802.1q vlan最大不同的是,一个端口的输出规则是Untag还是Tag,是由它在转发某个封包时所在的vlan来决定的,是动态决定的,不是静态决定的
工作流程:
- 输入阶段,这个包进入到交换机内,如果它是802.1q vlan协议,带有vlan id信息的,则直接进入到转发阶段。如果它是普通的以太网数据帧,那么它会打上端口的PVID信息,转换为802.1q vlan协议,然后进入到转发阶段。
- 转发阶段,这个包根据它所携带的vlan id信息,传递给它同一个vlan的其他端口,这个时候,根据vlan id的信息,我们获取到这个vlan下各个端口的输出规则配置,是tag的还是untag的。注意,端口是Tag类型的,还是Untag类型的,跟转发不同的vlan是相关的,是动态决定的。
- 输出阶段,untag端口输出封包时会剔除802.1q vlan协议中的vlan id信息,变为一个普通的以太网数据帧格式输出。tag端口则保留802.1q vlan协议中的vlan id信息,直接输出整个802.1q vlan协议的封包。
3.2.3 单线复用iptv和宽带
有了tplink的802.1q vlan的前置知识以后,我们就可以实现单线复用iptv和宽带了。以上是网络拓扑图,光猫出来的宽带端口和iptv端口直接插入到交换机1上,然后通过端口1出一条网线,直接连入客厅的网线去。交换机2从端口1收到数据后,将端口1的数据,按照802.1q vlan协议上的tag分配到不同的端口去。
这是交换机1的vlan配置,划分为两个vlan,vlan 1是处理iptv的vlan,21至24端口都是untag。vlan 2是处理宽带数据的vlan,23和24端口是tag,1至20端口是untag
这是交换机1的vlan的PVID配置,只有宽带数据的端口,即端口1至端口20的PVID是2,其他是1。
这是交换机2的vlan配置,划分为两个vlan,vlan 1是处理iptv的vlan,1至2端口都是untag。vlan 2是处理宽带数据的vlan,1端口是tag,3至5端口是untag。
这是交换机2的vlan的PVID配置,只有宽带数据的端口,即端口3至端口5的PVID是2,其他是1。
为什么要这样设置,我们可以用工作流程推导一下:
- 处理宽带数据,输入阶段,交换机1的端口20进入宽带数据,包被打上vlan id为2(因为这个端口的PVID设置为2)的802.1q协议包。转发阶段,由于vlan id为2,走vlan 2,这时候知道23端口是tag属性的。输出阶段,然后从23端口出来,这时候带着tag为2的802.1q协议包。随着进入到交换机2,输入阶段,从端口1进来,由于已经有了带vlan id为2的协议包,所以直接略过端口1的PVID为1的配置的打tag操作。转发阶段,由于vlan id为2,走vlan 2,这时候知道3端口是untag属性的。输出阶段,从3端口出来,这时候直接剔除tag,恢复到以太网数据帧直接输出即可。
- 处理iptv数据,输入阶段,交换机1的端口22进入iptv数据,包被打上vlan id为1(因为这个端口的PVID设置为1)的802.1q协议包。转发阶段,由于vlan id为1,走vlan 1,这时候知道23端口是untag属性的。输出阶段,然后从23端口出来,这时候剔除了tag,直接吐出以太网数据帧格式。随着进入到交换机2,输入阶段,从端口1进来,由于没有tag,所以这个包打上了vlan id为1(因为这个端口的PVID设置为1)的802.1q协议包。转发阶段,由于vlan id为1,走vlan 1,这时候知道2端口是untag属性的。输出阶段,从2端口出来,这时候直接剔除tag,恢复到以太网数据帧直接输出即可。
处理过程中,交换机1的端口23,和交换机2的端口1,之间仅有一条网线通信,就实现了iptv和宽带的数据的复合传输了。
3.3 端口汇聚
端口汇聚就是将两个端口的传输数据复用成一个虚拟的单个端口传输,从而提高带宽。例如,一条网线的带宽上限是1000Mbps,但是我们希望nas和交换机之间的传输速率可以超过1000Mbps。解决办法就是,让nas和交换机连接两条网线,然后在交换机中将这两个端口汇聚成一个虚拟端口就可以了。这样子的话,nas和交换机的传输速率就会是2000Mbps。当然,nas自身也要支持多端口汇聚的功能了。
3.4 带宽控制
带宽控制就是直接控制每个端口的速率了,对于特定的业务就比较有用的,例如在酒店下,需要设置每个房间的限速是多少。
3.5 IGMP协议
IGMP协议是组播协议,被广泛用于局域网内的直播。例如,局域网中有两个电视都在观看cctv1的直播的iptv,传统的办法是让iptv光猫给每一份终端发送相同的视频数据。但是有了IGMP组播协议以后,多个终端在观看cctv1前首先都注册到一个广播组,然后光猫发送数据时,是对广播组发送数据,而不是对终端直接发送数据。交换机收到IGMP数据后,检查一个哪些端口在这个广播组下的,就直接对这些端口的数据分别发送这一份相同的数据。这样就大大减少了光猫的iptv分发压力,也减少了带宽的占有。
IGMP倾听选项,就是交换机在收到IGMP数据包以后,对mac地址进行查询,然后只对注册了该广播组的端口进行转发IGMP数据。如果该选项关闭时,交换机就是对IGMP协议透明,当收到IGMP数据时,直接对所有的端口进行广播,而不是只转发到必要的端口。很显然,这个选项默认应该是要开启的,能减少了局域网下的广播数据包。
但是,部分特殊的协议就是利用IGMP的组播特性来实现广播的,例如,DLNA协议依赖UPnP协议,而UPnP协议又依赖SSDP协议,而SSDP协议就是依赖IGMP协议的,它本意是利用IGMP协议来广播局域网的所有终端,我这里有一台机器是开启了DLNA服务器的,你们可以过来这里获取媒体资源。但是,如果这个时候你开启了IGMP倾听,这个SSDP协议就会无法正常工作。
而我刚好就是遇到了这样的一个问题,换了新的网管型交换机以后,家里电视器就会找不到局域网的nas,自然也就播放不了里面的视频和图片了,解决办法很简单,关闭IGMP倾听就可以了,感谢这位大哥。
4 路由层
路由层主要是靠路由器了,这部分我觉得比交换机容易很多。主要功能是:
- PPOE拨号功能,设置账号和密码,就能直接连接光猫上网了
- DHCP服务器,为连接网络的终端提供自动获取IP地址的功能
- NAT地址转换,这点可以说是内置的了,不需要配置。WAN口和LAN口的数据交换就是通过NAT地址转换来实现的。
- 无线WIFI,包括2g和5g双频段,支持的无线WIFI协议等级和速率等等。
越好的路由器,它们在执行以上的功能时就会越快,我们在选购时需要特别看重NAT地址转换和无线WIFI这两个重要的功能,另外也要注意LAN口和WAN口是不是都是千兆的。最后,如果想买好的,就简单地认准网件和华硕这两个牌子就可以了,千万别用华为,小米等互联网品牌的家用路由器,口碑很差。
另外,要注意的是,无线wifi的速度受限于两点:
- wifi协议,2.4Ghz频道最快是300Mbps,而5GHz频道最快是1Gbps,在不同的频道有不同的wifi协议,而每个协议所能协商的最大速率都不同。要让wifi跑得更快,最要让路由器和网卡都选择能支持最优秀的wifi协议的设备。
- wifi损耗,wifi都总是跑不满宽带的上限速率的。例如,802.11ac的协议能达到886Mbps,而你的宽带为100Mbps时,使用这个协议的wifi最多只能跑到80Mbps左右。同样的道理,如果宽度的上限为350Mbps时,wifi最多只能跑到300Mbps,这是由于wifi损耗导致的。wifi设备的配置越高,固件优化越好,那么这个损耗就越低。例如,同样在2.4Ghz频道下,原来的TPLink WR841N最多只能跑到38Mbps,但是Netgear R7000就能跑到45Mbps。在5Ghz频道下,Netgear R7000能跑到80Mbps的速率下。
企业级的路由器,它们的主要功能是能协同交换机的vlan实现多网段的NAT和多网段的DHCP,以及各种各样的路由协议,VPN协议,和流量监控和安全配置等等,主要的牌子是思科,华为和h3c,但愿有机会能玩玩这些路由器吧。
5 总结
参考资料:
- 图文并茂VLAN详解
- 802.1Q VLAN技术原理
- 单线复用,一条网线如何实现IPTV+上网共享
- 上海电信 IPTV和宽带共享一根网线方案
- TP-Link管理型交换机IEEE 802.1Q VLAN设置应用实例
- 解决电视盒子接有线,使用手机无法DLNA推送的问题
- 本文作者: fishedee
- 版权声明: 本博客所有文章均采用 CC BY-NC-SA 3.0 CN 许可协议,转载必须注明出处!