¿Cómo enviar multidifusión a todas las interfaces de red?

Digamos que tengo N interfaces de red con capacidad de multidifusión. Estoy planeando vincular N sockets UDP, uno a cada interfaz, y enviarlos a la misma IP/puerto de multidifusión. ¿Hay un enfoque más directo/eficiente que este?

Al recibir, sé que puede escuchar a través de múltiples interfaces usando el mismo socket, pero el envío no se puede hacer con un solo socket, ¿o sí?

preguntado el 22 de mayo de 12 a las 14:05

1 Respuestas

Otro enfoque es utilizar IP_MULTICAST_IF para cambiar la interfaz utilizada para enviar multidifusión en el socket. Con este enfoque, llamaría al envío N veces y cambiaría la interfaz de envío antes de cada envío. Esto le permitiría reducir la cantidad de sockets en uso, pero no la cantidad de llamadas enviadas.

El comportamiento de envío de multidifusión está en línea y guía al programador de aplicaciones de red hacia el principio de robustez/ley de Postel:

Sea conservador en lo que hace, sea liberal en lo que acepta de los demás (a menudo reformulado como "Sé conservador en lo que envías, sé liberal en lo que aceptas").

Lo que quiero decir con esto es que las API y el comportamiento del socket hacen que sea muy fácil recibir desde múltiples interfaces en un solo socket (recepción liberal), pero no permiten el envío. multidifusión y difusión todas las interfaces desde un solo socket, lo que obliga al programador a escribir muy conscientemente la aplicación para enviar múltiples interfaces (envío conservador)

Respondido 19 ago 16, 23:08

Esa cita es sobre el procesamiento de protocolos. No tiene nada que ver con el diseño o el comportamiento de la API de multidifusión. - user207421

No veo cómo esto podría ser una cuestión de protocolo. Cuando llega al nivel de protocolo (cable), siempre hay un paquete en cada interfaz. La ineficiencia (para mí) es tener que crear N sockets y enviar N datagramas a la pila en lugar de tener un mecanismo de envío de 1 a todas las interfaces. La pregunta incluso menciona intentar usar un solo enchufe en el último párrafo. ¿Cómo interpretas la pregunta? - Joel Cunningham

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.