Programación de multidifusión

La programación de multidifusión está habilitada a través de Windows Sockets. Windows Sockets habilita la detección del agente de escucha de multidifusión (MLD) versiones 1 (MLDv1) y 2 (MLDv2) en IPv6 y el Protocolo de administración de grupos de Internet versiones 2 (IGMPv2) y 3 (IGMPv3) mediante el uso de opciones de socket o ICTLs. En esta sección se describe la implementación de Windows, se explica cómo habilitar la programación de multidifusión mediante Windows Sockets y se proporcionan ejemplos de programación para ilustrar su uso.

La segunda versión de IGMP, a partir de entonces denominada IGMPv2, permite a los hosts unirse y dejar grupos de multidifusión identificados por una dirección de multidifusión IPv4 en una interfaz de red específica. Windows Sockets permite que una aplicación se una y deje estos grupos en sockets específicos. Sin embargo, una desventaja de IGMPv2 es que cualquier dirección de origen IPv4 unida al grupo IGMPv2 puede transmitir a todos los miembros, lo que podría inundar el grupo y hacer que no se pueda usar para las transmisiones que requieren una fuente principal, como una estación de radio de Internet. El problema con IGMPv2 es su incapacidad de elegir de forma selectiva una única dirección de origen IPv4 (o incluso algunas fuentes) y su incapacidad para bloquear remitentes (como emisores no autorizados o autores de denegación de servicio) para un grupo de multidifusión determinado. IGMPv3 aborda esas deficiencias.

Con Windows Sockets e IGMPv3, las aplicaciones pueden seleccionar una dirección de origen IPv4 de multidifusión determinada y un par de grupos de multidifusión. Además, Windows Sockets permite a los desarrolladores permitir de forma selectiva otros organismos de radiodifusión en un par de origen o grupo determinado, o permite que las aplicaciones bloqueen emisoras específicas. IGMPv3 es compatible con Windows Vista y versiones posteriores.

La primera versión de MLD en IPv6, denominada MLDv1, es muy similar a IGMPv2 y sufre de las mismas limitaciones. MLDv1 permite a los hosts unirse y dejar grupos de multidifusión identificados por una dirección de multidifusión IPv6 en una interfaz de red específica. Windows Sockets permite que una aplicación se una y deje estos grupos en sockets específicos. Sin embargo, cualquier dirección de origen IPv6 unida al grupo MLDv1 puede transmitir a todos los miembros, lo que podría inundar el grupo y hacer que no se pueda usar para las transmisiones que requieren un origen principal. El problema con MLDv1 es su incapacidad de elegir de forma selectiva una única dirección de origen IPv6 (o incluso algunos orígenes) y su incapacidad para bloquear remitentes (como emisoras no autorizadas o autores de denegación de servicio) para un grupo de multidifusión determinado. MLDv2 aborda esas deficiencias.

Con Windows Sockets y MLDv2, las aplicaciones pueden seleccionar una dirección de origen IPv6 de multidifusión determinada y un par de grupos de multidifusión. Además, Windows Sockets permite a los desarrolladores permitir de forma selectiva otros organismos de radiodifusión en un par de origen o grupo determinado, o permite que las aplicaciones bloqueen emisoras específicas. MLDv2 es compatible con Windows Vista y versiones posteriores.

Hay dos enfoques que un programador de aplicaciones puede adoptar al desarrollar aplicaciones de multidifusión en Windows. El primer enfoque es basado en cambios; Los orígenes de multidifusión se agregan o quitan mediante opciones de socket, incluso durante el transcurso de la transmisión, según sea necesario. El segundo enfoque se basa en el estado final; las direcciones de origen y las direcciones incluidas o excluidas se especifican con un IOCTL. Cada enfoque es una práctica de multidifusión válida, pero los desarrolladores pueden encontrar el uso de opciones de socket y el enfoque basado en cambios más intuitivo y flexible.

Esta sección tiene las páginas siguientes:

Título de la página Descripción
MLD e IGMP con Windows Sockets Enumera las opciones de socket de multidifusión disponibles para su uso en la programación de Windows Sockets mediante un enfoque de programación basado en cambios. Define dos categorías de aplicación de multidifusión.
Comportamiento de la opción de socket de multidifusión Proporciona una tabla extensa para explicar las implicaciones y los requisitos de llamar a las opciones de socket de multidifusión en un orden concreto.
Ejemplo de programación de multidifusión Fragmento de código de programación que muestra cómo usar las opciones de socket para habilitar aplicaciones de multidifusión en Windows.
Programación de multidifusión basada en estado final Explica el enfoque de estado final y cómo usar ioCTLs para la programación de multidifusión con Windows Sockets.
Migración de aplicaciones de difusión a IPv6 Proporciona instrucciones para migrar aplicaciones de difusión IPv4 a multidifusión IPv6.