一、pvid: 端口vlan id.
从某个端口接收到的数据包将被赋予该端口的pvid 值,然后,将该数据包转发到其目的地址(查看
交换机的转发地址表)。如果接收数据包的端口的pvid 与将转发该数据包的端口的pvid 不同,那么,交
换机将丢弃此数据包,不进行转发。
在交换机内,不同的pvid 意味着不同的vlan。
交换机上的每个物理端口都有一个pvid,同时802.1q 端口也会被赋予一个pvid(如果交换机上未定义
vlan,那么,所有端口都将属于一个缺省的vlan,其pvid 都等于1)。
接收到的未加标记的(untagged)数据包将被赋予接收端口的pvid 值,是否转发的决定将依据该
pvid 进行确定。已携带有标记信息的(tagged)数据包将根据其标记的vid信息来决定是否进行转发。
已携带有标记信息的(tagged)数据包将根据其标记的vid信息来决定是否进行转发。已有标记的数
据包也将被赋予一个pvid,但是,并不是根据此pvid 来决定是否转发该数据包,而是根据其vid 信息来
进行判定。
支持标记功能的交换机(tag-aware switches)必须具有能够建立交换机内各端口的pvid 与网络上
的vid 之间关系表的能力。交换机将把数据包中的vid 与将传送该数据包的端口的vid 进行比较,如果两
个vid 不同,那么,交换机将丢弃此数据包,不进行传送。
由于针对未加标记的数据包存在着pvid,对加过标记的数据包存在着vid,所以,具有标记功能的交
换机和不具有标记功能的交换机可以在同一个网络中共存。
交换机上的一个端口只可以有一个pvid,但是,可以有多个vid,(也就是是说一个端口可以属于多
个vlan)。交换机内有vlan 表(vlan table)可以用于存储vid 信息。
802.1q vlan 需要创建一个包含所有端口的缺省vlan ,这将赋予所有端口的pvid =1 ,并将pvid
对应出相应的vid.
因为网络上的有些设备不具有标记功能(tag-unaware),所以,在数据包被传送之前,具有标记功
能的(tag-aware)设备上的端口必须做出决定将传送出去的数据包是否应加上一个标记(tag)?如果传
送端口连接的是一台不支持标记功能的设备,那么,数据包就不必加上标记。反之,如果传送端口连接的
是一台支持标记功能的设备,那么,数据包就必须加上标记。
二、如何判断一个端口为tagged端口还是一个untagged端口?
1、在一个物理端口上,如果该端口为access端口则只有一个vlan,且vlan号等于pvid(即native vlan号
码也就是端口默认的vlan号),且其一定是一个untagged端口。
2、在一个物理端口上,如果该端口为trunk端口则支持多个vlan,其中vlan号等于pvid的端口为untagged
,其余的都为tagged端口。所以,一个物理端口可以在某一个VID上是Untagged Port,在另一个VID上是
tagged Port。(一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和
PVID的TAG等同的VID,而且在这个VID上,这个物理端口必定是Untagged Port。)
三、怎样判断一个数据进入端口后是否会被打上标记?
Tagged 数据帧 | Tagged 数据帧 | Untagged数据帧 | Untagged数据帧 | |
in | out | in | out | |
Tagged端口 | 原样接收 | 原样发送 | 按端口PVID打TAG标记 | 按端口PVID打TAG标记 |
Untagged端口 | 丢弃 | 去掉TAG标记 | 按端口PVID打TAG标记 | 原样发送 |
该包
3、一个数据包要出一个tagged端口,如果其原来是untagged包,则给其打上tag,号码为pvid。
如果其原来是tagged包,则原样输出
。
4、一个数据包要出一个untagged端口,如果其原来是untagged包,则原样输出。
如果其原来是tagged包,则去掉其
tag头部,变为untagged。
四、access vlan 与truck vlan 的区别