PVID:port-based vlan id
pvid是交换机上的概念,说的是进入该端口的报文如果没有打vlan id就按pvid的值打上
PVID是基于端口的VLAN ID,一个端口可以属于多个vlan(trunk 口),但是只能有一个PVID(对trunk 口而言,就是native vlan;对access口而言,就是access vlan-id = pvid),收到一个不带tag头的数据包时,会打上PVID所表示的vlan号,视同该vlan的数据包处理,所以也有人说PVID就是某个端口默认的vlan ID号
native vlan的作用之一是减轻交换机的负担,不用老是打tag,祛tag。
VID: vlan id
vid是报文上的vlan tag的意思.tag里面包含vid
在网上发现一个比较好的解释是:PVID并不是加在帧头的标记,而是端口的属性,用来标识端口接收到的未标记的帧。也就是说,当端口收到一个未标记的帧时,则把该帧转发到VID和本端口PVID相等的VLAN中去。
?
下图是一个有趣的情景:
pc1 ping pc2的过程是这样的:
·sw1的接口收到pc1的ping包,因为给他打上包含vid=10的tag,
·然后在sw1的trunk因为设置了native vlan 10(亦就是PVID=10),对该ping包拆掉进来时打的tag,不打tag的发出去,
·然后到sw2的trunk口时,因为sw2在该trunk设置了native vlan 20(亦就是PVID=20),所以ping包进入后会打上vid=20的tag,
·然后交换机查看 vlan 20 MAC address table,决定从连接了pc2 的access vlan 20口发出去,
·但是在发出去之前,要把ping包里面的tag去掉(因为pc2无法识别还有tag的帧)。
?
?
最后附上:交换机收到帧后的处理方式
原文地址:http://blog.51cto.com/jackor/2082587