GARP(Generic Attribute Registration Protocol)是通用属性注册协议的应用,提供 802.1Q 兼容的 VLAN 裁剪 VLAN pruning 功能和在 802.1Q 干线端口 trunk port 上建立动态 VLAN 的功能。
GARP 作为一个属性注册协议的载体,可以用来传播属性, 将 GARP 协议报文的内容映射成不同的属 性即可支持不同上层协议应用。
GVRP( GARP VLAN Registration Protocol)是 GARP 的一种应用,用于注册和注销 VLAN 属性。
GARP 协议通过目的 MAC 地址区分不同的应用。在 IEEE Std 802.1Q 中将 01-80-C2-00-00-21 分配 给 VLAN 应用,即 GVRP。
如图所示,公司 A、公司 A 的分公司以及公司 B 之间有较多的交换设备相连,需要通过 GVRP 功能,实现 VLAN 的动态注册。公司 A 的分公司与总部通过 SwitchA 和 SwitchB 互通;公司 B 通过 SwitchB 和 SwitchC 与公司 A 互通,但只允许公司 B 配置的 VLAN 通过。
① 使能 GVRP 功能,实现 VLAN 的动态注册。
② 公司 A 的所有交换机配置 GVRP 功能并配置接口注册模式为 Normal, 以简化配置。
③ 公司 B 的所有交换机配置 GVRP 功能并将与公司 A 相连的接口的注册模式配置为 Fixed,以控制 只允许公司 B 配置的 VLAN 通过。
说明:
使能 GVRP 之前,必须先设置 VCMP 的角色为 Transparent 或 Silent。
配置交换机 SwitchA
//全局使能 GVRP 功能
[SwitchA]vcmp role silent //配置接口为 Trunk类型,并允许所有 VLAN 通过
[SwitchA]interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1]port link-type trunk
[SwitchA-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SwitchA-GigabitEthernet0/0/1]quit
[SwitchA]interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2]port link-type trunk
[SwitchA-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SwitchA-GigabitEthernet0/0/2]quit
//使能接口的 GVRP功能,并配置接口注册模式
[SwitchA]interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1]gvrp
[SwitchA-GigabitEthernet0/0/1]gvrp registration normal
[SwitchA-GigabitEthernet0/0/1]quit
[SwitchA]interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2]gvrp
[SwitchA-GigabitEthernet0/0/2]gvrp registration normal
[SwitchA-GigabitEthernet0/0/2]quit
② 配置交换机 SwitchB
//全局使能 GVRP 功能
[SwitchB]vcmp role silent
//配置接口为 Trunk类型,并允许所有 VLAN 通过
[SwitchB]interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1]port link-type trunk
[SwitchB-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SwitchB-GigabitEthernet0/0/1]quit
[SwitchB]interface gigabitethernet 0/0/2
[SwitchB-GigabitEthernet0/0/2]port link-type trunk
[SwitchB-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SwitchB-GigabitEthernet0/0/2]quit
//使能接口的 GVRP功能,并配置接口注册模式
[SwitchB]interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1]gvrp
[SwitchB-GigabitEthernet0/0/1]gvrp registration normal
[SwitchB-GigabitEthernet0/0/1]quit
[SwitchB]interface gigabitethernet 0/0/2
[SwitchB-GigabitEthernet0/0/2]gvrp
[SwitchB-GigabitEthernet0/0/2]gvrp registration normal
[SwitchB-GigabitEthernet0/0/2]quit
③ 配置交换机 SwitchC
//创建 VLAN101~VLAN200
[SwitchC]vlan batch 101 to 200
//全局使能 GVRP 功能
[SwitchC]vcmp role silent
[SwitchC]gvrp
//配置接口为 Trunk类型,并允许所有 VLAN 通过
[SwitchC]interface gigabitethernet 0/0/1
[SwitchC-GigabitEthernet0/0/1]port link-type trunk
[SwitchC-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SwitchC-GigabitEthernet0/0/1]quit
[SwitchC]interface gigabitethernet 0/0/2
[SwitchC-GigabitEthernet0/0/2]port link-type trunk
[SwitchC-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SwitchC-GigabitEthernet0/0/2]quit
//使能接口的 GVRP功能,并配置接口注册模式
[SwitchC]interface gigabitethernet 0/0/1
[SwitchC-GigabitEthernet0/0/1]gvrp
[SwitchC-GigabitEthernet0/0/1]gvrp registration fixed
[SwitchC-GigabitEthernet0/0/1]quit
[SwitchC]interface gigabitethernet 0/0/2
[SwitchC-GigabitEthernet0/0/2]gvrp
[SwitchC-GigabitEthernet0/0/2]gvrp registration normal
[SwitchC-GigabitEthernet0/0/2]quit
配置完成后,公司 A 的分公司用户可以与总部互通,公司 A 属于 VLAN101~VLAN200 的用户可 以与公司 B 用户互通。
在 SwitchA 上使用命令 display gvrp statistics, 查看接口的 GVRP 统计信息, 其中包括:
GVRP 状态、 GVRP 注册失败次数、上一个 GVRP 数据单元源 MAC 地址和接口 GVRP 注册类型, 结果如下: