跨交换机之间的相同VLAN通信如何实现?

 

1 一台交换机的接口有限,有时无法容纳一个VLAN的面员数量 ,所以需要多台交换机协同工作,另外,也有可能是因为地域的限制,导致我们不得不这样做

想要实现跨交换机的VLAN通信,就要明白交换机的接口模式

 

 1)access  接入模式,主要用于连接终端设备

 2)  trunk    “干道模式”用于和交换机进行互联

如图所示,两台交换机的e0/0- 1 都是ACCESS接口,而E0/2接口是连接彼此的,要设置成trunk

交换机端口链接类型为access 链接多个vlan 两台交换机access接口互联_工作原理

 

为什么有trunk和access之分呢?

倒底trunk有什么做用?

access口不可以实现这种结果吗?

 

分析

1)access模式接口工作原理

 PC2发送数据到达PC5(同属于VLAN10)

数据进行交换机1的E0/0口时,会打上一个TAG,即VLAN10的TAG,而此时,它不再是一个标准的以太网帧,而是加了 标签的,而当这个数据帧从ACCESS接口出去的时候,是会将这个TAG进行拆除的(这是因为终端设备根本就无法识别带有TAG的帧)

而在上图的过程中,假设将E0/2口也设置成ACCESS,并将其划分到VLAN10中,会发生什么样的结果呢?

PC2---SW1(e0/0)[tag]----SW1(e0/2)[untag]----SW2(e0/2)[tag]----SW2(e0/-)[untag]---PC5,

也就是说,access口,只要进进去就打标签,出来就解标签

 

此时,聪明的你一定会发现一个问题,如果说此时我想让VLAN20进行跨交换机通信的话,必须还要再接一根线,配置成VLAN20的ACCESS才可以,

但这样未免也太浪费了。

 

2)trunk模式诞生,工作原理

当带有TAG标签的帧,进入到trunk接口时,会携带这个tag,到达对方,只有出ACCESS接口时,才会进行拆除动作

也就是说,不管你有多少个vlan,进入trunk以后,都可以有自己的独立标签,不至于乱。

 

具体部署

SW1

Switch(config)#vlan 10,20
Switch(config-vlan)#inter e0/0
Switch(config-if)#sw m a
Switch(config-if)#sw a vlan 10
Switch(config-if)#inter e0/1
Switch(config-if)#sw m a
Switch(config-if)#sw a vlan 20
Switch(config-if)#inter e0/2
Switch(config-if)#switchport trunk encapsulation dot1q      //确认trunk的封装格式为dot1q(公有标准)还有一种是ISL(cisco私有标准)
Switch(config-if)#switchport mode trunk    //接口模式改为trunk
Switch(config-if)#description tosw2    //养成一个好习惯 ,就是把接口做一个标识,连接SW2的,方便后期维护使用

 

SW2

Switch(config)#vlan 10,20
Switch(config-vlan)#inter e0/0
Switch(config-if)#sw m a
Switch(config-if)#sw a vlan 10
Switch(config-if)#inter e0/1
Switch(config-if)#sw m a
Switch(config-if)#sw a vlan 20
Switch(config-if)#inter e0/2
Switch(config-if)#sw tr en dot
Switch(config-if)#sw m t
Switch(config-if)#description tosw1

 

查看具体的配置

查看trunk

show interface trunk

交换机端口链接类型为access 链接多个vlan 两台交换机access接口互联_工作原理_02

此结果中可以看到,封装模式为802.1q,且状态为trunking

另外,cisco的系统中配置完trunk,默认是允许所有vlan通过的(这一点上huawei 正好相反)

而有时候,出于安全考虑,我们往往手动的指定某些VLAN可以通过trunk

如何操作呢?

交换机端口链接类型为access 链接多个vlan 两台交换机access接口互联_工作原理_03

可以执行add 添加VLAN。all,所有vlan ,remove ,删除某一个vlan ,

测试一下,将vlan20 移除
Switch(config-if)#switchport trunk allowed vlan remove 20

 

 

交换机端口链接类型为access 链接多个vlan 两台交换机access接口互联_网络层_04

 

移除完之后,在trunk中就看不到这个VLAN了,很显然它也无法进行通信了。添加回来也是一个的道理,无非就是将remove改成ADD

这里有一点需要注意,在添加VLAN的时候,一定要加上ADD,要不然会把之前的都覆盖

 

问:

跨交换机实现了同VLAN通信,你会发现有一个NATIVE VLAN,这是干嘛用的?

那如果是不同VLAN之间通信,又该如何实现呢?

是需要借助三层(网络层)

可以使用单臂路由,或者是现在使用相对广泛的三层交换机。

咱们下期见

 

 

--------------------------------------------

CCIE成长之路--------梅利