GARP简介
GVRP(GARP VLAN Registration Protocol):vlan属性动态注册协议
GARP(Generic Attribute Registration Protocol):通用属性注册协议
在涉及GVRP协议的应用时,我们通常将交换机上手工创建的VLAN称为静态VLAN,而将交换机利用GVRP协议自动创建的VLAN称为动态VLAN。GVRP协议提供了一种在交换机之间传递VLAN属性的机制,其主要作用是自动实现VLAN信息在交换机上的动态注册过程和注销过程。交换机上部署了GVRP协议后,用户只需要对少量的交换机进行静态VLAN配置,便可将这些VLAN配置信息传递并应用到其他的交换机上。
注意:GVRP协议只适用于vlan的trunk接口,access和hybrid接口都配置不了GVRP协议。
通过手工创建的 VLAN 称为静态VLAN,通过 GVRP 协议创建的 VLAN 称为动态 VLAN。
GVRP 有三种注册模式,不同注册模式对静态 VLAN 和动态 VLAN 的处理方式也不同。
1. Normal 模式:该模式下的端口允许进行动态 VLAN 的注册或注销,并允许发送动态和静态 VLAN 的声明。
2. Fixed 模式:该模式下的端口禁止进行动态 VLAN 的注册或注销,且只允许发送静态 VLAN 的声明。也就是说,该模式下的 Trunk 端口,即使允许所有 VLAN 通过,实际通过的 VLAN 也只能是手工创建的那部分 VLAN。
3. Forbidden 模式:该模式下的端口禁止进行动态 VLAN 的注册或注销,且只允许发送 VLAN 1(默认) 的声明。也就是说,该模式下的 Trunk 端口,即使允许所有 VLAN 通过,实际通过的 VLAN 也只能是 VLAN 1。
VLAN属性动态注销过程
当一些终端不属于某一动态vlan时,进行vlan属性动态注销配置。
vlan属性注销是双向的,先单向注销完成后,再反向注销。
vlan属性单向注销
1. SW1上手动删除静态vlan 100 -> SW1交换机GE 0/0/2端口会自动向外发送vlan属性注销报文;
2. SW2通过其GE0/0/1端口收到SW1发送过来的VLAN属性注销报文 -> SW2交换机GE 0/0/1端口从动态vlan 100中注销 -> SW2交换机GE 0/0/2端口会自动向外发送vlan属性注册报文;
3. SW3通过其GE0/0/1端口收到SW2发送过来的VLAN属性注销报文 -> SW2交换机GE 0/0/1端口从动态vlan 100中注销 -> SW2交换机GE 0/0/2端口会自动向外发送vlan属性注册报文;
4. SW4通过其GE0/0/1端口接收到SW3发送过来的VLAN属性注销报文 -> 不会进行涉及动态VLAN 10 的相关操作,因为SW4上的VLAN 10 并非动态VLAN,而是手动创建的静态VLAN。
注意:
(1)只有从链路上接收到VLAN属性注销报文的端口才会从相应的动态VLAN中被注销,所以S2的GE0/0/2端口现在并未从动态VLAN 100中被注销。
(2)由于此时S2上的动态VLAN 100中还存在GE0/0/2端口,所以S2.上的动态VLAN 100还会继续存在。
vlan属性反向注销
1. SW4上手动删除静态vlan 100 -> SW4交换机GE 0/0/1端口会自动向外发送vlan属性注销报文;
2. SW3通过其GE0/0/2端口收到SW4发送过来的VLAN属性注销报文 -> SW3交换机GE 0/0/2端口从动态vlan 100中注销 -> SW3交换机GE 0/0/1端口会自动向外发送vlan属性注册报文;
3. SW2通过其GE0/0/2端口收到SW3发送过来的VLAN属性注销报文 -> SW2交换机GE 0/0/2端口从动态vlan 100中注销 -> SW2交换机GE 0/0/2端口会自动向外发送vlan属性注册报文;
4. SW1通过其GE0/0/2端口收到SW2发送过来的VLAN属性注销报文 -> 不会进行涉及动态VLAN 100 的相关操作,因为SW4上已经不存在VLAN 100。
代码段
system-view
sysname SW1
gvrp
vlan 100
int gi 0/0/1
port link-type access
port default vlan 100
int gi 0/0/2
port link-type trunk
port trunk allow-pass vlan 100
gvrp
undo vlan 100\\删除vlan 100后,SW1就会向外发送vlan属性注销报文。
system-view
sysname SW2
gvrp
int gi 0/0/1
port link-type trunk
port trunk allow-pass vlan 100
gvrp
int gi 0/0/2
port link-type trunk
port trunk allow-pass vlan 100
gvrp
system-view
sysname SW3
gvrp
int gi 0/0/1
port link-type trunk
port trunk allow-pass vlan 100
gvrp
int gi 0/0/2
port link-type trunk
port trunk allow-pass vlan 100
gvrp
system-view
sysname SW4
gvrp
vlan 100
int gi 0/0/1
port link-type trunk
port trunk allow-pass vlan 100
gvrp
int gi 0/0/2
port link-type access
port default vlan 100
undo vlan 100\\删除vlan 100后,SW1就会向外发送vlan属性注销报文。
SW1和SW4都删除vlan 100后,SW1、SW2、SW3和SW4交换机才会注销动态vlan 100。
测试验证:
SW1和SW4交换机未删除vlan 100:
SW1交换机删除vlan 100:
SW4交换机删除vlan 100:
因为所有交换机都注销了vlan 100,所有交换机端口都属于默认vlan 1,所以PC1可以ping通PC2。