How IGMP operates

IGMP is an internal protocol of the IP suite. IP manages multicast traffic by using switches, multicast routers, and hosts that support IGMP. A multicastrouter is not necessary as long as a switch is configured to support IGMP with the querier feature enabled. A set of hosts, routers, and/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. The multicast group running version 2 of IGMP uses three fundamental types of messages 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 a multicast router supporting IGMP is not present, the switch must assume this function to elicit group membership information from the hosts on the network. If you need to disable the querier feature, do so through the CLI using the IGMP configuration MIB, see Configuring the querier function.

Report (Join)

A message sent by a host to the querier to indicate that the host wants to be or is a member of a given group indicated in the report message.

Leave group

A message sent by a host to the querier to indicate that the host has ceased to be a member of a specific multicast group.


[NOTE: ]

NOTE: IGMP version 3 support: When an IGMPv3 Join is received by the switch, it accepts the host request and begins to forward the IGMP traffic. This means that 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.

The switch does not support the IGMPv3 "Exclude Source" or "Include Source" options in the Join Reports. Rather, the group is simply joined from all sources.

The switch does not support becoming a version 3 Querier. It becomes a version 2 Querier in the absence of any other Querier on the network.


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 transmitting 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.)

Thus, IGMP identifies members of a multicast group (within a subnet) and allows IGMP-configured hosts (and routers) to join or leave multicast groups.

To display IGMP data showing active group addresses, reports, queries, querier access port, and active group address data (port, type, and access), see section "Internet Group Management Protocol (IGMP) Status" in appendix B, "Monitoring and Analyzing Switch Operation" of the Management and Configuration Guide for your switch.

Operation with or without IP addressing

You can configure IGMP on VLANs that do not have IP addressing. The benefit of IGMP without IP addressing is a reduction in the number of IP addresses you have to use and configure. This can be significant in a network with a large number of 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—so the network administrator must ensure that another IGMP device will act as Querier. It is also advisable to have an additional IGMP device available as a backup Querier. See Comparison of IGMP operation with and without IP addressing.

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 has an IP address and can operate as Querier. This can be a multicast router or another switch configured for IGMP operation. (HP recommends that the VLAN also include a device operating as a backup Querier in case the device operating as the primary Querier fails for any reason.)
Support Fast-Leave IGMP and Forced Fast-Leave IGMP (below.) 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

Depending on the switch model, fast-leave is enabled or disabled in the default configuration.

Switch model or series Data-driven IGMP included? IGMP fast-leave setting Default IGMP behavior

Switch 8200zl

Switch 6600

Switch 6400cl

Switch 6200yl

Switch 5400zl

Switch 5300xl

Switch 4200vl

Switch 3500

Switch 3500yl

Switch 3400cl

Switch 2910

Switch 2900

Switch 2610

Switch 2510

Switch 2500

Yes Always Enabled Drops unjoined mulitcast traffic except for always-fowarded traffic toward the Querier or multicast routers and out of IGMP-forward ports. Selectively forwards joined multicast traffic, except on IGMP-forward ports, which forward all multicast traffic.
Switch 2600

Switch 2600-PWR

Switch 4100gl

Switch 6108

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, except on IGMP-forward ports, which forward all multicast traffic.

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 will continue to transmit the multicast group during this short time, and because the group is no longer registered, the switch will then flood the multicast group to all ports.

On HP switches that do support data-driven IGMP ("Smart" IGMP), when unregistered multicasts are received the switch automatically filters (drops) them. Thus, the sooner the IGMP leave is processed, the sooner this multicast traffic stops flowing.

Because of the multicast flooding problem mentioned above, the IGMP fast-leave feature is disabled by default on all HP switches that do not support data-driven IGMP (see the table above.) The feature can be enabled on these switches via an SNMP set of this object:

hpSwitchIgmpPortForceLeaveState.<

vid>.<

port number>

However, HP does not recommend this because it 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 information on this topic, see Forced fast-leave IGMP.

If a switch port has the following characteristics, the fast-leave operation will apply:

  • Connected to only one end node.

  • The end node currently belongs to a multicast group, that is, is an IGMP client.

  • The end node subsequently leaves the multicast group.

Then 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 Example of 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."

Example of automatic fast-leave IGMP criteria

Example of 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 A3, it removes the client from its IGMP table and halts multicast traffic (for that group) to port A3. 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 A3. If the switch itself is the Querier, it does not query port A3 for the presence of other group members.

Fast-leave operation does not distinguish between end nodes on the same port that belong to different VLANs. Thus, for example, even if all of the devices on port A6 in Example of automatic fast-leave IGMP criteria belong to different VLANs, fast-leave does not operate on port A6.

Default (enabled) IGMP operation solves the "delayed leave" problem

Fast-leave IGMP is enabled by default. When fast-leave is disabled and 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 switch automatically 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. This delayed leave operation means that the switch continues to transmit unnecessary multicast traffic through the port until the Querier renews multicast group status.

Configuring fast-leave IGMP

For information about fast-leave IGMP, see Automatic fast-leave IGMP.

Syntax:

[no] ip igmp fastleave <port-list>

Enables IGMP fast-leaves on the specified ports in the selected VLAN.

The no form of the command disables IGMP fast-leave on the specified ports in the selected VLAN.

Use show running to display the ports per-VLAN on which fast-leave is disabled.

Default: Enabled

Forced fast-leave IGMP

When enabled, forced fast-leave IGMP speeds up the process of blocking unnecessary IGMP traffic to a switch port that is connect ed to multiple end nodes. (This feature does not activate on ports where the switch detects only one end node.) For example, in Example of 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 A6 (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 small amount of 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.

Configuring forced fast-leave IGMP

For information about forced fast-leave, see Forced fast-leave IGMP.

Syntax:

[no] vlan <vid> ip igmp forcedfastleave <port-list>

Enables IGMP forced fast-leave on the specified ports in the selected VLAN, even if they are cascaded.

The no form of the command disables forced fast-leave on the specified ports in the selected VLAN.

Use show running to display the ports per-VLAN on which forced fast-leave is enabled.

Default: Disabled

show running-config

Displays a non-default IGMP forced fast-leave configuration on a VLAN. The show running-config output does not include forced fast-leave if it is set to the default of 0.

forcedfastleave

Can be used when there are multiple devices attached to a port.

Configuring fast learn

The fast learn option allows fast convergence of multicast traffic after a topology change. This command is executed in the global config context.

Syntax:

[no] igmp fastlearn <port-list>

This command enabled fast learn on the specified ports. The no form of the command disables the fast learn function on the specified ports.

Default: Disabled

Example:

To enable fastlearn on ports 5 and 6:

HP Switch(config)# igmp fastlearn 5-6

Configuring delayed group flush

When enabled, this feature continues to filter IGMP groups for a specified additional period of time after IGMP leaves have been sent. The delay in flushing the group filter prevents unregistered traffic from being forwarded by the server during the delay period. In practice, this is rarely necessary on the switches, which support data-driven IGMP. (Data-driven IGMP, which is enabled by default, prunes off any unregistered IGMP streams detected on the switch.)

Syntax:

igmp delayed-flush <0-255>

Where leaves have been sent for IGMP groups, enables the switch to continue to flush the groups for a specified period of time. This command is applied globally to all IGMP-configured VLANs on the switch.

Range: 0 - 255; Default: Disabled (0)

Syntax:

show igmp delayed-flush

Displays the current igmp delayed-flush setting.