GARP Multicast Registration Protocol (GMRP) is a Generic Attribute Registration Protocol (GARP) application that provides a constrained multicast flooding facility similar to IGMP snooping. GMRP and GARP are industry-standard protocols defined by the IEEE 802.1P.
GMRP provides a mechanism that allows bridges and end stations to dynamically register group membership information with the MAC bridges attached to the same LAN segment and for that information to be disseminated across all bridges in the Bridged LAN that supports extended filtering services. The operation of GMRP relies upon the services provided by the GARP.
GMRP software components run on both the switch and on the host. On the host, GMRP is typically used with IGMP: the host GMRP software spawns Layer 2 GMRP versions of the host"s Layer 3 IGMP control packets. The switch receives both the Layer 2 GMRP and the Layer 3 IGMP traffic from the host. The switch uses the received GMRP traffic to constrain multicasts at Layer 2 in the host"s VLAN. In all cases, you can use IGMP snooping to constrain multicasts at Layer 2 without the need to install or configure software on hosts.
When a host wants to join an IP multicast group, it sends an IGMP join message, which spawns a GMRP join message. Upon receipt of the GMRP join message, the switch adds the port through which the join message was received to the appropriate multicast group. The switch propagates the GMRP join message to all other hosts in the VLAN, one of which is typically the multicast source. When the source is multicasting to the group, the switch forwards the multicast only to the ports from which it received join messages for the group. The switch sends periodic GMRP queries. If a host wants to remain in a multicast group, it responds to the query. In this case, the switch does nothing. If a host does not want to remain in the multicast group, it can either send a leave message or not respond to the periodic queries from the switch. If the switch receives a leave message or receives no response from the host for the duration of the leaveall timer, the switch removes the host from the multicast group.
Protocol Structure
GGMRP messages have the same structure as GARP wherethe attribute type is specific to GMRP: it can be as follows: 1 Group Attribute Type.; 2 Service Requirement Attribute Type.
GARP PDU structure
| 2 bytes | |
| Protocol ID | Message |
GARP message structure
| 1 byte | ||||
| Attribute type | Attribute 1 | ...... | Attribute n | End mark |
GARP attribute structure
| 1 byte | ||
| Attribute length | Attribute event | Attribute value |
- Protocol ID - Identifies the GARP protocol.
- Identifier - Decimal value which aids in matching requests and replies.
- Attribute type - Defines the attribute. Values may be: 1 Group attribute; 2 Service Requirement attribute.
- Attribute length - Length of the Attribute.
- Attribute event - The values of the attribute event can be:
- 0 Leave_all
- 1 Join_Empty operator
- 2 Join_In operator
- 3 Leave_Empty operator
- 4 Leave_In operator
- 5 Empty operator
- Attribute value - This is encoded in accordance with the specification for the Attribute Type.
- End mark - Coded as 0.
Related protocols: IEEE 802.1Q, 802.1P, 802.1D, GVRP, GMRP
Sponsor Source: GMRP standard is defined by IEEE (http://www.ieee.org) 802.1P.
Reference: http://www.alliedtelesyn.co.nz/documentation/at8700/261/pdf/garp.pdf: Overview of Generic Attribute Registration Protocol
