IGMP snooping : Le processus d’observation du trafic multicast

Les connexions multicast sont un excellent moyen d'envoyer un même paquet de données à de nombreuses machines destinataires au sein de réseaux IP sans avoir à adresser et livrer séparément chacune de ces machines. L’expéditeur du paquet répartit cette tâche entre les différents nœuds des sous-réseaux impliqués et économise ainsi de précieuses ressources. Utilisées par de nombreux utilisateurs, les applications Internet en temps réel profitent notamment de cette forme de connexions multipoints établies à l’aide de groupes multicast spécifiques.

Le protocole IGMP joue un rôle considérable dans l’organisation de ces groupes et constitue le fondement d’une communication multicast IPv4 sans accroc entre l’expéditeur, les routeurs et les destinataires. D’autre part, le trafic multicast peut être filtré à l’aide des messages IGMP afin de décharger les différents réseaux de destination. Si tel est le cas, on parle également d’IGMP snooping.

Note

IGMP est l’acronyme de « Internet Group Management Protocol » – le protocole IPv4 pour l’administration des groupes multicast. Son équivalent pour les connexions IPv6 est le protocole « Multicast Listener Discovery » (MLD).

L’IGMP snooping : qu’est-ce que c’est ?

Dans leur parcours jusqu’à l’hôte cible, les paquets multicast passent souvent par plusieurs stations. Les routeurs utilisent le processus Protocol Independent Multicast (PIM) afin de déterminer le chemin optimal et de relayer le flux de données de manière aussi efficace que possible. En revanche, les commutateurs réseau ou les routeurs Internet multifonctions des foyers privés ont nettement plus de difficultés à transmettre des paquets multicast : puisque tenter d’attribuer des paquets de la façon habituelle – à l’aide de l’adresse MAC indiquée – se traduit par un échec (fonctionne uniquement pour les connexions Unicast), les machines relayent les paquets entrants à toutes les machines disponibles du sous-réseau concerné, faute d’alternative.

C’est ici que l’IGMP snooping (parfois également appelé « multicast snooping ») entre en jeu : ce processus, que l’on peut traduire littéralement par « espionnage IGMP », est à la hauteur de son nom : il observe l’ensemble du trafic IGMP échangé entre les routeurs multicast et les hôtes. Les commutateurs ou les routeurs Internet maîtrisant l’IGMP snooping et ayant cette option activée sont donc en mesure de surveiller les activités multicast des différents participants au réseau. Concrètement, cela signifie que les machines sont informées lorsqu’un hôte intègre un groupe multicast (« requête multicast ») ou le quitte (« message leave » ; uniquement à partir de la version IGMPv2). Sur la base de ces informations, il est possible de créer ou de supprimer une entrée dans le tableau d’adresses MAC pour l’interface réseau connectée à l’hôte.

Note

L’IGMP snooping est spécifié dans la requête RFC 4541, cette « Request for Comments » ayant uniquement le statut « Informational ». Ceci est dû au fait que deux organisations jouent le rôle d’instances de normalisation responsables pour cette technologie : l’IEEE (Institute of Electrical and Electronics Engineers), qui normalise les commutateurs Ethernet, et l’IETF (Internet Engineering Task Force), qui est notamment responsable du standard IP multicast.

À quoi sert l’IGMP snooping et dans quels cas est-il utilisé ?

Le multicast snooping permet aux commutateurs et aux routeurs Internet un acheminement particulièrement efficace des flux de données multicast vers la ou les cible(s) souhaitée(s). La valeur d’une telle méthode de filtrage des transmissions multipoints devient évidente lorsqu’elle fait défaut : dans ce cas, les paquets multicast entrants sont envoyés à tous les hôtes du réseau ayant atteint le commutateur ou le routeur Internet. Dans les réseaux de plus grande envergure en particulier, cette procédure permet d’éviter un trafic inutilement élevé, qui peut également entraîner une surcharge du réseau. Les cybercriminels peuvent même tirer profit de cette situation et submerger des hôtes individuels ou l’intégralité du réseau de façon ciblée avec des paquets multicast afin de les détruire, comme dans le cas d’une attaque DoS/DDoS classique.

L’activation de l’IGMP snooping permet d’exclure les problèmes de congestion et les scénarios d’attaque de ce type. Chacun des hôtes du réseau reçoit uniquement le trafic multicast auquel il a souscrit au préalable par requête de groupe. L’utilisation de cette technique d’« écoute » est donc utile à chaque fois que des applications nécessitant une très grande bande passante sont utilisées. On peut citer à titre d’exemple les services IPTV et les autres services de streaming, ainsi que les solutions de conférence Web. Toutefois, les réseaux comptant uniquement quelques participants et un faible trafic multicast ne profitent pas de cette procédure de filtrage. Même si le commutateur ou le routeur dispose de la fonctionnalité de multicast snooping, elle doit être désactivée dans un tel cas afin d’empêcher les activités d’écoute inutiles.