[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 multicast through multicast extensions to OSPF (Open Shortest Path First) and DVMRP (Distance Vector Multicast Routing Protocol).

The Internet Group Management Protocol (IGMP) is the 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.

Displaying the IGMP Prompts

Since you use IGMP with the MOSPF or DVMRP multicast protocols, you access IGMP from either the 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>

Configuring IGMP

For IGMP to run on an interface, you must configure either 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. The default IGMP settings should 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 1 IGMP Commands

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

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

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

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

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

Leave [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 [C] [M]

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

Example: disable

Syntax: disable

Interface number [0]?

Enable [C] [M]

Turns on IGMP for an interface, 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

Example: enable

Interface number [0]?

Join [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 at either the configuration prompt or the monitoring prompt. There are three differences when you enter join at the monitoring prompt:

Syntax: join multicast-group-address

Example: join

Group address [0.0.0.0]? 128.185.0.0

Leave [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

Example: leave

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 belongs.

Example: list all

General General Leave
Leave Query Query Query
Ifc Enabled Version Processing Interval Attempts Attempts
0 Y 2 Compatible 125 2 2

Group memberships for the router itself:
234.5.5.6

Ifc

Interface number.

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.

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.

Group memberships for the router itself

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

interfaces

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

Example: list interfaces

General General Leave
Leave Query Query Query
Ifc Enabled Version Processing Interval Attempts Attempts
0 Y 2 Compatible 125 2 2

joins

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

Example: list joins

Group memberships for the router itself:
234.5.5.6

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 enought 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 © 2000, NxNetworks. All rights reserved.