GVRP(GARP VLAN Registration Protocol)是GARP协议的一个具体应用,在802.1Q中定义。VLAN需要维护自己的成员关系,交换机的属于某个vlan的端口集合,叫做这个vlan的member set。维护vlan的成员关系可以通过两种方式实现:
1)通过GVRP协议在Filtering Database中建立动态vlan注册表项(Dynamic VLAN Registration Entries)
2)通过管理协议(最新的标准规定802 LAN的管理协议为SNMP)在Filtering Database中配置静态vlan注册表项(Static VLAN Registration Entries)
VLAN成员管理支持一下几种模式
1)只支持静态配置
只能通过管理协议进行配置,任何GVRP协议报文被忽略
这种情况适用于接口vlan配置是固定的,很少变化。或者对边界接口(Boundary Port)的vlan成员管理,如果面向用户的接口只通过静态配置管理,不处理用户发送的GVRP报文。
2)只支持动态配置
只通过GVRP协议进行vlan成员管理
这种情况适用于端口的vlan配置本身是动态的,如ad hoc网络中用户通过固定的vlan从不同的端口接入。或者spanning tree的拓扑发生变化,需要重新配置vlan成员关系
3)静态和动态配置的组合
一些vlan通过静态配置进行管理,另一些vlan通过GVRP进行管理
适用于一方面需要保持灵活性,另一方面又需要对一些vlan进行一些限制
跟GMRP一样,GVRP也是GARP的一个具体应用,所以GVRP和GMRP的协议模型和操作基本一样,只不过GVRP的属性只是12bit的VID,而不是48bit的组播mac地址,GVRP的vlan在vlan注册表中而GMRP的group在group注册表中。跟GMRP一样,每一个端口有一个GVRP应用实体,在SST情况下,GVRP的GIP context只有一个,在MST情况下,GVRP的GIP context为vid。
对于vlan-aware的端点设备,可以通过GVRP协议加入到某个vlan中,并扩散到LAN中所有的交换机和端点设备。vlan-awre的端点设备还可以通过GVRP进行源剪枝,如果LAN中没有某个vlan的成员,则不向这个vlan发送数据。
对于vlan-unaware的端点设备,本身无法发送带vlan的报文,通过接入端口分配PVID。这时通过接入端口的GVRP在LAN中添加vlan成员。
对于发送的报文是tagged还是untagged,则有static vlan Registration entry(即Permanent Database中为端口配置的PVID)确定,如果static vlan Registration entry没有对应的vlan,发送的报文带vlan。GVRP注册的动态vlan,发送的报文都带vlan。
GVRP PDU报文封装
目的MAC地址:0x0180c2000021
属性类型:attr type=1,只有一个值
属性值:VID值
GIP context:SST: GIP context=0;MST:GIP context=VID
GVRP是untagged报文