[Contents] [Prev] [Next] [Index] [Report an Error]


IGMP

IP hosts use Internet Group Management Protocol (IGMP) to report their multicast group memberships to neighboring routers. Similarly, multicast routers, such as the ERX system, use IGMP to discover which of their hosts belong to multicast groups.

The IPv4 address scheme assigns Class D addresses for IP multicasting. IGMP is the protocol that uses these addresses, which can be in the range 224.0.0.0 to 239.255.255.255. The following addresses have specific functions or are unavailable:

This implementation of IGMP complies with IGMPv2, which supports both IGMPv1 and IGMPv2 hosts.

IGMP Operation

IGMPv2 involves the exchange of the following types of messages between routers and hosts:

Group Membership Queries

A multicast router can be a querier or a nonquerier. There is only one querier on a network at any time. Multicast routers monitor queries from other multicast routers to determine the status of the querier. If the querier hears a query from a router with a lower IP address, it relinquishes its role to that router.

Multicast routers send two types of group membership queries to hosts on the network:

The purpose of a membership group query is to discover the multicast groups to which a host belongs.

IGMPv2 group membership queries have a Max Response Time field. This response time is the maximum that a host can take to reply to a query.

Group Membership Reports

When a host receives a group membership query, it identifies the groups associated with the query and determines to which groups it belongs. The host then sets a timer, with a value less than the Max Response Time field in the query, for each group to which it belongs.

When the timer expires, the host multicasts a group membership report to the group address. When a multicast router receives a report, it adds the group to the membership list for the network and sets a timer to the Group Membership Interval. If this timer expires before the router receives another group membership report, the router determines that the group has no members left on the network.

If the router does not receive any reports for a specific multicast group within the Max Response Time, it assumes that the group has no members on the network. The router does not forward subsequent multicasts for that group to the network.

Leave Group Membership Messages

When a host leaves a group, it sends a leave group membership message to multicast routers on the network. A host generally addresses leave group membership messages to the all-routers group address, 224.0.0.2.

Configuring Static and Dynamic IGMP Interfaces

The system supports static and dynamic IGMP interfaces. Unlike static interfaces, dynamic interfaces are not restored when you reboot the system. For some protocols, dynamic layers can build on static layers in an interface; however, in a dynamic IGMP interface, all the layers are dynamic. See Figure 4-2 for examples of static and dynamic IGMP interfaces.


Figure 4-2 Static and dynamic IGMP interfaces

Static IGMP interfaces are configured with software such as the CLI or an SNMP application; dynamic IGMP interfaces are configured with a profile. A profile comprises a set of attributes for an interface; a profile for dynamic IGMP interfaces contains attributes for configuring all the layers in the interface.

You define a profile using the same CLI commands that you use to configure a static IGMP interface; however, the mode in which you use the commands differs. Use the commands in Interface Configuration mode to configure a static IGMP interface and in Profile Configuration mode to define a profile.

When you have defined a profile, you can apply it to an interface or group of interfaces. Profiles provide an efficient method of creating and managing large numbers of dynamic interfaces. For detailed information about creating and assigning profiles, see ERX Physical and Link Layers Configuration Guide, Chapter 21, Configuring Dynamic Interfaces. When you create a profile for dynamic IGMP interfaces, specify attributes for configuring all layers in the interface.

You use the following IGMP commands to configure a static IGMP interface. You also use these commands to define the attributes for the IGMP layer when you create a profile for dynamic IGMP interfaces.

The following sections describe the tasks associated with these commands.

Enabling IGMP on an Interface

You must start IGMP on each interface that you want to use the protocol. You can configure IGMP and either PIM or DVMRP on the same interface. If you configure IGMP only on an interface, the system considers that IGMP "owns" that interface. If you configure IGMP and either PIM or DVMRP on an interface, the system considers that PIM or DVMRP owns the interface.

For networks that use only IGMPv1, you can configure an interface to operate in IGMPv1 mode. However, IGMPv2 interfaces will support IGMPv1 hosts. In an IGMPv1 network, you must configure one interface to act as a querier. In an IGMPv2 network, the querier is the router with the lowest IP address.

To start IGMP, complete the following steps:

  1. Enable IGMP on the interface.
  2. (IGMPv1 only) Specify IGMPv1 for the interface.
  3. (IGMPv1 only) Specify that the interface will act as the querier for the network.

    ip igmp

host1:boston(config-if)#ip igmp

    ip igmp querier



Note: This command is valid only for interfaces on which you configured IGMPv1.

host1:boston(config-if)#ip igmp querier

    ip igmp version

host1:boston(config-if)#ip igmp version 1

Configuring IGMP Settings for an Interface

When you start IGMP on an interface, it operates with the default settings. You can, however, modify:

    ip igmp immediate-leave



Caution: Issue this command only on IGMPv2 interfaces to which one IGMP host is connected. If there is more than one IGMP host connected to a LAN through the same interface, and one host sends a leave group message, the router will remove all hosts on the interface from the multicast group. The router will lose contact with the hosts that should remain in the multicast group until they send join requests in response to the router's next general group membership query.

host1:boston(config-if)#ip igmp immediate-leave

    ip igmp last-member query-interval

host1:boston(config-if)#ip igmp last-member-query-interval 
90

    ip igmp querier-timeout

host1:boston(config-if)#ip igmp querier-timeout 200

    ip igmp query-interval

host1:boston(config-if)#ip igmp query-interval 100

    ip igmp query-max-response-time

host1:boston(config-if)#ip igmp query-max-response-time 120

    ip igmp robustness

