[Top] [Prev] [Next] [Bottom]

Using IGMP


This document describes the Nx Networks implementation of the Internet Group Management Protocol (IGMP). It includes the following sections:

Introducing IGMP

Displaying the IGMP Prompts

Configuring IGMP

IGMP Commands

Introducing IGMP

IP multicast lets an IP host send a single datagram that is then delivered to multiple destinations. IP multicast datagrams all have Class D IP addresses as their destination address. Each Class D address defines a multicast group.

IP supports dynamic multicast through multicast extensions to OSPF (Open Shortest Path First) and DVMRP (Distance Vector Multicast Routing Protocol). Nx Networks routers running OpenROUTE 5.6 also support static multicast routes on a standalone IP interface.

The Internet Group Management Protocol (IGMP) is useful by itself or as an MOSPF (Multicast Extension to OSPF) or DVMRP extension that lets an IP host participate in IP multicasting. IGMP lets a router keep track of IP group membership on its local LANs by sending IGMP Host Membership Queries and receiving IGMP Host Membership Reports. An MOSPF or DVMRP router then distributes information on the location of groups throughout its routing domain. This enables routers to efficiently send a multicast datagram to its multiple destinations.

Normally, IP sends no IGMP queries on a router interface unless that interface is a LAN interface and the interface is running either DVMRP or MOSPF. However, if Standalone IGMP is enabled, IGMP can run on any physical interface (even on WANs). Any entries in the IGMP database on the interface directly contribute to the IP multicast forwarding table of the router, even if MOSPF or DMVRP are not running on the interface.

You can enable or disable standalone IGMP on an interface anytime, and you can configure the multicast IP address in the IGMP database for the interface. This has the effect of permanently configuring the multicast IP address in the IGMP database for the interface as if an end station on the interface were permanently reporting the multicast address to IGMP.

Displaying the IGMP Prompts

You access IGMP from the IP, OSPF, or DVMRP prompts.

Displaying the IGMP Prompts from DVMRP

To display the IGMP configuration prompt from the DVMRP prompt,

Config>protocol dvmrp
DVMRP Config>igmp

Internet Group Management Protocol Configuration
IGMP Config>

To display the IGMP monitoring prompt from the DVMRP prompt,

Monitor>protocol dvmrp

DVMRP>igmp
Internet Group Management Protocol Console

IGMP>

Displaying the IGMP Prompts from OSPF

To display the IGMP configuration prompt from the OSPF prompt,

Config>protocol ospf
Open SPF-Based Routing Protocol configuration console

OSPF Config>igmp
Internet Group Management Protocol Configuration

IGMP Config>

To display the IGMP monitoring prompt from the OSPF monitoring prompt,

OSPF>igmp
Internet Group Management Protocol Console

IGMP>

Displaying the IGMP Prompts from IP

To display the IGMP configuration prompt from the IP prompt,

Config>protocol ip
IP Config>igmp
Internet Group Management Protocol Configuration

IGMP Config>

To display the IGMP monitoring prompt from the IP monitoring prompt,

IP>igmp
Internet Group Management Protocol Console

IGMP>

Configuring IGMP

For dynamic IGMP to run on an interface, you must configure MOSPF or DVMRP on the interface. If you enable multicast on an OSPF interface or enable DVMRP on an interface, the router automatically enables IGMP on those interfaces.

For static IGMP to run on an interface, you enable standalone IGMP on an IP interface using the enable standalone-IGMP command. You permanently configure a multicast IP address for the interface using the join interface command.

The default IGMP settings work for most configurations.

IGMP Commands

This section describes the IGMP commands.

Press Space twice after you type a command to display the available parameters for each command. Enter help for information about using the command line interface.

[C] means the command is available at the IGMP Config> prompt.

[M] means the command is available at the IGMP> prompt.

See Displaying the IGMP Prompts.

Table 17 IGMP Commands

Command Description
Clear-Config [C] Resets the IGMP configuration to standard defaults.

Clear-Counters [M] Resets all IGMP counters to zero.

