Sie sind auf Seite 1von 22

GARP

Network Protocols and Standards Winter 2008-2009

Jan 15, 2009

CS573: Network Protocols and Standards

GARP Architecture

LAN segment
Jan 15, 2009

LAN segment
CS573: Network Protocols and Standards 2

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 3

Jan 15, 2009

The Application Component


Defines a set of one or more Attribute Types Defines for each Attribute Type

Their Their Their Their

set of values semantics structure and encoding 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 4

Jan 15, 2009

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 15, 2009

CS573: Network Protocols and Standards

GARP Participant
GARP Participant

There is an instance of the Applicant and the Registrar per Attribute


Jan 15, 2009 CS573: Network Protocols and Standards 6

GARP Participant
GARP Participant

There is an instance of the Applicant and the Registrar per Attribute


Jan 15, 2009 CS573: Network Protocols and Standards 7

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 Ensures that this participants declarations are registered by other participants

Applicant

Jan 15, 2009

CS573: Network Protocols and Standards

Registrar State Machine

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)

Jan 15, 2009

Registrar State Machine

Jan 15, 2009

CS573: Network Protocols and Standards

10

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 11

Jan 15, 2009

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
No need to send more messages
CS573: Network Protocols and Standards 12

Q (Quiet)

Jan 15, 2009

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 doesnt have a Registrar, it sends JoinIN and LeaveEmpty by default
13

Jan 15, 2009

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

Jan 15, 2009

CS573: Network Protocols and Standards

14

Applicant Only: Member Types

Two types of Members

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

Note that the observer is always passive


Jan 15, 2009

CS573: Network Protocols and Standards

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

Jan 15, 2009

Applicant Only State Machine

Jan 15, 2009

CS573: Network Protocols and Standards

17

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 18

Jan 15, 2009

Full Applicant

Full applicant state machine


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

Differences with Applicant only

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

Jan 15, 2009

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 20

Jan 15, 2009

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 Registrar states: MT for A and IN for B

What happens when A sends 2 Joins?

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

Jan 15, 2009

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

Jan 15, 2009

CS573: Network Protocols and Standards

22