市面上的交换机默认都是vlan 1 ,所以正常接入进来的设备都是 在vlan 1 广播域中。
如果设备上有vlan 2 并且 一半接口划到vlan 1 一半划到vlan 2 ,那么他们在逻辑层面就隔离开了,哪怕配置的同网段地址也是无法访问的。那么此时两个不同Vlan的终端要如何通信呢,就只能依靠三层进行转发了。
再聊下交换机上Vlan的工作机制,如果是 access 接口 并且划到vlan 2中。此时如果收到了一个没有vlan tag的数据包 那么就会为其打上vlan 2的标签,相反 如果收到的数据包有vlan tag的标签 那么就会直接丢弃数据包。但是 如果收到的是vlan tag是vlan 2的话 那么会吧vlan tag标签剥离 在进行转发。
如果是Trunk接口的话,当然Trunk 也是可以打标签的 默认是vlan 1。当接口收到带vlan tag的数据包时 首先会去确认这个vlan 是否允许转发 这部分是在接口上配置的,如果允许的 那么会进行转发 如果不在允许列表里 则会丢弃,如果收到的数据包是不带Vlan tag的 那么接口就会为其打上vlan 1 并且进行转发,如果收到的Vlan Tag是vlan 1 那么就会剥离vlan 在进行转发。
小例子:
当Vyos这台机器发送数据包时 数据会在这个网络中如何进行转发呢?
------------------------------------------------------------------------------当数据到达 SW11的e0/1口时 由于收到的数据是没有标签的 于是打上vlan 1的tag,并在交换机内转发 。
当SW11的e0/0接口收到数据包时 由于数据包有Vlan 1的标签,于是选择剥离标签并且转发给SW12。
当SW12的e0/0接口收到数据包 由于是一个没有tag的数据包,那么接口会为其打上vlan 1的tag并在交换机内进行转发。
--------------------------------------------------------------------------------当SW11的e0/2接口收到数据包时 由于数据包有vlan 1的标签,而且Trunk的默认vlan是1 此时数据不会带着vlan 1的标签进行转发,而是会剥离标签进行转发。
当SW13的e0/0收到数据包时,由于收到的数据包没有vlan 标签 ,接口会为其打上vlan 1的标签并进行转发
--------------------------------------------------------------------------------当SW11的e0/3口收到数据包时,由于数据包有vlan 1的标签 并且和自己的vlan 不符,所以接口会丢弃数据不进行转发处理
最后附上Cisco 交换机 如何配置接口
Access:
switch(config)#int g1/0/1
switch(config)#sw mo ac
switch(config)#sw ac vlan 10
Trunk:
switch(config)#int g1/0/1
switch(config)#sw mo tr
到这里就聊完了,有错误还请指出交流