以太帧通过Trunk时会被打上标记。但一些二层协议如CDP,DTP,BPDU,VTP如果打上标记会导致一些不支持VLAN的交换机上不能协商。或者交换机通过HUB连接一些终端时,交换机通过Trunk转发的以太帧被打上了标记,但HUB只是单纯地转发,并不解开标记,导致终端无法解析以太帧。因此出现了Native VLAN(默认是VLAN1)的概念,即配置成Native VLAN的Trunk端口,收到该VLAN的帧后,不打标记直接从Trunk链路转发出去。接收端的交换机收到Trunk端口的以太帧后发现没有标记,就会泛洪到本地的Native VLAN端口。
上图中间为HUB,左右两台交换机各连3台PC,HUB自己也连2台PC。
问题1:左下角红圈的PC发出的帧,连HUB的红圈的PC能收到吗?能,但对方看不懂。因为左下角PC在VLAN1里,通过Trunk会打上VLAN1的标记,而HUB不解标记直接转发,接收方PC看不懂标记。左边交换机上的Trunk端口配置成Native VLAN1,这样VLAN1的帧通过Trunk链路时就不会打标记,对方就能收到并看懂了。
问题2:(接问题1)左边交换机Trunk端口配置成Native VLAN1后,左下角PC发出的帧,右边3台PC哪台能收到?Trunk上如果收到的以太帧没有标记,就会泛洪给相应的Native VLAN。因此如果右边交换机Trunk口没配置Native VLAN,那默认VLAN1就是Native VLAN,这样右下角VLAN1的PC能收到。如果右边交换机的Trunk口配置了Native VLAN(如指定VLAN2为Native VLAN),那右边中间VLAN2的PC能收到。当然除非你有特殊的原因,否则Trunk链路两端的端口应该配置一致的Native Vl