Tissus tissés

Tissus tissés

Un fabric Weave est un ensemble de ressources compatibles avec Weave. Il permet aux nœuds Weave de la maison d'un utilisateur d'échanger des messages de manière sécurisée.

Le tissu est provisionné par le premier nœud du système Weave. Une fois provisionnés, d'autres nœuds peuvent rejoindre le fabric de manière sécurisée à l'aide de certificats Weave. Nous reviendrons plus tard sur les certificats et la sécurité, mais n'oubliez pas que l'association d'appareils et l'association de canevas dans Weave sont toujours sécurisées.

Chaque ressource du tissu est associée à une adresse IPv6 spéciale à utiliser par l'application Weave. La technologie sans fil routable que vous utilisez n'a pas d'importance. Ethernet, Wi-Fi ou Thread : tant que chaque nœud exécute Weave et est membre du tissu, des messages peuvent être envoyés et reçus.

Exemple

Supposons que vous disposiez d'un réseau domestique (HAN, Home Area Network) simple composé de ressources connectées à la fois par Wi-Fi et Thread. Ces deux réseaux sont reliés par un routeur de bordure, qui participe aux deux réseaux et sert de routeur pour acheminer le trafic entre eux.

HAN

Les ressources de chaque réseau utilisent leurs configurations de routage IP standards pour communiquer entre elles via des protocoles de transport tels que UDP ou TCP. Toutefois, avec un tissu Weave provisionné, elles peuvent désormais transmettre des messages Weave via ces mêmes transports.

HAN avec Weave

Adressage IPv6

Un tissu Weave permet un routage IPv6 simple entre les applications Weave en attribuant une adresse locale unique (ULA) à chaque ressource du tissu. L'application Weave utilise cette adresse pour router les messages Weave.

Voici un exemple d'adresse Weave IPv6 d'un nœud:

fd00::fab1:2:3e36:13ff:fe33:732e

Passons en revue les différents éléments qui composent l'adresse.

Préfixe global

Tous les nœuds Weave utilisent un préfixe global IPv6 de fd00::/48. Les adresses de ce bloc sont désignées par l'IETF dans le document RFC-4193 pour une utilisation dans des réseaux privés tels qu'un HAN.

ID de structure

Un ID 64 bits unique généré de manière aléatoire est attribué au fabric lors de son provisionnement. Cet ID fait partie du préfixe global IPv6.

Par exemple, si un fabric est associé à un ID de fabric fab1, le préfixe global du fabric devient:

fd00:0000:fab1::/48

ID de nœud

Chaque nœud du tissu s'attribue un ID de nœud Weave, qui prend la forme d'un identifiant unique étendu (EUI-64) IEEE. La plupart des nœuds dérivent leur ID de nœud de leur adresse MAC. Un nœud peut avoir une adresse MAC de 48 bits ou de 64 bits, généralement associée à ses interfaces Wi-Fi ou 802.15.4, respectivement. Weave préfère utiliser la valeur 64 bits comme ID de nœud, si elle est disponible.

Si un nœud ne possède qu'une adresse MAC de 48 bits, conformément à la RFC 4291, Weave insère la valeur de 16 bits de FF:FE au milieu pour créer la valeur EUI-64, qui est utilisée comme ID de nœud Weave.

Par exemple, si l'adresse MAC du nœud est 3c:36:13:33:73:2e 48 bits, l'ID de nœud Weave obtenu est 3c3613fffe33732e.

Pour utiliser l'ID de nœud dans une adresse IPv6, vous devez le transformer en identifiant d'interface en inversant le septième bit, appelé bit universel/local. Ainsi, un ID de nœud de 3c3613fffe33732e devient un identifiant d'interface de 3e3613fffe33732e.

Sous-réseau

La dernière partie de l'adresse IPv6 Weave est le sous-réseau, une valeur de 16 bits utilisée pour identifier les interfaces réseau. Ces valeurs sont déterminées par les réseaux sous-jacents. (par exemple, Wi-Fi ou Thread).

Pour cet exemple, supposons que notre sous-réseau soit 0x0002.

Synthèse

En réunissant tous les éléments ci-dessus, vous obtenez une adresse IPv6 Weave:

Tissus ULA

Une fois une ressource jointe au fabric, les profils Weave peuvent désormais transmettre des messages entre elle et d'autres ressources du fabric via l'adresse IPv6 attribuée par Weave au nœud. Nous allons ensuite examiner les principes de base de la messagerie dans Weave.

Récapitulatif

Dans cet atelier, vous avez appris à effectuer les opérations suivantes :

  • Un tissu est un ensemble de ressources compatibles avec Weave qui coopèrent pour fournir des services à l'utilisateur et à la structure.
  • Les ressources sont toujours authentifiées et associées de manière sécurisée à un fabric.
  • Chaque ressource d'un tissu se voit attribuer une adresse locale unique IPv6 à utiliser par Weave.
  • Les messages Weave sont transmis entre ces adresses IPv6, quelle que soit la technologie sans fil ou le transport sous-jacent.