Multicast (o difusión selectiva) es un método de transmisión de datos en redes informáticas en el que un equipo emisor envía un único flujo de información simultáneamente a un grupo específico de receptores interesados, en lugar de enviarlo a todos los dispositivos de la red o realizar múltiples envíos individuales.
A diferencia del Broadcast (que envía tráfico a toda la red obligando a todos los equipos a procesarlo) y del Unicast (que establece conexiones punto a punto uno a uno), el tráfico Multicast es mucho más eficiente: el emisor solo genera un paquete y son los propios switches y routers los encargados de replicarlo únicamente hacia los segmentos de red donde existen hosts suscritos.
¿Cómo funciona el tráfico Multicast?
Para que la comunicación Multicast funcione correctamente, entran en juego tres elementos clave:
- Direccionamiento específico: Se utilizan direcciones IP reservadas a las que se "asocian" los dispositivos interesados en recibir los datos.
- Suscripción de hosts (IGMP/MLD): Los equipos finales utilizan protocolos como IGMP (en IPv4) o MLD (en IPv6) para avisar al router local de que desean unirse o salir de un grupo de multicast.
- Enrutamiento inteligente (PIM): Los routers utilizan protocolos de enrutamiento como PIM para construir árboles de distribución y reenviar el tráfico solo por las interfaces necesarias.
Comparativa de tipos de transmisión
| Tipo de Transmisión | Emisor a... | Receptores | Eficiencia de Red |
|---|---|---|---|
| Unicast | Un receptor (1 a 1) | Solo el destino especificado | Baja si hay muchos receptores repetidos |
| Broadcast | Todos (1 a Todos) | Toda la red local obligatoriamente | Muy baja (genera congestión) |
| Multicast | Un grupo (1 a Muchos) | Solo los hosts suscritos al grupo | Alta (optimiza ancho de banda y CPU) |
Direccionamiento Multicast en IPv4 e IPv6
| Protocolo | Rango de Direcciones reservado | Notas / Uso principal |
|---|---|---|
| IPv4 | 224.0.0.0 a 239.255.255.255 (Clase D) |
Requiere IGMP para la gestión de grupos. |
| IPv6 | ff00::/8 (Comienzan por ff..) |
Sustituye por completo al broadcast y utiliza MLD. |
Características principales:
- Envía un único paquete desde el origen optimizando el ancho de banda.
- Los routers replican el paquete solo en las ramas de la red donde haya suscriptores.
- Ahorra ciclos de procesamiento (CPU) en los equipos que no forman parte del grupo.
- Suele utilizar el protocolo UDP en la capa de transporte (ideal para streaming en tiempo real).
- Es fundamental en IPv6 para tareas internas del sistema como el descubrimiento de vecinos (NDP).
Analogía: Piensa en un canal de televisión o una emisora de radio. El emisor emite una sola señal al aire, y únicamente quienes sintonizan ese canal específico reciben la información, sin molestar a los vecinos que tienen la tele apagada.
Actividad práctica
Objetivo:
Observar el comportamiento del tráfico Multicast local y analizar los grupos a los que está suscrito un equipo.
Tareas:
- Abre una terminal o símbolo del sistema en tu equipo.
- Ejecuta el comando
netsh interface ip show joins(en Windows) oip maddr/netstat -g(en Linux) para ver a qué grupos de multicast está unido tu adaptador de red. - Apunta al menos dos direcciones IP del rango de multicast (
224.0.0.0/4en IPv4 off00::/8en IPv6) que aparezcan en la lista. - Investiga qué servicio del sistema operativo utiliza una de las direcciones encontradas (por ejemplo, la dirección
224.0.0.1o224.0.0.251). - (Opcional) Abre Wireshark, aplica el filtro de visualización
ip.dst >= 224.0.0.0 and ip.dst <= 239.255.255.255y comprueba qué protocolos envían paquetes multicast en tu red.
Preguntas de reflexión:
- ¿Qué problema de rendimiento soluciona Multicast en comparación con Unicast cuando se emite un evento en directo a 1.000 usuarios?
- ¿Qué diferencia principal existe entre Broadcast y Multicast en el impacto sobre la CPU de un host no interesado?
- ¿Qué protocolo utilizan los equipos en IPv4 para informarle al router de que quieren unirse a un grupo Multicast?
- ¿En qué rango de direcciones IP se encuentran reservadas las direcciones Multicast en IPv4?
- ¿Por qué es común utilizar el protocolo UDP en lugar de TCP para las transmisiones Multicast?
Haz clic aquí para ver las soluciones y explicaciones
1. ¿Qué problema de rendimiento soluciona Multicast en comparación con Unicast cuando se emite un evento en directo a 1.000 usuarios?
Si usáramos Unicast, el servidor emisor tendría que enviar 1.000 flujos de datos individuales e idénticos, lo que colapsaría el ancho de banda de la red y la CPU del servidor. Con Multicast, el servidor envía un único flujo de datos a una dirección de grupo y los switches/routers de la red se encargan de duplicarlo solo en los puntos donde sea necesario llegar a esos 1.000 usuarios.
2. ¿Qué diferencia principal existe entre Broadcast y Multicast en el impacto sobre la CPU de un host no interesado?
En Broadcast, la tarjeta de red de todos los equipos recibe la trama y obliga a la CPU del sistema operativo a procesar el paquete para comprobar su contenido, aunque no sea para él. En Multicast, la tarjeta de red del host filtra a nivel de hardware el tráfico si el equipo no se ha suscrito a esa dirección de grupo, descartando el paquete de inmediato sin interrumpir a la CPU.
3. ¿Qué protocolo utilizan los equipos en IPv4 para informarle al router de que quieren unirse a un grupo Multicast?
Utilizan el protocolo IGMP (Internet Group Management Protocol). Mediante mensajes IGMP (como Membership Report o Leave Group), el host le comunica al router más cercano a qué grupos de multicast desea unirse o de cuáles quiere retirarse.
4. ¿En qué rango de direcciones IP se encuentran reservadas las direcciones Multicast en IPv4?
Pertenecen a la antigua Clase D, que abarca el rango desde 224.0.0.0 hasta 239.255.255.255. Por ejemplo, el rango 224.0.0.0/24 se reserva para protocolos de red locales (como mDNS o la comunicación entre routers).
5. ¿Por qué es común utilizar el protocolo UDP en lugar de TCP para las transmisiones Multicast?
El protocolo TCP requiere establecer una conexión punto a punto (orientada a conexión) con confirmación de entrega (ACKs) y retransmisión de paquetes perdidos. Hacer esto con cientos o miles de receptores simultáneos causaría una "tormenta de confirmaciones" insostenible. Por eso se utiliza UDP, que no orienta la transmisión a conexión y minimiza la sobrecarga de la red, aceptando pequeñas pérdidas de datos a cambio de fluidez en tiempo real.