How IGMP operates

The Internet Group Management Protocol (IGMP) is an internal protocol of the Internet Protocol (IP) suite. IP manages multicast traffic by using switches, multicast routers and hosts that support IGMP. (In Hewlett Packard Enterprise’s implementation of IGMP, a multicast router is not necessary as long as a switch is configured to support IGMP with the querier feature enabled.) A set of hosts, routers or switches that send or receive multicast data streams to or from the same sources is called a multicast group and all devices in the group use the same multicast group address.

Message types

The multicast group running IGMP uses three message types to communicate:

  • Query: A message sent from the querier (multicast router or switch) asking for a response from each host belonging to the multicast group. If no multicast router supporting IGMP is present, then the switch assumes this function to elicit group membership information from the hosts on the network. (To disable the querier, use the CLI IGMP configuration MIB. See “Configuring the querier function”)

  • Report (join): A message sent by a host to the querier indicating that the host wants to be or is a member of a given group in the report message.

  • Leave group: A message sent by a host to the querier indicating that the host has ceased to be a member of a specific multicast group.

IGMP multicasting

IGMP identifies members of a multicast group within a subnet and lets IGMP-configured hosts and routers join or leave multicast groups based on the following:

  • An IP multicast packet includes the multicast group address to which the packet belongs.

  • When an IGMP client connected to a switch port needs to receive multicast traffic from a specific group, it joins the group by sending an IGMP report (join request) to the network. The multicast group specified in the join request is determined by the requesting application running on the IGMP client.

  • When a networking device with IGMP enabled receives the join request for a specific group, it forwards any IP multicast traffic it receives for that group through the port on which the join request was received.

  • When the client is ready to leave the multicast group, it sends a Leave Group message to the network and ceases to be a group member.

  • When the leave request is detected, the appropriate IGMP device ceases to transmit traffic for the designated multicast group through the port on which the leave request was received, as long as there are no other current members of that group on the affected port.

Displaying IGMP data.

To display data showing active group addresses, reports, queries, querier access port and active group address data (port, type and access), see the appendix on monitoring and analyzing switch operation in the management and configuration guide.

Supported standards and RFCs

The implementation of IGMP supports the following standards and operating capabilities:

  • RFC2236 (IGMP V.2 with backwards support for IGMP V.1).

  • IETF draft for IGMP and MLD snooping switches (for IGMP V1, V2 V3).

  • Full IGMPv2 support and full support for IGMPv1 Joins.

  • Ability to operate in IGMPv2 querier mode on VLANs with an IP address.

The implementation is subject to the following restrictions:

  • Interoperability with RFC3376 (IGMPv3).

  • Interoperability with IGMPv3 Joins. When the switch receives an IGMPv3 Join, it accepts the host request and begins forwarding the IGMP traffic. Thus ports that have not joined the group and are not connected to routers or the IGMP querier will not receive the group's multicast traffic.

  • No support for the IGMPv3 “Exclude Source” or “Include Source” options in Join Reports; the group is simply joined from all sources.

  • No support for becoming a version 3 querier. The switch becomes a version 2 querier in the absence of any other querier on the network.


[NOTE: ]

NOTE: IGMP is supported in the HPE MIB, not in standard IGMP MIBs, as the latter reduce Group Membership detail in switched environments.


Operation with or without IP addressing

You can configure IGMP on VLANs that do not have IP addressing. Using IGMP without IP addressing reduces the number of IP addresses you use and configure, significant in a network with many VLANs. The limitation on IGMP without IP addressing is that the switch cannot become querier on any VLANs for which it has no IP address; thus the network administrator must ensure that another IGMP device acts as querier. Hewlett Packard Enterprise also advises that an additional IGMP device be available as backup querier.

Comparison of IGMP operation with and without IP addressing

IGMP Function available with IP Addressing configured on the VLAN Available without IP Addressing? Operating Differences without an IP Address
Forward multicast group traffic to any port on the VLAN that has received a join request for that multicast group. Yes None
Forward join requests (reports) to the querier. Yes None
Configure individual ports in the VLAN to Auto (the default) Blocked, or Forward. Yes None
Configure IGMP traffic forwarding to normal or high-priority forwarding. Yes None
Age-Out IGMP group addresses when the last IGMP client on a port in the VLAN leaves the group. Yes Requires that another IGMP device in the VLAN have an IP address and can operate as querier. This can be a multicast router or another switch configured for IGMP operation. Hewlett Packard Enterprise recommends that the VLAN also include a device operating as a backup querier in case the device operating as the primary querier fails.
Support Fast-Leave IGMP (below) and Forced Fast-Leave IGMP. Yes
Support automatic querier election. No Querier operation not available.
Operate as the querier. No Querier operation not available.
Available as a backup querier. No Querier operation not available.

Automatic Fast-Leave IGMP

