在交换机上,可以将access接口划入各个VLAN中,不同的VLAN默认情况下是不允许相互通信的...如果要让两个access口相互通信,必须将这两个接口划入相同的VLAN中。
当需要在交换机与交换机间通信时,连接交换机的链路可能需要为多个VLAN提供数据,这样的链路称为trunk链路。进入trunk链路的数据会被打上标记,写上相应的VLAN号,当到达对端交换机时,则被去除标记,并根据VLAN号将数据转发到相应的VLAN中去。
在access接口上的数据,是没有VLAN号标记的,并且也不允许有VLAN标记,当一个access接口收到一个带有VLAN标记的数据,将数据丢弃。
在trunk链路上为数据包打标记是通过ISL协议和IEEE 802.1Q协议来完成的
1.ISL 协议————思科私有的协议
当trunk使用ISL对数据包进行标记时,会在原有数据帧的基础上加上30字节;当ISL收到一个没有标记的数据,将丢弃该数据
2.IEEE 802.1Q协议
当trunk使用IEEE 802.1Q协议对数据进行标记时,会在原有数据帧的基础上加上4个字节。当802.1Q收到一个没有标记的数据,将在native vlan中传输该数据
通过两个实验说明以上情况:
在上述实验拓扑中,当R1 ping R2的10.1.1.2时,是不能通信的,因为SW1的f0/1接口在vlan 10中,而f0/2接口在vlan20中,两个接口都是处于access模式,所以SW1不能为其转发数据
当R1 ping R3的10.1.1.3时,是可以正常通信的,因为SW1上的f0/1,f0/23接口都在vlan 10中,当SW2收到数据帧后,认为数据是VLAN 20的数据,所以从f0/3转发出去发送到R3,回数据的过程类似。因为access收到没有标记的数据并不认为是不同的VLAN
此实验拓扑说明:SW1交换机配置VLAN 10和VLAN 20并为它们分别配置IP地址为10.1.1.1和20.1.1.1;SW2交换机配置VLAN 10和VLAN 20并为它们分别配置IP地址为10.1.1.2和20.1.1.2;SW3配置VLAN 10并配置IP地址为10.1.1.3;交换机间配置trunk链路
当在SW1上ping 10.1.1.2地址时,显示是通信正常的;当ping 20.1.1.2地址时,显示通信不正常,也就是不能通信;在R1上Ping20.1.1.20地址时,通信也是不正常的
在SW3上添加VLAN 20后,所有通信均正常
因为在跨交换机进行vlan通信时,从源到目的的交换机上必须存在相应的VLAN,否则即使配置了trunk,通信也会不正常
转载于:https://blog.51cto.com/martin1201/957311