GARP Architecture
LAN segment
Jan 15, 2009
LAN segment
CS573: Network Protocols and Standards 2
Defines a set of one or more Attribute Types Defines for each Attribute Type
set of values semantics structure and encoding values in the GARP PDU
Used as destination MAC address for all GARP protocol exchanges pertaining to that application
CS573: Network Protocols and Standards 4
Declares attribute information among participants on the same segment Contains two state machines for each attribute
GARP Participant
GARP Participant
GARP Participant
GARP Participant
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 Ensures that this participants declarations are registered by other participants
Applicant
IN
Someone registered this attribute value on this segment All declarations for this attribute value on this segment have been withdrawn Timing out the registration; if no re-declaration is received before the Leave Timer expires, transition will be made to the MT state
CS573: Network Protocols and Standards 9
MT (Empty)
LV (Leaving)
10
Full applicant
CS573: Network Protocols and Standards 11
Simple Applicant
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
No need to send more messages
CS573: Network Protocols and Standards 12
Q (Quiet)
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 doesnt have a Registrar, it sends JoinIN and LeaveEmpty by default
13
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
14
Passive member (P): attempts to maintain the registration of an attribute value, but hasnt 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 Tracks the attribute state, but Does not maintain declaration Observer is NOT a member
15
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)
CS573: Network Protocols and Standards 16
17
Applicant Only
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
Full Applicant
Used in bridges Also used in stations that include a registrar for source pruning 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 senders state by not considering this Join message valid for that purpose
CS573: Network Protocols and Standards 19
Full Applicant
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
CS573: Network Protocols and Standards 20
Full Applicant
What if Join Messages are not labeled with the registrar state?
Two bridges A and B on the same segment Both interested in an attribute AT Both have registrars in the MT state Registrar states: MT for A and IN for B
This is because As Join has no indication about its knowledge of Bs wish to register the attribute AT Therefore, by labeling Join with registrar state, A will force B to send Joins for AT
CS573: Network Protocols and Standards 21
GIP
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
22