230 likes | 459 Views
GARP (Part 2). Network Protocols and Standards Autumn 2004-2005. 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
E N D
GARP (Part 2) Network Protocols and Standards Autumn 2004-2005 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
GARP Participant GARP Participant There is an instance of the Applicant and the Registrar per Attribute CS573: Network Protocols and Standards
GARP Participant GARP Participant There is an instance of the Applicant and the Registrar per Attribute CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
Registrar State Machine CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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
Applicant Only State Machine CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 • 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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
VLANs Preview • Motivation • Increased Bandwidth on LAN segments • Larger LAN switches (more ports) • Larger subnetworks • Geographical scope • Number of users • Same bridged LAN (or extended LAN) capable of serving several logical groups of users • Groups defined according to attributes • Corporate divisions • Higher Layer protocols • Collection of servers they share, etc. CS573: Network Protocols and Standards