Thread e IPv6

Matter usa IPv6 para sus comunicaciones operativas y aprovecha la dirección IPv6 Unicast y Multicast a fin de acceder a sus nodos y grupos, respectivamente.

Bajo consumo

Algunos nodos Matter están conectados y tienen presupuestos de energía que les permiten mantener sus radios encendidas de forma continua. Otros tipos de nodos, como los sensores, tienen requisitos para funcionar durante años con una batería y hacer funcionar sus radios en redes de bajo consumo, como Thread. La arquitectura del proxy, junto con Thread Sleepy End Devices, permite que los nodos con potencia completa proporcionen funcionalidad a nivel de red y de aplicación que aísla a sus nodos secundarios de las transacciones que requieren mucha energía.

Un aspecto fundamental de Matter es que funciona en medios de red de alta capacidad de procesamiento, como Wi-Fi y Ethernet, y también con ancho de banda y latencia baja, como Thread. Si todos los paquetes Multicast de la red Wi-Fi se conectaran a Thread, se sobrecargaría la red y es posible que se inundara. El objetivo de Thread es habilitar IPv6 en redes en malla de baja potencia y baja latencia, no en la transferencia de datos de ancho de banda alto. Si bien los pings de ICMPv6 de Thread en una red local suelen tener un RTT de menos de decenas de milisegundos, su ancho de banda total está limitado a 250 Kbps en el estándar IEEE 802.15.4 PHY. Con las retransmisiones de paquetes y la sobrecarga, el ancho de banda máximo típico es de alrededor de 125 Kbps. En otras palabras, órdenes de magnitud menos que Wi-Fi.

Las tramas en la PHY del IEEE 802.15.4 tienen 127 bytes, pero la unidad de transmisión máxima (MTU) más grande (y típica) de los paquetes IPv6 en Thread es de 1,280 bytes. Por lo tanto, los paquetes IPv6 a menudo deben dividirse en varias tramas PHY. Este proceso se define en RFC4944.

Para obtener más información, consulta Direccionamiento IPv6 en el Primer Thread de openthread.io.

Routers de borde

Entonces, ¿cómo pueden coexistir los nodos en ambos medios de transporte mientras están en la misma estructura? Aunque ambas redes comparten credenciales Matter a nivel de la aplicación, no comparten la misma tecnología de vinculación. En esta situación, la red necesita un router de borde (BR) Thread para habilitar la conectividad. Las BR son routers IPv6 de stub.

Los routers de stub permiten la conectividad entre redes de stub y redes normales. Una red Stub es una red de "red de acceso" que proporciona conectividad externa a sus miembros, pero no actúa como una ruta de red de tránsito entre otras redes. Por lo general, las redes de stub de Matter se basan en Thread. Consulta el borrador de RFC para obtener más información sobre las redes de stub.

Por lo tanto, las BR tienen la responsabilidad de ser el vínculo entre la red de stub y la red de infraestructura adyacente, que es la red Wi-Fi o Ethernet local. Solo reenvían los paquetes relevantes para la red Thread.

Este proceso se lleva a cabo mediante la asignación de diferentes prefijos IPv6 a Thread y a las redes de infraestructura adyacentes. Por lo tanto, el BR solo reenvía los unicasts hacia o desde el prefijo IPv6 Thread.

Los routers de borde también son responsables de lo siguiente:

  • la configuración automática de prefijos y rutas de IPv6 para las redes Thread y de infraestructura adyacente, de modo que los hosts a ambos lados del router de borde Thread puedan comunicarse.
  • Publicación de paquetes de descubrimiento de mDNS DNS-SD en nombre de los nodos Thread para que puedan detectarse en la red de infraestructura adyacente

Para obtener más información, consulta la guía de routers de borde en openthread.io.

Multidifusión IPv6

Los mensajes de grupo también son importantes, ya que permiten el control simultáneo de varios nodos Matter mediante Multicast. Para enrutar este tráfico a la red Thread, Matter y Thread implementan el esquema de direccionamiento de IPv6 Multicast basado en prefijos Unicast definido por RFC 3306.

Este método permite seleccionar los nodos de destino de un paquete Multicast en función de su prefijo de IPv6 Unicast compartido.

Por ejemplo, una dirección Matter Multicast podría verse de la siguiente manera:

FF35:0040:FD<Fabric ID>00:<Group ID>

En la tabla 1, se detalla cómo se construye esta dirección:

Tabla 1: Unicast Direcciones IPv6 basadas en prefijos
Bits Descripción
12 bits 0xFF3
4 bits 0 × 05

Alcance: local del sitio

8 bits 0 × 00

reservado

8 bits 0 × 40

Indica un prefijo largo de 64 bits.

8 bits 0xFD

Designa un prefijo ULA

56 bits ID de Fabric
8 bits 0 × 00
16 bits ID del grupo

Puedes encontrar más información en la sección Multicast del Primer de Thread y en el RFC.

Cuando se forman las direcciones Multicast de IPv6, también incluyen los 56 bits superiores del ID de Fabric. La implicación importante es que el alcance de Multicast está dentro de Fabric, mientras que las direcciones Unicast se comparten entre Fabrics. Los nodos con muchas estructuras pueden tener varias direcciones Multicast que definan grupos de nodos superpuestos con alcances en cada estructura.

Puertos

Matter usa el puerto 5540 para sus multidifusión.