IPv6
5. Tipos de Direcciones
5.3. Direcciones Multicast
Una dirección de multidifusión IPv6 es un identificador para un grupo de interfaces (típicamente en diferentes nodos). Una interfaz puede pertenecer a cualquier número de grupos de multidifusión. Las direcciones de multidifusión tienen el siguiente formato:
Las direcciones de Multicast están solo en el Campo de IP de Destino de un datagrama !!.
- Se las identifica fácilmente porque son direcciones que empiezan por 0xFF (es decir, por 1111 1111, en binario).
- Los nodos que se configuran con una dirección multicast determinada forman lo que se llama un GRUPO DE MULTIDIFUSIÓN.
- Un nodo puede pertenecer a varios grupos de multidifusión.
- Cuando un paquete es enviado a una dirección de multidifusión, todos los miembros del grupo procesan el paquete
- En la siguiente figura se muestra el formato de las direcciones multicast:
Los primeros 8 bits (puestos a 1) identifican la dirección como multicast. 0xFF
Los siguientes 4 bits se utilizan como flags y se definen así:
El primer bit (O) debe ser cero y está reservado para un uso futuro.
El segundo bit (R) indica si esta dirección de multidifusión incluye el llamado Rendezvous Point (Punto de Encuentro).
Esto está relacionado con un problema detectado al realizar multicasting entre dominios, y es que el protocolo utilizado (PIM - SM) no tiene forma de dar a conocer a otros dominios de multidifusión cuáles son las fuentes de multidifusión disponibles.
En la RFC 3956 se define cómo codificar la dirección del Rendezvous Point (RP) en una dirección de grupo multicast y el bit que estamos tratando indica si la dirección lleva, o no, insertado el "Rendezvous Point". En los usos más habituales, esto no será así y el bit valdrá 0.El tercer bit (P) indica si esta dirección de multidifusión incluye información acerca del prefijo (RFC 3306). Esto se utiliza para realizar la asignación dinámica de direcciones multicast y se explica más adelante. Cuando no se envía información sobre el prefijo, este bit se pone a 0.
El cuarto bit (T) y ultimo del campo de Flags indica si la dirección está asignada de forma permanente, esto es, si es una de las direcciones de multidifusión llamadas "Well-known" (bien conocidas), por estar asignadas por la IANA (bit a 0). O se trata de una dirección de multidifusión de carácter temporal (bit a "1").
La lista actualizada de dirección multicast asignadas está en este enlace
El campo “Scope” (= ámbito de aplicación) se utiliza para limitar el alcance de una dirección de multidifusión.
En función del valor asignado el ámbito puede ser de interfaz local, de enlace local, de sitio local, global...1 = nodo local
2 = link local
5 = site local
14 = global (Internet)
Por último, el campo "Identificador de grupo" sirve para delimitar el grupo objetivo de los paquetes multicast enviados.
1 = all nodes (Scope = 1 ó 2).
Con un valor de Scope = 2 nos permitiría enviar un mensaje a todos los nodos del enlace local.2 = all routers (Scope = 1, 2 ó 5)
Con todo lo dicho, podríamos utilizar, por ejemplo, la dirección FF02::1. Esta es la dirección "Link Local All Nodes", con la cual podríamos enviar un paquete a todos los nodos del enlace local. Esta dirección es la equivalente a la 255.255.255.255 de IPv4.
Otra dirección multicast que suele aparecer es la FF02::2, que es la dirección "Link Local All Routers" y que nos permite comunicarnos con todos los routers que se encuentran en el enlace local. Esto se usa, por ejemplo, cuando un nodo necesita encontrar un router (mensajes "Router Solicitation" de ICMPv6) que le pueda informar de cuál es la configuración de red que debe tomar.