Disable IGMP [C] [M] Turns off dynamic IGMP for an interface.

Disable Standalone-IGMP [C] [M] Turns off standalone IGMP for an interface.

Enable IGMP [C] [M] Turns on dynamic IGMP for an interface.

Enable Standalone-IGMP [C] [M] Turns on standalone IGMP for an interface.

Join Interface [C] [M] Permanently configures the multicast IP address of a standalone interface in the IGMP database.

Join Router-Internal [C] [M] Establishes the router as a member of a multicast group.

Leave Interface [C] [M] Removes the interface's membership in a multicast group.

Leave Router-Internal [C] [M] Removes the router's membership in a multicast group.

Mgroups [M] Displays group membership information on the router's interfaces.

Restore [M] Restores current configuration from permanent memory.

Save [M] Saves changes you make at the IGMP> prompt to permanent memory.

Set [C] [M] Sets various IGMP parameters.

Clear-Config [C]

Resets the IGMP configuration to default values.

Example: clear-config

Delete IGMP config entries(Yes or [No]): y
IGMP config memory deleted. IGMP standard default values will be used.
Restarting the router, or doing IGMP>restore, then IGMP>save
will recreate the config records with the default values.

Clear-Counters [M]

Sets all IGMP counters to zero. This can be useful during IGMP analysis.

Example: clear-counters

Disable IGMP [C] [M]

Turns off IGMP for an interface running DVRP or MOSPF for multicasting, which means that the interface does not detect multicast hosts. At the IGMP> prompt, disable causes the local group database to age out immediately.

Syntax: disable igmp

Example: disable igmp

Interface number [0]?

Disable Standalone-IGMP [C] [M]

Turns off IGMP for an interface that has standalone IGMP configured.

Syntax: disable standalone-IGMP interface#

Example: disable standalone-IGMP 0

Enable IGMP [C] [M]

Turns on IGMP for an interface that is running DVMRP or MOSPF, which means that the interface detects multicast hosts.

Note: For IGMP to run on an interface, you must configure either MOSPF or DVMRP on the interface.

Syntax: enable igmp

Example: enable igmp

Interface number [0]?

Enable Standalone-IGMP [C] [M]

Turns on standalone IGMP for an interface that is not running DVMRP or MOSPF. This ensures that permanent IGMP database entries created by the join interface command are always considered in the IP multicast forwarding table of the router.

Syntax: enable standalone-IGMP interface#

Example: enable standalone-IGMP 0

Join Interface [C] [M]

Permanently configures the multicast IP address in the IGMP database for the interface as if it were an end station on the interface that is permanently reporting the multicast address to IGMP. To ensure that the permanent IGMP database entries are always considered in the IP multicast forwarding table of the router be sure to also enable standalone-igmp.

You can enter join interface at either the configuration prompt or the monitoring prompt. There are three differences when you enter join interface at the monitoring prompt:

Syntax: join interface multicast-group-address interface#

Example: join interface 128.185.0.0 0

Join Router-Internal [C] [M]

Establishes the router as a member of a multicast group. When the router is the member of a multicast group, it responds to ping requests and SNMP queries sent to the group address.

You can enter join router-internal at either the configuration prompt or the monitoring prompt. There are three differences when you enter join router-internal at the monitoring prompt:

Syntax: join router-internal multicast-group-address

Example: join router-internal

Group address [0.0.0.0]? 128.185.0.0

Leave Interface [C] [M]

Removes the interface's multicast IP address from the IGMP database. You can enter leave interface at either the configuration prompt or the monitoring prompt. There are three differences when you enter leave interface at the monitoring prompt:

Syntax: leave interface multicast-group-address interface

Example: leave interface 128.185.0.0 0

Leave Router-Internal [C] [M]

Removes the router's membership in a multicast group. This keeps the router from responding to ping requests and SNMP queries sent to the group address.

You can enter leave at either the configuration prompt or the monitoring prompt. There are three differences when you enter leave at the monitoring prompt:

Syntax: leave router-internal

Example: leave router-internal

