11. Multicast FF00::/8

Las direcciones de multicast que representamos en el título: FF00::/8 indican que los primeros 8 bits son "1" (unos),  FF , y dependiendo de los bits que siguen pertenecerán a otros grupos de multicast como ser: FF02::/12 ó FF01::/12, los cuales veremos a continuación.

FF02::/12 => 1111 1111 0000 0010
FF10::/12 => 1111 1111 0001 0000

Una dirección de IPv6 del tipo Multicast, es un identificador de un grupo de interfases, típicamente de nodos diferentes.

Las direcciones de Multicast están solo en el Campo de IP de Destino de un datagrama!!.
La direcciones de Multicast se usan en dos implementaciones que veremos mas adelante:

  • Neighbor Discovery
  • Router Discovery

Tal como se muestra en la imagen en al Grupo de Well Known FF02 , hay tres grupos multicast concretos o específicos:

Grupo Uso
All Nodes (FF02::1) usado para llegar a todos los nodos del enlace
All Routers (FF02::2) usado para llegar a los routers del enlace
Solicited-Node (FF02::1:FFxx:xxxx) usado en resolución de vecinos en ND

Todos  estos grupos de multicast forman parte de  FF02::/12 o  Well-Known multicast. 

Gráficamente sería: 

Multicast IPv6

├── Well-Known multicast (FF00::/12)
│   ├── All Nodes        FF02::1
│   ├── All Routers      FF02::2
│   ├── Solicited-Node   FF02::1:FFxx:xxxx
│   └── otros grupos

└── Transient multicast (FF10::/12)
    └── grupos dinámicos

Flag y Scope

Las direcciones de Multicast tienen unos campos que se conocen como : flags  y scope.

Con el campo SCOPE en mente podríamos representar la distribución de direcciones de Multicast IPv6 de la siguiente manera:

Multicast IPv6 segun campo Scope

├── Scope
│   ├── FF01  interface-local
│   ├── FF02  link-local
│   ├── FF05  site-local
│   ├── FF08  organization
│   └── FF0E  global

└── Well-known groups
    ├── FF02::1        All Nodes
    ├── FF02::2        All Routers
    └── FF02::1:FFxx   Solicited Node

Veamos como son los las primeros 16 bits de  es la siguiente:

Ver que los 8 primeros bits en 1 , indican que en hexadecimal es FF.

Veamos los campos que siguen.

Dirección Significado
FF01 interface-local
FF02 link-local , todos los  routers  del enlace.
FF02::1FFxx:xxxx nodo solicitado , para resolución de vecinos.
FF05 site-local
FF08 organization-local
FF0E global, internet
  • Notar que si buscamos los valores en bits que corresponden a la dirección de multicast de nodo solicitado :  FF02::1FFxx:xxxx, tenemos:
    • multicast : FF
    • flags: 0
    • scope: 2 => link local
    • Este es usado en Neighbor Discovery , solo en el enlace local y permite encontrar los vecinos del enlace. Mas adelante veremos esto de ND.
  • 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.    

Dependiendo de los los flags del segundo byte.

Tipo Prefijo
Well-known multicast FF00::/12
Transient multicast FF10::/12

Esto no define protocolos, solo indica si el grupo multicast está reservado oficialmente o es dinámico.

Scope o alcance

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...


  •          0  reserved.
  •          1  Interface-Local scope.
  •          2  Link-Local scope:
    • este vimos que se usa en Multicast de Nodo solicitado y tambien link-local , todos los  routers  del enlace y todos los nodos del enlace.
  •          3  reserved.
  •          4  Admin-Local scope.
  •          5  Site-Local scope.
  •          6  (unassigned).
  •          7  (unassigned).
  •          8  Organization-Local scope.
  •          9  (unassigned).
  •          A  (unassigned).
  •          B  (unassigned).
  •          C  (unassigned).
  •          D  (unassigned).
  •          E  Global scope.
  •          F  reserved.

Flags.

T=0, indica que es permanente la dirección asignada.

T=1, indica que NO es permanente la dirección asignada.

