Quizás alguna vez hayas escuchado la palabra multicast y no has sabido su significado. Vamos a intentar explicar de una manera muy sencilla y resumida lo que significa.
Multicast es un método de envío simultáneo de paquetes (a nivel de IP) que tan sólo serán recibidos por un determinado grupo de receptores, que están interesados en los mismos.
Para que el equipo reciba paquetes, antes deben de haberse subscrito a ese grupo, haciéndolo saber mediante un mensaje de tipo IGMP (este tipo de mensaje no solo sirve para que un equipo se apunte para recibir paquetes multicast de una dirección, sino también sirve para que un router sepa que en su interfaz tiene a un equipo interesado en recibir paquetes de una determinada dirección multicast). Cuando el router sepa esa información y le lleguen paquetes con la dirección de destino a la que el host estaba interesado, el router los redigirá y los enviará al host.
Cuando hablamos de direcciones, multicast tiene un rango de direcciones IP que va desde la 224.0.0.0 hasta la 239.255.255.255 (esto para IPv4, en IPv6 las podemos identificar porque comienzan con ff00).
Multicast es ampliamente utilizado para tráfico multimedia (video, música, restransmisiones en streaming etc).
Un ejemplo de uso de este tipo de comunicaciones es el reproductor de vídeo VLC que permite realizar una emisión multicast en una determinada dirección. Si algún PC se subscribe a la dirección en la que estés emitiendo, será capaz de verlo.
Una documentación completa de este protocolo, se puede consultar en la siguiente página de documentación de cisco.
Las direcciones multicast se asignan normalmente mediante el protocolo SAP (Session Announcement Protocol). Utiliza un directorio de sesiones para realizar envíos periódicos anunciando sesiones multicast, con información de configuración sobre la emisión. Los paquetes se envían a la dirección multicast 224.2.127.254 y al puerto 9875, por lo que si un equipo quiere recibir anuncios de sesiones multicast, deberá subscribirse a esa dirección.
No todo son ventajas de este protocolo: tiene una estructura no jerárquica y también si el número de solicitudes es elevado, puede colapsarse. Está pensado para aplicaciones multimedia y la asignación se realiza dinámicamente (no es posible efectuar asignaciones estáticas).
Si queremos asignar direcciones estáticas, se utiliza el denominado ‘Glob addressing’, pero antes hay que contar lo que es un Sistema Autónomo:
Para gestionar mejor todo el conjunto de IP que existen en Internet, se crea el concepto de Sistema Autónomo, que consiste en un grupo de redes IP en los que las rutas de comunicación entre los host y routers de esas subredes están definido por el propio administrador del Sistema Autónomo. Los sistemas estarán comunicados mediante pasarelas. Si se utiliza Glob addressing para asignar direcciones multicast estáticas, se asigna a los dos bytes centrales de la dirección IP el valor del Sistema Autónomo. Por ejemplo, si es RedIRIS (766), le corresponde el rango 233.2.254 (2.254 equivale a 766 expresado en dos bytes).
Por último, comentar que para que un router sepa direccionar un paquete con una dirección multicast hasta los subscriptores, es necesario que conozca si algún router (o host) de su alrededor tiene un equipo interesado en esa dirección. Para ello se utiliza un algoritmo como PIM-SM v2 (Protocol Independent Multicsat – Sparse Mode), mediante el cual los router construyen un árbol de expansión para saber hacia dónde tienen que enviar ese paquete.
Al ser este un protocolo poco utilizado en redes domésticas, usualmente viene deshabilitado. Por ello, será necesario activar multicast, lo cuál es el significado de enable multicast, una opción que podrás haber encontrado en tu router. En mi caso concreto, con la instalación de fibra óptica, cuento con un router ZTE F660 y así se configura según el manual del fabricante.
Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…
Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…
Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…
Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…
Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…
Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…