需求
想把无线路由器放到客厅 但是客厅只有一个网口连接到弱电箱光猫的itv口 用来看电视 现在需要在该网口同时搭载网络和itv
原拓扑图如下
解决方案
材料:
1、水星Mercury SG105Pro 五口千兆网管交换机 价格 98 元 放置在客厅(下称SW5)
2、水星Mercury SG108Pro 八口千兆网管交换机 价格 169 元 放置在弱电箱(下称SW8)
整体解决思路:
在弱电箱端,使用一台交换机,将itv和网络的数据包合并至一条主干道网线上,到使用端(客厅)使用另一台交换机进行识别后拆分为两条线使用——达到墙内一条线,实际承载两条线路的目的。
实际解决方案(看不明白可以先往下看):
利用802.1Q VLAN的Tag机制划分两路VLAN:一路走itv(下称VLAN2)一路走网络(下称VLAN3),由交换机为收到的包打Tag后送入网线,进入Tag所示VLAN传输,由另一台交换机判断Tag,送入指定设备——达到目的。
先行说明:
在说明解决步骤之前先说明几个概念,po也是用了不少时间加实践去理解了VLAN、802.1Q标准中的Tag、Untagged、VLAN ID、PVID等概念,在这里做简单的讲述
*这里我们先打个比方,方便讲概念:
我们把数据包在交换机中的传输比作一场从出发地到目的地传送小球的游戏
- 数据包比作小球;
- 交换机是一个小球的中转站,决定来到这里的小球应该去到哪里;
- 交换机的端口是小球的出入口,我们将它比作检查站,每个检查站都有一把刷子和一把水枪(至于为什么是刷子和水枪?后面会说到),可以对小球进行上色和洗色;
*下面开始讲概念:
VLAN——是一条传送小球的管道:
VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。划分到同一VLAN下的端口可以互相通信,不同VLAN不能互相通信。
——如果我们把数据传输比作小球过管道,数据包是小球,那么VLAN就好比是管道,进入A管道的球是不能去到B管道的。
802.1Q——是制作管道的标准:
802.1Q是VLAN标准的一种。
——你可以理解为制作管道的标准。
VLAN ID——是颜色:
802.1Q标准中为数据包附加的一个值 标识该包在VLAN ID所示的VLAN中传输
——标准规定管道必须涂上颜色(VLAN ID),里面只能通过管道对应颜色(VLAN ID)的球。
TAG帧——带颜色的小球:
带有VLAN ID的数据包
——带颜色(VLAN ID)的小球
UNTAG帧——白色的小球:
不带有VLAN ID的数据包
——不带颜色(VLAN ID)的小球
PVID——是检查站刷子上的油漆:
Port VLAN ID,即端口缺省VLAN ID ,在交换机中提前配置
当端口接收到数据包时,可以为该包打上等于该端口PVID值的VLAN ID,此后该包成为TAG帧,在该VLAN ID所表示的VLAN中传输,是否打上tag由端口模式决定(Tagged/Untagged)。
——每个检查站都有一把刷子,刷子上都沾了我们指定颜色的油漆(PVID),当遇到小球的时候,可以把它刷成油漆的颜色(VLAN ID),接下来小球就只能进到对应颜色的管道里了,是不是要涂色,根据检查站的模式来决定。
Tagged与Untagged及端口收发包逻辑——检查站的两种模式
端口处理数据有两种方式:Tagged/Untagged
端口接收数据时:
- 如果端口是tagged方式
- 当数据包为UNTAG帧的话,就加上该端口的PVID,送入PVID所示的VLAN中传输;
- 如果数据包为TAG帧,那么就不再添加,直接送入TAG所示的VLAN中传输;
- 如果是untagged方式,
- 输入的数据包全部都要加上该端口的PVID。不管输入的数据包是TAG帧还是UNTAG帧。
端口发送数据时:
- 如果端口是tagged方式
- 如果端口PVID等于发送的数据包所含的VLAN ID,那么就会将VLAN ID从发送的数据包中去掉;
- 如果不相等,则数据包将保持原样发送出去。
- 如果端口是untagged方式
- 则不管端口PVID为多少,是否等于要输出的数据包的VLAN,都会将VLAN ID从数据包中去掉。
检查站有两种模式:Tagged和Untagged
检查站遇到外面来的小球:
- 如果检查站是tagged模式
- 如果小球是白色的,就用刷子为小球涂上油漆的颜色,送进对应颜色的管道里传输;
- 如果小球有颜色,那就不再处理小球,直接送到小球对应颜色的管道里传输;
- 如果检查站在untagged模式
- 碰到的小球全部用刷子刷上油漆,强行送进对应的管道传输;
检查站准备送走从管子里出来的小球时
- 如果检查站是tagged模式
- 如果油漆的颜色和小球的颜色一致,就把小球的油漆用水枪洗掉再送走。
- 如果油漆的颜色和小球的颜色不一致,就把小球原样送走。
- 如果检查站是untagged方式
- 不管油漆颜色还是小球颜色,都将小球的油漆用水枪洗掉再送走。
讲解完概念后,我们再回来看解决方案
实际解决方案(看不明白可以先往下看):
利用802.1Q VLAN的Tag机制划分两路VLAN:一路走itv(下称VLAN2)一路走网络(下称VLAN3),由交换机为收到的包打Tag后送入网线,进入Tag所示VLAN传输,由另一台交换机判断Tag,送入指定设备——达到目的。
如果你还是看不懂,我们再换成传送小球:
我们按照标准制造了两根管道,一根涂成红色(itv),一根涂成蓝色(网络),将这两条管道埋设到一条网线中,由一头的中转站为光猫送来的白色小球上色,分别送入两条管道,经过同一条网线,另一头的中转站判断颜色,送到指定的目的地——达到目的。
具体解决步骤:
-
1、配置SW8的VLAN
-
VLAN划分如下:
VLAN1 为 局域网交换(默认 可以无视)
VLAN2 将1,7端口配置为itv交换
VLAN3 将1-6 以及8 端口配置为网络交换将端口1作为主干道端口
*此端口连接SW5
**接收:由SW5发送过来的TAG帧 并根据TAG帧中的VLAN ID 决定送入VLAN2还是VLAN3(即广播至VLAN2的7端口或VLAN3的2-6、8端口)
**发送:由SW8其他端口广播的TAG帧以 Tagged方式(即保留TAG)发送至SW5 -
PVID配置如下:
端口1:接SW5 此口PVID随意设置 因为此端口接收到的全为TAG帧 PVID并不会起作用
端口7:接光猫ITV口 PVID设置为2 接收光猫ITV口发送来的UNTAG帧 送入VLAN2
端口8:接光猫千兆口 PVID设置为3 接收光猫千兆网络口发送来的UNTAG帧 送入VLAN3
端口2-6:接其他房间电脑 PVID设置为3 接收其他房间电脑发送来的UNTAG帧 送入VLAN3 与端口8光猫千兆口相互通信
-
-
2、配置SW5的VLAN
-
VLAN划分如下:
VLAN1 为 局域网交换(默认 可以无视)
VLAN2 将1,4 端口配置为itv交换 令4端口可以与主干道端口进行通信
VLAN3 将1,5 端口配置为网络交换 令5端口可以与主干道端口进行通信将端口1作为主干道端口
**接收:由SW8发送过来的TAG帧 并根据TAG帧中的VLAN ID 决定送入VLAN2还是VLAN3(即 广播至VLAN2的4端口或VLAN3的5端口)
**发送:由SW5其他端口广播的TAG帧以 Tagged方式(即保留TAG)发送至SW8 -
PVID配置如下:
端口1:接SW8 此口PVID随意设置 因为此端口接收到的全为TAG帧 PVID并不会起作用
端口4:接机顶盒 PVID设置为2 接收机顶盒发来的UNTAG帧 打上VLAN ID值为2后将该TAG帧交由端口1
端口5:接路由器 PVID设置为3 接收路由器发送来的UNTAG帧 打上VLAN ID值为3后将该TAG帧交由端口1
端口2-3:闲置 可无视 -
最终VLAN端口一览
VLAN2(ITV):SW8P1、SW8P7、SW5P1、SW5P4
VLAN3(网络):SW8P1、SW8P2-6、SW8P8、SW5P1、SW5P5
至此ITV通过SW5P4与SW8P7可互相通信 网络通过SW5P5与SW8P8可互相通信
ITV与网络互不干扰 但通过SW8P1与SW5P1之间只连接了一根网线 目的达成 -
-
3、连接拓扑图
-
4、问题解决
交换逻辑:
网络数据帧传输:
1.去程 光猫千兆口->客厅路由器
1.光猫千兆口发送UNTAG帧 到达SW8 8端口
2.判断8端口PVID为3 为数据帧打上VLAN ID标记值为3 转为TAG帧 传入VLAN3 交换至1-6端口
3.TAG帧到达2-6端口 与其他房间各电脑通信直接拨号上网;同时,TAG帧到达1端口 送至SW5
5.TAG帧到达SW5的1端口 判断TAG帧中VLAN ID为3 送入VLAN3 交换至5端口
6.TAG帧到达5端口 送至客厅路由器
7.完成光猫千兆口->客厅路由器的传输 全程数据帧在VLAN3中传输 与SW8 7端口ITV无关
2.回程 客厅路由器->光猫千兆口
1.客厅路由器发送UNTAG帧 到达SW5 5端口
2.判断5端口PVID为3 为数据帧打上VLAN ID标记值为3 转为TAG帧 传入VLAN3 交换至1端口 送至SW8
3.TAG帧到达SW8的1端口 判断TAG帧中VLAN ID为3 送入VLAN3 交换至1-6端口
4.TAG帧到达2-6端口 实现客厅路由器与其他各房间的局域网通信;同时TAG帧到达8端口 送至光猫千兆口
5.完成客厅路由器->光猫千兆口的传输 全程数据帧在VLAN3中传输 与SW8 7端口ITV无关
ITV数据帧传输:
1.去程 光猫ITV口->客厅机顶盒
1.光猫ITV口发送UNTAG帧 到达SW8 7端口
2.判断7端口PVID为2 为数据帧打上VLAN ID标记值为2 转为TAG帧 传入VLAN2 交换至1-6端口
3.TAG帧到达1端口 送至SW5
5.TAG帧到达SW5的1端口 判断TAG帧中VLAN ID为2 送入VLAN2 交换至4端口
6.TAG帧到达4端口 送至机顶盒
7.完成光猫ITV口->客厅机顶盒的传输 全程数据帧在VLAN2中传输 与SW8 8端口网络无关
2.回程 客厅机顶盒->光猫ITV口
1.客厅机顶盒发送UNTAG帧 到达SW5 4端口
2.判断4端口PVID为2 为数据帧打上VLAN ID标记值为2 转为TAG帧 传入VLAN2 交换至1端口 送至SW8
3.TAG帧到达SW8的1端口 判断TAG帧中VLAN ID为2 送入VLAN2 交换至7端口
4.TAG帧到达7端口 送至光猫ITV口
5.完成客厅路由器->光猫ITV口的传输 全程数据帧在VLAN2中传输 与SW8 8端口网络无关
至此问题解决! 也是钻研了三四天 临时起意肯定有写的不对的地方 欢迎各位在评论指出!
参考资料
- 交换机Vlan中 tagged和untagged的区别-platinaluo-ChinaUnix博客
- 802.1Q VLAN 技术原理—理解PVID和VID - 小海的专栏 - CSDN博客
- 一根网线走iptv及网络的实践经验 - 电脑讨论 - Chiphell - 分享与交流用户体验
- 一根网线怎么走局域网和iptv - 电脑讨论 - Chiphell - 分享与交流用户体验
2019年10月13日:有读者来问问题,似乎还是看的不太明白,加了小球的比方,希望能有助于理解吧!各位看官如果有啥不明白的,评论私信都可以哈!多多的来!
如果我的文章有帮上什么忙并且您也愿意赏个脸 就扫码领个红包吧(~ ̄▽ ̄)~