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


IGMP

IP hosts use Internet Group Management Protocol (IGMP) in IPv4 to report their multicast group memberships to neighboring routers. Similarly, multicast routers, such as the E-series router, use IGMP to discover which of their hosts belong to multicast groups.

The IPv4 address scheme assigns class D addresses for IP multicast. 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 IGMP versions 1, 2, and 3. IGMPv3 allows for source-specific join and leave messages and is backward compatible with IGMPv1 and IGMPv2.

IGMP Operation

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

IGMPv3 mode interfaces exchange the following types of messages with IGMPv3 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.

IGMPv1 and IGMPv3 mode interfaces send two types of group membership queries to hosts on the network:

IGMPv3 mode interfaces send the following type of queries to IGMPv3 hosts:

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

IGMPv2 and IGMPv3 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 maximum 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.

IGMPv3 supports an extended report format that allows you to report multiple groups and source lists in a single report.

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 router supports static and dynamic IGMP interfaces. Unlike static interfaces, dynamic interfaces are not restored when you reboot the router. 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 22 for examples of static and dynamic IGMP interfaces.


Figure 22: 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 by 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 a 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 JUNOSe Link Layer Configuration Guide, Chapter 13, Configuring Dynamic Interfaces. When you create a profile for dynamic IGMP interfaces, specify attributes for configuring all layers in the interface.

You use the IGMP commands in Table 17 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.

Table 17: Static IGMP Commands 

ip igmp

ip igmp query-interval

ip igmp access-group

ip igmp query-max-response-time

ip igmp access-source-group

ip igmp robustness

ip igmp immediate-leave

ip igmp static-include

ip igmp last-member-query-interval

ip igmp static-exclude

ip igmp promiscuous

ip igmp static-group

ip igmp querier

ip igmp version

ip igmp querier-timeout


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 only IGMP on an interface, the router considers that IGMP owns that interface. If you configure IGMP and either PIM or DVMRP on an interface, the router 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 and IGMPv3 interfaces will support IGMPv1 hosts. In an IGMPv1 network, you must configure one interface to act as a querier. In an IGMPv2 or IGMPv3 network, the querier is the router with the lowest IP address.

To start IGMP, complete the following steps:

  1. Enable IGMP on the interface (IGMPv2 is the default version).
  2. (IGMPv1 or IGMPv3) Specify the IGMP version for the interface.
  3. (IGMPv1 only) Specify that the interface will act as the querier for the network.

ip igmp

ip igmp querier

ip igmp version

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

ip igmp last-member-query-interval

ip igmp querier-timeout

ip igmp query-interval

ip igmp query-max-response-time

ip igmp robustness

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

Specifying Multicast Groups

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

ip igmp access-group

ip igmp access-source-group

Configuring SSM Mapping

SSM mapping allows the router to determine one or more source addresses for group G. The mapping effectively translates IGMPv1 or IGMPv2 membership reports to an IGMPv3 report, allowing the router to continue as if it had initially received an IGMPv3 report. Once the router is joined to these groups, it sends out PIM join messages and continues to allow joining from these groups, as long as it continues to receive IGMPv1 and IGMPv2 membership reports and no change occurs to the SSM mapping for the group.

When you statically configure SSM mapping, the router can discover source addresses from a statically configured table.

The following applies when you configure SSM mapping:

ip igmp ssm-map enable

ip igmp ssm-map static

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 router by restricting the number of IGMP groups accepted by:

If you set limits for both a port and interfaces on that port, the router 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 router 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 router does not dissociate the groups from the interfaces. The router 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 router 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 remains connected.

ip igmp group limit

multicast group port limit

Including and Excluding Traffic

IGMPv3 extends IGMPv2 functionality with the ability to include or exclude specific multicast traffic sources. That is, with IGMPv3, hosts signal (S,G) pairs that they want to include or exclude.

For hosts that cannot signal group membership dynamically, you can use the ip igmp static-include or ip igmp static-exclude command to statically include or exclude multicast traffic, respectively.

IGMPv3 is the industry-designated standard protocol for hosts to signal channel subscriptions in SSM. For additional information about SSM, see PIM Source-Specific Multicast later in this chapter.

ip igmp static-exclude

ip igmp static-include

Accepting IGMP Reports from Remote Subnetworks

By default, IGMP interfaces accept IGMP reports only from associated subnetworks. You can configure the router to accept IGMP reports from subnetworks 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

ip igmp promiscuous

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

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

show ip igmp

show ip igmp groups

show ip igmp interface

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 ip igmp ssm-mapping

show multicast group limit


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