Configuring IGMP Proxy

Prerequisites for IGMP Proxy

  • All devices on the IGMP UDL have the same subnet address. If all devices on the UDL cannot have the same subnet address, the upstream device must be configured with secondary addresses to match all of the subnets to which the downstream devices are attached.

  • IP multicast is enabled and the PIM interfaces are configured.


    Note

    Use the following guidelines when configuring PIM interfaces for IGMP proxy:


    • Use PIM sparse mode (PIM-SM) when the interface is operating in a sparse-mode region and you are running static RP, bootstrap (BSR), or Auto-RP with the Auto-RP listener capability.

Information about IGMP Proxy

IGMP Proxy

An IGMP proxy enables hosts in a unidirectional link routing (UDLR) environment that are not directly connected to a downstream router to join a multicast group sourced from an upstream network.

The figure below illustrates a sample topology that shows two UDLR scenarios:

  • Traditional UDL routing scenario--A UDL device with directly connected receivers.

  • IGMP proxy scenario--UDL device without directly connected receivers.


Note

IGMP UDLs are needed on the upstream and downstream devices.



Note

Although the following illustration and example uses routers in the configuration, any device (router or switch) can be used.


Scenario 1--Traditional UDLR Scenario (UDL Device with Directly Connected Receivers)

For scenario 1, no IGMP proxy mechanism is needed. In this scenario, the following sequence of events occurs:

  1. User 2 sends an IGMP membership report requesting interest in group G.

  2. Router B receives the IGMP membership report, adds a forwarding entry for group G on LAN B, and proxies the IGMP report to Router A, which is the UDLR upstream device.

  3. The IGMP report is then proxied across the Internet link.

  4. Router A receives the IGMP proxy and maintains a forwarding entry on the unidirectional link.

Scenario 2--IGMP Proxy Scenario (UDL Device without Directly Connected Receivers)

For scenario 2, the IGMP proxy mechanism is needed to enable hosts that are not directly connected to a downstream device to join a multicast group sourced from an upstream network. In this scenario, the following sequence of events occurs:

  1. User 1 sends an IGMP membership report requesting interest in group G.

  2. Router C sends a PIM Join message hop-by-hop to the RP (Router B).

  3. Router B receives the PIM Join message and adds a forwarding entry for group G on LAN B.

  4. Router B periodically checks its mroute table and proxies the IGMP membership report to its upstream UDL device across the Internet link.

  5. Router A creates and maintains a forwarding entry on the unidirectional link (UDL).

In an enterprise network, it is desirable to be able to receive IP multicast traffic via satellite and forward the traffic throughout the network. With unidirectional link routing (UDLR) alone, scenario 2 would not be possible because receiving hosts must be directly connected to the downstream device, Router B. The IGMP proxy mechanism overcomes this limitation by creating an IGMP report for (*, G) entries in the multicast forwarding table. To make this scenario functional, therefore, you must enable IGMP report forwarding of proxied (*, G) multicast static route (mroute) entries (using the ip igmp mroute-proxy command) and enable the mroute proxy service (using the ip igmp proxy-service command) on interfaces leading to PIM-enabled networks with potential members.


Note

Because PIM messages are not forwarded upstream, each downstream network and the upstream network have a separate domain.


How to Configure IGMP Proxy

Configuring the Upstream UDL Device for IGMP UDLR

Perform this task to configure the upstream UDL device for IGMP UDLR.

Procedure

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

interface type number

Example:


Device(config)# interface gigabitethernet 1/0/0

Enters interface configuration mode.

  • For the type and number arguments, specify the interface to be used as the UDL on the upstream device.

Step 4

ip igmp unidirectional-link

Example:


Device(config-if)# ip igmp unidirectional-link

Configures IGMP on the interface to be unidirectional for IGMP UDLR.

Step 5

end

Example:


Device(config-if)# end

Ends the current configuration session and returns to privileged EXEC mode.

Configuring the Downstream UDL Device for IGMP UDLR with IGMP Proxy Support

Perform this task to configure the downstream UDL device for IGMP UDLR with IGMP proxy support.

Procedure

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

interface type number

Example:


Device(config)# interface gigabitethernet 0/0/0

Enters interface configuration mode.

  • For the type and number arguments, specify the interface to be used as the UDL on the downstream device for IGMP UDLR.

Step 4

ip igmp unidirectional-link

Example:


Device(config-if)# ip igmp unidirectional-link

Configures IGMP on the interface to be unidirectional for IGMP UDLR.

Step 5

exit

Example:


Device(config-if)# exit

Exits interface configuration mode and returns to global configuration mode.

Step 6

interface type number

Example:


Device(config)# interface gigabitethernet 1/0/0

Enters interface configuration mode.

  • For the type and number arguments, select an interface that is facing the nondirectly connected hosts.

Step 7

ip igmp mroute-proxy type number

Example:


Device(config-if)# ip igmp mroute-proxy loopback 0 

Enables IGMP report forwarding of proxied (*, G) multicast static route (mroute) entries.

  • This step is performed to enable the forwarding of IGMP reports to a proxy service interface for all (*, G) forwarding entries in the multicast forwarding table.

  • In this example, the ip igmp mroute-proxy command is configured on Gigabit Ethernet interface 1/0/0 to request that IGMP reports be sent to loopback interface 0 for all groups in the mroute table that are forwarded to Gigabit Ethernet interface 1/0/0.

Step 8

exit

Example:


Device(config-if)# exit

Exits interface configuration mode and returns to global configuration mode.

Step 9

interface type number

Example:


Device(config)# interface loopback 0

Enters interface configuration mode for the specified interface.

  • In this example, loopback interface 0 is specified.

Step 10

ip igmp helper-address udl interface-type interface-number

Example:


Device(config-if)# ip igmp helper-address udl gigabitethernet 0/0/0

Configures IGMP helpering for UDLR.

  • This step allows the downstream device to helper IGMP reports received from hosts to an upstream device connected to a UDL associated with the interface specified for the interface-type and interface-number arguments.

  • In the example topology, IGMP helpering is configured over loopback interface 0 on the downstream device. Loopback interface 0, thus, is configured to helper IGMP reports from hosts to an upstream device connected to Gigabit Ethernet interface 0/0/0.

Step 11

ip igmp proxy-service

Example:


Device(config-if)# ip igmp proxy-service 

Enables the mroute proxy service.

  • When the mroute proxy service is enabled, the device periodically checks the static mroute table for (*, G) forwarding entries that match interfaces configured with the ip igmp mroute-proxy command (see Step 7) based on the IGMP query interval. Where there is a match, one IGMP report is created and received on this interface.

Note 

The ip igmp proxy-service command is intended to be used with the ip igmp helper-address (UDL) command.

  • In this example, the ip igmp proxy-service command is configured on loopback interface 0 to enable the forwarding of IGMP reports out the interface for all groups on interfaces registered through the ip igmp mroute-proxy command (see Step 7).

Step 12

end

Example:


Device(config-if)# end

Ends the current configuration session and returns to privileged EXEC mode.

Step 13

show ip igmp interface

Example:


Device# show ip igmp interface

(Optional) Displays multicast-related information about an interface.

Step 14

show ip igmp udlr

Example:


Device# show ip igmp udlr

(Optional) Displays UDLR information for directly connected multicast groups on interfaces that have a UDL helper address configured.

Configuration Examples for IGMP Proxy

Example: IGMP Proxy Configuration

The following example shows how to configure the upstream UDL device for IGMP UDLR and the downstream UDL device for IGMP UDLR with IGMP proxy support.

Upstream Device Configuration


interface gigabitethernet 0/0/0 
ip address 10.1.1.1 255.255.255.0 
ip pim sparse-mode 
! 
interface gigabitethernet 1/0/0 
ip address 10.2.1.1 255.255.255.0 
ip pim sparse-mode 
ip igmp unidirectional-link 
! 
interface gigabitethernet 2/0/0 
ip address 10.3.1.1 255.255.255.0 

Downstream Device Configuration


ip pim rp-address 10.5.1.1 5 
access-list 5 permit 239.0.0.0 0.255.255.255 
! 
interface loopback 0 
ip address 10.7.1.1 255.255.255.0 
ip pim sparse-mode 
ip igmp helper-address udl ethernet 0 
ip igmp proxy-service 
! 
interface gigabitethernet 0/0/0 
ip address 10.2.1.2 255.255.255.0 
ip pim sparse-mode 
ip igmp unidirectional-link 
! 
interface gigabitethernet 1/0/0 
ip address 10.5.1.1 255.255.255.0 
ip pim sparse-mode 
ip igmp mroute-proxy loopback 0 
! 
interface gigabitethernet 2/0/0 
ip address 10.6.1.1 255.255.255.0 

Additional References for IGMP Proxy

The following sections provide references related to customizing IGMP.

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Commands List, All Releases

Overview of the IP multicast technology area

“ IP Multicast Routing Technology Overview ” module

Basic IP multicast concepts, configuration tasks, and examples

“ Configuring Basic IP Multicast Routing” module

Standards and RFCs

Standard/RFC

Title

RFC 1112

Host extensions for IP multicasting

RFC 2236

Internet Group Management Protocol, Version 2

RFC 3376

Internet Group Management Protocol, Version 3

MIBs

MIB

MIBs Link

No new or modified MIBs are supported by these features, and support for existing MIBs has not been modified by these features.

To locate and download MIBs for selected platforms, Cisco IOS XE releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for IGMP Proxy

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for IGMP Proxy

Feature Name

Releases

Feature Information

IGMP Proxy

Cisco IOS XE Everest 16.6.1

An IGMP proxy enables hosts in a unidirectional link routing (UDLR) environment that are not directly connected to a downstream router to join a multicast group sourced from an upstream network.

This feature was implemented on the following platforms:

  • Cisco Catalyst 9400 Series Switches