端口的vlan属性:

是指端口在这个vlan中是tagged 或者untaged。一个端口在一个vlan中要么是tagged,要么是untagged,只能居其一。

端口的pvid属性:

pvid是指缺省的vlanid。在基于端口划分的vlan中,每个端口都有一个pvid。

作用:处理接受到的untagged报文的时候,将报文视为pvid的vlan报文处理,添加相应的tag。

对于入端口的无标报文:

在pvid的vlan中转发,添加pvid的tag标签。

对于入端口的有标报文:

当一个端口收到一个带802.1Q的以太网帧(SA后为0x8100)时,它会比较该以太网帧中VCI字段的后12Bit所代表的VLAN ID和所有本端口所属VLAN的Tag值(包括tagged、untagged和pvid)。

  • 如果有相等的,就往该VLAN ID所表示的VLAN中转发,转发时数据是否带有802.1Q标志同上。
  • 如果都不相等,则丢弃该数据。
  • 如果出端口为untag 端口,则去掉标签还原成普通的无标签报文发送;如果出端口为tagged端口,原样将带有标签的报文发出。

(来自“以太网交换机的VLAN技术及其扩展.ppt” p.23-26)

n入端口:

Ø收到的untagged报文时,会被自动加入PVID 标签,表示该报文是属于PVID 所指定的VLAN;

Ø收到一个tag报文时,会比较该报文携带的VLAN ID和本端口所属VLAN的所有vid值的集合(包括tagged、untagged和pvid)

1、若有相等的,就往该VLAN ID所表示的VLAN中转发;

2、若都不相等,则丢弃该数据

n出端口:

Ø若端口是untag属于该vlan,则去掉标签发送;

Ø若端口是tagged属于该vlan,则保留标签发送

(来自“VLAN相关及LACP_周昆.ppt” p.9)

1.1 出/入口侧的处理

n 入口侧的处理

当收到一个非TAG祯时,根据入端口的PVID来决定在哪个VLAN中转发

当收到一个TAG祯时,分为两种情况

当TAG中携带的VID包含在入端口所属的VLAN集合中时,转发到该VLAN中;

当TAG中携带的VID不包含在入端口所属的VLAN集合中时,又要分两种情况来考虑:

当入端口配置了VLAN过滤功能(Ingress filter enable),做丢弃处理;

当入端口未配置VLAN过滤功能(Ingress filter disable),则继续转发;

n 出口侧的处理

由出端口在该VLAN中是否打TAG来决定,配置了打TAG则打TAG出去,否则不打。

Qinq

1. 端口qinq属性配置,即需要在端口下指定该端口是customer端口还是uplink端口

2. 对于需要透传的vlan,在customer端口配置为tag,在uplink端口配置为tag

3. 对于需要打双标签的vlan,在customer端口配置为untag(?? pvid,是否也可以),在uplink端口配置为tag

??:qinq环境中,custorm口入包如何转发呢,


Mac学习、生成树等基于外层vlan id

Bcm芯片实现QinQ和原来vlan处理流程相比仅仅是在customer端口入口强制插入标签。