分类:
2012-07-19 13:48:45
pvid的意思就是说,一个ip包进入交换机端口的时候,如果没有带tag头,且该端口上配置了pvid,那么,该数据包就会被打上相应的tag头!如果 进入的ip包已经带有tag头(数据)的话,那么交换机一般不会再增加tag头,即使是端口上配置了pvid号;pvid (端口 id号) 是非标记端口的vlan id 设定。当非标记数据包进入交换机,交换机将检查vlan设定并决定是否进行转发。
tag是数据包中一个四字节数据,其包含数据包的vlan id及优先级信息。若数据包中包含tag信息,则其将跟随数据包在交换机间进行交换。并在不同设备中保存此标记信息。
若某一端口在vlan设定中被指定为非标记端口untagged port, 所有从此端口转发出的数据包上都没有标记 (untagged)。若有标记的数据包进入交换机,则其经过非标记端口时,标记将被去除。因为目前众多设备并不支持标记数据包,其也无法识别标记数据 包,因此,需要将与其连接的端口设定为非标记。
若某一端口在vlan设定中被指定为标记端口tagged port, 所有从此端口转发出的数据包上都将有标记 (tagged)。若有非标记的数据包进入交换机,则其经过标记端口时,标记将被加上。此时,其将使用在ingress 端口上的pvid设定作为增加的标记中的vlan id号。
PVID通常代表端口ID,VID代表VLANID,在没有出现802.1Q前,都是采用基于MAC或端口的VLAN, 推出基于标记的802.1Q后才出现VID,如果划分基于端口的VLAN时,只需配置PVID就可以了,如果要划分基于802.1Q的加标记的VLAN 时,就需配置VID了,综合起来说,一个端口可以的一个PVID,但可属于多个VID,交换机PVID默认为1.
假设一台FS726T,划分三个段,如1-8,9-16和17-24,通过25号口连到路由器,各个段之间不能互相访问,但都要上网。这个例子比较典型吧
下面是vlan的划分
1-8:vlan2,1,pvid=2
9-16:vlan3,1,pvid=3
17-24:vlan4,1,pvid=4
25:vlan 1,2,3,4 pvid=1
为什么要这么分呢?假设端口1下的pc向交换机发出一个包,因为端口1的pvid是2,所以这个包是发到vlan2里的,那哪些端口属于vlan2 呢?是1-8以及25口,这说明25口可以收到端口1发来的包。再看25口发的包能到vlan1吗?25口的pvid是1,而端口1属于vlan1和 vlan2,那么25口的包也能到达端口1。这样端口1和25之间就可以相互通讯了。同样的道理,也可以分析其他vlan里的端口数据是如何通讯的。
由于25号口要跟其他所有vlan通讯,而25号口的pvid是1,发出的包是到vlan1里的,所以其他端口都必须在vlan1里面。
为什么25好口pvid是1?因为交换机默认vlan就是1,包含了所有端口,方便……如果你愿意,也可以建立一个vlan5,把所有端口都加到 vlan5中,再把25号口pvid改成5,再把其他端口从vlan1中移除,也可以。