Enter the address to be deleted [0.0.0.0]? 128.185.0.0

List [C] [M]

This section explains list commands available at the IGMP configuration and monitoring prompts.

List [C]

This section explains list commands available at the IGMP configuration prompt.

Syntax: list

all
interfaces
joins

all

Displays the IGMP configuration for each IGMP interface in the router, along with a list of IGMP groups to which the router or standalone interface belongs.

Example: list all

Stand General General Leave
IGMP Alone Leave Query Query Query
Ifc Enabled IGMP Version Processing Interval Attempts Attempts
0 Y N 2 Compatible 125 2 2


Multicast Joined
Group Interface
224.1.4.5 0

Ifc

Interface number.

IGMP Enabled

If yes, IGMP runs on this interface as long as you have configured a multicast protocol, either MOSPF or DVMRP, on the interface.

If no, IGMP does not run on this interface and the interface does not detect multicast hosts.

Standalone IGMP Enabled

If yes, standalone IGMP runs on this interface.

If no, standalone IGMP does not run on this interface.

Version

Shows which version of IGMP, version 1 or version 2, is running.

See set version.

Leave Processing

Compatible, the default, means that the interface processes Leave Requests for a multicast group as long as there are no IGMP version 1 hosts in the group.

See set leave processing.

General Query Interval

The rate, in seconds, at which this interface sends General IGMP Queries.

See set query-interval-general

General Query Attempts

The number of General Queries the interface sends with no response before it ages out a multicast group.

See set general-query-attempts.

Leave Query Attempts

The number of Specific Queries the interface sends with no response before it ages out a multicast group during Leave processing.

See set leave-query-attempts.

Multicast Group

Shows group memberships you configured for the router or standalone interface using the join command.

Joined Interface

Shows the interface or standalone interface that is a member of the multicast group.

interfaces

Shows the configuration of each IGMP interface. For a description of this display, see list all.

Example: list interfaces

Stand General General Leave
IGMP Alone Leave Query Query Query
Ifc Enabled IGMP Version Processing Interval Attempts Attempts
0 Y N 2 Compatible 125 2 2

joins

Shows group memberships you configured for the router or standalone interface using the join router-internal or join interface command.

Example: list joins

Multicast Joined
Group Interface
224.1.4.5 1

List [M]

This section explains list commands available at the IGMP monitoring prompt.

Syntax: list

all
config
interfaces

all

Shows the current IGMP configuration along with the current status of active multicast groups.

Example: list all

General General Leave
Leave Query Query Query
Interface Enabled Version Processing Interval Attempts Attempts
1(Eth/0) Y 2 Compatible 125 2 2

Interface Active Querier Querier Entries:
IP Address Interface Up Users IP Address Age In-Use Freed
128.185.36.1 2(Eth/1) Y M 128.185.36.1 0 5 32

Active User Flags: M=MOSPF D=DVMRP

Interface Interface Queries Queries --Queries Rcvd-- Reports
IP Address Name Sent Rcvd Unexp DiffVer Rcvd
128.185.36.1 2(Eth/1) 12775 26611 26611 26611 53112

The first section of this display shows the IGMP configuration. The following is a description of the fields displayed in this section.

Interface

The number and type of interface.

Enabled

If Y, IGMP runs on this interface as long as you have configured a multicast protocol, either MOSPF or DVMRP, on the interface.

If N, IGMP does not run on this interface and the interface does not detect multicast hosts.

Version

Shows which version of IGMP, version 1 or version 2, is running.

See set version.

Leave Processing

Compatible, the default, means that the interface processes Leave Requests for a multicast group as long as there are no IGMP version 1 hosts in the group.

See set leave processing.

General Query Interval

The rate, in seconds, at which this interface sends General IGMP Queries.

See set query-interval-general

General Query Attempts

The number of General Queries the interface sends with no response before it ages out a multicast group.

See set general-query-attempts.

Leave Query Attempts

The number of Specific Queries the interface sends with no response before it ages out a multicast group during Leave processing.

See set leave-query-attempts.

