Jan 08, 2008 CS573: Network Protocols and Stand ards 1 GARP Network Protocols and Standards Winter 2007-2008
Dec 22, 2015
Jan 08, 2008 CS573: Network Protocols and Standards 1
GARP
Network Protocols and Standards
Winter 2007-2008
Jan 08, 2008 CS573: Network Protocols and Standards 2
GARP Architecture
LAN segmentLAN segment
Jan 08, 2008 CS573: Network Protocols and Standards 3
GARP Participant Components
A GARP Participant consists of: A GARP application component A GID component
GID: GARP Information Declaration Remember: There is one GARP
Participant For each port For each application
GMRP (Multicast) and GVRP (VLANs) are examples
Jan 08, 2008 CS573: Network Protocols and Standards 4
The Application Component Defines a set of one or more Attribute Types Defines for each Attribute Type
Their set of values Their semantics Their structure and encoding Their values in the GARP PDU
For each application, a unique Group MAC Address is specified Used as destination MAC address for all GARP
protocol exchanges pertaining to that application
Jan 08, 2008 CS573: Network Protocols and Standards 5
The GID Component Declares attribute information
among participants on the same segment
Contains two state machines for each attribute Registrar state machine Applicant state machine
Jan 08, 2008 CS573: Network Protocols and Standards 6
GARP Participant
There is an instance of the Applicant and the Registrar per Attribute
GARP Participant
Jan 08, 2008 CS573: Network Protocols and Standards 7
GARP ParticipantGARP Participant
There is an instance of the Applicant and the Registrar per Attribute
Jan 08, 2008 CS573: Network Protocols and Standards 8
Participant: Protocol Elements Registrar
Records attribute registration declared by other participants on the same segment
Required in bridges (Used in forwarding decisions!)
May be implemented in stations for source pruning
Applicant Ensures that this participant’s declarations are
registered by other participants
Jan 08, 2008 CS573: Network Protocols and Standards 9
Registrar State Machine IN
Someone registered this attribute value on this segment
MT (Empty) All declarations for this attribute value on this
segment have been withdrawn LV (Leaving)
Timing out the registration; if no re-declaration is received before the Leave Timer expires, transition will be made to the MT state
Jan 08, 2008 CS573: Network Protocols and Standards 10
Registrar State Machine
Jan 08, 2008 CS573: Network Protocols and Standards 11
Applicant State Machine Three levels of complexity defined:
For participants that do not include a registrar (stations)
Simple applicant Applicant only
For participants that implement a registrar (bridges and some stations)
Full applicant
Jan 08, 2008 CS573: Network Protocols and Standards 12
Simple Applicant Simplest type of applicant – no registrar Three states
V (very anxious) Applicant has no reason to believe that the other
registrars have registered this value (No JoinIN message has been received and no Join message has been sent)
A (anxious) If no message has been lost, other registrars will have
registered this attribute value A second Join still needs to be sent or seen
Q (Quiet) No need to send more messages
Jan 08, 2008 CS573: Network Protocols and Standards 13
Simple Applicant State Machine
Messages are labeled by the registrar state of the sender
The JoinIN sent when a Join timer expires is shown as sJoinIN
Other transitions happen in response to received messages (prefixed with r)
Note that even though the Participant doesn’t have a Registrar, it sends JoinIN and LeaveEmpty by default
Jan 08, 2008 CS573: Network Protocols and Standards 14
Applicant Only In order to save on Join and Leave messages when
there are several Members on the same segment, stations may track the GARP message activity on the segment for a given Attribute, even when they are not currently interested in registering the Attribute
For this purpose, a distinction is made within an applicant between being a Member or an Observer
An Observer is a Participant that tracks the Attribute state, but does not wish to make a declaration
A Member is also a Participant that is interested in maintaining a declaration for a given attribute value
Jan 08, 2008 CS573: Network Protocols and Standards 15
Applicant Only: Member Types Two types of Members
Passive member (P): attempts to maintain the registration of an attribute value, but hasn’t itself sent a Join message to declare it
Active member (A): attempts to maintain the registration of an attribute value and has sent a Join message to declare it
Note that the observer is always “passive” Tracks the attribute state, but … Does not maintain declaration Observer is NOT a member
Jan 08, 2008 CS573: Network Protocols and Standards 16
Applicant Only An observer can become a member without
sending a Join message if it is in the Quiet state A Passive member can quit without sending a
Leave message State Machine Acronyms (States)
VO: very anxious, observer AO: anxious, observer QO: quiet, observer VP: very anxious, passive VA: very anxious, active LA: Leaving, active (a substate where leave message is
generated)
Jan 08, 2008 CS573: Network Protocols and Standards 17
Applicant Only State Machine
Jan 08, 2008 CS573: Network Protocols and Standards 18
Applicant Only When a Participant becomes interested in
a given Attribute The Applicant transitions first from Observer
to Passive Member If the Observer was in the Quiet state, the
Applicant becomes Passive and Quiet Otherwise, it schedules a Join for the earliest
transmission occasion A Passive Member that sends a Join becomes
an Active Member
Jan 08, 2008 CS573: Network Protocols and Standards 19
Full Applicant Full applicant state machine
Used in bridges Also used in stations that include a registrar for source
pruning Differences with Applicant only
A sent Join message is labeled with the current state of the registrar
When registrar is in IN state, send JoinIN When registrar is not in IN state, send JoinEmpty
NOTE: A JoinEmpty causes the Applicants on a segment to go to Very Anxious state. The goal is to force other members to update the sender’s state by not considering this Join message valid for that purpose
Jan 08, 2008 CS573: Network Protocols and Standards 20
Full Applicant An observer has an additional state
LO state: Leaving Observer Similar to LA (Leaving Active) Enters after hearing a LeaveEmpty message
(unless it hears a Join) Like JoinEmpty, LeaveEmpty forces the
Applicants to go to very anxious state Purpose: To protect against problems
incurred when other Participants fail to see a Leave
Jan 08, 2008 CS573: Network Protocols and Standards 21
Full Applicant What if Join Messages are not labeled with the
registrar state? Consider the scenario …
Two bridges A and B on the same segment Both interested in an attribute AT Both have registrars in the MT state
What happens when A sends 2 Joins? Registrar states: MT for A and IN for B
This is because A’s Join has no indication about it’s knowledge of B’s wish to register the attribute AT
Therefore, by labeling Join with registrar state, A will force B to send Joins for AT
Jan 08, 2008 CS573: Network Protocols and Standards 22
GIP GARP Information Propagation
Propagates attribute registration information between participants for the same application on all ports which are in the forwarding state in a bridge
A registration is propagated on a port if any other port in the bridge has seen a registration for the concerned attribute
A de-registration is propagated on a port if all other ports are de-registered for the concerned attribute