11-GVRP配置
本章节下载: 11-GVRP配置 (238.47 KB)
GVRP(GARP VLAN Registration Protocol,GARP VLAN注册协议)是GARP(Generic Attribute Registration Protocol,通用属性注册协议)的一种应用,下面首先介绍GARP的相关内容。
GARP提供了一种机制,用于协助同一个局域网内的交换成员之间分发、传播和注册某种信息(如VLAN、组播地址等)。
GARP本身不作为一个实体存在于设备中,遵循GARP协议的应用实体称为GARP应用,GVRP就是GARP应用的一种。当GARP应用实体存在于设备的某个端口上时,该端口对应于一个GARP应用实体。
(1) GARP消息
GARP应用实体之间的信息交换借助于各种消息的传递来完成,其中主要有Join消息、Leave消息和LeaveAll消息起作用:
l 当一个GARP应用实体希望其它设备注册自己的属性信息时,它将对外发送Join消息;当收到其它实体的Join消息或本设备上静态配置了某些属性,需要其它GARP应用实体进行注册时,它也会向外发送Join消息。
l 当一个GARP应用实体希望其它设备注销自己的属性信息时,它将对外发送Leave消息;当收到其它实体的Leave消息注销某些属性或静态注销了某些属性后,它也会向外发送Leave消息。
l 每个GARP应用实体启动的同时会启动LeaveAll定时器,当该定时器超时后,GARP应用实体将对外发送LeaveAll消息,LeaveAll消息用来注销所有的属性,以使其它GARP应用实体重新注册本实体上所有的属性信息。
Join消息、Leave消息与LeaveAll消息配合确保信息的重新注册或注销。通过消息交互,所有待注册的属性信息可以传播到同一局域网配置了GARP的所有设备上。
(2) GARP定时器
GARP定义了下列四种定时器,用于控制各GARP消息的发送周期:
l Hold定时器:当GARP应用实体收到其它设备发来的注册信息时,不会立即将该注册信息作为一条Join消息对外发送,而是先启动Hold定时器,当该定时器超时后,再将此时段内收到的所有注册信息放在同一个Join消息中向外发送,从而节省带宽资源。
l Join定时器:GARP应用实体可以通过重发Join消息来保证Join消息的可靠传输。若第一次发送的Join消息未得到回复,GARP应用实体便会再次发送同样的Join消息,这两次发送的时间间隔用Join定时器来控制。
l Leave定时器:当一个GARP应用实体希望注销某属性信息时,将对外发送Leave消息,收到该消息的GARP应用实体启动Leave定时器,如果在该定时器超时前未收到Join消息,则注销该属性信息。
l LeaveAll定时器:每个GARP应用实体启动的同时会启动LeaveAll定时器,当该定时器超时后,GARP应用实体将对外发送LeaveAll消息,以使其它GARP应用实体重新注册本实体上所有的属性信息。随后再启动LeaveAll定时器,开始新的一轮循环。
l GARP定时器的值将应用于同一局域网内运行的所有GARP应用(如GVRP)。
l 在全网有多台设备的情况下,尽管各设备的LeaveAll定时器的值可能不同,但各设备都将以全网最小的LeaveAll定时器值为准来发送LeaveAll消息。这是由于各设备在收到LeaveAll消息后都会清零自己的LeaveAll定时器,因此即使全网存在很多取不同值的LeaveAll定时器,也只有最小的那个会起作用。
通过GARP机制,一个GARP应用实体上的配置信息会迅速传遍整个局域网。GARP应用实体可以是终端工作站或网桥,它通过声明或回收声明来通知其它GARP应用实体注册或注销自己的属性信息,并根据其它GARP应用实体的声明或回收声明注册或注销对方的属性信息。当端口收到一个属性声明时,该端口将注册该属性,如果端口收到回收属性的声明,该端口将注销该属性。
GARP应用实体的协议数据报文以特定的组播MAC地址为目的MAC。设备在收到GARP应用实体的报文后,会根据其目的MAC地址加以区分并交给不同的GARP应用(如GVRP)去处理。
图1-1 GARP报文格式
GARP报文的格式如图1-1所示,其中各字段的说明如表1-1所示。
表1-1 GARP报文各字段说明
字段 |
含义 |
取值 |
Protocol ID |
协议ID |
取值为1 |
Message |
消息,可以包含多个消息,每个消息都由Attribute Type和Attribute List构成 |
- |
Attribute Type |
属性类型,由具体的GARP应用来定义 |
GVRP的属性类型为0x01,表示属性取值为VLAN ID |
Attribute List |
属性列表,由多个属性构成 |
- |
Attribute |
属性,每个属性由Attribute Length、Attribute Event和Attribute Value构成 |
- |
Attribute Length |
属性长度 |
2~255,单位为字节 |
Attribute Event |
属性描述的事件 |
l 0:LeaveAll Event l 1:JoinEmpty Event l 2:JoinIn Event l 3:LeaveEmpty Event l 4:LeaveIn Event l 5:Empty Event |
Attribute Value |
属性取值 |
GVRP的属性取值为VLAN ID,但LeaveAll属性的Attribute Value无效 |
End Mark |
结束标志、GARP的PDU的结尾标志 |
以0x00取值表示 |
GVRP是GARP应用的一种。它基于GARP的工作机制,维护设备中的VLAN动态注册信息,并传播该信息到其它的设备中。
设备启动GVRP后,能够接收来自其它设备的VLAN注册信息,并动态更新本地的VLAN注册信息,包括当前的VLAN成员、这些VLAN成员可通过哪个端口到达等。而且设备能够将本地的VLAN注册信息向其它设备传播,以便使同一局域网内所有设备的VLAN信息达成一致。GVRP传播的VLAN注册信息既包括本地手工配置的静态注册信息,也包括来自其它设备的动态注册信息。
GVRP的端口注册模式有以下三种:
l Normal模式:允许该端口动态注册或注销VLAN,传播动态VLAN以及静态VLAN信息。
l Fixed模式:禁止该端口动态注册或注销VLAN,只传播静态VLAN信息,不传播动态VLAN信息。也就是说被设置为Fixed模式的Trunk端口,即使允许所有VLAN通过,实际通过的VLAN也只能是手工配置的那部分。
l Forbidden模式:禁止该端口动态注册或注销VLAN,不传播除VLAN 1以外的任何的VLAN信息。也就是说被配置为Forbidden模式的Trunk端口,即使允许所有VLAN通过,实际通过的VLAN也只能是VLAN 1。
GVRP在IEEE 802.1Q标准文本中有详细的表述。
表1-2 GVRP配置任务简介
配置任务 |
说明 |
详细配置 |
配置GVRP功能 |
必选 |
|
配置GARP定时器 |
可选 |
对于GVRP的相关配置来说:
l 以太网端口视图下的配置只对当前端口有效;二层聚合端口视图下的配置只对当前端口有效;端口组视图下的配置对当前端口组中的所有端口有效。
l 聚合成员端口上的配置只有当该端口退出聚合组后才会生效。
在开启各端口上的GVRP功能之前,必须先开启全局的GVRP功能。
表1-3 配置GVRP功能
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
开启全局的GVRP功能 |
gvrp |
必选 缺省情况下,全局的GVRP功能处于关闭状态 |
|
进入相应视图 |
进入以太网或二层聚合端口视图 |
interface interface-type interface-number |
二者必选其一 |
进入端口组视图 |
port-group manual port-group-name |
||
开启端口上的GVRP功能 |
gvrp |
必选 缺省情况下,端口上的GVRP功能处于关闭状态 |
|
配置GVRP端口的注册模式 |
gvrp registration { fixed | forbidden | normal } |
可选 缺省情况下,GVRP端口的注册模式为Normal模式 |
l GVRP功能只能配置在Trunk端口上。
l GVRP功能只能运行在MSTP的CIST实例上,并且CIST实例上被MSTP阻塞的端口不能收发GVRP报文。
l 如果用户在配置了远程端口镜像功能的同时启用了GVRP功能,GVRP可能将远程镜像VLAN注册到不希望的端口上,此时在镜像目的端口就会收到很多不必要的报文。关于端口镜像功能的介绍,请参见“接入分册”中的“端口镜像配置”。
l 在二层聚合端口上启用了GVRP功能后,会同时在二层聚合端口和对应的所有选中成员端口上进行动态VLAN的注册或注销。
l 在开启了GVRP功能的Trunk端口上,用户还需配置port trunk permit vlan all命令以保证所有动态注册的VLAN都能够从该端口通过。
在GARP所定义的四种定时器中:
l LeaveAll定时器的值只需在系统视图下全局配置即可,并对所有端口都生效;
l 而Hold定时器、Join定时器和Leave定时器的值则需对各端口单独配置。
表1-4 配置GARP定时器
命令 |
说明 |
||
进入系统视图 |
system-view |
- |
|
配置LeaveAll定时器 |
garp timer leaveall timer-value |
可选 缺省情况下,LeaveAll定时器的值为1000厘秒 |
|
进入相关视图 |
进入以太网或二层聚合端口视图 |
interface interface-type interface-number |
二者必选其一 |
进入端口组视图 |
port-group manual port-group-name |
||
配置Hold定时器 |
garp timer hold timer-value |
可选 缺省情况下,Hold定时器的值为10厘秒 |
|
配置Join定时器 |
garp timer join timer-value |
可选 缺省情况下,Join定时器的值为20厘秒 |
|
配置Leave定时器 |
garp timer leave timer-value |
可选 缺省情况下,Leave定时器的值为60厘秒 |
如表1-5所示,GARP各定时器的取值范围存在着相互制约的关系:
l 当配置某定时器时,如果用户欲设置的值超出了该定时器当前有效的取值范围,可以通过改变相关定时器的值来实现。
l 如果用户想恢复各定时器的值为缺省值,可以先恢复Hold定时器,再依次恢复Join、Leave和LeaveAll定时器。
在完成上述配置后,在任意视图下执行display命令可以显示配置后GARP/GVRP的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除GARP的统计信息。
表1-6 GVRP显示和维护
操作 |
命令 |
显示GARP的统计信息 |
display garp statistics [ interface interface-list ] |
显示GARP各定时器的值 |
display garp timer [ interface interface-list ] |
显示GVRP本地VLAN的信息 |
display gvrp local-vlan interface interface-type interface-number |
显示GVRP状态机的信息 |
display gvrp state interface interface-type interface-number vlan vlan-id |
显示GVRP的统计信息 |
display gvrp statistics [ interface interface-list ] |
显示GVRP的全局状态信息 |
display gvrp status |
显示当前的动态VLAN操作信息 |
display gvrp vlan-operation interface interface-type interface-number |
清除GARP的统计信息 |
reset garp statistics [ interface interface-list ] |
为了实现设备之间VLAN信息的动态注册和更新,需要在设备上启动GVRP,端口注册模式为缺省的Normal模式。
图1-2 GVRP典型配置组网图一
(1) 配置Device A
# 开启全局的GVRP功能。
<DeviceA> system-view
[DeviceA] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan all
# 在以太网端口GigabitEthernet1/0/1上开启GVRP功能。
[DeviceA-GigabitEthernet1/0/1] gvrp
[DeviceA-GigabitEthernet1/0/1] quit
# 配置静态VLAN 2。
[DeviceA] vlan 2
(2) 配置Device B
# 开启全局的GVRP功能。
<DeviceB> system-view
[DeviceB] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan all
# 在以太网端口GigabitEthernet1/0/1上开启GVRP功能。
[DeviceB-GigabitEthernet1/0/1] gvrp
[DeviceB-GigabitEthernet1/0/1] quit
# 配置静态VLAN 3。
[DeviceB] vlan 3
(3) 显示配置结果
# 显示Device A上的动态VLAN信息。
[DeviceA] display vlan dynamic
Now, the following dynamic VLAN exist(s):
3
# 显示Device B上的动态VLAN信息。
[DeviceB] display vlan dynamic
Now, the following dynamic VLAN exist(s):
2
为了实现设备之间部分VLAN信息的动态注册和更新,需要在设备上启动GVRP,配置Device A的端口注册模式为Fixed,Device B的端口注册模式为缺省的Normal模式。
图1-3 GVRP典型配置组网图二
(1) 配置Device A
# 开启全局的GVRP功能。
<DeviceA> system-view
[DeviceA] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan all
# 在以太网端口GigabitEthernet1/0/1上开启GVRP功能,并配置其注册模式为Fixed模式。
[DeviceA-GigabitEthernet1/0/1] gvrp
[DeviceA-GigabitEthernet1/0/1] gvrp registration fixed
[DeviceA-GigabitEthernet1/0/1] quit
# 配置静态VLAN 2。
[DeviceA] vlan 2
(2) 配置Device B
# 开启全局的GVRP功能。
<DeviceB> system-view
[DeviceB] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan all
# 在以太网端口GigabitEthernet1/0/1上开启GVRP功能。
[DeviceB-GigabitEthernet1/0/1] gvrp
[DeviceB-GigabitEthernet1/0/1] quit
# 配置静态VLAN 3。
[DeviceB] vlan 3
(3) 显示配置结果
# 显示Device A上的动态VLAN信息。
[DeviceA] display vlan dynamic
No dynamic vlans exist!
# 显示Device B上的动态VLAN信息。
[DeviceB] display vlan dynamic
Now, the following dynamic VLAN exist(s):
2
为了阻止设备之间VLAN信息的动态注册和更新,需要在设备上启动GVRP,Device A的端口注册模式为Forbidden,Device B的端口注册模式为缺省的Normal模式。
图1-4 GVRP典型配置组网图三
(1) 配置Device A
# 开启全局的GVRP功能。
<DeviceA> system-view
[DeviceA] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan all
# 在以太网端口GigabitEthernet1/0/1上开启GVRP功能,并配置其注册模式为Forbidden模式。
[DeviceA-GigabitEthernet1/0/1] gvrp
[DeviceA-GigabitEthernet1/0/1] gvrp registration forbidden
[DeviceA-GigabitEthernet1/0/1] quit
# 配置静态VLAN 2。
[DeviceA] vlan 2
(2) 配置Device B
# 开启全局GVRP。
<DeviceB> system-view
[DeviceB] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan all
# 在以太网端口GigabitEthernet1/0/1上开启GVRP功能。
[DeviceB-GigabitEthernet1/0/1] gvrp
[DeviceB-GigabitEthernet1/0/1] quit
# 配置静态VLAN 3。
[DeviceB] vlan 3
(3) 显示配置结果
# 显示Device A上的动态VLAN信息。
[DeviceA] display vlan dynamic
No dynamic vlans exist!
# 显示Device B上的动态VLAN信息。
[DeviceB] display vlan dynamic
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!