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,
To display the IGMP monitoring prompt from the DVMRP prompt,Config>protocol dvmrp
DVMRP Config>igmp
Internet Group Management Protocol Configuration
IGMP Config>
Monitor>protocol dvmrp
DVMRP>igmp
Internet Group Management Protocol ConsoleIGMP>
To display the IGMP monitoring prompt from the OSPF monitoring prompt,Config>protocol ospf
Open SPF-Based Routing Protocol configuration console
OSPF Config>igmp
Internet Group Management Protocol Configuration
IGMP Config>
OSPF>igmp
Internet Group Management Protocol Console
IGMP>
To display the IGMP monitoring prompt from the IP monitoring prompt,Config>protocol ip
IP Config>igmp
Internet Group Management Protocol Configuration
IGMP Config>
IP>igmp
Internet Group Management Protocol Console
IGMP>
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.
Clear-Config [C]
Resets the IGMP configuration to default values.
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.
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.
disable igmp
Interface number [0]?
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]?
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:
The effect on group membership is immediate. You do not need to restart the router.
The effect on group membership is temporary. Unless you explicitly save changes you make at the IGMP> prompt, the router does not save them when you restart the router.
The command keeps track of the number of times the interface joins a particular group.
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:
The effect on group membership is immediate. You do not need to restart the router.
The effect on group membership is temporary. Unless you explicitly save changes you make at the IGMP> prompt, the router does not save them when you restart the router.
The command keeps track of the number of times the router joins a particular group.
join router-internal
Group address [0.0.0.0]? 128.185.0.0
The effect on group membership is immediate. You do not need to restart the router.
The effect on group membership is temporary. Unless you explicitly save changes you make at the IGMP> prompt, the router does not save them when you restart the router.
The command does not delete group membership until the number of leaves executed equals the number of joins previously executed.
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:
The effect on group membership is immediate. You do not need to restart the router.
The effect on group membership is temporary. Unless you explicitly save changes you make at the IGMP> prompt, the router does not save them when you restart the router.
The command does not delete group membership until the number of leaves executed equals the number of joins previously executed.
leave router-internal
Enter the address to be deleted [0.0.0.0]? 128.185.0.0
List [C]
This section explains list commands available at the IGMP configuration prompt.
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. |
|
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. |
|
General Query Attempts
| The number of General Queries the interface sends with no response before it ages out a multicast group. |
|
Leave Query Attempts
| The number of Specific Queries the interface sends with no response before it ages out a multicast group during Leave processing. |
|
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.
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 1
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
|
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. |
|
General Query Attempts
| The number of General Queries the interface sends with no response before it ages out a multicast group. |
|
Leave Query Attempts
| The number of Specific Queries the interface sends with no response before it ages out a multicast group during Leave processing. |
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: |
|
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.
General General Leave
Leave Query Query Query
Interface Enabled Version Processing Interval Attempts Attempts
0(Eth/0) Y 2 Compatible 125 2 2
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
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
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
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
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:
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.(125 seconds * 2 attempts) + 10 = 260 seconds
Example: set general-query-attempts
Interface number [0]?
General Query attempts before expiration (2-20) [2]?
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.
Example: set leave-processing always
Interface number [0]?
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]?
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:
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.(125 seconds * 2 attempts) + 10 = 260 seconds
Example: set query-interval-general
Interface number [0]?
Query Interval (3-3600) [125]?
Interface number [0]?
Version (1-2) [2]?