Partager via


Programmation multidiffusion

La programmation multidiffusion est activée via les sockets Windows. Les sockets Windows activent les versions 1 (MLDv1) et 2 (MLDv2) de la découverte de l’écouteur de multidiffusion (MLD) sur IPv6 et le protocole de gestion de groupe Internet versions 2 (IGMPv2) et 3 (IGMPv3) à l’aide d’options de socket ou de IOCTL. Cette section décrit l’implémentation de Windows, explique comment activer la programmation multidiffusion à l’aide de Sockets Windows et fournit des exemples de programmation pour illustrer son utilisation.

La deuxième version d’IGMP, ci-après appelée IGMPv2, permet aux hôtes de rejoindre et de quitter des groupes de multidiffusion identifiés par une adresse de multidiffusion IPv4 sur une interface réseau spécifique. Les sockets Windows permettent à une application de joindre et de laisser ces groupes sur des sockets spécifiques. Un inconvénient d’IGMPv2, cependant, est que toute adresse source IPv4 jointe au groupe IGMPv2 peut transmettre à tous les membres, ce qui risque d’inonder le groupe et de la rendre inutilisable pour les transmissions qui nécessitent une source primaire, comme une station de radio Internet. Le problème avec IGMPv2 est son incapacité à choisir de manière sélective une seule adresse source IPv4 (ou même quelques sources), et son incapacité à bloquer les expéditeurs (tels que les radiodiffuseurs non autorisés ou les auteurs de déni de service) pour un groupe de multidiffusion donné. IGMPv3 corrige ces lacunes.

Avec les sockets Windows et IGMPv3, les applications peuvent sélectionner une adresse source IPv4 et une paire de groupes de multidiffusion particulières. En outre, les sockets Windows permettent aux développeurs d’autoriser de manière sélective des radiodiffuseurs supplémentaires dans une paire source/groupe donnée, ou permettent aux applications de bloquer des radiodiffuseurs spécifiques. IGMPv3 est pris en charge sur Windows Vista et versions ultérieures.

La première version de MLD sur IPv6, appelée MLDv1, est très similaire à IGMPv2 et souffre des mêmes limitations. MLDv1 permet aux hôtes de rejoindre et de quitter des groupes de multidiffusion identifiés par une adresse de multidiffusion IPv6 sur une interface réseau spécifique. Les sockets Windows permettent à une application de joindre et de laisser ces groupes sur des sockets spécifiques. Toutefois, toute adresse source IPv6 jointe au groupe MLDv1 peut être transmise à tous les membres, ce qui risque d’inonder le groupe et de la rendre inutilisable pour les transmissions qui nécessitent une source primaire. Le problème avec MLDv1 est son incapacité à choisir de manière sélective une seule adresse source IPv6 (ou même quelques sources), et son incapacité à bloquer les expéditeurs (tels que les radiodiffuseurs non autorisés ou les auteurs de déni de service) pour un groupe de multidiffusion donné. MLDv2 corrige ces lacunes.

Avec les sockets Windows et MLDv2, les applications peuvent sélectionner une adresse source IPv6 et une paire de groupes de multidiffusion particulières. En outre, les sockets Windows permettent aux développeurs d’autoriser de manière sélective des radiodiffuseurs supplémentaires dans une paire source/groupe donnée, ou permettent aux applications de bloquer des radiodiffuseurs spécifiques. MLDv2 est pris en charge sur Windows Vista et versions ultérieures.

Il existe deux approches qu’un programmeur d’applications peut adopter lors du développement d’applications multidiffusion dans Windows. La première approche est basée sur le changement; Les sources de multidiffusion sont ajoutées ou supprimées à l’aide d’options de socket, même au cours de la transmission, selon les besoins. La deuxième approche est basée sur l’état final ; les adresses sources et toutes les adresses incluses/exclues sont spécifiées avec un IOCTL. Chaque approche est une pratique de multidiffusion valide, mais les développeurs peuvent trouver l’utilisation des options de socket et de l’approche basée sur le changement plus intuitive et flexible.

Cette section contient les pages suivantes :

Titre de la page Description
MLD et IGMP à l’aide de sockets Windows Énumère les options de socket de multidiffusion disponibles dans la programmation de sockets Windows, à l’aide d’une approche de programmation basée sur le changement. Définit deux catégories d’applications de multidiffusion.
Comportement de l’option de socket de multidiffusion Fournit un tableau complet pour expliquer les implications et les exigences de l’appel d’options de socket multidiffusion dans un ordre particulier.
Exemple de programmation multidiffusion Extrait de code de programmation qui montre comment utiliser les options de socket pour activer les applications de multidiffusion dans Windows.
Programmation multidiffusion basée sur l’état final Explique l’approche de l’état final et comment utiliser les listes IOCTL pour la programmation multidiffusion avec des sockets Windows.
Portage d’applications de diffusion vers IPv6 Fournit des instructions pour le portage des applications de diffusion IPv4 vers la multidiffusion IPv6.