The remainder of the display shows the actual status of each IGMP interface that is running in the router. The following is a description of these fields.

Interface IP Address

The IP address that IGMP is using as its source address for this interface.

Interface

The number and type of the interface.

Up

If Y, IGMP is running on the interface.

If N, IGMP is not running on the interface. There are a several reasons IGMP may not be running on the interface:

1. IGMP is disabled.

2. There is no multicast protocol, MOSPF or DVMRP, configured on the interface.

3. The interface is down.

Active users

Shows what multicast protocols, M (MOSPF) or D (DVMRP), are actively using the multicast group information from the IGMP local group database.

Note: MOSPF may not be actively using IGMP if the router is not the designated router. In this case, the software does not display an M.

Querier IP Address

The IP address of the querier for this interface. The querier is the router with the lowest IP address. A router assumes that it is the querier until it learns of another router with a lower IP address.

Querier Age

The number of seconds until IGMP assumes the querier is no longer present and ages out the querier. If the querier is another router, then it is aged so that if the querier is no longer present, this router assumes the role of querier.

The age is refreshed each time IGMP receives a Query from the querier. If this router is currently the querier, this field has no meaning.

Entries In-Use

Multicast groups currently active on this interface. To display detail about the multicast groups, enter the mgroups command.

Entries Freed

Multicast groups that were previously active on this interface and have aged out. This number gives an indication of past IGMP activity.

Queries Sent

Queries sent, general or specific.

Queries Rcvd

Queries received, general or specific.

Queries Rcvd Unexp

Queries received while this router believed that it was the querier. Some of these occur at the normal processing of negotiation of the querier. A large number indicates a query negotiation problem.

Queries Rcvd DiffVer

Queries received that were a different version of IGMP.

Reports Rcvd

IGMP reports received, IGMPv1 or IGMPv2.

config

Shows the current IGMP configuration that is saved in the router's configuration memory.

Example: list config

General General Leave
Leave Query Query Query
Interface Enabled Version Processing Interval Attempts Attempts
0(Eth/0) Y 2 Compatible 125 2 2

interfaces

Displays the current of status and statistics of IGMP on the each of the router's interfaces. See list all for a description of these fields.

Example: list interfaces

Interface Active Querier Querier Entries:
IP Address Interface Up Users IP Address Age In-Use Freed
192.168.6.6 0(Eth/0) N M 192.168.6.6 0 2 3

Active User Flags: M=MOSPF D=DVMRP

Interface Interface Queries Queries --Queries Rcvd-- Reports
IP Address Name Sent Rcvd Unexp DiffVer Rcvd
192.168.6.6 0(Eth/0) 12775 26611 26611 26611 53114

Mgroups [M]

Displays the group membership of the router's interfaces. Includes the group membership only for interfaces on which the router is either designated router or backup designated router.

Syntax: mgroups

Example: mgroups

Local multicast group entries: in-use: 1 freed: 3
Multicast Reported Expire v1 Leave
Group Interface UpTime Last By Time Age Age
224.185.0.0 Internal 565 128.185.3.108 109 109 0

Multicast Group

The IP address of the multicast group that IGMP has detected.

Interface

The interface on which IGMP detected the multicast group. The router can detect a multicast group on one than one interface. Internal means you defined the multicast group with the join command.

UpTime

Number of seconds IGMP since detected the multicast group. Multicast traffic for this group should have been forwarded continuously to this interface for this amount of time.

Reported Last By

The IP address of the last host to report membership in this multicast group. This field is not meaningful for Internal interfaces.

Expire Time

Number of seconds before this group expires unless the interface receives an IGMP membership report. When the interface receives a report, this field is refreshed to the membership timeout value, which defaults to 260.

v1 Age

If the IGMP interface has detected an IGMPv1 host, this field is non-zero. It ages out to zero, at which time, no IGMPv1 hosts are considered to be present. Each time the interface receives an IGMPv1 membership report, IGMP refreshes the v1 age to the membership timeout value, which defaults to 260 seconds. The presence of a IGMPv1 host in the group is significant because the router does not perform Leave processing if IGMPv1 hosts are present in the group.

