Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1290427
  • 博文数量: 464
  • 博客积分: 9399
  • 博客等级: 中将
  • 技术积分: 6364
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-19 09:15
文章分类

全部博文(464)

文章存档

2014年(12)

2013年(123)

2012年(173)

2011年(156)

我的朋友

分类:

2012-07-19 13:48:45

   简单的说,VID(VLAN ID)是VLAN的标识,定义其中的端口接收发自这个VLAN的包;而PVID(Port VLAN ID)定义这个untag端口转发哪个VLAN的包。比如,当端口1同时属于VLAN1、VLAN2和VLAN3时,而它的PVID为1,那么端口1 可以接收到VLAN1,2,3的,但发出的包只能发到VLAN1中。

      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中移除,也可以。





阅读(511) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~