'IGMP proxy' sert surtout dans les routeurs quand on a du NAT notamment. Le routeur fait 'proxy' pour les clients NATés vis a vis de l'amont.
Dans les switch c'est plus rare , ca sert quand on a des VLANs différents non routés entre eux par exemple. Dans ce cas le switch va servir de proxy entre les clients sur un VLAN et l'amont qui est sur un autre VLAN.
Ca permet aussi de soulager l'amont quand on a beaucoup de clients car le proxy 'factorise' les requêtes d'abonnement/désabonnement et donc 100 clients derrière un proxy sont vu comme un seul par l'amont.
Avec le multicast les choses peuvent vite devenir compliquées et on s'embrouille facilement. Comme toujours en réseau il faut raisonner par couches et par 'tiers' (access , distribution, core):
IGMP est un protocol au dessus d'IP. Il ne sert qu'entre des clients et un routeur multicast donc en général sur le LAN uniquement. Au delà, en amont, vers les sources multicast (vidéos ou autres) , c'est d'autres protocoles qui sont utilisés comme par exemple PIM.
IP Multicast est de niveau 3 et pour fonctionner sur des switch Ethernet il existe un mapping vers des adresse Ethernet multicast (MAC multicast) de la couche 2 facon ARP comme avec les adresses IP unicast vers les adresses MAC classiques.
Par défaut tout switch va diffuser les adresses MAC multicast sur tout ses ports.
En utilisant IGMP Snooping un switch 'écoute' la couche 3 (IP donc) pour capter les messages IGMP et en fonction d'eux changer la façon dont il diffuse les adresses MAC multicast. IGMP Snooping est donc un mécanisme interne au switch qui ne concerne que le switch et sa facon dont il gere le mapping 3->2 pour le multicast d'IP.
Ce dessin de Wikipedia resume assez bien les 'tiers' et les couches:
Un proxy sert a relayer le traffic IGMP (en rouge) quand le LAN est plus étendu ou complexe (NAT ou/et VLAN par exemple ou si il y a énormèment de clients pour soulager le routeur multicast).