GARP和GVRP协议基础
一、 简介
GARP(Generic Attribute Registration Protocol),全称是通用属性注册协议,它为处于同一交换网络内的交换机提供了一种分发、传播、注册某种信息(VLAN属性、组播地址等)的一种手段。
GVRP是GARP的一种具体应用或实现,主要用于维护设备动态VLAN属性。通过GVRP协议,一台交换机的VLAN信息会迅速传播到整个交换网络中。GVRP实现了LAN属性的动态分发、注册和传播,从而减少了网络管理的工作,也能保证VLAN配置的正确性。
二、GARP报文格式
GARP协议报文采用IEEE 802.3 Ethernet封装形式,目的MAC地址为多播MAC地址01-80-C2-00-00-21。GARP使用PDU包含的消息定义属性,根据属性类型和属性列表识别消息。属性列表中包含多个属性。每个属性包含属性长度、属性事件和属性字段、属性长度范围在2到255个字节之间。属性值为属性定义了具体的值。属性事件是0~5之间的一个值,这些值代表GARP支持的不同事件类型,具体含义如下:
0:代表LeaveAll事件
1:代表JoinEmpty事件
2:代表JoinIn事件
3:代表LeaveEmputy事件
4:代表LeaveIn事件
5:代表Empty事件
三、GARP消息
3.1 Join消息
如果GARP参与者希望其他交换机注册自己的属性,则会向他们发送Join消息。如果一个GARP参与者收到其他交换机发送的Join消息,或者收到配置了某些属性,该参与者也会向其他交换机发送Join消息,让其他交换机注册这些新的属性。
3.2 Leave消息
如果GARP参与者希望其他交换机注销自己的属性,则会发送Leave消息。如果GARP参与者收到其他交换机发送的Leave消息,或者手动注销了某些属性,该参与者也会向其他交换机发送Leave消息。
3.3 Leave All消息
如果GARP参与者希望其他交换机注销所有属性,来重新注册自己发送的属性信息时,则会向他们发送Leave All消息。
四、 GVRP应用
GVRP(GARP VLAN Registration Protocol),称为VLAN注册协议。GVRP基于GARP的工作机制,是GARP的一种应用。GVRP用来维护交换机中的VLAN动态注册信息,并传播该信息到其它的交换机中。支持GVRP特性的交换机能够接收来自其它交换机的VLAN注册信息,并动态更新本地的VLAN注册信息,包括当前的VLAN、VLAN成员等。支持GVRP特性的交换机能够将本地的VLAN注册信息向其它交换机传播,以便使同一交换网内所有支持GVRP特性的设备的VLAN信息达成一致。交换机可以静态创建VLAN,也可以动态通过GVRP获取VLAN信息。手动配置的VLAN是静态VLAN,通过GVRP创建的VLAN是动态VLAN。GVRP传播的VLAN注册信息包括本地手工配置的静态注册信息和来自其它交换机的动态注册信息。
4.1GVRP单项注册
如图所示,所有交换机以及互联的端口都已经启用GVRP协议,各个交换机之间相连的端口均为Trunk端口并配置为允许所有VLAN的数据通过。在SWA上手动创建VLAN2之后,SWA的G0/0/1口会注册此VLAN并发送声明给SWB,SWB的G0/0/1口收到SWA发来的声明后,会在此端口注册VLAN2,然后通过G0/0/2口发送声明给SWC,SWC的G0/0/1口收到SWB发来的声明后也会注册VLAN2.通过此过程就完成了VLAN2从SWA到其他交换机的单向注册。只有注册了VLAN2的端口才可以接受和转发VLAN2的数据,没有注册VLAN2的端口会丢弃VLAN2的数据。如SWB的G0/0/2口没有收到VLAN2的Join消息,不会注册VLAN2,就不能接受和转发VLAN2 的数据。为了使VLAN2可以双向互通,还需要SWC到SWA方向的VLAN属性注册过程。
4.2GVRP单向注销
如果所有的交换机都不在需要VLAN2 ,可以在SWA上手动删除VLAN2,则GVRP会通过发送Leave消息,注销SWB和SWC上G0/0/1端口的VLAN2信息。为了彻底删除所有设备上的VLAN2,需要进行VLAN属性的双向注销
五、GVRP的注册模式
GVRP的注册模式包括:Normal、Fixed和Forbidden。
5.1 Normal注册模式
- 交换机端口默认为Normal模式,允许静态和动态VLAN注册,同时会发送静态VLAN和动态VLAN的声明消息。
当一个Trunk端口被配置为Normal注册模式时,允许在该端口上动态或手工创建、注册和注销VLAN,同时会发送静态VLAN和动态VLAN声明消息。本例中,在SWA上存在手动配置的VLAN2和动态学习到的VLAN的信息,三台交换机的注册模式都是Normal,则SWA发送的Join消息中会包含VLAN2和VLAN3的信息,SWB的G0/0/1端口会注册VLAN2和VLAN3,之后会同样发送Join消息给SWC,SWC的G0/0/1口也会注册VLAN2和VLAN3。
5.2 Fixed注册模式
- SWA的G0/0/1端口为Fixed模式,不允许动态VLAN在端口上注册或者注销,且只发送静态VLAN的声明消息。
Fixed注册模式中,GVRP不能动态注册或注销VLAN,只能通过静态VLAN注册信息。如果一个Trunk端口的注册模式被设置为Fixed,即使该端口被配置为允许所用VLAN的数据通过,给接口也只允许手动配置的VLAN内的数据通过。本例中,SWA上存在手工创建的VLAN2和动态学习的VLAN3的信息。SWA的G0/0/1端口的注册模式被修改为Fixed,则SWA发送的Join消息中只会包含静态VLAN2的信息,SWB的端口会注册VLAN2.
5.3 Forbidden注册模式
- SWA的G0/0/1端口为Forbidden模式,不允许动态VLAN在端口上进行注册,同时删除端口上除VLAN1外的所有VLAN。
Forbidden注册模式中,GVRP接口不能动态注册或注销VLAN,只保留VLAN1的信息。如果一个Trunk端口的注册模式被修改为Forbidden模式,即使该端口允许所用VLAN数据通过,该端口也只允许VLAN1的数据通过。本例中,在SWA上存在手工创建的VLAN2和动态学习的VLAN3的信息,SWA的G0/0/1端口配置了Forbidden模式,不会发送VLAN2和VLAN3的信息,并且只允许VLAN1的数据通过。
六、GVRP配置实验
实验拓扑:
6.1 配置GVRP单向注册
LSW1:
<Huawei>sys
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]vlan batch 10 20
[Huawei]interface Ethernet0/0/1
[Huawei-Ethernet0/0/1]port link-type access
[Huawei-Ethernet0/0/1]port default vlan 10
[Huawei-Ethernet0/0/1]quit
[Huawei]interface Ethernet0/0/2
[Huawei-Ethernet0/0/2]port link-type access
[Huawei-Ethernet0/0/2]port default vlan 20
[Huawei-Ethernet0/0/2]quit
[Huawei]gvrp
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]gvrp
[Huawei-GigabitEthernet0/0/1]quit
LSW2:
<Huawei>sys
[Huawei]gvrp
[Huawei]port-group group-member GigabitEthernet 0/0/1 GigabitEthernet 0/0/2
[Huawei-port-group]port link-type trunk
[Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[Huawei-port-group]gvrp
[Huawei-port-group]quit
LSW3:
<Huawei>sys
[Huawei]gvrp
[Huawei]port-group group-member GigabitEthernet 0/0/1 GigabitEthernet 0/0/2
[Huawei-port-group]port link-type trunk
[Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[Huawei-port-group]gvrp
[Huawei-port-group]quit
LSW4:
<Huawei>sys
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]gvrp
[Huawei-GigabitEthernet0/0/1]quit
实验结果:
PC1 ping PC3 可以在LSW1 的G0/0/1口抓到ping报文,在LSW2的G0/0/1口无报文通过。
LSW2 、LSW3 VLAN信息如下:
6.2配置双向注册
LSW4:
[Huawei]vlan batch 10 20
[Huawei]interface Ethernet0/0/1
[Huawei-Ethernet0/0/1]port link-type access
[Huawei-Ethernet0/0/1]port default vlan 10
[Huawei-Ethernet0/0/1]quit
[Huawei]interface Ethernet0/0/2
[Huawei-Ethernet0/0/2]port link-type access
[Huawei-Ethernet0/0/2]port default vlan 20
[Huawei-Ethernet0/0/2]quit
实验结果:
PC1 ping PC3:
LSW2、LSW3 VLAN信息如下:
6.3配置GVRP的Fixed模式
LSW3:
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]gvrp registration fixed
实验结果:
PC1 ping PC3 可以在LSW1 的G0/0/1口抓到ping报文,在LSW2的G0/0/1口无报文通过。
LSW2 VLAN信息如下:
LSW3 VLAN信息如下:
6.4 配置GVRP的Forbidden模式
LSW2:
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]gvrp registration Forbidden
实验结果:
PC1到PC3不通:
LSW2 VLAN信息:
LSW3 VLAN信息中无动态VLAN信息:
6.5 GVRP VLAN单向注销
LSW1:
<Huawei> system-view
[Huawei]undo vlan 10
实验结果:
网络不通
LSW2、LSW3 VLAN信息:
6.6 GVRP 双向注销
LSW4:
<Huawei> system-view
[Huawei]undo vlan 10
实验结果:
网络不通
LSW2、LSW3 VLAN信息: