• IGMP Host-proxy

 
 
Print Friendly, PDF & Email

Interfaces on the switch can be configured to serve as IGMP host proxies. An IGMP host proxy
exchanges IGMP reports (joins/leaves) between networks whose connection does not support PIM along network boundaries.

Let’s take the example shown below:

The customer network connects to the sender network through the edge switch’s Ethernet 1 interface, which is configured as an IGMP host proxy. PIM is enabled within the publisher and customer networks but not on the connection between the networks.

 

When only “ip igmp host-proxy” is configured on the interface, IGMP reports will be sent for any (*,G) or (S,G) entry in the mroute table.
Subsequently, IGMP reports are sent when queries or group-specific queries arrive on the host proxy interface. When the customer network is void of active listeners, the connection eventually expires and the senders stop transmitting to the network.

IGMP host proxy requires the following:

  • PIM multicast border router (MBR) must be enabled on the interface.
  • IP multicast routing must be enabled.
  • The switch must be an RP or in each host’s RP path.

IGMP host proxy is configurable to filter for specific multicast groups and sources. We can also send reports for a specific group even when there is no (*, G) entry in the mroute table for that group.

 

Configuration:

1) To enable IGMP host proxy on interface Ethernet 1 for all multicast group addresses in the switches mroute table:

switch(config)#interface ethernet 1
switch(config-if-Et1)#pim ipv4 border-router
switch(config-if-Et1)#ip igmp host-proxy
switch(config-if-Et1)#

 

2) We can send reports for a specific group even when there is no (*, G) entry in the mroute table for that group. The following will configure a static proxy for the group 234.10.20.1 regardless if there is a (*,G) or (S,G) entry in the mroute for 234.10.20.1 and will still send IGMP reports for ALL OTHER (*,G) and (S,G) entries:

switch(config)#interface ethernet 1
switch(config-if-Et1)#pim ipv4 border-router
switch(config-if-Et1)#ip igmp host-proxy 234.10.20.1
switch(config-if-Et1)#

 

3) We can tell the switch to stop sending reports for a particular group even if the group is present in the mroute table.
The following config specifies to not send report for 234.10.20.1, even if there is a (S,G) or (*,G) entry in mroute for 234.10.20.1

switch(config)#interface ethernet 1
switch(config-if-Et1)#pim ipv4 border-router
switch(config-if-Et1)#no ip igmp host-proxy 234.10.20.1
switch(config-if-Et1)#

Please note, reports will still be sent for other groups. Entering the no igmp host-proxy command without specifying group or source disables the forwarding of all IGMP reports on the interface

 

4) We can exclude and include source addresses.
IGMP host proxies can be configured with IGMP versions 1, 2, or 3, and use version 3 by default. When the host-proxy IGMP version is set to 3, the proxy can explicitly include or exclude source addresses. Otherwise, include/exclude configuration for source addresses is ignored. Reports that are triggered by IGMP queries, however, are sent in the same IGMP version as the received query

The following config will enable IGMP host proxy on Ethernet interface 1 for the multicast group at 234.10.20.1 and excludes sources 10.10.10.1 and 20.20.20.1

switch(config)#interface ethernet 1
switch(config-if-Et1)#pim ipv4 border-router
switch(config-if-Et1)#ip igmp host-proxy 234.10.20.1 exclude 10.10.10.1
switch(config-if-Et1)#ip igmp host-proxy 234.10.20.1 exclude 20.20.20.1
switch(config-if-Et1)#

 

The following config will enable IGMP host proxy on Ethernet interface 1 for the multicast group
at 234.10.20.1 and only include sources 10.10.10.1 and 20.20.20.1. IGMP joins won’t be sent for other sources for this group.

switch(config)#interface ethernet 1
switch(config-if-Et1)#pim ipv4 border-router
switch(config-if-Et1)#ip igmp host-proxy 234.10.20.1 include 10.10.10.1
switch(config-if-Et1)#ip igmp host-proxy 234.10.20.1 include 20.20.20.1
switch(config-if-Et1)#

Reports will still be sent for other groups in the mroute table.

 

5) We can also configure IGMP host proxy interval. The ip igmp host-proxy report-interval command configures the period between unsolicited join reports that the switch sends as an IGMP host proxy from the configuration mode interface to a sender network after a (S,G) or (*,G) entry arrives in the multicast route (mroute) table. When the interface receives a query in response, this interval is set to the ip igmp last-member-query-interval. This command also enables the host proxy on the configuration mode interface if it was not previously enabled.

The following configures a IGMP host proxy interval of 10 seconds on Ethernet 1.

switch(config)#interface ethernet 1
switch(config-if-Et1)#ip igmp host-proxy report-interval 10
switch(config-if-Et1)#

 

6) If we want to enable host proxy for multiple groups we can use an access-list (ACL) to specify the group addresses.
Implicit deny in the ACL is ignored, but if the ACL includes an explicit deny rule, then the interface sends joins only to groups configured directly on the interface or included in a permit ACL. Deny rules take precedence over permit rules.

The following enables IGMP host proxy on Ethernet interface 1 for the group address(es) specified in ACL “igmp_host_proxy_groups”

switch(config)#ip access-list igmp_host_proxy_groups
switch(config-acl-igmp_host_proxy_groups)#10 permit ip any 224.0.160.0/24
switch(config-acl-igmp_host_proxy_groups)#20 permit ip any 224.0.161.0/24
switch(config-acl-igmp_host_proxy_groups)#30 permit ip any host 234.10.20.1
switch(config-acl-igmp_host_proxy_groups)#exit

switch(config)#interface ethernet 11
switch(config-if-Et1)#pim ipv4 border-router
switch(config-if-Et1)#ip igmp host-proxy access-list igmp_host_proxy_groups
switch(config-if-Et1)#
Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: