En las redes IPv4 existen diferentes tipos de comunicaciones entre los diferentes hosts que hay en una misma red, habitualmente se utiliza tráfico Unicast (tráfico de un equipo a otro equipo) para la comunicación y la transferencia de datos, sin embargo, también existe el tráfico IP Multicast, o también conocido como multidifusión, cuyo objetivo es enviar solamente información a aquellos equipos (clientes) que están configurados específicamente para recibir este tráfico de red.
Puede que no conozcas ni un solo detalle acerca de este enrutamiento, pero en RedesZone os vamos a explicar en detalle qué es el tráfico Multicast y por qué es tan importante hoy en día en las TV por Internet. Un método de red que sirve para la distribución eficiente del tráfico de uno a muchos, es decir, este protocolo en particular permite que un emisor pueda entregar flujos de datos IP una vez y al mismo tiempo a diferentes destinatarios.
Es justamente por esto mismo por lo que vamos a explicar con detalle todo lo que tiene que ver con las comunicaciones multicast en las siguientes líneas. Desde su funcionamiento hasta las ventajas generales que presenta. Además, veremos también los diferentes tipos de comunicaciones que se pueden encontrar en red. Y, en general, veremos con mayor profundidad el tráfico Multicast.
¿Qué es el tráfico Multicast?
El tráfico IP Multicast, o también conocido como multidifusión IP, es un método para transmitir información a un grupo de receptores (clientes) que están configurados para tal fin. Además, un detalle importante que se puede tener en cuenta es quehay diferentes variantes de este protocolo en particular.
Los equipos que no están configurados específicamente, no recibirán este tráfico de red y podrán dedicarse a enviar y recibir otro tipo de tráfico. En redes IPv4 existen un total de cuatro tipo de comunicaciones diferentes que se pueden realizar, estas son las siguientes:
- Unicast: es el tipo de comunicación más común, la dirección es unidifusión, es decir, desde un origen en concreto hasta un destino. Es decir, se trata de una comunicación punto apunto, así que es ideal que se emplee este tipo de comunicación en aplicaciones cliente-servidor. Y es que en este ejemplo en particular lo cierto es que tenemos un único emisor y receptor, y se puede utilizar tanto para enviar como para recibir datos. Por lo que es la opción ideal en todo momento. Este tipo de comunicación es ampliamente usada, por ejemplo, para la navegación web, transferencia de archivos vía Samba o FTP, o casi cualquier otro tipo de comunicación. Si queremos enviar la misma información a varios usuarios, tendremos que enviar los datos una vez a cada uno de los receptores.
- Broadcast: este tipo de comunicación permite enviar los datos a todos los usuarios que hay en la misma red local. Es decir, hay que tener en cuenta que con este tipo de comunicación se puede enviar un mensaje a todos los potencuiales receptores. Por lo que es diferente al tipo multicast, ya que únicamente lo reciben los nodos que estén interesados. Además, podremos enviar un mensaje a la dirección IP de broadcast (que es la última dirección IP de una subred) y automáticamente el resto de usuarios conectados recibirán esta comunicación. Tenemos una dirección IP especial que es la 255.255.255.255 que representa un broadcast a toda la red local, esta dirección IP es ampliamente usada cuando enviamos un mensaje DHCP Discovery, para intentar descubrir dónde está ubicado el servidor DHCP en la red.
- Anycast: como el broadcast y el multicast, este tipo de comunicación es de uno a muchos, sin embargo, los datos no son transmitidos a todos los receptores, solamente lo enviarán a los más cercanos. Este método es el usado por los servidores DNS para balancear el tráfico de datos entre los diferentes servidores que hay repartidos por todo el mundo. Gracias a las IP Anycast, un mismo servidor DNS (8.8.8.8, por ejemplo) puede tener esta dirección tanto en España como en EEUU, que los protocolos de enrutamiento dinámicos se encargarán de enviar la petición al servidor DNS más cercano.
Y también tenemos el tráfico IP Multicast que es del que vamos a hablar ahora en detalle. El tráfico Multidifusión está asociado específicamente a un grupo de «clientes» interesados en recibir ese tráfico de red, si no está en el grupo de Multicast, no recibirán la información, esto es algo ideal para no colapsar las redes, ni tener que enviar copias de todos los paquetes a todos los clientes. Es decir, al contrario del anterior tipo en concreto que solo es de emisor-receptor, en este tipo lo cierto es que el emisor puede realizar envíos de datos a muchos receptores o desde muchos emisores a varios receptores. Por lo que hay un importante cambio entre el tipo de comunicación anterior y este. La comunicación se realiza una vez desde la dirección IP Unicast de origen hasta la dirección de IP Multicast elegida, independientemente de cuántos clientes haya en esta dirección de Multicast, todos los que estén en el grupo recibirán los datagramas.
Por lo tanto, hay que tener en cuenta que el modelo TCP/IP llega a ofrecer diferentes tipos de comunicación en los que no siempre es recomemendable usar un tipo en particular, sino que hay que tener en cuenta cada una de las ventajas y las desventajas que admite cada timpo, además de la fiabilidad que pueden ofrecer a la hora de entregar los datos.
Protocolos de aplicaciones
El tráfico Unicast y Multicast es claramente diferente, por este motivo, existen diferentes protocolos diseñados específicamente para tráfico multicast que solamente se puede usar con este tipo de tráfico, y no se puede usar con Unicast. Por lo que es un punto importante que se debe tener en cuenta.
Por otro lado, la mayoría de los protocolos de aplicaciones existentes que usan Multidifusión hacen uso del protocolo de la capa de transporte UDP. El motivo de usar UDP es porque es un protocolo no orientado a conexión, es decir, no es necesario un «handshake» previo para empezar a enviar la información, sino que directamente se pueden enviar los datagramas desde un origen a varios destinos, además, la cabecera es realmente pequeña por lo que se optimiza muchísimo el tráfico de red al no tener una sobrecarga adicional por tema de cabeceras.
Algunos protocolos muy populares que se usan con tráfico Multicast es RTP (Real-time Transport Protocol), es un protocolo a nivel de aplicación que se encarga de transmitir información en tiempo real, como, por ejemplo, audio y video en una plataforma de TV o en una videoconferencia, este protocolo se usa tanto en Multicast como en Unicast. También se suele usar junto con el protocolo RTSP (Real-time Streaming Protocol) y también se usa el RTCP (RTP Control Protocol).
Además, hay que tener en cuenta que la distribución de una red local está comandada por el protocolo IGMP y por MLD, IPv4 e IPv6 respectivamente, dentro de un dominio de enrutamiento que usa el protocolo PIM. Por lo que entre dominios se tiene que usar algún protocolo de enrutamiento multidifusión como puede ser el MBGP.
Ventajas y desventajas del tráfico Multicast
Este tipo de tráfico, también conocido como multidifusión IP, lo cierto es que también presenta una serie de puntos a favor y otra serie de aspectos en contra. Por esto mismo, en las siguientes líneas vamos a conocer las ventajas y desventajas que presenta el tráfico multicast. De esta manera es más sencillo conocer por qué es importante y cuáles son los puntos débiles de este método en concreto:
Puntos a favor
- Una de las principales ventajas del tráfico multicast es la eficiencia del uso del ancho de banda. A diferencia del tráfico unicast, donde cada destinatario recibe una copia individual de los datos, el multicast permite enviar una única transmisión que alcanza a todos los destinatarios. Esto reduce mucho la carga de la red, sobre todo en situaciones donde muchos usuarios comparten la misma información, como una transmisión en vivo.
- Otra ventaja es la escalabilidad. El tráfico multicast es escalable, ya que el coste y la complejidad de la transmisión no aumentan proporcionalmente con el número de destinatarios. Esto lo hace ideal para aplicaciones como transmisiones en vivo de eventos masivos, donde el número de receptores puede ser muy alto.
- La velocidad de entrega también es una ventaja importante. Al transmitir datos a múltiples destinatarios de manera simultánea, el tráfico multicast reduce el tiempo necesario para llegar a todos los usuarios. Algo muy importante en aplicaciones que requieren una entrega rápida de datos, como transmisiones en tiempo real o actualizaciones masivas de software.
- Además, el tráfico multicast puede mejorar la eficiencia en cuanto a la administración de la red. Al tener una única transmisión para muchos destinatarios, se simplifica la gestión y el mantenimiento de la red, reduciendo la dificultad de las operaciones en comparación con las transmisiones unicast.
- El cliente que solicita el mismo flujo de datos, se une al grupo para compartir un flujo de datos. Esto permite aliviar la carga del servidor, lo que se traduce en un uso menos de los recursos.
- Réplica y reenvía los flujos de datos. Esto se realiza de acuerdo con las necesidades de todos los receptores. En este caso, el ancho de banda del servicio no se ve limitado por el ancho de banda del lado de acceso del cliente. Permite más de 260 millones de multidifusiones, por lo cual proporciona suficientes servicios.
- Se puede transmitir en la red de banda ancha de internet.
Desventajas de Multicast
- No dispone de mecanismos de corrección de errores, por lo cual es complicado compensar los paquetes de errores después de la pérdida de los paquetes, en cambio si dispone de un mecanismo de tolerancia de errores. Este junto con la QoS se pueden utilizar para compensar dichos errores.
- Los factores de autenticación en cuanto a los clientes se pueden mejorar. Esto tiene solución pero en todo caso debe ser aplicada en las redes existentes de forma externa.
- En entornos de red inestables o con una tasa demasiado alta de pérdida de paquetes, el tráfico multicast puede tener problemas de fiabilidad. La pérdida de paquetes en una transmisión multicast puede afectar a muchos destinatarios a la vez, lo que podría ser un problema en aplicaciones en las que la pérdida de datos puede suponer un problema.
IP Multicast
Este es un apartado muy extenso, pero en resumen, se realiza mediante una IP especial. Si bien para las comunicaciones punto a punto, se utilizan direcciones de clase A, B y C, para esta se utilizan de clase D.
Su alcance de paquetes IP viene establecido por el TTL de la cabecera de los mismos. Por lo cual, de inicio se determina el valor del TTL en la aplicación, y por cada salto que da el mismo, se reduce una unidad. Esto causa que el paquete pueda llegar a 0, ya que se alcanzaron el máximo número de saltos para la cifra establecida. En estos casos, la cifra establecida para comunicaciones multicast en redes locales es de 1.
Impacto en el rendimiento
El tráfico Multicast es todo aquel que envía datos a un grupo de destinatarios, como hemos visto. Este resulta muy útil para reducir la carga en la red, mejorando así la eficiencia en la entrega de datos a diferentes dispositivos. En cambio, puede tener cierto impacto en el rendimiento bastante significativo. Especialmente cuando hablamos de grandes empresas con grandes redes. La forma en la cual el tráfico Multicast puede afectar al rendimiento es:
- Ancho de banda: Cuando se realiza el envío de un paquete de datos a un determinado grupo de destinatarios, se utiliza una cantidad de ancho de banda que puede ser muy significativa. Cuando esto ocurre con grandes cantidades de datos, se puede llegar a saturar el ancho de banda que tenemos disponible. Resultando así en un rendimiento que puede ser deficiente en algunos casos.
- Congestión de la red: Que la red se congestione puede ser un gran problema, el cual afecta a todas las redes empresariales con altos volúmenes de tráfico. Cuando es Multicast, se puede agravar bastante la congestión de la red, sobre todo cuando tenemos un número de destinatarios elevado.
- Rutas de tráfico: Este tráfico puede resultar en diferentes rutas que no son eficientes. Los problemas que esto puede causar, es en cuanto a retrasos o pérdida de paquetes, lo cual afecta al rendimiento generalizado de la red.
- Seguridad: Disponer de un tráfico Multicast puede dar pie a que la red sea un poco más vulnerable a ataques de seguridad. Esto es por su naturaleza de difusión, la cual es a diferentes grupos de destinatarios de forma simultánea. Esto hace que las redes sean mucho más susceptibles a ataques de denegación de servicio, u otro tipo de ataques malintencionados.
Estos problemas se pueden solucionar en parte implementando sistemas de monitorización. Estos nos ayudarán a tener el tráfico controlado, y a actuar sobre posibles problemas que puedan aparecer lo antes posible.
Soporte Multicast
Hay que tener en cuenta que el enrutamiento multicast solamente se válida en el modo de enrutamiento combinado. En este caso, se presenta varios aspectos que se deben tener en cuenta. Como, por ejemplo, los tipos de interfaces.
Para que tengas una idea más clara, este puede habilitar hasta 31 interfaces, se admite IPv4 y no se admite IPv6. En cualquier caso, este enrutamiento admite los siguientes tipos de interfaces: física, VLAN, puente, conjunto de enlaces, interfaz virtual BOVPN e inalámbrico.
Cómo funciona el direccionamiento IP Multicast
El direccionamiento IP del tráfico multicast tiene un rango específico, este rango va desde la dirección IP 224.0.0.0 a la 239.255.255.255 están destinadas para ser direcciones de multidifusión explícitamente, a este rango se le suele llamar clase D. Estas direcciones IP no se asignan a direcciones unicast tradicionales, es un rango reservado, además, dentro del rango especificado hay otros subrangos que no se deben usar por todas las aplicaciones, estos rangos son las siguientes:
- 224.0.0.0 – 224.0.0.255 (224.0.0/24) Local Network Control Block: este rango de direccionamiento IP es usado habitualmente por protocolos de enrutamiento de pasarela interior que hagan uso de comunicación Multicast, como RIP o OSPF. Este direccionamiento es solo para multidifusión local, por lo que no deberían ser reenviadas por los routers.
El resto del rango 224.0.0.0/8 ha sido asignado a diferentes aplicaciones a lo largo de los años, o simplemente se ha reservado por parte de la IANA. El rango 223.0.0.0/8 está reservado para usarse con el protocolo SSM. El rango 239.0.0.0/8 se utiliza como uso de administración, es aquí donde los operadores de red proporcionan servicios de IPTV para la televisión a través de Internet. Podéis visitar el documento RFC3171 donde encontraréis todos los rangos de direccionamiento IP Multicast que existen y los que están reservados.
Hay que tener en cuenta que el acceso a los grupos IP Multicast está dirigido por los propios routers de red que formen parte de esto y el mismo protocolo de administración de grupos de Internet (IGMP). Por lo tanto, el punto inicial para la comunicación IGMP se da siempre en el router desde el cual se conecta a la red el emisor del multicast. Por lo que el propio emisor llega a reenviar los paquetes de flujo de datos en una sola tanda a diferentes destinatarios en el mismo momento indicando únicamente la dirección del grupo como dirección de destino, sin saber exactamente a cuantos destinatarios llega finalmente.
Dentro de este apartado hay que hablar de los clientes multicast. Hay que tener en cuenta que los hosts llegan a recibir los datos multicast concretos que se denominan como ‘clientes multicast’. Estos usan distintos servicios que están solicitados por un programa cliente para llegar a suscribirse al grupo en cuestión. Además, cada grupo solo cuenta con una dirección IPv4 de destino. Y una vez suscrito, el host se encarga de procesar los paquetes dirigidos a la dirección multicast en cuestión. Además, otro punto importante de las comunicaciones multicast es que el intercambio de datos se llega a dar entre dos nodos de una red.
¿Para qué sirve el tráfico Multicast?
El tráfico Multicast se usa ampliamente en servicios de TV de pago de los diferentes operadores de fibra que hay en España, por ejemplo, Movistar. Gracias a la multidifusión IP, el operador puede ofrecer streaming de vídeo y audio de alta calidad a todos los clientes que lo contraten, el decodificador estará escuchando en una dirección IP específicamente de Multicast para recibir toda la información, y el router recibirá los canales consultándolo a través del protocolo RIPv2. Gracias a la plataforma de TV de Movistar, todos los clientes pueden recibir la señal de TV en sus hogares sin ningún tipo de retraso, pixelaciones ni parones cuando hay miles de clientes conectados viendo un partido de fútbol.
Otros usos que se le puede dar al tráfico Multicast es para las videoconferencias, aunque no es muy habitual. También se puede utilizar el tráfico Multicast en sistemas de CCTV, donde se puede visionar y grabar de forma eficiente secuencias de vídeo captadas por la misma cámara, esto nos permite ahorrar un gran ancho de banda al no tener que enviarlo por duplicado o triplicado a los diferentes destinatarios, solamente los usuarios que necesiten verlo lo verán, sin necesidad de saturar la red. Sin olvidar que la transmisión multicast también se puede usar para diferentes fines, además de la transmisión de vídeo y de audio que mencionábamos. Está la opción de llevar a cabo un intercambio de información, la distribución de software o hasta para videojuegos en remoto.
Tal y como habéis visto, el tráfico Multicast se utiliza sobre todo en servicios de IPTV de los operadores, para que todo funcione correctamente es fundamental que tanto el router como también los switches (si existen) gestionen correctamente este tráfico Multicast. El protocolo más importante para la gestión correcta del tráfico multicast es el denominado IGMP Snooping para redes IPv4, y el protocolo MLD para redes IPv6, estos protocolos se encargan de enviar solamente el tráfico a los equipos que están «escuchando» realmente este tráfico, y no a todos los equipos de la red, para evitar su colapso o lentitud.