Tessuto in tessuto

Tessuto a trama

Un fabric Weave è una raccolta di risorse compatibili con Weave. Consente ai nodi Weave nella casa dell'utente di scambiare messaggi in modo sicuro in modo pratico.

Il provisioning del fabric viene eseguito dal primo nodo del sistema Weave. Una volta eseguito il provisioning, altri nodi possono unire la struttura in modo sicuro utilizzando i certificati Weave. Parleremo più approfonditamente di certificati e sicurezza in seguito, ma ricorda che l'accoppiamento dei dispositivi e l'unione al fabric in Weave sono sempre sicuri.

A ogni risorsa del fabric viene assegnato un indirizzo IPv6 speciale da utilizzare dall'applicazione Weave. Non importa quale tecnologia wireless indirizzabile utilizzi. Ethernet, Wi-Fi o Thread: purché ogni nodo esegua Weave e sia un membro della struttura, i messaggi possono essere inviati e ricevuti.

Esempio

Supponiamo che tu abbia una semplice rete di area domestica (HAN) composta da risorse connesse sia tramite Wi-Fi sia tramite Thread. Queste due reti sono unite da un router di confine, che partecipa a entrambe le reti e funge da router per instradare il traffico tra di loro.

HAN

Le risorse di ogni rete utilizzano le proprie configurazioni di routing IP standard per dialogare tra loro tramite protocolli di trasporto come UDP o TCP, ma con un'infrastruttura Weave di cui è stato eseguito il provisioning, ora possono trasmettere i messaggi Weave tramite gli stessi metodi di trasporto.

HAN con Weave

Indirizzi IPv6

Un fabric Weave consente un semplice routing IPv6 tra le applicazioni Weave assegnando un indirizzo locale univoco (ULA) a ogni risorsa nel fabric. L'applicazione Weave utilizza questo indirizzo per eseguire il routing dei messaggi Weave.

Ecco un esempio di indirizzo Weave IPv6 di un nodo:

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

Analizziamo i diversi elementi che compongono l'indirizzo.

Prefisso globale

Tutti i nodi Weave utilizzano un prefisso globale IPv6 di fd00::/48. Gli indirizzi in questo blocco sono designati dall'IETF nel RFC-4193 per l'utilizzo all'interno di reti private come una HAN.

ID tessuto

Al fabric viene assegnato un ID univoco a 64 bit generato in modo casuale durante il provisioning del fabric. Questo ID diventa parte del prefisso globale IPv6.

Ad esempio, se a un'infrastruttura viene assegnato un ID fabric fab1, il prefisso globale dell'infrastruttura diventa:

fd00:0000:fab1::/48

ID nodo

Ogni nodo del fabric si assegna un ID nodo Weave, che ha la forma di un identificatore univoco esteso IEEE (EUI-64). La maggior parte dei nodi deriva l'ID nodo dal proprio indirizzo MAC. Un nodo può avere un indirizzo MAC a 48 o 64 bit, solitamente associato rispettivamente alle interfacce Wi-Fi o 802.15.4. Weave preferisce utilizzare il valore a 64 bit come ID nodo, se disponibile.

Se un nodo ha solo un indirizzo MAC a 48 bit, secondo la specifica RFC 4291, Weave inserisce il valore a 16 bit di FF:FE nel mezzo per creare il valore EUI-64, che viene utilizzato come ID nodo Weave.

Ad esempio, se l'indirizzo MAC del nodo è 3c:36:13:33:73:2e a 48 bit, l'ID nodo Weave risultante è 3c3613fffe33732e.

Per utilizzare l'ID nodo in un indirizzo IPv6, devi trasformarlo in un identificatore di interfaccia capovolgendo il settimo bit, chiamato bit universale/locale. Di conseguenza, un ID nodo 3c3613fffe33732e diventa un identificatore interfaccia di 3e3613fffe33732e.

Subnet

L'ultima parte dell'indirizzo IPv6 di Weave è la subnet, un valore a 16 bit utilizzato per identificare le interfacce di rete. Questi valori sono determinati dalle reti di base. Ad esempio, Wi-Fi o Thread.

Per questo esempio, supponiamo che la nostra sottorete sia 0x0002.

Riassumendo

Se metti insieme tutti gli elementi precedenti, ottieni un indirizzo IPv6 Weave:

ULA del tessuto

Con una risorsa unita all'Infrastruttura, i profili Weave ora possono trasmettere messaggi tra questa risorsa e altre risorse dell'Infrastruttura tramite l'indirizzo IPv6 assegnato da Weave al nodo. Successivamente, esamineremo le nozioni di base della messaggistica in Weave.

Riepilogo

Cosa hai imparato:

  • Un fabric è una raccolta di risorse compatibili con Weave che collaborano per fornire servizi all'utente e alla struttura
  • Le risorse sono sempre autenticate e unite in modo sicuro a un'infrastruttura
  • A ogni risorsa in un'infrastruttura viene assegnato un indirizzo locale IPv6 univoco che deve essere utilizzato da Weave
  • I messaggi Weave vengono trasmessi tra questi indirizzi IPv6 indipendentemente dalla tecnologia wireless o dal metodo di trasporto sottostante