c# udp multicast

c# - UDP Multicast a través de Internet?



(2)

El método preferido es utilizar la multidifusión superpuesta, es decir, utilizar enlaces TCP entre pares e implementar la semántica de multidifusión por encima de eso.

Muchos enrutadores IPv4 no admiten multidifusión o lo tienen deshabilitado, IPv6 tiene el mandato de admitir la semántica de difusión múltiple y se ha eliminado.

No estoy seguro de cuál es la mejor manera de abordar mi problema. Tengo un servicio con ejecuciones en una máquina remota que recibe y procesa paquetes UDP. Quiero que el servicio pueda reenviar estos paquetes a quien quiera que los quiera (podría ser nadie, normalmente será una máquina, pero puede ser más)

Pensé que la multidifusión UDP sería ideal: el servicio puede enviarse al grupo de multidifusión y no importa cuántos receptores se hayan registrado, o incluso si no hay ninguno.

Sin embargo, quiero poder acceder a esto a través de Internet y, por lo que veo, esto es casi imposible con la Multidifusión UDP. ¿Hay algún otro método que pueda usar para lograr esto?

Si es relevante, tanto mi cliente como el servicio están escritos en C #.


En general, esto no es posible ya que los paquetes de multidifusión no se enrutan.

Existen algunas técnicas para solucionar esto (DVMRP, MOSPF y otras) pero todas requieren que usted pueda configurar todos los enrutadores entre su servidor y los clientes (o crear un túnel). Existen redes troncales (Abilene, Mbone) con soporte de multidifusión, pero son de gran interés para las universidades y demás. El internet del consumidor normal no tiene multicast.

Desafortunadamente, necesitas comunicación punto a punto. Pero usted está en buena compañía, internet, radio y televisión, todos lo hacen punto a punto, transmitiendo los mismos datos varias veces. Todo un desperdicio de ancho de banda.