Un fabric de Weave es una colección de recursos compatibles con Weave. Proporciona una forma conveniente para que los nodos Weave de la casa de un usuario intercambien mensajes de forma segura.
El primer nodo del sistema Weave aprovisiona el tejido. Una vez aprovisionados, otros nodos pueden unirse de forma segura a la infraestructura con certificados de Weave. Más adelante, hablaremos más sobre los certificados y la seguridad, pero recuerda que la vinculación de dispositivos y la unión de tejidos en Weave siempre son seguras.
A cada recurso de la estructura se le asigna una dirección IPv6 especial para que la use la aplicación de Weave. No importa qué tecnología inalámbrica enrutable uses. Ethernet, Wi-Fi o Thread. Siempre que cada nodo ejecute Weave y sea miembro del tejido, se pueden enviar y recibir mensajes.
Ejemplo
Supongamos que tienes una red de área doméstica (HAN) simple que consta de recursos conectados por Wi-Fi y Thread. Estas dos redes están unidas por un router de borde, que participa en ambas redes y actúa como un router para enrutar el tráfico entre ellas.
Los recursos de cada red usan sus configuraciones de enrutamiento de IP estándar para comunicarse entre sí a través de protocolos de transporte, como UDP o TCP, pero con un tejido Weave aprovisionado, ahora pueden pasar mensajes de Weave a través de esos mismos transportes.
Direccionamiento IPv6
Una estructura de Weave permite un enrutamiento IPv6 simple en las aplicaciones de Weave mediante la asignación de una Dirección local única (ULA)
a cada recurso de la estructura. La aplicación de Weave usa esta dirección para enrutar los mensajes de Weave.El siguiente es un ejemplo de una dirección IPv6 de Weave de un nodo:
fd00::fab1:2:3e36:13ff:fe33:732e
Veamos los diferentes elementos que componen la dirección.
Prefijo global
Todos los nodos de Weave usan un prefijo global IPv6 de fd00::/48
. El IETF designa las direcciones de este bloque en la RFC-4193 para usarlas en redes privadas, como una HAN.
ID de Fabric
Al tejido se le asigna un ID de 64 bits único generado de forma aleatoria durante el aprovisionamiento del tejido. Este ID pasa a formar parte del prefijo global IPv6.
Por ejemplo, si a un tejido se le asigna un ID de tejido de fab1
, el prefijo global del tejido se convierte en lo siguiente:
fd00:0000:fab1::/48
ID de nodo
Cada nodo del tejido se asigna un ID de nodo de Weave, que tiene la forma de un identificador único extendido (EUI-64) de IEEE. La mayoría de los nodos obtienen su ID de nodo de su dirección MAC. Un nodo puede tener una dirección MAC de 48 bits o 64 bits, que suele estar asociada con sus interfaces Wi-Fi o 802.15.4, respectivamente. Weave prefiere usar el valor de 64 bits como el ID del nodo, cuando está disponible.
Si un nodo solo tiene una dirección MAC de 48 bits, según la RFC 4291, Weave inserta el valor de 16 bits de FF:FE
en el medio para crear el valor EUI-64, que se usa como el ID de nodo de Weave.
Por ejemplo, si la dirección MAC del nodo es 3c:36:13:33:73:2e
de 48 bits, el ID de nodo de Weave resultante es 3c3613fffe33732e
.
Para usar el ID de nodo en una dirección IPv6, debes transformarlo en un identificador de interfaz. Para ello, cambia el séptimo bit, llamado bit universal o local. Por lo tanto, un ID de nodo de 3c3613fffe33732e
se convierte en un identificador de interfaz de 3e3613fffe33732e
.
Subred
La última pieza de la dirección IPv6 de Weave es la subred, un valor de 16 bits que se usa para identificar las interfaces de red. Estos valores los determinan las redes subyacentes. Por ejemplo, Wi-Fi o Thread.
En este ejemplo, supongamos que nuestra subred es 0x0002
.
Revisión general
Si combinas todos los elementos anteriores, obtendrás una dirección IPv6 de Weave:
Con un recurso unido al tejido, los perfiles de Weave ahora pueden pasar mensajes entre él y otros recursos del tejido a través de la dirección IPv6 asignada por Weave al nodo. A continuación, veremos los conceptos básicos de los mensajes en Weave.
Resumen
Qué aprendió:
- Un tejido es una colección de recursos compatibles con Weave que cooperan para proporcionar servicios al usuario y a la estructura.
- Los recursos siempre se autentican y se unen de forma segura a un tejido.
- A cada recurso de un tejido se le asigna una dirección local única IPv6 para que la use Weave.
- Los mensajes de Weave se pasan entre esas direcciones IPv6, independientemente de la tecnología inalámbrica subyacente o el transporte.