El segundo bit (R) indica si esta dirección de multidifusión incluye el llamado Rendezvous Point (Punto de Encuentro).

Tipos de Direcciones de Multicast

Hay algunas direcciones reservadas de Multicast y nunca deben ser asignadas a ningún grupo de Multicast.

 

1) Grupo multicast de todos los nodos FF02::1 

 
  • Llega a todos los nodos, host y routers.
  • Lo recibe nodos específicos ( nodos soliticados)
Se explica el uso en Network Discovery  ND.
 
Nota: alguien podría pensar que como llega a todos los nodos, es algo parecido a un broadcast, la consideración es que solo el Router lo usa cuando envía un RA, esto cambia mucho y con esto deja de considerarse un broadcast, vermos ejemplos en ND.
 
 

2) Grupo multicast de todos los routers FF02::2

 
  • Llega a todos los routers.
 
Se explica el uso en Network Discovery  ND.
Grupo multicast al que se unen todos los routers con IPv6 habilitado. Un router se convierte en un miembro de este grupo cuando se habilita como router IPv6 mediante el comando de configuración global ipv6 unicast-routing. Los paquetes que se envían a este grupo son recibidos y procesados por todos los routers IPv6 en el enlace o en la red.
 

3) Dirección multicast de nodo solicitado

Las direcciones multicast de nodo solicitado son similares a las direcciones multicast de todos los nodos, pero se usa en otras situaciones, como ser cuando se quiere completar la tabal de vecinos, esta tabla asocia IPv6 -MAC , pero como no puede hacer un broadcast envía un datagrama a esta dirección de multicast.
Recordar que la dirección de multicast de nodo solicitado es algo como : 
 
Prefijo multicast  FF02::1FFxx:xxxx/104
Los primeros 104 bits de la dirección multicast de todos los nodos solicitados. Los 24 bits menos significativos (finales) o que se encuentran más hacia la derecha de la dirección multicast de nodo solicitado se copian de los 24 bits del extremo derecho de la dirección unicast global o unicast link-local del dispositivo. Esto hace que NO todos los dispositivos de la red, vayan a interpretar el datagrama que va a este grupo, sería al menos 1, el que tiene la IPv6 con los últimos 24 bits iguales y evantualmente (poco probable) otro.

Ejemplo 1:

Para la IPv6 : 4037::01:800:200E:8C6C , la dirección sería de nodo solicitado sería:   FF02::1:FF0E:8C6C. Vemos que los últimos 24 bits coinciden: E:8C6C

Ejemplo 2:

 

Multicast capa 2 vs Multicast de capa 3

Las direcciones de multicast de capa 3, deben tener su equivalente en capa 2. 

Multidifusión IPv6: Los 32 bits bajos de una dirección de capa 2 o Ethernet para el tráfico de multidifusión IPv6 son los 32 bits bajos de la dirección IPv6 de multidifusión utilizada.

Veamos un ejemplo, el tráfico de multidifusión, con los últimos 24 bits siguientes de IPv6 origen: 00-00-0D y destino: 01-00-03.

Origen:

  • capa 3 IPv6 que utiliza la dirección ff02::d
  • capa 2 utiliza la dirección MAC 33-33-00-00-00-0D

Destino:

  • capa 3 el tráfico a ff05::1:3
  • capa 2 la dirección MAC 33-33-00-01-00-03.
Resaltemos esto:
Direcciones comunes de Multcast usadas en RouterOS (Mikrotik)
 
 

4) Dirección multicast temporales o Transient ( informativo) 

Las direcciones multicast Transient son grupos multicast dinámicos o temporales, que no están reservados por la IANA para protocolos específicos.

Se identifican porque el bit T (Transient) del campo Flags está en 1.

Ejemplo de prefijo típico: FF10::/12

Esto indica que el grupo multicast no es permanente, sino que puede ser creado dinámicamente por aplicaciones o servicios.

Las direcciones Transient multicast se utilizan principalmente para: 

Aplicaciones de multicast como streaming, conferencias multimedia, distribución de contenidos, IPTV.