IGMP Operation Presents a “Delayed Leave” Problem. Where multiple IGMP clients are connected to the same port on an IGMP device (switch or router), if only one IGMP client joins a given multicast group, then later sends a Leave Group message and ceases to belong to that group, the IGMP device retains that IGMP client in its IGMP table and continues forwarding IGMP traffic to the IGMP client until the querier triggers confirmation that no other group members exist on the same port. Thus the switch continues to transmit unnecessary multicast traffic through the port until the querier renews its multicast group status.

Fast-Leave IGMP. Depending on the switch model, Fast-Leave is enabled or disabled in the default configuration (see IGMP: data-driven and non-data driven behavior.

IGMP: data-driven and non-data driven behavior

Switch Model or Series Data-Driven IGMP Included? IGMP Fast-Leave Setting Default IGMP Behavior
Switch 2500 Yes Always enabled Drops unjoined multicast traffic except for always-forwarded traffic toward the querier or multicast routers and out IGMP-forward ports. Selectively forwards joined multicast traffic.
Switch 2510-48
Switch 2520
Switch 2800
Switch 2810
Switch 3400cl
Switch 3500
Switch 3500yl
Switch 4200vl
Switch 5300xl
Switch 5400zl
Switch 6400cl
Switch 2510-24 No Disabled in the default configuration. IGMP Fast-Leave disabled in the default configuration. Floods unjoined multicast traffic to all ports. Selectively forwards joined multicast traffic.
Switch 2600
Switch 2600-PWR
Switch 4100gl
Switch 6108

When unregistered multicasts are received on switches that support Data-Driven IGMP (“Smart” IGMP), the switch automatically drops them. Thus the sooner the IGMP Leave is processed, the sooner this multicast traffic stops flowing.

On switches that do not support Data-Driven IGMP, unregistered multicast groups are flooded to the VLAN rather than pruned. In this scenario, Fast-Leave IGMP can actually increase the problem of multicast flooding by removing the IGMP group filter before the querier has recognized the IGMP Leave. The querier continues to transmit the multicast group during this short time and because the group is no longer registered the switch then floods the multicast group to all ports. Because of such multicast flooding, the IGMP Fast-Leave feature is disabled by default on all switches that do not support Data-Driven IGMP (see IGMP: data-driven and non-data driven behavior). The feature can be enabled on these switches using an SNMP set of the following object:

hpSwitchIgmpPortForceLeaveState.< vid >.< port number>

However, this is not recommended as this will increase the amount of multicast flooding during the period between the client's IGMP Leave and the querier's processing of that Leave. For more on this topic, see Forced Fast-Leave IGMP.

Automatic Fast-Leave Operation The Fast-Leave operation applies if a switch port has the following characteristics:

  • Is connected to only one end node.

  • Is an IGMP client (the end node currently belongs to a multicast group).

  • The end node subsequently leaves the multicast group.

The switch does not need to wait for the querier status update interval but instead immediately removes the IGMP client from its IGMP table and ceases transmitting IGMP traffic to the client. (If the switch detects multiple end nodes on the port, automatic Fast-Leave does not activate – regardless of whether one or more of these end nodes are IGMP clients.)

In Automatic Fast-Leave IGMP Criteria, automatic Fast-Leave operates on the switch ports for IGMP clients “3A” and “5A”, but not on the switch port for IGMP clients “7A” and 7B, Server “7C” and printer “7D”.

Automatic Fast-Leave IGMP Criteria

When client “3A” running IGMP is ready to leave the multicast group, it transmits a Leave Group message. Because the switch knows that there is only one end node on port 3, it removes the client from its IGMP table and halts multicast traffic (for that group) to port 3. If the switch is not the querier, it does not wait for the actual querier to verify that there are no other group members on port 3. If the switch itself is the querier, it does not query port 3 for the presence of other group members.


[NOTE: ]

NOTE: Fast-Leave operation does not distinguish between end nodes on the same port that belong to different VLANs. Thus even if all devices on port 6 in Automatic Fast-Leave IGMP Criteria belong to different VLANs, Fast-Leave does not operate on port 6.


Using delayed group flush

This feature continues to filter IGMP-Left groups for a specified additional time. Delay in flushing the group filter prevents stale traffic from being forwarded by the server. Delayed group flush is enabled or disabled for the entire switch.

Syntax: igmp delayed-flush <time period>

Enables the switch to continue to flush IGMP-Left groups for a specified period of time (0 - 255 seconds). The default setting is Disabled. To disable, reset the time period to zero.

Syntax: show igmp delayed-flush

Displays the current setting for the switch.

Forced Fast-Leave IGMP

Forced Fast-Leave IGMP speeds up the process of blocking unnecessary IGMP traffic to a switch port that is connected to multiple end nodes. (This feature does not activate on ports where the switch detects only one end node.) For example, in Automatic Fast-Leave IGMP Criteria, even if you configured Forced Fast-Leave on all ports in the switch, the feature would activate only on port 6 (which has multiple end nodes) when a Leave Group request arrived on that port.

When a port having multiple end nodes receives a Leave Group request from one end node for a given multicast group “X”, Forced Fast-Leave activates and waits a short time to receive a join request from any other group “X” member on that port. If the port does not receive a join request for that group within the forced-leave interval, the switch then blocks any further group “X” traffic to the port.

Setting Fast-Leave and Forced Fast-Leave from the CLI

Previous, Fast-Leave and Forced Fast-Leave options for a port were set exclusively through the MIB. The following commands now allow a port to be configured for Fast-Leave or Forced Fast-leave operation from the CLI. These commands must be executed in a VLAN context.

Syntax: [no] ip igmp fastleave <port-list>

Enables IGMP Fast-Leaves on the specified ports in the VLAN (the default setting). In the Config context, use the VLAN specifier <vid>, for example, vlan < vid >ip igmp fastleave <port-list>. The “no” form disables Fast-Leave on the specified ports.

Syntax:[[no]] ip igmp forcedfastleave <port-list>

Forces IGMP Fast-Leaves on the specified ports in the VLAN, even if they are cascaded.

To view the IGMP Fast-Leave status of a port use the show running-config or show config command.

Setting Forced Fast-Leave using the MIB

Fast-Leave and Forced Fast-Leave options for a port can also be set through the switch MIB (Management Information Base).

Forced Fast-Leave States

Feature Default Settings Function
Forced Fast-Leave state 2 (disabled) 1 (enabled) Uses the setmib command to enable or disable Forced Fast-Leave on individual ports. When enabled on a port, Forced Fast-Leave operates only if the switch detects multiple end nodes (and at least one IGMP client) on that port
  2 (disabled)

[NOTE: ]

NOTE: VLAN Numbers

In the switches covered in this manual, the walkmib and setmib commands use an internal VLAN number, not the VLAN ID or VID, to display or change many per-vlan features, such as the Forced Fast-Leave state. Because the internal VLAN number for the default VLAN is always 1, whether or not VLANs are enabled on the switch, examples herein use the default VLAN.


Listing the MIB-Enabled Forced Fast-Leave configuration

Forced Fast-Leave configuration data available in the switch MIB includes the state (enabled or disabled) for each port and the Forced-Leave Interval for all ports on the switch.

To List the Forced Fast-Leave State for all Ports in the Switch. In the CLI, use the walkmib command, as shown below.

Enter either of the following walkmib commands (generic or explicit):

walkmib hpSwitchIgmpPortForcedLeaveState (generic command)

OR

walkmib 1.3.6.1.4.1.11.2.14.11.5.1.7.1.15.3.1.5 (explicit command)

The result shows the Forced Fast-Leave state for all ports in the switch, by VLAN. (A port belonging to more than one VLAN is shown once for each VLAN; if multiple VLANs are not configured, all ports are shown as members of the default VLAN.) For example, Forced Fast-Leave output where all ports are members of the default VLAN shows output of the walkmib command.

Forced Fast-Leave output where all ports are members of the default VLAN

To show the Forced Fast-Leave state for a single port (See “Note”.)

Use the following getmib command (see Forced Fast-Leave state for a single port on the default VLAN.

Syntax:

getmib hpSwitchIgmpPortForcedLeaveState.<vlan number><.port number>

OR

getmib 1.3.6.1.4.1.11.2.14.11.5.1.7.1.15.3.1.5.<vlan number><.port number>

For example, the following getmib command shows the state for port 6 on the default VLAN.

Forced Fast-Leave state for a single port on the default VLAN

Configuring per-port Forced Fast-Leave IGMP

In the factory-default configuration, Forced Fast-Leave is disabled for all ports on the switch. To enable (or disable) this feature on individual ports, use the switch setmib command.

Configuring Per-Port Forced Fast-Leave IGMP on Ports. This procedure enables or disables Forced Fast-Leave on ports in a given VLAN.

switch(config)# setmib hpswitchigmpportforcedleavestate.1.6 -i 1
hpSwitchIgmpPortForcedLeaveState.1.6 = 2

where 1 in .1.6 is the default VLAN, 6 in .1.6 indicates port 6 and = 2 verifies Forced Fast-Leave disabled.


[NOTE: ]

NOTE: TO REVIEWERS: there is an inconsistency here in the source manual: -i 1 is missing from the screen capture above. Which is correct?


Syntax:

setmib hpSwitchIgmpPortForcedLeaveState.< vlan number >< .port number >-i < 1 | 2 >

OR

setmib 1.3.6.1.4.1.11.2.14.11.5.1.7.1.15.3.1.5.< vlan number >< .port number > -i < 1 | 2 >

where:

Forced Fast-Leave values

1 Enabled
2 Disabled

For example, suppose that your switch has six ports as members of the default VLAN. To enable Forced Fast-Leave on port 6, you would execute the following command to obtain the result.

Changing the Forced Fast-Leave Configuration on Port 6.

switch(config)# setmib hpswitchigmpportforcedleavestate.1.6 -i 1
hpSwitchIgmpPortForcedLeaveState.1.6 = 1

where 1 in .1.6 is the default VLAN, 6 in .1.6 indicates port 6 and = 1 verifies Forced Fast-Leave enabled.