IGMP Proxy
In a simple tree topology, as shown in the left half of Figure 2-15, RouterB directly connected to a user network segment does not need to run any complicated multicast routing protocol (such as PIM). However, RouterA has to manage many users because RouterB transparently transmit all IGMP messages from hosts to RouterA. When a large number of receiver hosts exist on the network or many hosts frequently join and leave groups, a lot of IGMP Report/Leave messages are sent to RouterA, greatly increasing loads on RouterA.
The preceding problem can be solved by configuring IGMP proxy on RouterB, as shown in the right half of Figure 2-15. IGMP proxy reduces loads on RouterA while ensuring normal forwarding of multicast messages.
IGMP proxy is deployed on a Layer 3 device (RouterB in Figure 2-15) between an access device (RouterA) and receiver hosts. On one hand, the IGMP proxy device collects and processes IGMP Report/Leave messages from downstream hosts before forwarding the messages to the upstream access device. On the other hand, the IGMP proxy device substitutes the IGMP querier to send Query messages to downstream hosts to maintain group memberships, and forwards multicast data to hosts based on the group memberships. In this example, RouterB is a host for RouterA and an IGMP querier for the hosts.
Upstream interface: an interface with IGMP proxy configured on the IGMP proxy device, which acts like a host. This interface is also called a host interface.
Downstream interface: an interface with IGMP configured on the IGMP proxy device, which acts like a multicast router. This interface is also called a router interface.
How IGMP Proxy Works
An IGMP proxy device performs two types of behaviors: host behaviors and router behaviors.
Host behavior
When an upstream interface of the IGMP proxy device receives a Query message, the IGMP proxy device responds with a Report message according to the multicast forwarding table. When the multicast forwarding table changes, the upstream interface sends Report/Leave messages to the access device. An IGMP proxy device performs host behaviors in the following ways:
- When an upstream interface of the IGMP proxy device receives a Query message, the IGMP proxy device responds with a Report message according to the multicast forwarding table.
- When the IGMP proxy device receives a Report message for a group, it searches the multicast forwarding table for the group.
- If the group is not found in the multicast forwarding table, the IGMP proxy device sends a Report message for the group to the access device and adds the group to the multicast forwarding table.
- If the group is found in the multicast forwarding table, the IGMP proxy device does not send a Report message to the access device.
- When the IGMP proxy device receives a Leave message for a group, it sends a Group-Specific Query message through the downstream interface where the Leave message is received, to check whether this group has other members attached to the interface.
- If there are no other members of this group attached to the interface, the IGMP proxy device deletes the interface from the forwarding entry of the group. The IGMP proxy device then checks whether the group has members on other interfaces. If so, the IGMP proxy device does not send a Leave message for this group to the access device. If not, the IGMP proxy device sends a Leave message for this group to the access device.
- If the group has other members attached to the interface, the IGMP proxy device continues forwarding multicast data to the interface.
Router behavior
An IGMP proxy device generates multicast forwarding entries according to Report/Leave messages received on downstream interfaces, receives multicast data from the upstream access device, and forwards multicast data to downstream interfaces specified in the matching multicast forwarding entries. An IGMP proxy device performs router behaviors in the same way as an IGMP router. For details, see IGMPv1 Fundamentals, Changes in IGMPv2, and Changes in IGMPv3.
IGMP Proxy Backup
To improve link reliability, configure an IGMP proxy backup interface on the IGMP proxy device after configuring IGMP proxy on the upstream interface, as shown in Figure 2-16. If the link on the upstream interface fails, the backup link automatically takes over the IGMP proxy service to restore multicast services.
IGMP proxy does not provide the detection mechanism. If the multicast link fails, the primary/backup switchover cannot be performed, leading to multicast service interruption for a long time. You can solve this problem by associating IGMP proxy with a network quality analysis (NQA) test instance. The associated NQA test instance can monitor end-to-end link status, so that the IGMP proxy service can be switched to the backup link quickly when the primary link fails. This prevents long-time interruption of multicast services.