首先我们看到的实验拓扑如下:
除了两个交换机相连接的e0/0/5和e0/0/1端口是trunk,其余和pc相连的都是access接口类型。
1:trunk接口在收到报文帧中携带vlan标记时,判断本端口是否允许该vlan标记的报文通过。如果允许则报文携带原有的vlan标记进行转发,否则丢弃该报文。
2:如果收到的报文帧中不携带vlan标记,则为该报文打上vlan标记为本端口的pvid。
3:trunk接口在发送报文时,首先判断报文所携带的vlan标记和本端口的pvid是否相等。如果相等则剥掉报文中所携带的vlan标记。如果不相同则报文携带原有vlan标记进行转发
Trunk接口转发过程:
1 收到一个数据帧。
2 帧是否有VLAN Tag,没有Tag,丢弃帧;有Tag,则判断该Trunk 接口是否允许该VLAN 帧进入。允许则进行下步处理,否则丢弃该帧。
3 交换机根据帧的目的MAC 地址和VLAN ID,查找VLAN 配置信息,决定从哪个接口把帧发送出去。
4 交换机根据查到的出接口发送数据帧。
SW1的配置:
<Huawei>
[Huawei]sys
[Huawei]sysname SW1
[SW1]int e0/0/1
[SW1-Ethernet0/0/1]portlink-type access///首先将接口类型定义为access。
[SW1]int e0/0/2
[SW1-Ethernet0/0/2]portlink-type access
[SW1]int e0/0/3
[SW1-Ethernet0/0/3]portlink-type access
[SW1]int e0/0/4
[SW1-Ethernet0/0/4]portlink-type access 。
[SW1]vlan 10
[SW1-vlan10]port e0/0/1
[SW1-vlan10]port e0/0/3
[SW1]vlan 20
[SW1-vlan20]port e0/0/2
[SW1-vlan20]port e0/0/4
SW2的配置(大概配置):[SW2]vlan 20
[SW2-vlan20]porte0/0/2
[SW2]vlan 10
[SW2-vlan10]porte0/0/3。
此时如果用pc1 ping pc3是能够ping通的,是因为pc1和pc3处于同一网段,同一vlan且属于同一交换机。
但是用pc1 ping pc6是不能够通的,因为跨交换机的两个接口默认只允许通过vlan1,所以必须将两个交换机的接口配置trunk链路类型。
此时如果想pc1和pc6能够ping通,需要在两个交换机的接口配置trunk链路。增加的配置如下:
[SW1]int e0/0/5
[SW1-Ethernet0/0/5]portlink-type trunk ///指定接口类型为trunk
[SW1-Ethernet0/0/5]porttrunk allow-pass vlan all///默认情况下trunk端口只允许默认vlan通过,即vlan1的数据帧通过,所以要指定哪些vlan帧能够通过。H3C在此处的配置命令为port trunk permit vlanall
[SW2]int e0/0/1
[SW2-Ethernet0/0/1]portlink-type trunk
[SW2-Ethernet0/0/1]port trunk allow-pass vlanall.
添加完配置后此时用pc1 ping pc6的实验结果图如下:
。