SILICON LABS UG103.11 Programari bàsic de fils
![]()
Especificacions:
- Nom del producte: Fonaments del fil
- Fabricant: Silicon Labs
- Protocol: Fil
- Versió: Rev. 1.6
- Protocol de xarxa sense fils: xarxa de malla
- Estàndards compatibles: IEEE, IETF
Informació del producte
Thread Fundamentals és un protocol de xarxa de malla sense fil segur desenvolupat per Silicon Labs. Admet adreces IPv6, ponts de baix cost amb altres xarxes IP i està optimitzat per a un funcionament de baix consum i amb bateria. El protocol està dissenyat per a aplicacions domèstiques connectades i comercials on es desitja una xarxa basada en IP.
Instruccions d'ús
- Introducció als fonaments de Thread:
Thread és un protocol de xarxa de malla sense fil segur que es basa en els estàndards IEEE i IETF existents. Permet la comunicació de dispositiu a dispositiu a la llar connectada i aplicacions comercials. - Implementació d'OpenThread:
OpenThread, una implementació portàtil del protocol Thread, ofereix una comunicació sense fil de dispositiu a dispositiu fiable, segura i de baix consum per a aplicacions domèstiques i d'edificis comercials. Silicon Labs ofereix un protocol basat en OpenThread adaptat per treballar amb el seu maquinari, disponible a GitHub i com a part de Simplicity Studio 5 SDK. - Membre del grup de fils:
Unir-se al grup Thread proporciona accés a la certificació del producte i promou l'ús de dispositius habilitats per Thread. Les versions successives de l'especificació de fil s'anuncien amb programes de certificació el 2022.
Preguntes freqüents:
- P: Com puc descarregar l'última especificació del fil?
R: L'última especificació de fils es pot descarregar enviant una sol·licitud al grup de fils weblloc a https://www.threadgroup.org/ThreadSpec. - P: Quin és el principal avantatgetagi d'utilitzar Thread en dispositius IoT?
R: Thread proporciona un protocol de xarxa de malla sense fil segur que admet operacions de baix consum i comunicació de dispositiu a dispositiu, augmentant les taxes d'adopció i l'acceptació dels usuaris per als dispositius IoT.
UG103.11: Fonaments del fil
- Aquest document inclou un breu antecedent sobre l'aparició de
- Thread, proporciona una tecnologia mésview, i descriu algunes característiques clau de Thread a tenir en compte a l'hora d'implementar una solució de Thread.
- La sèrie Fundamentals de Silicon Labs cobreix temes que els gestors de projectes, els dissenyadors d'aplicacions i els desenvolupadors haurien d'entendre abans de començar a treballar en una solució de xarxa integrada utilitzant
- Xips de Silicon Labs, piles de xarxes com EmberZNet PRO o Silicon Labs Bluetooth® i eines de desenvolupament associades. Els documents es poden utilitzar com a punt de partida per a qualsevol persona que necessiti una introducció al desenvolupament d'aplicacions de xarxa sense cable o que sigui nou a l'entorn de desenvolupament de Silicon Labs.
PUNTS CLAU
- Introdueix Thread i proporciona una tecnologiaview.
- Descriu alguns dels elements clau de Thread, com ara la seva pila IP, topologia de xarxa, encaminament i connectivitat de xarxa, unió a una xarxa, gestió, dades persistents, seguretat, encaminador fronterer, posada en marxa del dispositiu i capa d'aplicació.
- Conté actualitzacions per a l'especificació de fil 1.3.0.
- Inclou els passos següents per treballar amb l'oferta OpenThread de Silicon Labs.
Introducció
- Silicon Labs i Internet de les coses
- La versió 4 del protocol d'Internet (IPv4) es va definir l'any 1981 a la RFC 791, especificació de protocol de programa d'Internet de DARPA. ("RFC" significa "Request for Comments"). Mitjançant l'adreçament de 32 bits (4 bytes), IPv4 va proporcionar 232 adreces úniques per a dispositius a Internet, un total d'aproximadament 4.3 milions d'adreces. Tanmateix, a mesura que el nombre d'usuaris i dispositius va créixer de manera exponencial, va quedar clar que el nombre d'adreces IPv4 s'esgotaria i calia una nova versió de la IP. D'aquí el desenvolupament de l'IPv6 als anys 1990 i la seva intenció de substituir l'IPv4. Amb l'adreçament de 128 bits (16 bytes), IPv6 permet 2128 adreces, més de 7.9 × 1028 adreces que IPv4 (http://en.wikipedia.org/wiki/IPv6).
- El repte per a empreses de la indústria integrada com Silicon Labs és abordar aquesta migració tecnològica i, el que és més important, les demandes dels clients a mesura que ens movem a un món de dispositius sempre connectat a l'espai domèstic i comercial, el que sovint es coneix com a Internet de les coses (IoT). A un alt nivell, els objectius d'IoT per a Silicon Labs són:
- Connecteu tots els dispositius de l'espai domèstic i comercial amb la millor xarxa de la seva classe, ja sigui amb Zigbee PRO, Thread, Blue-tooth o altres estàndards emergents.
- Aprofiteu l'experiència de l'empresa en microcontroladors ecològics.
- Millora els xips establerts de baixa potència i senyal mixta.
- Proporcioneu ponts de baix cost als dispositius Ethernet i Wi-Fi existents.
- Habiliteu els serveis al núvol i la connectivitat a telèfons intel·ligents i tauletes que afavoriran la facilitat d'ús i una experiència d'usuari comuna per als clients.
Aconseguir tots aquests objectius augmentarà les taxes d'adopció i l'acceptació dels usuaris dels dispositius IoT.
- Grup de fils
- Grup de fils (https://www.threadgroup.org/) es va llançar el 15 de juliol de 2014. Silicon Labs va ser una empresa fundadora juntament amb sis empreses més. Thread Group és un grup d'educació de mercat que ofereix la certificació de productes i promou l'ús de productes de dispositiu a dispositiu (D2D) i màquina a màquina (M2M) habilitats per a Thread. La pertinença al grup de fils està oberta.
- L'especificació del fil 1.1 es pot descarregar després d'enviar una sol·licitud aquí: https://www.threadgroup.org/ThreadSpec. Les versions successives de l'especificació de fils, 1.2 i 1.3.0, també s'han anunciat amb programes de certificació el 2022. L'últim esborrany de l'especificació de fils 1.4 només està disponible per als membres de Thread.
- Què és Thread?
Thread és un protocol de xarxa de malla sense fils segur. La pila de fils és un estàndard obert que es basa en una col·lecció d'estàndards existents de l'Institut d'enginyers elèctrics i electrònics (IEEE) i Internet Engineering Task Force (IETF), en lloc d'un estàndard completament nou (vegeu la figura següent).
- Característiques generals del fil
- La pila Thread admet adreces IPv6 i proporciona ponts de baix cost amb altres xarxes IP i està optimitzada per a un funcionament de baix consum/bateria i comunicació sense fil de dispositiu a dispositiu. La pila Thread està dissenyada específicament per a aplicacions domèstiques connectades i comercials on es desitgen una xarxa basada en IP i es poden utilitzar una varietat de capes d'aplicació a la pila.
- Aquestes són les característiques generals de la pila de fils:
- Instal·lació, posada en marxa i funcionament senzills de la xarxa: la pila Thread admet diverses topologies de xarxa. La instal·lació és senzilla mitjançant un telèfon intel·ligent, una tauleta o un ordinador. Els codis d'instal·lació del producte s'utilitzen per garantir que només els dispositius autoritzats es puguin unir a la xarxa. Els protocols senzills per formar i unir xarxes permeten als sistemes autoconfigurar i solucionar els problemes d'encaminament a mesura que es produeixen.
- Segur: els dispositius no s'uneixen a la xarxa tret que estiguin autoritzats i totes les comunicacions estiguin xifrades i segures. La seguretat es proporciona a la capa de xarxa i pot estar a la capa d'aplicació. Totes les xarxes Thread es xifren mitjançant un esquema d'autenticació de l'era dels telèfons intel·ligents i el xifratge Advanced Encryption Standard (AES). La seguretat utilitzada a les xarxes Thread és més forta que altres estàndards sense fil que ha avaluat Thread Group.
- Xarxes domèstiques petites i grans: les xarxes domèstiques varien entre diversos i centenars de dispositius. La capa de xarxa està dissenyada per optimitzar el funcionament de la xarxa en funció de l'ús esperat.
- Xarxes comercials grans: per a instal·lacions comercials més grans, una única xarxa Thread no és suficient per cobrir tots els requisits d'aplicació, sistema i xarxa. El model Thread Domain permet escalar fins a 10,000 dispositius Thread en un sol desplegament, utilitzant una combinació de diferents tecnologies de connectivitat (Thread, Ethernet, Wi-Fi, etc.).
- Detecció i connectivitat de serveis bidireccionals: la multidifusió i la transmissió són ineficients a les xarxes de malla sense fil. Per a la comunicació fora de la malla, Thread ofereix un registre de serveis on els dispositius poden registrar la seva presència i serveis, i els clients poden utilitzar consultes unicast per descobrir els serveis registrats.
- Interval: els dispositius típics proporcionen un abast suficient per cobrir una llar normal. Dissenys fàcilment disponibles amb potència ampEls lifiers amplien substancialment el rang. A la capa física (PHY) s'utilitza un espectre distribuït per ser més immune a les interferències. Per a instal·lacions comercials, el model Thread Domain permet que diverses xarxes Thread es comuniquin entre elles a través d'una columna vertebral, ampliant així el rang per cobrir moltes subxarxes de malla.
- No hi ha cap punt d'error únic: la pila de fils està dissenyada per oferir operacions segures i fiables fins i tot amb la fallada o la pèrdua de dispositius individuals. Els dispositius Thread també poden incorporar enllaços basats en IPv6 com ara Wi-Fi i Ethernet a la topologia per reduir la probabilitat de múltiples particions Thread. D'aquesta manera, poden utilitzar el rendiment més elevat, la capacitat del canal i la cobertura d'aquests enllaços d'infraestructura, tot i que encara admeten dispositius de baixa potència.
- Baixa potència: els dispositius es comuniquen de manera eficient per oferir una experiència d'usuari millorada amb anys de vida esperada en condicions normals de la bateria. Normalment, els dispositius poden funcionar durant diversos anys amb bateries de tipus AA utilitzant cicles de treball adequats.
- Rentable: els chipsets compatibles i les piles de programari de diversos proveïdors tenen un preu per a un desplegament massiu i estan dissenyats des del principi per tenir un consum d'energia extremadament baix.
- OpenThread
- OpenThread publicat per Google és una implementació de codi obert de Thread®. Google ha llançat OpenThread per fer que la tecnologia de xarxa utilitzada en els productes de Google Nest estigui més àmpliament disponible per als desenvolupadors, per tal d'accelerar el desenvolupament de productes per a la llar connectada i els edificis comercials.
- Amb una capa d'abstracció de plataforma estreta i una petita empremta de memòria, OpenThread és altament portàtil. Admet tant dissenys de sistema en xip (SoC) com de coprocessador de ràdio (RCP).
- OpenThread defineix un protocol de comunicació de dispositiu a dispositiu basat en IPv6 fiable, segur i de baixa potència per a aplicacions d'edificis domèstics i comercials. Implementa totes les característiques definides a l'especificació del fil 1.1.1, l'especificació del fil 1.2, l'especificació del fil 1.3.0 i l'esborrany de l'especificació del fil 1.4 (a partir de la publicació d'aquest document).
- Silicon Labs ha implementat un protocol basat en OpenThread adaptat per treballar amb el maquinari de Silicon Labs. Aquest protocol està disponible a GitHub i també com a kit de desenvolupament de programari (SDK) instal·lat amb Simplicity Studio 5. L'SDK és una instantània totalment provada de la font de Gi-tHub. Admet una gamma més àmplia de maquinari que la versió de GitHub i inclou documentació i examples aplicacions no disponibles a GitHub.
S'ha acabat la tecnologia del filview
- IEEE 802.15.4
- L'especificació IEEE 802.15.4-2006 és un estàndard per a la comunicació sense fil que defineix les capes sense fil de control d'accés mitjà (MAC) i físic (PHY) que funcionen a 250 kbps a la banda de 2.4 GHz, amb un full de ruta a bandes subGHz (IEEE 802.15.4. 2006-802.15.4 especificació). Dissenyat tenint en compte la baixa potència, XNUMX és adequat per a aplicacions que solen incloure un gran nombre de nodes.
- La capa MAC 802.15.4 s'utilitza per a la gestió bàsica de missatges i el control de la congestió. Aquesta capa MAC inclou un mecanisme Carrier Sense Multiple Access (CSMA) perquè els dispositius escoltin un canal clar, així com una capa d'enllaç per gestionar els reintents i el reconeixement de missatges per a comunicacions fiables entre dispositius adjacents. El xifratge de la capa MAC s'utilitza en missatges basats en claus establertes i configurades per les capes superiors de la pila de programari. La capa de xarxa es basa en aquests mecanismes subjacents per proporcionar comunicacions fiables d'extrem a extrem a la xarxa.
- A partir de l'especificació Thread 1.2, s'han implementat diverses optimitzacions de l'especificació IEEE 802.15.4-2015 per fer que les xarxes Thread siguin més robustes, sensibles i escalables:
- Enhanced Frame Pending: millora la durada de la bateria i la capacitat de resposta d'un dispositiu final somnolent (SED), reduint el nombre de missatges que un SED pot enviar per aire. Qualsevol paquet de dades que arribi d'un SED (no només sol·licituds de dades) es pot reconèixer amb la presència de dades pendents properes.
- Keepalive millorat: redueix la quantitat de trànsit necessària per mantenir un enllaç entre un SED i un pare, tractant qualsevol missatge de dades com una transmissió de xarxa keepalive.
- Coordinat SampEscolta led (CSL): Aquesta característica d'especificació IEEE 802.15.4-2015 permet una millor sincronització entre un SED i un pare mitjançant la programació de períodes de transmissió/recepció sincronitzats sense sol·licituds periòdiques de dades. Això permet dispositius de baix consum que tenen una latència d'enllaç baixa i una xarxa amb menys possibilitats de col·lisions de missatges.
- Sondeig ACK millorat: aquesta característica d'especificació IEEE 802.15.4-2015 permet un control granular de l'iniciador sobre les consultes de mètriques d'enllaç alhora que estalvia energia mitjançant la reutilització de patrons de trànsit de dades habituals en lloc de missatges de sondeig separats.
- Arquitectura de xarxa de fils
- Arquitectura Residencial
Els usuaris es comuniquen amb una xarxa Thread residencial des del seu propi dispositiu (telèfon intel·ligent, tauleta o ordinador) mitjançant Wi-Fi a la seva xarxa d'àrea domèstica (HAN) o mitjançant una aplicació basada en núvol. La figura següent il·lustra els tipus de dispositius clau de l'arquitectura de xarxa Thread.
- Arquitectura Residencial
Figura 2.1. Arquitectura de xarxa de fils
Els tipus de dispositiu següents s'inclouen a una xarxa Thread, començant per la xarxa Wi-Fi:
- Els encaminadors de frontera proporcionen connectivitat des de la xarxa 802.15.4 a xarxes adjacents en altres capes físiques (Wi-Fi, Ethernet, etc.). Border Routers ofereix serveis per a dispositius dins de la xarxa 802.15.4, inclosos serveis d'encaminament i descobriment de serveis per a operacions fora de la xarxa. Pot haver-hi un o més encaminadors de frontera en una xarxa Thread.
- Un líder, en una partició de xarxa Thread, gestiona un registre d'identificadors d'encaminador assignats i accepta sol·licituds de dispositius finals aptes per a encaminadors (REED) per convertir-se en encaminadors. El líder decideix quins han de ser els encaminadors i el líder, com tots els encaminadors d'una xarxa Thread, també pot tenir fills al final del dispositiu. El líder també assigna i gestiona adreces d'encaminador mitjançant CoAP (Constrained Appli-cation Protocol). Tanmateix, tota la informació continguda al líder està present a la resta d'encaminadors de fils. Per tant, si el líder falla o perd la connectivitat amb la xarxa Thread, s'escull un altre encaminador Thread i pren el relleu com a líder sense intervenció de l'usuari.
- Els encaminadors de fil ofereixen serveis d'encaminament a dispositius de xarxa. Els encaminadors de fils també proporcionen serveis d'unió i seguretat per als dispositius que intenten unir-se a la xarxa. Els encaminadors de fil no estan dissenyats per dormir i poden rebaixar la seva funcionalitat i convertir-se en REED.
- Els REED poden esdevenir un encaminador de fils o un líder, però no necessàriament un encaminador de fronteres que tingui propietats especials, com ara múltiples interfícies. A causa de la topologia de la xarxa o d'altres condicions, els REED no actuen com a encaminadors. Els REED no transmeten missatges ni proporcionen serveis d'unió o seguretat per a altres dispositius de la xarxa. La xarxa gestiona i promociona els dispositius aptes per a encaminadors als encaminadors si cal, sense la interacció de l'usuari.
- Els dispositius finals que no són aptes per a l'encaminador poden ser FED (dispositius finals complets) o MED (dispositius finals mínims). Els MED no necessiten sincronitzar-se explícitament amb els seus pares per comunicar-se.
- Els dispositius finals somnolents (SED) només es comuniquen a través del seu pare principal de l'encaminador de fils i no poden transmetre missatges per a altres dispositius.
- Els dispositius Sleepy End sincronitzats (SSED) són una classe de dispositius Sleepy End que utilitzen CSL de IEEE 802.15.4-2015 per mantenir una programació sincronitzada amb un pare, evitant l'ús de sol·licituds de dades habituals.
Arquitectura Comercial
El model Thread Commercial pren els tipus de dispositius clau per a una xarxa residencial i afegeix nous conceptes. Els usuaris es comuniquen amb una xarxa comercial mitjançant dispositius (telèfon intel·ligent, tauleta o ordinador) mitjançant Wi-Fi o a través de la seva xarxa empresarial. La figura següent il·lustra una topologia de xarxa comercial.![]()
Figura 2.2. Topologia de xarxa comercial
Els conceptes són:
- El model Thread Domain admet la integració perfecta de diverses xarxes Thread, així com una interfície perfecta amb xarxes IPv6 que no són Thread. El principal avantatge del domini de fil és que els dispositius són, fins a cert punt, flexibles per unir-se a qualsevol xarxa de fil disponible configurada amb un domini de fil comú, la qual cosa redueix la necessitat de planificar la xarxa manual o reconfiguracions manuals costoses quan s'escala la mida de la xarxa o el volum de dades. amunt.
- Els backbone Border Routers (BBR) són una classe d'encaminadors de frontera a l'espai comercial que faciliten la sincronització del domini de fil de diversos segments de xarxa i permeten la propagació de multidifusió de gran abast dins i fora de cada malla en un domini de fil. Una xarxa Thread que forma part d'un domini més gran ha de tenir almenys un BBR "principal" i pot tenir diversos BBR "secundaris" per a una redundància segura. Els BBR es comuniquen entre ells a través d'una columna vertebral que connecta totes les xarxes Thread.
- Un enllaç backbone és un enllaç IPv6 no Thread al qual es connecta un BBR mitjançant una interfície externa utilitzada per implementar el protocol TBLP (Thread Backbone Link Protocol) per sincronitzar-se amb altres BBR.
- Els dispositius de fil en una implementació comercial es configuren mitjançant dominis de fil i adreces úniques de domini (DUA). El DUA d'un dispositiu no canvia mai durant la seva vida útil com a part d'un domini Thread. Això facilita la migració entre diferents xarxes Thread en un únic domini i assegura que els respectius BBR faciliten l'encaminament a través de diverses xarxes Thread.
Aquests conceptes es mostren a la figura següent: ![]()
Figura 2.3. Model de domini de fil
No hi ha cap punt únic de fracàs
- La pila de fils està dissenyada per no tenir un sol punt de fallada. Tot i que hi ha diversos dispositius al sistema que realitzen funcions especials, Thread està dissenyat perquè es puguin substituir sense afectar el funcionament en curs de la xarxa o els dispositius. Per example, un dispositiu final adormit requereix un pare per a les comunicacions, de manera que aquest pare representa un únic punt d'error per a les seves comunicacions. No obstant això, el dispositiu final adormit pot seleccionar i seleccionarà un altre pare si el seu pare no està disponible. Aquesta transició no hauria de ser visible per a l'usuari.
Tot i que el sistema no està dissenyat per a cap punt de fallada únic, en determinades topologies hi haurà dispositius individuals que no tinguin capacitats de còpia de seguretat. Per example, en un sistema amb una única vora - Encaminador, si el Border Router perd energia, no hi ha cap mitjà per canviar a un Border Router alternatiu. En aquest escenari, s'ha de reconfigurar l'encaminador de fronteres.
- A partir de l'especificació de fil 1.3.0, els encaminadors de frontera que comparteixen un enllaç d'infraestructura poden facilitar que no hi hagi cap punt de fallada únic a través d'un mitjà diferent (com ara Wi-Fi o Ethernet) utilitzant un fil.
- Enllaç d'encapsulació de ràdio (TREL). Amb aquesta característica, es redueix la probabilitat que es formin particions de fil a través dels enllaços.
Fonaments de la pila IP
- Adreçament
- Els dispositius de la pila de fils admeten l'arquitectura d'adreçament IPv6 tal com es defineix a RFC 4291 (https://tools.ietf.org/html/rfc4291: Arquitectura d'adreçament IP versió 6). Els dispositius admeten un únic
- Adreça local (ULA), una adreça única de domini (DUA) en un model de domini Thread i una o més adreces d'adreça global unicast (GUA) en funció dels recursos disponibles.
- Els bits d'ordre superior d'una adreça IPv6 especifiquen la xarxa i la resta especifiquen adreces particulars d'aquesta xarxa. Així, totes les adreces d'una xarxa tenen els mateixos primers N bits. Els primers
- N bits s'anomenen "prefix". El "/64" indica que es tracta d'una adreça amb un prefix de 64 bits. El dispositiu que inicia la xarxa tria un prefix /64 que s'utilitza a tota la xarxa. El prefix és un ULA (https://tools.ietf.org/html/rfc4193: adreces IPv6 unicast locals úniques). La xarxa també pot tenir un o més encaminadors de frontera que cadascun pot tenir o no un /64 que després es pot utilitzar per generar un ULA o GUA. El dispositiu de la xarxa utilitza la seva adreça EUI-64 (identificador únic estès de 64 bits) per obtenir el seu identificador d'interfície tal com es defineix a la secció 6 de RFC 4944 (https://tools.ietf.org/html/rfc4944: Transmissió de paquets IPv6 per xarxes IEEE 802.15.4). El dispositiu admetrà una adreça IPv6 local d'enllaç configurada des de l'EUI-64 del node com a identificador d'interfície amb el conegut prefix local d'enllaç FE80::0/64 tal com es defineix a RFC 4862 (https://tools.ietf.org/html/rfc4862: Autoconfiguració d'adreces sense estat IPv6) i RFC 4944.
- Els dispositius també admeten adreces multicast adequades. Això inclou la multidifusió local d'enllaços a tots els nodes, la multidifusió local d'enllaços a tots els encaminadors, la multidifusió de nodes sol·licitades i una multidifusió local de malla. Amb la presència d'un encaminador de frontera troncal en un model de domini, els dispositius també poden suportar adreces de multidifusió d'abast més alt si s'hi registren.
- A cada dispositiu que s'uneix a la xarxa se li assigna una adreça curta de 2 bytes segons l'especificació IEEE 802.15.4-2006. Per als encaminadors, aquesta adreça s'assigna mitjançant els bits alts del camp d'adreça.
- Aleshores, als nens se'ls assigna una adreça curta utilitzant els bits alts dels seus pares i els bits inferiors adequats per a la seva adreça. Això permet que qualsevol altre dispositiu de la xarxa entengui la ubicació d'encaminament del nen utilitzant els bits alts del seu camp d'adreça.
- 6LOWPAN
- 6LoWPAN significa "IPv6 Over Low Power Wireless Personal Networks". L'objectiu principal de 6LoWPAN és transmetre i rebre paquets IPv6 a través d'enllaços 802.15.4. En fer-ho, s'ha d'adaptar a la mida màxima de fotograma 802.15.4 enviada per aire. En els enllaços Ethernet, un paquet amb la mida de la unitat de transmissió màxima (MTU) IPv6 (1280 bytes) es pot enviar fàcilment com una trama a través de l'enllaç. En el cas de 802.15.4, 6LoWPAN actua com a capa d'adaptació entre la capa de xarxa IPv6 i la capa d'enllaç 802.15.4. Soluciona el problema de transmetre un IPv6
- MTU fragmentant el paquet IPv6 a l'emissor i tornant-lo a muntar al receptor.
6LoWPAN també proporciona un mecanisme de compressió que redueix la mida de la capçalera IPv6 enviada per l'aire i, per tant, redueix la sobrecàrrega de transmissió. Com menys bits s'enviïn per l'aire, menys energia consumeix el dispositiu. Thread fa un ús total d'aquests mecanismes per transmetre paquets de manera eficient a través de la xarxa 802.15.4. RFC 4944 (https://tools.ietf.org/html/rfc4944) i RFC 6282 (https://tools.ietf.org/html/rfc6282) descriuen amb detall els mètodes mitjançant els quals s'aconsegueix la fragmentació i la compressió de la capçalera.
- Reenviament de capa d'enllaç
Una altra característica important de la capa 6LoWPAN és el reenviament de paquets de la capa d'enllaç. Això proporciona un mecanisme de sobrecàrrega molt eficient i baix per reenviar paquets de múltiples salts en una xarxa de malla. El fil utilitza l'encaminament de la capa IP amb el reenviament de paquets de la capa d'enllaç.
Thread utilitza el reenviament de la capa d'enllaç per reenviar paquets basats en la taula d'encaminament IP. Per aconseguir-ho, s'utilitza la capçalera de malla 6LoWPAN a cada paquet multi-hop (vegeu la figura següent).
- Figura 3.1. Format de capçalera de malla
- A Thread, la capa 6LoWPAN omple la informació de la capçalera de malla amb l'adreça curta de 16 bits d'origen i l'adreça d'origen de 16 bits de destinació final. El transmissor busca la següent adreça curta de 16 bits de salt a la taula d'encaminament i després envia la trama 6LoWPAN a la següent adreça curta de 16 bits de salt com a destinació. El dispositiu de salt següent rep el paquet, busca el següent salt al
- Taula d'encaminament / Taula de veïns, disminueix el recompte de salts a la capçalera de malla 6LoWPAN i després envia el paquet al següent salt o a l'adreça curta de 16 bits de destinació final com a destinació.
- Encapsulació 6LoWPAN
Els paquets 6LoWPAN es construeixen amb el mateix principi que els paquets IPv6 i contenen capçaleres apilades per a cada funcionalitat afegida. Cada capçalera 6LoWPAN va precedida d'un valor d'enviament que identifica el tipus de capçalera (vegeu la figura següent).
- Encapsulació 6LoWPAN
Els paquets 6LoWPAN es construeixen amb el mateix principi que els paquets IPv6 i contenen capçaleres apilades per a cada funcionalitat afegida. Cada capçalera 6LoWPAN va precedida d'un valor d'enviament que identifica el tipus de capçalera (vegeu la figura següent).
Figura 3.2. Format general d'un paquet 6LoWPAN
El fil utilitza els següents tipus de capçaleres 6LoWPAN:- Capçalera de malla (utilitzada per al reenviament de la capa d'enllaç)
- Capçalera de fragmentació (utilitzada per fragmentar el paquet IPv6 en diversos paquets 6LoWPAN)
- Capçalera de compressió de capçalera (utilitzada per a la compressió de capçaleres IPv6)
- L'especificació 6LoWPAN imposa que si hi ha més d'una capçalera, han d'aparèixer en l'ordre esmentat anteriorment. Els següents són exampfitxers de paquets 6LoWPAN enviats per aire.
- A la figura següent, la càrrega útil 6LoWPAN es compon de la capçalera IPv6 comprimida i la resta de la càrrega útil d'IPv6.

- Figura 3.3. Paquet 6LoWPAN que conté càrrega útil IPv6 amb capçalera IPv6 comprimida
- A la figura següent, la càrrega útil 6LoWPAN conté la capçalera IPv6 i part de la càrrega útil IPv6.

- Figura 3.4. Paquet 6LoWPAN que conté una capçalera de malla, una capçalera de fragmentació i una capçalera de compressió La resta de la càrrega útil es transmetrà en paquets posteriors segons el format de la figura següent.

- Figura 3.5. 6LoWPAN Fragment posterior
- ICMP
Els dispositius Thread admeten el protocol de protocol de missatges de control d'Internet versió 6 (ICMPv6) tal com es defineix a RFC 4443, Protocol de missatges de control d'Internet (ICMPv6) per a l'especificació de protocol d'Internet versió 6 (IPv6). També admeten la sol·licitud d'eco i els missatges de resposta d'eco. - UDP
La pila de fils admet l'usuari DatagProtocol ram (UDP) tal com es defineix a RFC 768, User DatagProtocol ram. - TCP
La pila de fils admet una variant del protocol de control de transport (TCP) anomenada "TCPlp" (TCP Low Power) (vegeu usenix-NSDI20). Un dispositiu compatible amb Thread implementa els rols d'iniciador i oient TCP tal com es descriu a:- RFC 793, Protocol de control de transmissió
- RFC 1122, Requisits per als amfitrions d'Internet
- Especificació de fil 1.3.0 i superior: les implementacions TCP existents normalment no estan ajustades per funcionar de manera òptima a les xarxes de malla sense fil i amb les mides de trama 802.15.4 limitades. Per tant, l'especificació defineix els elements i els valors dels paràmetres necessaris per a una implementació eficient de TCP sobre xarxes de fils (vegeu Especificació de fils 1.3.0, secció 6.2 TCP).
- SRP
- El protocol de registre de servei (SRP) tal com es defineix al protocol de registre de servei per a la descoberta de serveis basat en DNS s'utilitza als dispositius Thread que comencen amb l'especificació de fil 1.3.0. Ha d'existir un registre de serveis, mantingut per un encaminador fronterer. Els clients SRP de la xarxa de malla es poden registrar per oferir diversos serveis. Un servidor SRP accepta consultes de descobriment basades en DNS i, a més, ofereix criptografia de clau pública per a la seguretat, juntament amb altres millores menors per donar suport millor als clients restringits.
Topologia de xarxa
- Adreça de xarxa i dispositius
- La pila de fils admet una connectivitat de malla completa entre tots els encaminadors de la xarxa. La topologia real es basa en el nombre d'encaminadors de la xarxa. Si només hi ha un encaminador, la xarxa forma una estrella. Si hi ha més d'un encaminador, es forma automàticament una malla (vegeu 2.2 Arquitectura de xarxa de fils).
- Xarxes de malla
- Les xarxes de malla incrustades fan que els sistemes de ràdio siguin més fiables ja que permeten que les ràdios transmetin missatges per a altres ràdios. Per exampsi un node no pot enviar un missatge directament a un altre node, la xarxa de malla incrustada transmet el missatge a través d'un o més nodes intermedis. Com s'ha comentat a la secció 5.3 Enrutament, tots els nodes d'encaminador de la pila de fils mantenen les rutes i la connectivitat entre ells, de manera que la malla es manté i es connecta constantment. Hi ha un límit de 64 adreces d'encaminador a la xarxa Thread, però no es poden utilitzar totes alhora. Això permet que les adreces dels dispositius suprimits es tornin a utilitzar.
- En una xarxa de malla, els dispositius finals adormits o els dispositius aptes per a l'encaminador no encaminen cap a altres dispositius. Aquests dispositius envien missatges a un pare que és un encaminador. Aquest encaminador principal gestiona les operacions d'encaminament dels seus dispositius secundaris.
Enrutament i connectivitat de xarxa
La xarxa Thread té fins a 32 encaminadors actius que utilitzen l'encaminament del salt següent per als missatges basats en la taula d'encaminament. La pila de fils manté la taula d'encaminament per garantir que tots els encaminadors tinguin connectivitat i rutes actualitzades per a qualsevol altre encaminador de la xarxa. Tots els encaminadors intercanvien amb altres encaminadors el seu cost d'encaminament a altres encaminadors de la xarxa en un format comprimit mitjançant Mesh Link Establishment (MLE).
- Missatges MLE
- Els missatges de Mesh Link Establishment (MLE) s'utilitzen per establir i configurar enllaços de ràdio segurs, detectar dispositius veïns i mantenir els costos d'encaminament entre dispositius de la xarxa. MLE funciona per sota de la capa d'encaminament i utilitza unicasts locals d'un enllaç de salt i multicasts entre encaminadors.
- Els missatges MLE s'utilitzen per identificar, configurar i assegurar enllaços als dispositius veïns a mesura que canvien la topologia i l'entorn físic. MLE també s'utilitza per distribuir valors de configuració que es comparteixen a la xarxa, com ara el canal i l'ID de la xarxa d'àrea personal (PAN). Aquests missatges es poden reenviar amb una simple inundació tal com especifica MPL (https://tools.ietf.org/html/draft-ietf-roll-trickle-mcast-11: Protocol de multidifusió per a xarxes de baixa potència i pèrdues (MPL)).
- Els missatges MLE també garanteixen que es tinguin en compte els costos d'enllaç asimètric a l'hora d'establir els costos d'encaminament entre dos dispositius. Els costos d'enllaç asimètric són habituals a les xarxes 802.15.4. Per garantir que la missatgeria bidireccional sigui fiable, és important tenir en compte els costos d'enllaç bidireccional.
- Descobriment i reparació de rutes
- El descobriment de rutes sota demanda s'utilitza habitualment en xarxes 802.15.4 de baix consum. Tanmateix, el descobriment de rutes sota demanda és costós en termes de sobrecàrrega i amplada de banda perquè els dispositius transmeten sol·licituds de descobriment de rutes a través de la xarxa. A la pila Thread, tots els encaminadors intercanvien paquets MLE d'un sol salt que contenen informació de costos amb la resta d'encaminadors de la xarxa. Tots els encaminadors tenen informació actualitzada del cost del camí cap a qualsevol altre encaminador de la xarxa, de manera que no cal que es descobreixi la ruta sota demanda. Si una ruta ja no es pot utilitzar, els encaminadors poden seleccionar la següent ruta més adequada fins a la destinació.
- L'encaminament als dispositius secundaris es fa mirant els bits alts de l'adreça del nen per determinar l'adreça de l'encaminador principal. Una vegada que el dispositiu coneix l'encaminador principal, coneix la informació del cost del camí i la informació d'encaminament del següent salt per a aquest dispositiu.
- A mesura que el cost de la ruta o la topologia de la xarxa canvien, els canvis es propaguen per la xarxa mitjançant els missatges d'un sol salt MLE. El cost d'encaminament es basa en la qualitat de l'enllaç bidireccional entre dos dispositius. La qualitat de l'enllaç en cada direcció es basa en el marge d'enllaç dels missatges entrants d'aquest dispositiu veí. Aquest indicador de força del senyal rebut (RSSI) entrant està assignat a una qualitat d'enllaç de 0 a 3. Un valor de 0 significa un cost desconegut.
- Quan un encaminador rep un missatge MLE nou d'un veí, ja té una entrada de taula veïna per al dispositiu o se n'afegeix una. El missatge MLE conté el cost entrant del veí, de manera que s'actualitza a la taula de veïns de l'encaminador. El missatge MLE també conté informació d'encaminament actualitzada per a altres encaminadors que s'actualitza a la taula d'encaminament.
- El nombre d'encaminadors actius es limita a la quantitat d'informació d'encaminament i cost que es pot contenir en un sol paquet 802.15.4. Aquest límit és actualment de 32 encaminadors.
- Encaminament
- Els dispositius utilitzen l'encaminament IP normal per reenviar paquets. S'omple una taula d'encaminament amb adreces de xarxa i el següent salt adequat.
- L'encaminament vectorial de distància s'utilitza per obtenir rutes a adreces que es troben a la xarxa local. Quan s'encamina a la xarxa local, els sis bits superiors d'aquesta adreça de 16 bits defineixen la destinació de l'encaminador.
- Aquest pare d'encaminament és llavors responsable de reenviar a la destinació final en funció de la resta de l'adreça de 16 bits.
- Per a l'encaminament fora de la xarxa, un encaminador fronterer notifica al líder de l'encaminador els prefixos particulars que serveix i distribueix aquesta informació com a dades de xarxa dins dels paquets MLE. Les dades de xarxa inclouen dades de prefix, que és el mateix prefix, el context 6LoWPAN, els encaminadors de frontera i el servidor de configuració automàtica d'adreces sense estat (SLAAC) o DHCPv6 per a aquest prefix. Si un dispositiu ha de configurar una adreça amb aquest prefix, es posa en contacte amb el servidor SLAAC o DHCP adequat per a aquesta adreça. Les dades de xarxa també inclouen una llista de servidors d'encaminament que són les adreces de 16 bits dels encaminadors de frontera predeterminats.
- A més, en un espai comercial amb un model de domini de fil, un encaminador de frontera de backbone notifica al líder de l'encaminador el prefix únic de domini que serveix, per indicar que aquesta malla forma part del domini de fil més gran. Les dades de xarxa per a això inclouen dades de prefix, el context 6LoWPAN i l'encaminador de frontera ALOC. No hi ha cap senyalador SLAAC o DHCPv6 establert per a aquest conjunt de prefixos, però l'assignació d'adreces segueix el model sense estat. A més, també hi ha TLV de servei i servidor que indiquen la capacitat de servei "backbone" d'aquest encaminador fronterer. La capacitat de detecció d'adreces duplicades a la columna vertebral existeix per a qualsevol dispositiu que registri la seva adreça única de domini (DUA) amb el BBR. El DUA d'un dispositiu no canvia mai durant la seva vida útil com a part d'un domini Thread.
- Això facilita la migració a través de diferents xarxes Thread en un únic domini i assegura que els respectius BBR faciliten l'encaminament a través de diverses xarxes Thread. A la columna vertebral, s'utilitzen tecnologies d'encaminament IPv6 estàndard, com ara el descobriment de veïns IPv6 (NS/NA segons RFC 4861) i el descobriment d'escolta de multidifusió (MLDv2 segons RFC 3810).
- Un líder està designat per fer un seguiment dels dispositius aptes per a encaminadors que es converteixen en encaminadors o per permetre que els encaminadors baixin a dispositius aptes per a encaminadors. Aquest líder també assigna i gestiona les adreces de l'encaminador mitjançant CoAP. Tanmateix, tota la informació continguda en aquest líder també s'anuncia periòdicament a la resta d'encaminadors. Si el líder surt de la xarxa, s'escull un altre encaminador i es fa càrrec de líder sense la intervenció de l'usuari.
- Els encaminadors de frontera són els responsables de gestionar la compressió o expansió 6LoWPAN i l'adreçament a dispositius fora de xarxa. Els encaminadors Backbone Border són els responsables de gestionar MPL amb encapsulació i decapsulació IP-in-IP per a multidifusió d'abast més gran que entren i surten de la malla.
- Per obtenir més informació sobre els encaminadors de fronteres, vegeu AN1256: Ús del Silicon Labs RCP amb l'encaminador de vora OpenThread.
- Reintents i agraïments
- Tot i que la missatgeria UDP s'utilitza a la pila de fils, es requereix un lliurament fiable de missatges i es completa amb aquests mecanismes lleugers:
- Reintents a nivell MAC: cada dispositiu utilitza els reconeixements MAC des del següent salt i tornarà a provar un missatge a la capa MAC si no es rep el missatge MAC ACK.
- Reintents de la capa d'aplicació: la capa d'aplicació pot determinar si la fiabilitat del missatge és un paràmetre crític. Si és així, es pot utilitzar un protocol de reconeixement i reintent d'extrem a extrem, com ara reintents CoAP.
Unió i funcionament de la xarxa
El fil permet dos mètodes d'unió:
- Compartiu la informació de posada en marxa directament a un dispositiu mitjançant un mètode fora de banda. Això permet dirigir el dispositiu a la xarxa adequada mitjançant aquesta informació.
- Establiu una sessió de posada en marxa entre un dispositiu d'unió i una aplicació de posada en marxa en un telèfon intel·ligent, tauleta o el web.
- Per a una xarxa comercial amb un model de domini Thread, l'especificació de Thread 1.2 especifica un procés d'inscripció autònoma sense intervenció de l'usuari que proporciona certificats operatius als connectors després de l'autenticació. El certificat operatiu codifica la informació del domini per al dispositiu i permet el subministrament segur de la clau mestra de la xarxa. Aquest model requereix un registrador o
- Interfície de registre de fils (TRI) en un encaminador de frontera troncal i facilita la comunicació amb una autoritat externa (MASA) mitjançant els protocols ANIMA/BRSKI/EST. Una xarxa que admet aquest model de posada en marxa s'anomena xarxa CCM.
- Per obtenir més informació sobre la posada en marxa de xarxes Thread, vegeu la secció 11. Posada en servei del dispositiu.
- El mètode 802.15.4 que s'utilitza amb freqüència per unir-se amb la bandera d'unió de permís a la càrrega útil del far no s'utilitza a les xarxes Thread. Aquest mètode s'utilitza més habitualment per a la unió de tipus polsador on no hi ha una interfície d'usuari o un canal fora de banda als dispositius. Aquest mètode té problemes amb la direcció del dispositiu en situacions en què hi ha diverses xarxes disponibles i també pot suposar riscos de seguretat.
- A les xarxes Thread, totes les unions són iniciades per l'usuari. Després d'unir-se, es completa una autenticació de seguretat a nivell d'aplicació amb un dispositiu de posada en servei. Aquesta autenticació de seguretat es tracta a la secció 9. Seguretat.
- Els dispositius s'uneixen a una xarxa com a dispositiu final adormit, dispositiu final (MED o FED) o REED. Només després que un REED s'hagi unit i hagi après la configuració de la xarxa pot sol·licitar potencialment convertir-se en un
Encaminador de fils. En unir-se, al dispositiu se li proporciona una adreça curta de 16 bits basada en el seu pare. Si un dispositiu apte per a l'encaminador es converteix en un encaminador de fil, el líder li assigna una adreça d'encaminador. La detecció d'adreces duplicades per als encaminadors de fil està assegurada pel mecanisme de distribució d'adreces de l'encaminador centralitzat que resideix al líder. El pare és responsable d'evitar les adreces duplicades per als dispositius host perquè els assigna adreces en unir-se.
- Descobriment de la xarxa
- El descobriment de xarxa l'utilitza un dispositiu d'unió per determinar quines xarxes 802.15.4 es troben dins del rang de ràdio. El dispositiu escaneja tots els canals, emet una sol·licitud de descobriment MLE a cada canal i espera respostes de descobriment MLE. La resposta de descobriment 802.15.4 MLE conté una càrrega útil amb paràmetres de xarxa, inclòs l'identificador de conjunt de serveis de xarxa (SSID), l'ID PAN estès i altres valors que indiquen si la xarxa accepta nous membres i si admet la posada en servei nativa.
- El descobriment de la xarxa no és necessari si el dispositiu s'ha posat en servei a la xarxa perquè coneix el canal i l'ID PAN estès per a la xarxa. Aquests dispositius es connecten a la xarxa mitjançant el material de posada en marxa proporcionat.
- Dades MLE
- Un cop un dispositiu s'ha connectat a una xarxa, hi ha una varietat d'informació necessària perquè participi a la xarxa. MLE ofereix serveis perquè un dispositiu enviï una unicast a un dispositiu veí per sol·licitar paràmetres de xarxa i actualitzar els costos d'enllaç als veïns. Quan s'uneix un dispositiu nou, també duu a terme una resposta de desafiament per establir comptadors de marcs de seguretat, tal com s'explica a la secció 9. Seguretat.
- Tots els dispositius admeten la transmissió i recepció de missatges de configuració d'enllaç MLE. Això inclou els missatges de "sol·licitud d'enllaç", "acceptació d'enllaç" i "acceptació i sol·licitud d'enllaç".
- L'intercanvi MLE s'utilitza per configurar o intercanviar la informació següent:
- L'adreça curta de 16 bits i l'adreça EUI 64 llarga de 64 bits dels dispositius veïns
- Informació de les capacitats del dispositiu, inclòs si es tracta d'un dispositiu final amb son i el cicle de son del dispositiu
- L'enllaç veí costa si un encaminador de fils
- Material de seguretat i comptadors de marcs entre dispositius
- Costos d'encaminament a la resta d'encaminadors de fil de la xarxa
- Recollida i distribució de mètriques d'enllaç sobre diversos valors de configuració d'enllaç
- Nota: Els missatges MLE es xifren excepte durant les operacions inicials d'arrencada del node quan el nou dispositiu no ha obtingut el material de seguretat.
- CoAP
Protocol d'aplicació restringida (CoAP) tal com es defineix a RFC 7252 (https://tools.ietf.org/html/rfc7252: El protocol d'aplicació restringida (CoAP) és un protocol de transport especialitzat per utilitzar-lo amb nodes restringits i xarxes de baixa potència. CoAP proporciona un model d'interacció de sol·licitud/resposta entre els punts finals de l'aplicació, admet el descobriment integrat de serveis i recursos i inclou conceptes clau de la web com ara URLs. CoAP s'utilitza a Thread per configurar adreces locals de malla i adreces multicast requerides pels dispositius. A més, CoAP també s'utilitza per a missatges de gestió, com ara obtenir i configurar informació de diagnòstic i altres dades de xarxa en encaminadors Thread actius. - DHCPv6
DHCPv6, tal com es defineix a RFC 3315, s'utilitza com a protocol client-servidor per gestionar la configuració dels dispositius dins de la xarxa. DHCPv6 utilitza UDP per sol·licitar dades d'un servidor DHCP (https://www.ietf.org/rfc/rfc3315.txt: Protocol de configuració dinàmica d'amfitrió per a IPv6 (DHCPv6)).
El servei DHCPv6 s'utilitza per a la configuració de:- Adreces de xarxa
- Adreces de multidifusió requerides pels dispositius
- Com que les adreces curtes s'assignen des del servidor mitjançant DHCPv6, no cal la detecció d'adreces duplicades. DHCPv6 també l'utilitzen els encaminadors de frontera que assignen adreces en funció del prefix que proporcionen.
- SLAAC
SLAAC (Configuració automàtica d'adreces sense estat) tal com es defineix a RFC 4862 (https://tools.ietf.org/html/rfc4862: Configuració automàtica de l'adreça sense estat IPv6) és un mètode en el qual un encaminador de frontera assigna un prefix, i després els darrers 64 bits de la seva adreça són derivats pel router. El mecanisme d'autoconfiguració sense estat d'IPv6 no requereix cap configuració manual dels amfitrions, una configuració mínima (si n'hi ha) d'encaminadors i cap servidor addicional. El mecanisme sense estat permet que un amfitrió generi les seves pròpies adreces utilitzant una combinació d'informació disponible localment i informació anunciada pels encaminadors. - SRP
El protocol de registre de servei (SRP) tal com es defineix al protocol de registre de servei per a la descoberta de serveis basat en DNS s'utilitza als dispositius Thread que comencen amb l'especificació de fil 1.3.0. Ha d'existir un registre de serveis, mantingut per un encaminador fronterer. Els clients SRP de la xarxa de malla es poden registrar per oferir diversos serveis. Un servidor SRP accepta consultes de descobriment basades en DNS i, a més, ofereix criptografia de clau pública per a la seguretat, juntament amb altres millores menors per donar suport millor als clients restringits.
Gestió
- ICMP
Tots els dispositius admeten missatges d'error del protocol de missatges de control d'Internet per a IPv6 (ICMPv6), així com els missatges de sol·licitud d'eco i de resposta d'eco. - Gestió de dispositius
La capa d'aplicació d'un dispositiu té accés a un conjunt d'informació de gestió i diagnòstic del dispositiu que es pot utilitzar localment o recopilar i enviar a altres dispositius de gestió.
A les capes 802.15.4 PHY i MAC, el dispositiu proporciona la informació següent a la capa de gestió:- Adreça EUI 64
- Adreça curta de 16 bits
- Informació de capacitat
- ID PAN
- Paquets enviats i rebuts
- Octets enviats i rebuts
- Paquets caigut en transmissió o recepció
- Errors de seguretat
- Nombre de reintents MAC
- Gestió de xarxes
La capa de xarxa del dispositiu també proporciona informació sobre gestió i diagnòstic que es pot utilitzar localment o enviar-se a altres dispositius de gestió. La capa de xarxa proporciona la llista d'adreces IPv6, la taula de veïns i fills i la taula d'encaminament.
Dades persistents
Els dispositius que funcionen al camp es poden restablir accidentalment o a propòsit per diversos motius. Els dispositius que s'han restablert han de reiniciar les operacions de xarxa sense la intervenció de l'usuari. Perquè això es faci correctament, l'emmagatzematge no volàtil ha d'emmagatzemar la informació següent:
- Informació de la xarxa (com ara PAN ID)
- Material de seguretat
- Informació d'adreçament de la xarxa per formar les adreces IPv6 dels dispositius
$Seguretat
- Les xarxes de fil són xarxes sense fil que s'han de protegir contra atacs per via OTA (over-the-air). També estan connectats a Internet i, per tant, s'han de protegir contra els atacs d'Internet. Moltes de les aplicacions que s'estan desenvolupant per a Thread serviran una àmplia gamma d'usos que requereixen llargs períodes de funcionament sense vigilància i un baix consum d'energia. Com a resultat, la seguretat de les xarxes Thread és fonamental.
- Thread utilitza una clau de tota la xarxa que s'utilitza a la capa d'accés a mitjans (MAC) per al xifratge. Aquesta clau s'utilitza per a l'autenticació i el xifratge estàndard IEEE 802.15.4-2006. La seguretat IEEE 802.15.4-2006 protegeix la xarxa Thread d'atacs per aire originats des de fora de la xarxa. El compromís de qualsevol node individual podria revelar la clau de tota la xarxa. Com a resultat, normalment no és l'única forma de seguretat que s'utilitza a la xarxa Thread. Cada node de la xarxa Thread intercanvia comptadors de trames amb els seus veïns mitjançant una encaixada de mans MLE. Aquests comptadors de fotogrames ajuden a protegir-se dels atacs de repetició. (Per obtenir més informació sobre MLE, vegeu l'especificació del fil.) El fil permet que l'aplicació utilitzi qualsevol protocol de seguretat d'Internet per a la comunicació d'extrem a extrem.
- Els nodes ofusquen tant les seves interfícies d'adreces IP a tota la malla com els seus ID ampliats MAC aleatoritzant-los. L'estoc EUI64 com a signat al node s'utilitza com a adreça d'origen només durant la fase d'unió inicial. Un cop un node s'uneix a una xarxa, el node utilitza com a font una adreça basada en el seu ID de node de dos bytes o una de les seves adreces aleatòries esmentades anteriorment. L'EUI64 no s'utilitza com a adreça font un cop el node s'ha unit a una xarxa.
La gestió de la xarxa també ha de ser segura. Una aplicació de gestió de xarxa Thread es pot executar en qualsevol dispositiu connectat a Internet. Si aquest dispositiu no és membre d'una xarxa Thread, primer ha d'establir una Dada seguratagconnexió ram Transport Layer Security (DTLS) amb un encaminador de vora de fil. Cada xarxa Thread té una contrasenya de gestió que s'utilitza per establir aquesta connexió. Un cop s'ha connectat una aplicació de gestió a la xarxa Thread, es poden afegir nous dispositius a la xarxa.
- 802.15.4 Seguretat
- L'especificació IEEE 802.15.4-2006 descriu protocols d'accés sense fil i mitjans per a PAN i HAN. Aquests protocols estan pensats per a la implementació en dispositius de ràdio dedicats, com els disponibles a Silicon Labs. IEEE 802.15.4-2006 admet una varietat d'aplicacions, moltes de les quals són sensibles a la seguretat. Per exampConsidereu el cas d'una aplicació de sistema d'alarma que controla l'ocupació de l'edifici. Si la xarxa no és segura i un intrús accedeix a la xarxa, es podrien difondre missatges per crear una alarma falsa, modificar una alarma existent o silenciar una alarma legítima. Cadascuna d'aquestes situacions comporta riscos significatius per als ocupants de l'edifici.
- Moltes aplicacions requereixen confidencialitat i la majoria també necessiten protecció de la integritat. 802-15.4-2006 aborda aquests requisits mitjançant un protocol de seguretat de capa d'enllaç amb quatre serveis de seguretat bàsics:
- Control d'accés
- Integritat del missatge
- Confidencialitat del missatge
- Protecció de repetició
- La protecció de reproducció proporcionada per IEEE 802.15.4-2006 és només parcial. Thread ofereix seguretat addicional mitjançant encaixades de mans MLE entre nodes comentats anteriorment per completar la protecció de reproducció.
- Gestió segura de la xarxa
La gestió de la xarxa també ha de ser segura. Una aplicació de gestió de xarxa Thread es pot executar en qualsevol dispositiu connectat a Internet. La seguretat té dues parts:- Seguretat a l'aire de la qual s'encarrega 802.15.4. Thread implementa la seguretat 802.15.4-2006 de nivell 5.
- Xarxes CCM: si un dispositiu no és membre d'una xarxa CCM, ha d'establir una connexió amb un encaminador de frontera troncal per tal d'obtenir el seu certificat d'operació per establir-se com a part del domini Thread.
- Xarxes que no són CCM: seguretat a Internet: si un dispositiu no és membre d'una xarxa Thread, primer ha d'establir una connexió segura de Data-gram Transit Layer Security (DTLS) amb un encaminador Thread Border. Cada xarxa Thread té una frase de contrasenya de gestió que s'utilitza per establir connexions segures entre dispositius de gestió externs i encaminadors de frontera. Un cop s'ha connectat una aplicació de gestió a la xarxa Thread, es poden afegir nous dispositius a la xarxa.
Router de frontera
- Un encaminador Thread Border és un dispositiu que connecta una xarxa sense fil Thread a altres xarxes basades en IP (com ara Wi-Fi o Ethernet) al món exterior mitjançant una xarxa domèstica o empresarial local. A diferència de les passarel·les d'altres solucions sense fil, és totalment transparent per als protocols de transport i d'aplicació que es troben per sobre de la capa de xarxa. Com a resultat, les aplicacions es poden comunicar de forma segura d'extrem a extrem sense cap traducció de la capa d'aplicació.
- Un encaminador de vora de fil admet mínimament les funcions següents:
- Connectivitat IP d'extrem a extrem mitjançant l'encaminament entre dispositius Thread i altres xarxes IP externes.
- Posada en marxa de fils externs (per example, un telèfon mòbil) per autenticar i unir un dispositiu Thread a una xarxa Thread.
Hi pot haver diversos encaminadors de frontera en una xarxa, eliminant un "únic punt de fallada" en cas que un d'ells funcioni malament. El Border Router permet que tots els dispositius Thread es connectin directament als serveis globals al núvol, quan les xarxes empresarials executen IPv6 i IPv4, o només IPv4.
- Característiques de l'encaminador de fronteres per a la comunicació fora de malla
- Thread es pot implementar immediatament en les situacions de treball actuals, abans de la transició parcial o completa a IPv6 i Thread permet la compatibilitat amb IPv4 amb l'adreça de xarxa.
- Traducció (NAT). NAT64 tradueix paquets IPv6 a IPv4 i NAT64 tradueix paquets IPv4 a IPv6. Un encaminador Thread Border pot funcionar com a host IPv4 a la xarxa d'àrea àmplia (WAN), capaç d'obtenir una interfície IPv4 i una adreça d'encaminador. Pot adquirir una adreça mitjançant DHCP d'un grup d'adreces IPv4. El Thread Border Router també pot implementar Port Control Protocol (PCP) per controlar com es tradueixen i reenvien els paquets IPv4 entrants i admet mapes estàtics. La majoria de les traduccions d'IPv4 a IPv6 (i viceversa) es poden gestionar amb el fil
- Border Router, amb canvis mínims necessaris a una xarxa existent.
A més, els encaminadors Thread Border admeten connectivitat IPv6 bidireccional amb descobriment de veïnes IPv6, anuncis d'encaminador, descobriment multidifusió i reenviament de paquets.
- Fil sobre Infraestructura
- Les xarxes de fils s'organitzen automàticament en particions de xarxa de fils separades quan no hi ha connectivitat entre dos o més conjunts de dispositius. Les particions de fil permeten que els dispositius mantinguin la comunicació amb altres dispositius de la mateixa partició de fil però no amb els dispositius de fil d'altres particions.
- Thread over Infrastructure permet que els dispositius Thread incorporin tecnologies d'enllaç basades en IP (per example, Wi-Fi i Ethernet) a la topologia Thread. Aquests enllaços Thread addicionals sobre altres tecnologies d'enllaç redueixen la probabilitat d'ocurrència de múltiples particions de xarxa Thread, mentre que es garanteix la compatibilitat amb els dispositius Thread 1.1 i 1.2 existents. Aquests avantatges s'obtenen per a qualsevol topologia de xarxa que inclogui almenys dos encaminadors de frontera connectats mitjançant un enllaç d'infraestructura adjacent compartit.
- Per obtenir més informació, consulteu l'especificació del fil 1.3.0 (o l'esborrany de l'especificació del fil 1.4), Capítol 15 (Infraestructura de subprocés).
- Encaminador de vora OpenThread
La implementació d'OpenThread d'un encaminador de fronteres s'anomena OpenThread Border Router (OTBR). Admet una interfície de malla amb un model RCP. Silicon Labs proporciona una implementació (admesa al Raspberry Pi) i codi font com a part del GSDK de Silicon Labs. Per obtenir més informació, vegeu AN1256: Ús del Silicon Labs RCP amb l'encaminador de vora OpenThread.
La documentació sobre la configuració i l'arquitectura de l'OTBR està disponible a https://openthread.io/guides/border-router.
Posada en marxa del dispositiu
Els dispositius Thread es posen en servei a les xarxes Thread de diferents maneres, tal com es descriu a les subseccions següents.
- Posada en marxa de fils tradicionals
- Per a la posada en marxa de xarxes de xarxes més petites (especificació de Thread 1.1.1 o superior), els instal·ladors poden utilitzar l'aplicació de posada en marxa de Thread que es proporciona com a recurs gratuït per a dispositius Android i iOS. Aquesta aplicació es pot utilitzar per afegir fàcilment nous dispositius a la xarxa o reconfigurar els dispositius existents.
- Thread utilitza el protocol Mesh Commissioning Protocol (MeshCoP) per autenticar, encarregar i unir de manera segura dispositius de ràdio nous i no fiables a una xarxa de malla. Les xarxes de fils comprenen una malla autònoma d'autoconfiguració de dispositius amb interfícies IEEE 802.15.4 i una capa de seguretat a nivell d'enllaç que requereix que cada dispositiu de la malla tingui la clau mestra secreta compartida actual.
- El procés de posada en marxa comença quan un candidat a comissari, normalment un telèfon mòbil connectat mitjançant WiFi, descobreix la xarxa Thread a través d'un dels seus encaminadors de frontera. Els encaminadors fronterers anuncien la seva disponibilitat als comissaris fent servir qualsevol ubicació de servei que sigui adequada. El mecanisme de descoberta ha de proporcionar al candidat comissari tant una ruta de comunicació com el nom de la xarxa, perquè el nom de la xarxa s'utilitza més tard com a sal criptogràfica per establir la sessió de posada en marxa.
- El candidat al comissari, després d'haver descobert la xarxa Thread d'interès, s'hi connecta de manera segura mitjançant la credencial de posada en marxa (una frase de contrasenya seleccionada per humans per utilitzar-la en l'autenticació). El pas d'autenticació del comissari estableix una connexió segura de sòcol de client/servidor entre el candidat de comissari i un encaminador fronterer mitjançant DTLS. Aquesta sessió segura es coneix com a Sessió de posada en marxa. La sessió de posada en marxa utilitza el número de port UDP assignat anunciat durant la fase de descobriment. Aquest port es coneix com el Port Comissari. La credencial utilitzada per establir la sessió de posada en marxa es coneix com a clau precompartida per al comissari (PSKc).
- Aleshores, el candidat al comissari registra la seva identitat amb el seu encaminador de fronteres. El líder respon acceptant o rebutjant l'encaminador fronterer com a reenviador viable al comissari.
- Un cop acceptat, el líder actualitza el seu estat intern per fer un seguiment del comissari actiu i, a continuació, l'encaminador fronterer envia un missatge de confirmació al candidat al comissari informant el dispositiu que ara és el comissari.
- Quan hi ha un comissari autoritzat associat a la xarxa Thread, és possible unir-se als dispositius Thread elegibles. Aquests es coneixen com a Joiners abans de formar part del
- Xarxa de fils. El Joiner crea primer una connexió DTLS amb el Comissari per intercanviar material de posada en marxa. A continuació, utilitza el material de posada en marxa per connectar-lo a la xarxa Thread. El node es considera part de la xarxa només després de completar aquests dos passos. Aleshores, pot participar en el procés d'unió per a nodes futurs. Tots aquests passos confirmen que el dispositiu correcte s'ha unit a la xarxa Thread correcta i que la mateixa xarxa Thread està segura contra atacs sense fil i d'Internet. Per obtenir més informació sobre el protocol de posada en marxa de la malla, consulteu l'especificació del fil.
- Posada en marxa millorada amb extensions comercials al fil 1.2
- L'especificació de fil 1.2 i les seves extensions comercials permeten ara xarxes d'escala molt més gran, com les necessàries en edificis d'oficines, edificis públics, hotels o altres tipus d'edificis industrials o comercials. A causa d'un millor suport de subxarxes, Thread Spec-ification 1.2 permet més fàcilment milers de dispositius en un desplegament, que es poden configurar manualment, de manera autònoma i mitjançant funcions avançades de posada en marxa remota.
- Les extensions comercials del Thread 1.2 permeten l'autenticació a gran escala, la connexió a la xarxa, la itinerància de subxarxes i el funcionament basat en identitats de confiança en un domini empresarial. Per permetre l'autenticació fiable dels dispositius i la verificació de la informació d'autorització, un instal·lador del sistema pot configurar una autoritat de certificació empresarial per simplificar el desplegament d'una xarxa a gran escala. Això permet a l'instal·lador configurar i mantenir la xarxa sense accés directe als dispositius individuals i sense cap interacció directa amb aquests dispositius, mitjançant un procés de registre automatitzat anomenat Registre Autònom. A diferència del Thread 1.1, on s'utilitza l'aparellament de la contrasenya del dispositiu per a l'autenticació, les extensions comercials del Thread 1.2 admetran una forma d'autenticació basada en certificats més escalable. Una xarxa empresarial pot tenir un o més dominis de fils i cada domini de fils es pot configurar per integrar diverses xarxes de fils.
Capa d'aplicació
Thread és una pila de xarxes de malla sense fil que s'encarrega d'enrutar missatges entre diferents dispositius de la xarxa Thread descrita a la secció 2.2 Arquitectura de xarxa Thread. La figura següent il·lustra les capes del protocol Thread.
![]()
Figura 12.1. Capes de protocol de fils
- Una definició estàndard d'una capa d'aplicació és una "capa d'abstracció que especifica els protocols compartits i els mètodes d'interfície utilitzats pels amfitrions en una xarxa de comunicacions" (https://en.wikipedia.org/wiki/Application_layer). Més senzillament, una capa d'aplicació és el "llenguatge dels dispositius", per exempleample, com un interruptor parla amb una bombeta. Amb aquestes definicions, no existeix cap capa d'aplicació a Thread. Els clients creen la capa d'aplicació en funció de les capacitats de la pila de fils i dels seus propis requisits. Tot i que Thread no proporciona una capa d'aplicació, sí que ofereix serveis bàsics d'aplicació:
- Missatgeria UDP
UDP ofereix una manera d'enviar missatges mitjançant un número de port de 16 bits i una adreça IPv6. UDP és un protocol més senzill que TCP i té menys sobrecàrrega de connexió (per exemple,ample, UDP no implementa missatges de manteniment). Com a resultat, UDP permet un rendiment de missatges més ràpid i més elevat i redueix el pressupost total d'energia d'una aplicació. UDP també té un espai de codi més petit que TCP, que deixa més flaix disponible al xip per a aplicacions personalitzades. - Missatgeria multicast
Thread ofereix la possibilitat de difondre missatges, és a dir, enviar el mateix missatge a diversos nodes d'una xarxa Thread. Multicast permet una manera integrada de parlar amb nodes veïns, encaminadors i tota una xarxa Thread amb adreces IPv6 estàndard. - Capes d'aplicació que utilitzen serveis IP
Thread permet l'ús de capes d'aplicació com ara UDP i CoAP per permetre que els dispositius es comuniquin de manera interactiva a través d'Internet. Les capes d'aplicació que no siguin IP requeriran una certa adaptació per treballar amb Thread. (Vegeu RFC 7252 per obtenir més informació sobre CoAP.)- El SDK OpenThread de Silicon Labs inclou els següents sampaplicacions de fitxer que també estan disponibles al repositori OpenThread GitHub:• ot-cli-ftd
- ot-cli-mtd
- ot-rcp (utilitzat juntament amb un encaminador de vora OpenThread)
- Aquestes aplicacions es poden utilitzar per demostrar les característiques d'una xarxa Thread. A més, el Silicon Labs OpenThread SDK també proporciona un dispositiu final amb somnolènciaample (sleepy-demo-ftd i sleepy-demo-mtd), que demostra com utilitzar les funcions del gestor d'energia de Silicon Labs per crear un dispositiu de baix consum. Finalment, l'ot-ble-dmp sampl'aplicació mostra com crear una aplicació multiprotocol dinàmica mitjançant OpenThread i la pila Bluetooth de Silicon Labs. Consulteu QSG170: Guia d'inici ràpid d'OpenThread per obtenir més informació sobre com treballar amb exampaplicacions a Simplicity Studio 5.
Següents passos
- El SDK OpenThread de Silicon Labs inclou una pila de xarxa certificada OpenThread i samples aplicacions que demostren el comportament bàsic de la xarxa i de l'aplicació. Es recomana als clients que utilitzin els s inclòsamples aplicacions per familiaritzar-se amb Thread en general i l'oferta de Silicon Labs en particular. Cadascuna de les aplicacions demostra com els dispositius formen i s'uneixen a xarxes, així com com s'envien i reben els missatges. Les aplicacions estan disponibles per al seu ús després de carregar Simplicity Studio 5 i Silicon Labs OpenThread SDK. Simplicity Studio 5 inclou suport per crear aplicacions (Configurador de projectes) i descodificar la xarxa i els missatges de la capa d'aplicació (Network Analyzer) a Thread que proporcionen informació addicional sobre el funcionament de les xarxes Thread. Per obtenir més informació, consulteu QSG170: Guia d'inici ràpid d'OpenThread.
- Per obtenir més informació sobre els encaminadors de fronteres d'OpenThread, vegeu AN1256: Ús del Silicon Labs RCP amb l'enrutador de vora OpenThread. Per obtenir més informació sobre el desenvolupament de Thread 1.3.0 samples aplicacions vegeu AN1372: Configuració d'aplicacions d'OpenThread per a Thread 1.3.


Exempció de responsabilitat
- Silicon Labs té la intenció de proporcionar als clients la documentació més recent, precisa i detallada de tots els perifèrics i mòduls disponibles per als implementadors de sistemes i programari que utilitzin o tinguin la intenció d'utilitzar els productes de Silicon Labs. Les dades de caracterització, els mòduls i perifèrics disponibles, la mida de la memòria i les adreces de memòria fan referència a cada dispositiu específic, i els paràmetres "típics" proporcionats poden variar en diferents aplicacions. Aplicació exampLes aquí descrites només tenen finalitats il·lustratives. Silicon Labs es reserva el dret de fer canvis sense avís addicional a la informació, les especificacions i les descripcions del producte aquí, i no ofereix garanties sobre l'exactitud o la integritat de la informació inclosa. Sense notificació prèvia, Silicon Labs pot actualitzar el microprogramari del producte durant el procés de fabricació per motius de seguretat o fiabilitat. Aquests canvis no alteraran les especificacions ni el rendiment del producte. Silicon Labs no serà responsable de les conseqüències de l'ús de la informació subministrada en aquest document. Aquest document no implica ni atorga expressament cap llicència per dissenyar o fabricar cap circuit integrat. Els productes no estan dissenyats ni autoritzats per utilitzar-se en cap dispositiu de classe III de la FDA, aplicacions per a les quals es requereix l'aprovació prèvia de la FDA o sistemes de suport vital sense el consentiment específic per escrit de
- Silicon Labs. Un "Sistema de suport vital" és qualsevol producte o sistema destinat a mantenir o mantenir la vida i/o la salut, que, si falla, es pot esperar raonablement que provoqui lesions personals importants o la mort. Els productes de Silicon Labs no estan dissenyats ni autoritzats per a aplicacions militars. Els productes de Silicon Labs no s'utilitzaran en cap cas en armes de destrucció massiva incloses (però no limitar-se a) armes nuclears, biològiques o químiques, o míssils capaços de llançar aquestes armes. Silicon Labs renuncia a totes les garanties explícites i implícites i no es fa responsable de cap lesió o dany relacionat amb l'ús d'un producte de Silicon Labs en aquestes aplicacions no autoritzades. Nota: aquest contingut pot contenir terminologia ofensiva que ara està obsoleta. Silicon Labs està substituint aquests termes per un llenguatge inclusiu sempre que sigui possible. Per a més informació, visiteu www.silabs.com/about-us/inclusive-lexicon-project
Informació sobre marques comercials
- Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® i el logotip de Silicon Labs®, Bluegiga®, Bluegiga Logo®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro logotip i combinacions d'aquests , "els microcontroladors més respectuosos amb l'energia del món", Redpine Signals®, WiSeConnect , n-Link, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, Gecko OS, Gecko OS Studio, Precision32®, Simplicity Studio®, Telegesis, the Telegesis Logo®, USBXpress®, Zentri, el logotip de Zentri i Zentri DMS, Z-Wave® i altres són marques comercials o marques comercials registrades de
- Silicon Labs. ARM, CORTEX, Cortex-M3 i THUMB són marques comercials o marques comercials registrades d'ARM Holdings. Keil és una marca comercial registrada d'ARM Limited. Wi-Fi és una marca comercial registrada de
- Aliança Wi-Fi. Tots els altres productes o marques esmentades aquí són marques comercials dels seus respectius titulars.
- Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 EUA
- www.silabs.com
Documents/Recursos
![]() |
SILICON LABS UG103.11 Programari bàsic de fils [pdfGuia de l'usuari UG103.11 Programari bàsic de fils, UG103.11, Programari bàsics de fils, Programari bàsics, Programari |



