IP Multicast

IP Multicast es un método para transmitir datagramas IP a un grupo de receptores interesados. Puedes ver el artículo de multidifusión para ver una discusión general del asunto. En este artículo se trata específicamente la multidifusión IP.

Implementaciones de multidifusión IP

Los operadores de Pay-TV y algunas instituciones educativas con grandes redes de ordenadores han usado la multidifusión IP para ofrecer streaming de vídeo y audio a alta velocidad a un gran grupo de receptores. También hay algunos casos en que se ha utilizado para transmitir videoconferencias. De todas formas se ha relegado a ámbitos de investigación y educación que tienen más posibilidades de ofrecer las grandes necesidades de redes que precisa este método.

Otro uso que se le ha dado, también a nivel comercial, es el de distribuir archivos. Particularmente para ofrecer imágenes de arranque de sistemas operativos. Respecto a los sistemas tradicionales permite un menor uso del ancho de banda de la red.

Fuera de esas áreas no ha tenido mucho éxito. Fundamentalmente por dos factores, cada uno referido al otro. Por una parte el tráfico generado por la multidifusión IP es realmente complejo, sobre todo cuando tiene que ver con la comunicación a dos vías. Además este método tiene la desventaja de que su implementación a gran escala puede venir acompañado de puntos adicionales de fallo. Particularmente de ataques de denegación de servicio.

Historia

En 1992 se hizo un intento experimental llamado MBONE de crear una red multicast a través de Internet usando túneles. De esta forma se conseguiría un ahorro importante de ancho de banda para las aplicaciones multimedia. El experimento quedó solo en eso. Motivado, entre otras cosas, por las dificultades que representaba para los ISPs ofertar redes con soporte de multidifusión IP.

Direccionamiento

Existen cuatro formas de direccionamiento IP. Cada una de ellas con sus propiedades únicas.

* Unicast: El concepto más común de una dirección IP es una dirección unicast. Se refiere normalmente a un único emisor o receptor y puede ser usada tanto para enviar como para recibir. Este tipo de dirección suele estar asociada a un único dispositivo u ordenador pero no implica una correspondencia uno a uno. Algunos PC individuales tienen varias direcciones unicast cada una para un propósito diferente. Para enviar la misma información a diferentes direcciones unicast el emisor debe enviar dichos datos una vez por cada receptor.

* Broadcast: Enviar los datos a todos los destinos posibles (un «broadcast a todos los hosts») permite al emisor enviar los datos una única vez a todos los receptores. En el protocolo IP, la dirección 255.255.255.255 representa un broadcast limitado localmente. También se puede hacer un broadcast directo (y limitado) combinando el prefijo de red con el sufijo de hosts compuesto únicamente de 1 binarios. Por ejemplo para una red con el prefijo 192.0.2 la dirección IP a usar será la 192.0.2.255 (asumiendo que la máscara de red es la 255.255.255.0).

* Multicast: Una dirección multicast está asociada con un grupo de receptores interesados. De acuerdo al RFC 3171 las direcciones desde la 224.0.0.0 a la 239.255.255.255 están destinadas para ser direcciones de multicast. Este rango se llama formalmente «Clase D». El emisor envía un único datagrama (desde la dirección unicast del emisor) a la dirección multicast y el router se encargará de hacer copias y enviarlas a todos los receptores que hayan informado de su interés por los datos de ese emisor.

* Anycast: Como el broadcast y el multicast, con anycast se representa una topología de uno a muchos. Sin embargo el flujo de datos no es transmitido a todos los receptores. El router lo enviará únicamente al que considere que esté más cerca en la red. Este método es muy útil para conseguir balancear las cargas de datos. Es el método usado por los sistemas DNS.

Protocolos y aplicaciones

Dado que las transmisiones multicast y unicast son diferentes, sólo los protocolos diseñados para multicast pueden ser usados efectivamente con este.

La mayoría de los protocolos de aplicaciones existentes que usan multicast lo hacen sobre UDP. Otras aplicaciones, sobre todo aquellas que tienen que transmitir contenidos multimedia, lo hacen usando el protocolo RTP; además del protocolo RSVP para reservar el ancho de banda necesario para la distribución del contenido.

La distribución en una red local está controlada por el protocolo IGMP (en una red IPv4) y por MLD (en una red IPv6). Dentro de un dominio de enrutamiento se usa el protocolo PIM y entre dominios se debe usar algún protocolo de enrutamiento multicast entre dominios como el MBGP.

Se pueden encontrar muchos errores si un paquete destinado a una dirección unicast es encaminado accidentalmente a una dirección multicast. Concretamente se ha usado el envío de paquetes ICMP a una dirección multicast como una forma de conseguir la amplificación de paquetes a través de un Ataque de denegación de servicio.

Asignaciones de direcciones IPv4 multicast

El rango de direcciones de clase D, que está asociado aún con direcciones de multicast, no se asignan a direcciones unicast tradicionales. De hecho la reserva de grupos de direcciones de multicast ha solido ser una fuente de problemas y puede llevar a múltiples e insatisfactorias soluciones.

Existen varias estrategias para lograr solventar el problema. Estas son solo algunas de ellas. Para más información deberá leer el documento RFC 3171.

El bloque 224.0.0.0/24 es solo para enlaces multicast locales. Aquí solo pueden encontrar cosas como protocolos de enrutado. Los datagramas a estas direcciones no deberían ser reenviadas por los routers.

Gran parte del resto del espacio de direcciones entre 224/8 ha sido asignado y usado por diversidad de aplicaciones a lo largo de los años o, simplemente, ha sido reservado por la IANA. Este bloque ha sido denominado despectivamente como el pantano multicast.

El bloque 232.0.0.0/8 está reservado para usarse por el protocolo de SSM.

239.0.0.0/8 es actualmente un espacio para uso administrativo. El uso de este bloque se especifica en el documento RFC 1918. Sin embargo en otro, el RFC 2365, indica que parte de este segmento tiene un uso parecido a un espacio de direcciones unicast privadas. Sin embargo la mayoría de operadores lo tratan como dice el primer documento.

El resto de la Clase D está marcado actualmente como reservado por la IANA.