Leave Age

During Leave processing, this is the number of seconds left before IGMP ages out the group unless the IGMP interface receives a membership report for this group. Since Leave processing happens so quickly, it is rare to see anything except 0 in this field.

Restore [M]

If you make configuration changes at the IGMP> prompt, this command restores the saved configuration from permanent memory.

Note: This command does not affect the join configuration.

Syntax: restore

Example: restore

This will overwrite your existing runtime configuration.
Continue? (Yes or [No]): yes
Restore complete

Save [M]

Saves changes you make at the IGMP> prompt to permanent memory so they are still present after you restart the router.

Note: This command does not affect the join configuration.

Syntax: save

Example: save

This will overwrite your existing saved configuration.
Continue? (Yes or [No]): yes
Save complete

Set [C] [M]

Sets intervals and timeouts for query attempts, determines how IGMP handles Leave requests, and sets the version of IGMP to run, version 1 or version 2.

Syntax: set

general-query-attempts
leave-processing
leave-query-attempts
query-interval-general
version

general-query-attempts

This parameter along with the General Query Interval determine when IGMP ages out its membership in a multicast group.

The group membership ageout time is the General Query Interval multiplied by the General Query Attempts, plus 10 extra seconds to ensure enough time to receive a response to the last query.

By default, IGMP sends two general query attempts at an interval of 125 seconds. The ageout time for a multicast group using the IGMP defaults is:

(125 seconds * 2 attempts) + 10 = 260 seconds

These default settings cause IGMP to send a General Query every 125 seconds. After sending the second query, if IGMP does not receive a response within 10 seconds, it ages out the multicast group.

Example: set general-query-attempts

Interface number [0]?
General Query attempts before expiration (2-20) [2]?

leave processing

Determines how IGMP handles Leave requests for a multicast group. The Leave Processing setting only has meaning if you are running Version 2 of IGMP.

There are three settings available. The default setting of Compatible should work for all situations since it is designed for backward compatibility. However, for workarounds, you can use the settings Always and Never described below.
Compatible

This is the default. It means that the interface processes Leave Requests for a multicast group as long as there are no version 1 hosts present in the multicast group.

Always

The interface always processes Leave Requests.

Never

The interface never processes Leave Requests.

Example: set leave-processing always

Interface number [0]?

leave-query-attempts

The number of Specific Queries the IGMP interface sends with no response before IGMP ages out a multicast group during Leave processing.

The default is 2. You can increase the attempts if 2 is not enough retries for some hosts on the interface.

The interface sends Specific Queries at one second intervals. Therefore, once Leave processing starts, IGMP ages out the multicast group in approximately two seconds if no member of the multicast group responds.

Example: set leave-query-attempts

Interface number [0]?
Specific Query attempts before LEAVE expiration (2-20) [2]?

query-interval-general

The rate at which this interfaces sends general IGMP queries. The range is 3 to 3600 seconds. The default is 125 seconds.

The group membership ageout time is the General Query Interval multiplied by the General Query Attempts, plus 10 extra seconds to ensure enough time to receive a response to the last query.

By default, IGMP sends two general query attempts at an interval of 125 seconds. The ageout time for a multicast group using the IGMP defaults is:

(125 seconds * 2 attempts) + 10 = 260 seconds

These default settings cause IGMP to send a General Query every 125 seconds. After sending the second query, if IGMP does not receive a response within 10 seconds, it ages out the multicast group.

Example: set query-interval-general

Interface number [0]?
Query Interval (3-3600) [125]?

version

Sets which version of IGMP to run, version 1 or version 2. Version 2, the default, should always work since IGMPv2 is backward compatible with IGMPv1 hosts or routers. You may need to use version 1 for interoperability workarounds.

Example: set version

Interface number [0]?
Version (1-2) [2]?



[Top] [Prev] [Next] [Bottom]

Copyright © 2001, Nx Networks, Inc. All rights reserved.