host1:boston(config-if)#ip igmp robustness 2

Assigning a Multicast Group to an Interface

You can assign an interface to send and receive all traffic for a particular multicast group. This feature allows you to control the IGMP traffic and to test the behavior of multicast protocols in the network.

    ip igmp static-group

host1:boston(config-if)#ip igmp static-group 225.1.2.3

Specifying Multicast Groups

You can use a standard IP access list to specify the multicast groups that a host can join.

    ip igmp group limit

host1:boston(config-if)#ip igmp access-group boston-list

Limiting the Number of Accepted IGMP Groups

By default, there is no limit on the number of IGMP groups that an IGMP interface can accept. However, you can manage multicast traffic on the system by restricting the number of IGMP groups accepted by

If you set limits for both a port and for interfaces on that port, the system uses the lower of the two limits when determining how many IGMP groups an interface can accept. For example, if you set a limit of 10 groups for the port and 15 groups for each interface, the system allows only 10 groups to be accepted among the interfaces.

However, if you set a limit for a port and that limit is lower than the number of groups currently accepted by the interfaces on that port, the system does not disassociate the groups from the interfaces. The system enforces the new limit on the port when the number of groups associated with the interfaces falls to that limit. For example, if the interfaces on the port have accepted a total of 15 groups, and you set a limit of 10 groups on the port, the system does not disconnect any of the groups, and does not allow the interfaces to accept any more groups. Over time, some groups leave the interfaces, and eventually, a maximum of ten groups remain connected.

    ip igmp group limit

host1:boston(config-if)#ip igmp group limit 5

    multicast group port limit

host1#multicast group port 3/0 limit 5

Accepting IGMP Reports from Remote Subnets

By default, IGMP interfaces accept IGMP reports only from associated subnets. You can configure the system to accept IGMP reports from subnets that are not associated with its interfaces. The igmp promiscuous command in Router Configuration mode specifies whether or not interfaces on the router should accept IGMP reports from indirectly connected subnets. To override this global setting on a particular interface, use the ip igmp promiscuous command in Interface Configuration mode.

Example

In the following example, the router is configured to accept IGMP reports from indirectly connected subnets on all interfaces. The interface on port 0 of the line module in slot 4 is then configured to accept IGMP reports only from directly connected subnets.

host1(config)#virtual-router boston
host1:boston(config)#router igmp
host1:boston(config-router)#igmp promiscuous
host1:boston(config-router)#exit
host1:boston(config)#interface serial 4/0
host1:boston(config-if)#ip igmp promiscuous off

    igmp promiscuous

host1:boston(config-router)#igmp promiscuous

    ip igmp promiscuous

host1:boston(config-if)#ip igmp promiscuous on

Disabling and Removing IGMP

You can disable and reenable IGMP on the VR. You can also remove IGMP from the VR and recreate it on the VR.

    igmp disable

host1(config)#virtual-router boston
host1:boston(config)#router igmp
host1:boston(config-router)#igmp disable

    router igmp

host1(config)#virtual-router boston
host1:boston(config)#router igmp

Monitoring IGMP

You can establish a reference point for IGMP statistics by setting the statistics' counters to zero.

To display IGMP parameters, use the show commands described in this section.

    baseline ip igmp

(host1)#baseline ip igmp 

    show ip igmp

host1:boston#show ip igmp
Routing Process IGMP, Administrative state enabled, 
Operational state enabled
    2 total interfaces, 2 enabled, 0 disabled
    2 learnt groups
IGMP Statistics:
    Rvcd: 1 total, 0 checksum errors, 0 unknown types
          0 queries, 1 reports, 0 leaves
    Sent: 11 total

    show ip igmp groups

host1:boston#show ip igmp groups

Grp Address     Interface        State        ExpTim   v1HTim
-----------     ---------------  ----------   ------   ------
225.1.1.1       fastEthernet0/0  Version2     never    0
232.1.1.1       fastEthernet0/0  Version2     359      0

Count: 2 Groups
 (Note: 225.1.1.1 is a "static group")

    show ip igmp interface

host1:boston#show ip igmp interface
Interface ATM2/1.15 address 15.0.0.2/255.255.255.0
Administrative state enabled, Operational state enabled
Interface parameters:
    Version 2
    State Querier
    Query Interval 125 secs, 53 secs before the next query
    Other querier present interval 250 secs
    Maximum response time 100 (in 10ths of a second)
    Last member query interval 10 (in 10ths of a second)
    Robustness 3
    Interface defaults to global promiscuous mode
    No inbound access group
    Immediate Leave: disabled
    Max-Group limit: No Limit
    Group Count: 1
Interface statistics:
    Rcvd: 0 reports, 0 leaves, 0 wrong version queries
    Sent: 1 queries
    Groups learned: 1

Counts: 0 down, 0 init state, 1 querier, 0 non-querier, 

1 Total

    show ip igmp interface brief

host1:boston#show ip igmp interface brief
Interface        Intf Address     Ver  State    Querier        QTime  QPTime
--------------   ----------       ---  ------   -------------  -----  --- 
fastEthernet0/0  192.168.1.250/24  2   Querier  192.168.1.250  28     0
atm3/0.2         21.1.1.1/8        2   Querier  21.1.1.1       26     0
Count: 2 interfaces

    show multicast group limit

host1:boston#show multicast group limit
Port      limit count
--------- ----- -----
2/0           5     0
2/1          -1     1

[Contents] [Prev] [Next] [Index] [Report an Error]