
L'écoute IGMP consiste à analyser le trafic réseau du protocole IGMP ( Internet Group Management Protocol ) afin de contrôler la distribution des messages multicast IP . Les commutateurs réseau équipés de cette fonctionnalité surveillent les échanges IGMP entre les hôtes et les routeurs et établissent une cartographie des liaisons nécessitant des transmissions multicast IP. Les messages multicast peuvent ainsi être filtrés sur les liaisons qui n'en ont pas besoin, ce qui permet d'économiser de la bande passante.
L'écoute IGMP est décrite dans une RFC informative de l'IETF , mais elle concerne les opérations de pontage, qui relèvent de l'IEEE. En l'absence de norme faisant autorité, le processus peut se comporter différemment selon les équipements.
But
Par défaut, un commutateur diffuse le trafic multicast sur tous les ports d'un domaine de diffusion (ou l' équivalent VLAN ). Le multicast peut engendrer une charge inutile sur les périphériques hôtes en les obligeant à traiter des paquets qu'ils n'ont pas sollicités. Exploité intentionnellement, ce mécanisme peut servir de base à une attaque par déni de service (DoS) . L'écoute IGMP (IGMP snooping) est conçue pour empêcher les hôtes d'un réseau local de recevoir le trafic d'un groupe multicast auquel ils n'ont pas adhéré. Elle offre aux commutateurs un mécanisme permettant de filtrer le trafic multicast provenant des liaisons ne disposant pas d'un écouteur multicast (un client IGMP).
En résumé, l'écoute IGMP est une optimisation de couche 2 pour le protocole IGMP de couche 3. L'écoute IGMP s'effectue en interne sur les commutateurs et ne constitue pas une fonctionnalité du protocole.
L'écoute IGMP permet à un commutateur de ne transmettre le trafic multicast qu'aux liaisons qui l'ont sollicité. L'écoute est donc particulièrement utile pour les applications multicast IP gourmandes en bande passante, telles que l'IPTV .
Statut standard
L'écoute IGMP, bien qu'étant une technique importante, relève de deux organismes de normalisation : l'IEEE , qui normalise les commutateurs Ethernet , et l'IETF , qui normalise la multidiffusion IP. De ce fait, aucun organisme de normalisation n'est clairement désigné comme responsable de cette technique. C'est pourquoi la RFC 4541 relative à l'écoute IGMP n'a qu'un statut informatif , bien qu'elle soit mentionnée comme normative dans d'autres travaux de normalisation, tels que la RFC 4903 .
options de mise en œuvre
Interrogateur IGMP
Pour que le protocole IGMP, et par conséquent l'écoute IGMP, fonctionne, un routeur multicast doit être présent sur le réseau et générer des requêtes IGMP. Sans routeur, les rapports d'appartenance IGMP peuvent être incomplets et les tables associant les ports membres et les groupes multicast potentiellement incomplètes, ce qui compromet la fiabilité de l'écoute. Certaines implémentations d'écoute IGMP intègrent une fonctionnalité complète de requête.
IGMPv2 et IGMPv3 prévoient la sélection d'un interrogateur lorsqu'il en existe plusieurs. Le rôle est attribué à l'interrogateur ayant l'adresse IP la plus basse.
Les requêtes générales IGMP provenant de l'interrogateur doivent être transmises sans condition par tous les commutateurs impliqués dans l'écoute IGMP.
Rapport par procuration
L'écoute IGMP avec rapport proxy ou suppression de rapport filtre activement les paquets IGMP afin de réduire la charge sur le routeur multicast. Les connexions et déconnexions en amont vers le routeur sont filtrées afin de n'envoyer que le minimum d'informations. Le commutateur veille à ce que le routeur ne reçoive qu'un seul rapport pour le groupe, quel que soit le nombre d'écouteurs actifs. Si un groupe compte deux écouteurs actifs et que le premier le quitte, le commutateur détermine que le routeur n'a pas besoin de cette information, car elle n'affecte pas l'état du groupe de son point de vue. Lors de la prochaine requête de routine du routeur, le commutateur transmettra la réponse de l'hôte restant. En présence de rapport proxy, le routeur ne connaîtra généralement que le membre ayant rejoint le groupe le plus récemment.