Internet Group Management Protocol (IGMP)

IGMP was primarily designed for hosts on multi-access networks to inform locally attached routers of their group membership information. This is performed by hosts multicasting IGMP Host Membership Reports. Multicast routers listen for these messages and then can exchange group membership information with other multicast routers. This allows distribution trees to be formed to deliver multicast datagrams. The original version of IGMP was defined in Host Extensions for IP Multicasting.

Extensions to IGMP have been developed and released in later releases of the IP Multicast distribution from Xerox PARC. These extensions, known as IGMP version 2, include explicit leave messages for faster pruning and multicast traceroute messages. GATED is aware of both IGMP Version 1 and Version 2 messages. However, the multicast traceroute features have not yet been implemented. Of course, this will be done "real soon now".


The IGMP Statement

igmp yes | no | on | off [ {
    queryinterval sec ;
    timeoutinterval sec ;
    interface interface_list enable | disable;
    traceoptions trace_options ;
} ] ;

The igmp statement enables or disables the IGMP protocol. If the igmp statement is not specified the default is igmp off; If enabled, IGMP will default to enabling all interfaces that are both broadcast and multicast capable. These interfaces are indentified by the IFF_BROADCAST and IFF_MULTICAST interface flags. IGMP must be enabled before one of the IP Multicast routing protocols are enabled.

The options are as follows:

queryinterval sec
This is the interval at which IGMP Host Membership Queries are sent if this router is elected the designated querier for the LAN. If not specified, the default value is 125 seconds.
timeoutinterval sec
This is the longest interval that a group will remain in the local group database without receiving a Host Membership Report. If not specified, the default value is 270 seconds. It is calculated as 2*(queryinterval + 10). The 10 seconds is the variation that hosts use when sending Host Membership Reports. If the value of queryinterval is specified and the timeout interval is not specified, gated will use this formula to calculate an appropriate timeout interval. However, if a timeout interval is specified, it will override any calculated value.
interface interface_list
Enables or disables IGMP on this interface or list of interfaces.

Currently, the gated implementation of IGMP cannot detect when there are multiple addresses configured on the same physical interface. It will send IGMP messages to each logical network. This should be fixed in a future release.

The possible parameters are:

disable
Specifies that IGMP packets received via the specified interface will be ignored. The default is to listen to IGMP on all interfaces.
enable
This is the default. This argument may be necessary when disable is used on a wildcard interface descriptor.
traceoptions trace_options
Specifies the tracing options for IGMP. (See Trace Statements and the IGMP specific tracing options below.)

Tracing options

Packet tracing options (which may be modified with detail, send or recv):
packets
All IGMP packets.
query
IGMP Host Membership Query packets
report
IGMP Host Membership Reports and New Host Membership Reports
leave
IGMP Host Leave messages
mtrace
IGMP Multicast trace route request and response packets plus Cisco multicast trace messages.

Sample IGMP configurations

See the sample multicast router configurations.
Last updated 1995/10/12 20:26:52.

pusateri@netedge.com