GVRP Technology White Paper
-
Upload
mauricio-martins -
Category
Documents
-
view
221 -
download
0
Transcript of GVRP Technology White Paper
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 1/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co.,Ltd. www.h3c.com Page 1/16
GVRP Technology White Paper Keywords: GARP, GVRP, attributes, registration, VLAN Abstract: GVRP is used to achieve dynamic VLAN configuration. This document introduces the
implementation and typical application of GVRP.
Acronyms: Acronym Full spelling
GARP Generic Attribute Registration ProtocolGMRP GARP Multicast Registration Protocol
GVRP GARP VLAN Registration Protocol
MSTP Multiple Spanning Tree Protocol
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 2/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co.,Ltd. www.h3c.com Page 2/16
Table of Contents 1 Overview.........................................................................................................................................3
1.1 Background..........................................................................................................................3 1.2 Benefits ................................................................................................................................4
2 GVRP Implementation....................................................................................................................4 2.1 Concepts..............................................................................................................................4
2.1.1 GARP Application Participants..................................................................................4 2.1.2 VLAN Registration and Deregistration......................................................................4 2.1.3 Message Types .........................................................................................................5 2.1.4 Timers........................................................................................................................6 2.1.5 Registration Mode.....................................................................................................8
2.2 Packet Format......................................................................................................................8 2.3 Working Procedures ..........................................................................................................10 2.4 Restrictions ........................................................................................................................15
3 Application Scenarios ...................................................................................................................15 4 Prospect .......................................................................................................................................16 5 References ...................................................................................................................................16
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 3/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 3/16
1 Overview The Generic Attribute Registration Protocol (GARP) establishes an attributepropagation mechanism, which enables entities of a GARP application to register and
deregister certain attributes. You can use GARP to propagate attributes. By mapping
different attributes into the GARP protocol data unit (PDU), you can support different
upper-layer applications. GMRP and GVRP are two typical applications of GARP,
where,
GMRP is used to register and deregister multicast attributes.
GVRP is used to register and deregister VLAN attributes.
GARP applications are identified by destination MAC address. In IEEE Std 802.1D,
the destination MAC address 01-80-C2-00-00-20 is assigned to the multicast
application, that is, GMRP. In IEEE Std 802.1Q, the destination MAC address 01-80-
C2-00-00-21 is assigned to the VLAN application, that is, GVRP.
This white paper is focused on details relevant to GVRP.
1.1 Background Without GVRP, to configure a VLAN for each device in a network, you need to
manually configure it device by device. As shown in Figure 1 , VLAN 2 is configured
on Device A, while only VLAN 1 exists on Device B and Device C; the three devices
are interconnected through trunk links. To transmit traffic of VLAN 2 from Device A to
Device C, you need to manually create VLAN 2 on Device B and Device C.
Device A
Device B
Device C
Figure 1 GVRP application
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 4/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 4/16
In a simple network as shown in Figure 1 , it is easy to create VLANs manually. In a
complicated network, however, you can hardly get a complete view of the topology in
a short time or have to deal with a lot of VLANs. In either case, configuration errors
may result and heavy workload is involved. To address the problem, you can use the
automatic VLAN registration function of GVRP to complete VLAN configuration.
1.2 Benefits Based on GARP, GVRP is used to maintain dynamic VLAN attributes on devices.
With GVRP, a switch can exchange its VLAN configuration with other GVRP-aware
switches in the whole switched network. GVRP propagates, registers, and deregisters
VLAN attributes dynamically, reducing manual configuration workload and
guaranteeing VLAN configuration correctness.
2 GVRP Implementation 2.1 Concepts 2.1.1 GARP Application Participants
On a device, each port participating in a protocol is regarded as a participant of the
protocol. On a GVRP-enabled switch, each GVRP-enabled port is a GVRP participant,
as shown in Figure 2 .
GVRP participant
Figure 2 GVRP participant
2.1.2 VLAN Registration and Deregistration GVRP can register and deregister VLAN attributes automatically.
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 5/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 5/16
VLAN registration: assigns a port to a VLAN.
VLAN deregistration: removes a port from a VLAN.
GVRP registers and deregisters VLAN attributes automatically by making orwithdrawing declarations.
When a port receives a VLAN attribute declaration, the port registers the VLAN
information contained in the declaration, that is, joins the specified VLAN.
When a port receives a VLAN attribute withdrawal declaration, the port
deregisters the VLAN information contained in the declaration, that is, exits the
specified VLAN.
VLAN attribute registration or deregistration occurs only on ports receiving GVRP
PDUs.
Figure 3 VLAN registration and deregistration
2.1.3 Message Types GARP participants exchange attribute information by sending messages, which fall
into three types: join, leave, and LeaveAll.
1. Join message A GARP participant sends join messages to register with other entities as needed its
attributes, the attributes received from other GARP participants, and the attributes
manually configured on it.
Join messages fall into JoinEmpty messages and JoinIn messages, as described
below: JoinEmpty: Declares an attribute that is not configured on the local participant.
JoinIn: Declares an attribute that has already been registered with the local
participant.
2. Leave message
A GARP participant sends leave messages to have its attributes deregistered on
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 6/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 6/16
other devices. It also sends leave messages when it receives leave messages from
other GARP participants or when attributes are manually deregistered on it.
Leave messages fall into LeaveEmpty messages and LeaveIn messages, as
described below: LeaveEmpty: Deregisters an attribute that is not registered on the local
participant.
LeaveIn: Deregisters an attribute that has been registered on the local
participant.
3. LeaveAll message Upon startup, a GARP participant starts the LeaveAll timer. When the timer expires,
the GARP participant sends out a LeaveAll message.
A GARP participant sends LeaveAll messages to deregister all its attributes from all
the other GARP participants. This is a periodical garbage attribute clearing
mechanism used to clear attributes no longer useful. A garbage attribute may be
created when a device fails to send a leave message, because of power failure for
example, to notify other devices to deregister an attribute that it has removed.
2.1.4 Timers GARP uses four timers to set the interval for sending GARP messages.
1. Join timer The Join timer specifies the interval for sending join messages (including JoinIn and
JoinEmpty messages).
To guarantee join message transmission reliability, a GARP participant may send a join message twice. When sending the first join message, the GARP participant starts
the Join timer. If a JoinIn message is received before the Join timer expires, the
GARP participant does not send the second join message. If not, the GARP
participant re-sends the join message.
The Join timer is configured on a per-port basis.
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 7/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 7/16
2. Hold timer The Hold timer specifies the interval for sending join messages (including JoinIn and
JoinEmpty messages) and leave messages (including LeaveIn and LeaveEmpty
messages).
When you configure an attribute on a participant or when the participant receives a
request message, the participant does not propagate the message to the other
devices immediately. Instead, it collects the request messages received within a
period of time and sends them in one GARP PDU. This period of time is specified by
the Hold timer. By making full use of the data portion of GARP PDUs to send multiple
messages in one packet, the mechanism reduces the number of transmitted packetsand contributes to network stability.
The Holder timer is configured on a per-port basis. The Holder timer value must be no
greater than half the Join timer value.
3. Leave timer The Leave timer controls attribute deregistration.
Upon receiving a leave or LeaveAll message, a GARP participant starts its Leavetimer. If it receives no join message containing the attribute carried in the leave or
LeaveAll message when the Leave timer expires, it deregisters the attribute. The
Leave timer is used because the leave message from a GARP participant does not
mean that the attribute carried in the leave message has been removed from all other
GARP participants. Before deregistering the attribute carried in a received leave
message, the receiving GARP participant must wait for a while to make sure that the
attribute has been removed from all the GARP participants. For example, an attribute
is configured on GARP participants A and B in the network, and the other participants
have registered the attribute through the GARP application. When the attribute is
removed from participant A, participant A sends out a leave message. Upon receiving
the leave message, participant B, which still has the source of the attribute, sends out
a join message to indicate that it still has the attribute. Receiving the join message
from participant B, the other GARP participants keep the attribute instead of
deregistering it. Only if no join messages containing the attribute are received when
the time twice the Join timer is reached, will they consider that this attribute does not
exist in the network. Considering this, you must set the Leave timer to be greater than
twice the Join timer value.
The Leave timer is configured on a per-port basis.
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 8/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 8/16
4. LeaveAll timer Upon startup, a GARP participant starts the LeaveAll timer. When the LeaveAll timer
expires, the GARP participant sends out a LeaveAll message, and then restarts the
LeaveAll timer to start another cycle.
Once receiving a LeaveAll message, a GARP participant re-starts all timers, including
the LeaveAll timer. When its own LeaveAll timer expires, the participant sends out a
LeaveAll message, thus avoiding sending too many LeaveAll messages within a short
time.
If the LeaveAll timers of multiple devices expire at the same time, multiple LeaveAll
messages will be sent at the same time, creating unnecessary traffic. To avoid this
problem, the actual LeaveAll timer value of a participant is a random value between
the LeaveAll timer value and the LeaveAll timer value multiplied by 1.5.
A LeaveAll event is equivalent to deregistering all attributes network wide by sending
leave messages. Because the LeaveAll timer affects the whole network, you are
recommended to configure the LeaveAll timer value to be at least greater than the
Leave timer.
The LeaveAll timer is configured globally on a per-device basis.
2.1.5 Registration Mode A VLAN configured manually is referred to as a static VLAN, while a VLAN created
through GVRP is referred to as a dynamic VLAN. GVRP provides three registration
modes, which handle static VLANs and dynamic VLANs differently as follows:
Normal: In this mode, a port can dynamically register and deregister VLANs,
and propagate both dynamic and static VLAN declarations. Fixed: In this mode, a port cannot dynamically register VLANs, but it can
propagate static VLAN declarations.
Forbidden: In this mode, a port can neither dynamically register VLANs, nor
propagate declarations about any VLAN but VLAN 1.
2.2 Packet Format As shown in Figure 4 , a GARP protocol data unit (PDU) is encapsulated in an IEEE
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 9/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 9/16
802.3 Ethernet frame.
GARP PDU structure
Message structure
Attribute List structure
Attribute structure
Protocol ID Message N End Mark...
Attribute 1 End Mark...
Attribute Type
Attribute Length Attribute Event Attribute Value
1
1
1
1
3
3
2
2
N
N
N
N
Message 1
Attribute List
Attribute N
PDUDA length DSAPSA CtrlSSAP Ethernet Frame
Figure 4 GARP PDU format
Table 1 describes the fields of a GARP PDU.
Table 1 Description on the fields of a GARP PDU Field Description Value
Protocol ID Protocol identifier for GARP 1 Message
One or multiple messages,each containing an attributetype and attribute list —
Attribute TypeDefined by the specificGARP application 0x01 for GVRP, indicating
the VLAN ID attribute.
Attribute ListA list of one or multipleattributes —
AttributeConsisting of an AttributeLength, an Attribute Event,
and an Attribute Value —
Attribute LengthNumber of bytes occupiedby the attribute, including theAttribute Length field 2 bytes to 255 bytes
Attribute EventEvent described by theattribute
0: LeaveAll Event
1: JoinEmpty Event
2: JoinIn Event
3: LeaveEmpty Event
4: LeaveIn Event
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 10/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 10/16
Field Description Value
Attribute Value Value of the attribute VLAN ID for GVRP. If theAttribute Event is LeaveAll,the Attribute Value field is
invalid.
End MarkMark indicating the end of aGARP PDU.
0x00
2.3 Working Procedures This section describes how GVRP works using a simplified example. This example
describes how GVRP registers and deregisters VLAN attributes in four sub-sections.
1. Unidirectional VLAN attribute registration Device A
Device B
Device C
JoinEmpty
JoinEmpty
Static VLAN 2
Port 1
Port 2 Port 3
Port 4
Figure 5 Unidirectional VLAN attribute registration
Manually create static VLAN 2 on Device A. In response to this action, GVRP
automatically assigns the GVRP-enabled ports on Device B and Device C to VLAN 2
through unidirectional VLAN attribute registration as follows:
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 11/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 11/16
Upon manual creation of static VLAN 2 on Device A, Port 1 starts its Join timer
and Hold timer. When the Hold timer expires, Port 1 sends out the first
JoinEmpty message to Device B. When the Join timer expires, the Hold timer
restarts. When the Hold timer expires, Port 1 sends out the second JoinEmpty
message.
Upon receiving the first JoinEmpty message, Device B dynamically creates
VLAN 2, assigns the receiving port Port 2 to VLAN 2, and instructs Port 3 to
start its Join timer and Hold timer at the same time. When the Hold timer
expires, Port 3 sends out the first JoinEmpty message to Device C. When the
Join timer expires, the Hold timer restarts. When the Hold timer expires, Port 3
sends out the second JoinEmpty message. Upon receiving the second
JoinEmpty message from Device A, Device B does not perform any processing,
because Port 2 has already been assigned to VLAN 2.
Upon receiving the first JoinEmpty message, Device C dynamically creates
VLAN 2, and assigns the receiving port Port 4 to VLAN 2. Upon receiving the
second JoinEmpty message, Device C does not perform any processing,
because Port 4 has already been assigned to VLAN 2.
Thereafter, when the LeaveAll timer expires on a device or a LeaveAll message
is received on a device, the device restarts the LeaveAll timer, Join timers, Hold
timers, and Leave timers on it. Port 1 on Device A sends the first JoinEmpty
message when the Hold timer expires and sends the second JoinEmpty
message when the period of the Join timer value plus the Hold timer value is
reached. This process is true for Device B to send JoinEmpty messages to
Device C.
2. Bidirectional VLAN attribute registration Device A
Device B
Device C
JoinEmpty
JoinEmpty
Static VLAN 2
JoinIn
JoinIn
JoinIn
JoinIn
Static VLAN 2
Port 1
Port 2 Port 3
Port 4
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 12/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 12/16
Figure 6 Bidirectional VLAN attribute registration
The process described in Unidirectional VLAN attribute registration assigns to VLAN
2 Port 1, Port 2, and Port 4 but not Port 3, because only the port receiving a
JoinEmpty or JoinIn message can be dynamically assigned to a VLAN. To transmit
traffic of VLAN 2 in both directions, VLAN attribute registration must be performed
from Device C to Device A as follows:
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 13/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 13/16
After VLAN attribute registration is completed in the direction from Device A to
Device C, manually create VLAN 2 on Device C, changing its attribute from
dynamic to static. Upon the creation, Port 4 starts its Join timer and Hold timer
at the same time. When the Hold timer expires, Port 4 sends out the first JoinIn
message (a JoinIn message is sent because VLAN 2 has been registered on
Port 4) to Device B. When the Join timer expires, Port 4 restarts the Hold timer.
When the Hold timer expires, Port 4 sends out the second JoinIn message.
Upon receiving the first JoinIn message, Device B dynamically assigns the
receiving port Port 3 to VLAN 2, and instructs Port 2 to start its Join timer and
Hold timer at the same time. When the Hold timer expires, Port 2 sends out the
first JoinIn message to Device A. When the Join timer expires, Port 2 restarts
the Hold timer. When the Hold timer expires, Port 2 sends out the second JoinIn
message. Upon receiving the second JoinIn message, Device B does not
perform any processing, because Port 3 has been assigned to dynamic VLAN 2.
Upon receiving a JoinIn message, Device A stops sending JoinEmpty
messages to Device B. Thereafter, when the LeaveAll timer expires on a device
or a LeaveAll message is received on a device, the device re-starts the
LeaveAll timer, Join timers, Hold timers, and Leave timers on it. When the Hold
timer on Port 1 expires, Port 1 sends a JoinIn message.
Device B sends a JoinIn message to Device C.
Upon receiving the JoinIn message, Device C does not dynamically create
VLAN 2, because static VLAN 2 already exists on it.
3. Unidirectional VLAN attribute deregistration Device A
Device B
Device C
LeaveIn
LeaveEmpty
Static VLAN 2
Port 1
Port 2 Port 3
Port 4
Figure 7 Unidirectional VLAN attribute deregistration
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 14/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 14/16
If none of the devices in the network needs VLAN 2 any more, GVRP can help you
remove VLAN 2 from these devices through VLAN attribute deregistration as follows.
Remove static VLAN 2 from Device A. Upon the removal action, Port 1 starts itsHold timer. When the Hold timer expires, Port 1 sends a LeaveEmpty message
to Device B. Note that the LeaveEmpty message is sent only once.
Upon receiving the LeaveEmpty message, Port 2 on Device B starts its Leave
timer. When the Leave timer expires, Port 2 deregisters VLAN 2 on it to leave
VLAN 2. (In this case, as Port 3 is still in VLAN 2, Device B does not remove
VLAN 2.) At the same time, Port 2 instructs Port 3 to start its Hold timer and
Leave timer. When the Hold timer expires, Port 3 sends a LeaveIn message to
Device C. Because static VLAN 2 has not been removed from Device C yet,
Port 3 can still receive JoinIn messages from Port 4 before its Leave timer
expires. As a result, Device A and Device B can still learn dynamic VLAN 2.
Upon receiving the LeaveIn message, Device C does not remove Port 4 from
VLAN 2, because static VLAN 2 still exists on it.
4. Bidirectional VLAN attribute deregistration Device A
Device B
Device C
LeaveEmpty
LeaveEmpty
Port 1 Port 4
Port 3Port 2
Figure 8 Bidirectional VLAN attribute deregistration
To remove VLAN 2 from all devices in the network, you must trigger bidirectional
VLAN attribute deregistration in the reverse direction as follows:
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 15/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 15/16
Remove static VLAN 2 from Device C. Immediately, Port 4 starts its Hold timer.
When the Hold timer expires, Device C sends a LeaveEmpty message to
Device B.
Upon receiving the LeaveEmpty message, Port 3 on Device B starts its Leave
timer. When the Leave timer expires, Port 3 deregisters VLAN 2 on it, that is,
Port 3 exits VLAN 2, and dynamic VLAN 2 is removed as a result. At the same
time, Port 2 is instructed to start the Hold timer. When the Hold timer expires,
Port 2 sends a LeaveEmpty message to Device A.
Upon receiving the LeaveEmpty message, Port 1 on Device A starts its Leave
timer. When the Leave timer expires, Port 1 deregisters VLAN 2 on it, that is,
Port 1 exits dynamic VLAN 2, and dynamic VLAN 2 is removed as a result.
2.4 Restrictions GVRP is mutually exclusive with the service loopback feature. A service
loopback-enabled port cannot send out GVRP protocol packets.
GVRP can run only on common and internal spanning trees (CISTs) of MSTP.
Additionally, a CIST port blocked by MSTP cannot receive or transmit GVRP
protocol packets.
3 Application Scenarios GVRP maintains and updates VLAN information on different devices dynamically.
With GVRP, you just need to perform VLAN configuration on few devices and the
VLAN configuration will be applied to the whole switched network, thus saving the
time of topology analysis and configuration management.
As shown in Figure 9 , all devices are GVRP-enabled and connected with trunk ports
permitting traffic of all VLANs to pass through. Manually configure static VLANs 100
through 1000 on Device A and Device G. Then, Device B through Device F can learn
these VLANs with GVRP. At last, VLAN 100 through VLAN 1000 are created on each
device in the network.
8/4/2019 GVRP Technology White Paper
http://slidepdf.com/reader/full/gvrp-technology-white-paper 16/16
GVRP Technology White Paper
Hangzhou H3C Technologies Co., Ltd. Page 16/16
Device A Device B
Device C
Device D
Device E
VLAN 100 - 1000
Device F Device G
VLAN 100 - 1000
Figure 9 Application scenarios
4 Prospect As a dynamic VLAN configuration technology, GVRP simplifies VLAN configuration
management in a complicated network and reduce network intercommunication
problems caused by inconsistent configurations. Additionally, because GVRP does
not assign a port receiving no VLAN registration message to dynamic VLANs, you
can configure GVRP appropriately to control the size of a VLAN, suppressing
unnecessary traffic. As GVRP has supported multiple MSTIs in MSTP, it is believed
that GVRP can gain wider application.
5 References IEEE Std 802.1D
IEEE Std 802.1Q
Copyright ©2008 Hangzhou H3C Technologies Co., Ltd. All rights reserved. No part of this manual may be reproduced or transmitted in any form or by any means without prior written consent of
Hangzhou H3C Technologies Co., Ltd. The information in this document is subject to change without notice.