СИЛИКОН-лого

SILICON LABS UG103.11 Софтуер за основи на нишката

SILICON-LABS-UG103-11-Thread-Fundamentals-Software-product-image

Спецификации:

  • Име на продукта: Thread Fundamentals
  • Производител: Silicon Labs
  • Протокол: резба
  • Версия: Rev. 1.6
  • Протокол за безжична мрежа: Мрежова мрежа
  • Поддържани стандарти: IEEE, IETF

Информация за продукта

Thread Fundamentals е защитен, безжичен мрежов протокол, разработен от Silicon Labs. Той поддържа IPv6 адреси, евтино свързване към други IP мрежи и е оптимизиран за работа с ниска мощност и захранване от батерия. Протоколът е предназначен за Connected Home и комерсиални приложения, където се желае базирана на IP мрежа.

Инструкции за употреба

  1. Въведение в основите на нишката:
    Thread е сигурен, безжичен мрежов протокол, който е изграден върху съществуващите стандарти IEEE и IETF. Той позволява комуникация от устройство към устройство в Connected Home и търговски приложения.
  2. Внедряване на OpenThread:
    OpenThread, преносима реализация на протокола Thread, предлага надеждна, сигурна и нискоенергийна безжична комуникация от устройство към устройство за приложения в домашни и търговски сгради. Silicon Labs предоставя базиран на OpenThread протокол, пригоден за работа с техния хардуер, наличен в GitHub и като част от Simplicity Studio 5 SDK.
  3. Членство в група за теми:
    Присъединяването към групата Thread осигурява достъп до продуктово сертифициране и насърчава използването на устройства с поддръжка на Thread. Последващите версии на спецификацията на нишката се обявяват с програми за сертифициране през 2022 г.

ЧЗВ:

  • Въпрос: Как мога да изтегля най-новата спецификация на нишката?
    О: Най-новата спецификация на нишката може да бъде изтеглена чрез подаване на заявка в групата нишки webсайт при https://www.threadgroup.org/ThreadSpec.
  • Q: Какво е основният advantage за използване на Thread в IoT устройства?
    О: Thread осигурява сигурен протокол за безжична мрежова мрежа, който поддържа работа с ниска мощност и комуникация от устройство към устройство, увеличавайки нивата на приемане и приемането от потребителите на IoT устройства.

UG103.11: Основи на нишката

  • Този документ включва кратка информация за появата на
  • Нишка, предоставя технология надviewи описва някои ключови характеристики на Thread, които трябва да имате предвид при прилагането на Thread решение.
  • Серията Fundamentals на Silicon Labs обхваща теми, които ръководителите на проекти, дизайнерите на приложения и разработчиците трябва да разберат, преди да започнат да работят върху вградено мрежово решение, използвайки
  • Чипове на Silicon Labs, мрежови стекове като EmberZNet PRO или Bluetooth® на Silicon Labs и свързани инструменти за разработка. Документите могат да се използват като отправна точка за всеки, който се нуждае от въведение в разработването на безжични мрежови приложения или който е нов в средата за разработка на Silicon Labs.

КЛЮЧОВИ МОМЕНТИ

  • Представя Thread и предоставя технологияview.
  • Описва някои от ключовите елементи на Thread, включително неговия IP стек, мрежова топология, маршрутизиране и мрежова свързаност, присъединяване към мрежа, управление, постоянни данни, сигурност, граничен рутер, въвеждане в експлоатация на устройство и приложен слой.
  • Съдържа актуализации за Thread Specification 1.3.0.
  • Включва следващите стъпки за работа с предложението на Silicon Labs OpenThread.

Въведение

  1. Silicon Labs и Интернет на нещата
    • Интернет протокол версия 4 (IPv4) е дефиниран през 1981 г. в RFC 791, спецификация на интернет програмния протокол на DARPA. („RFC“ означава „Искане за коментари.“) Използвайки 32-битово (4-байтово) адресиране, IPv4 предостави 232 уникални адреса за устройства в интернет, общо приблизително 4.3 милиарда адреса. Въпреки това, тъй като броят на потребителите и устройствата нарасна експоненциално, беше ясно, че броят на IPv4 адресите ще бъде изчерпан и има нужда от нова версия на IP. Оттук и развитието на IPv6 през 1990-те години на миналия век и намерението му да замени IPv4. Със 128-битово (16-байтово) адресиране IPv6 позволява 2128 адреса, повече от 7.9×1028 адреса от IPv4 (http://en.wikipedia.org/wiki/IPv6).
    • Предизвикателството за компании в сектора на вградените устройства като Silicon Labs е да се справят с тази технологична миграция и по-важното с изискванията на клиентите, докато се придвижваме към постоянно свързан свят на устройства в дома и търговското пространство, което често се нарича червено Интернет на нещата (IoT). На високо ниво целите на IoT за Silicon Labs са:
    • Свържете всички устройства в дома и търговското пространство с най-добрата в класа мрежа, независимо дали с Zigbee PRO, Thread, Blue-tooth или други нововъзникващи стандарти.
    • Възползвайте се от опита на компанията в щадящите енергия микроконтролери.
    • Подобрете установените чипове с ниска мощност и смесен сигнал.
    • Осигурете евтино свързване към съществуващи Ethernet и Wi-Fi устройства.
    • Активирайте облачни услуги и свързаност към смартфони и таблети, които ще насърчат лекотата на използване и общото потребителско изживяване за клиентите.
      Постигането на всички тези цели ще увеличи степента на приемане и приемането от страна на потребителите на IoT устройства.
  2. Група нишки
    • Група теми (https://www.threadgroup.org/) стартира на 15 юли 2014 г. Silicon Labs беше компания-основател заедно с шест други компании. Thread Group е пазарна образователна група, която предлага продуктово сертифициране и насърчава използването на Thread-enabled de-vice-to-device (D2D) и machine-to-machine (M2M) продукти. Членството в група теми е отворено.
    • Спецификацията на нишката 1.1 може да бъде изтеглена след подаване на заявка тук: https://www.threadgroup.org/ThreadSpec. Последващите версии на спецификацията на нишката, 1.2 и 1.3.0, също бяха обявени със сертификационни програми през 2022 г. Последната чернова на спецификацията на нишката 1.4 е достъпна само за членовете на нишката.
  3. Какво е Thread?
    Thread е защитен, безжичен мрежов протокол. Стекът Thread е отворен стандарт, който е изграден върху колекция от съществуващи стандарти на Института за инженери по електротехника и електроника (IEEE) и Internet Engineering Task Force (IETF), а не изцяло нов стандарт (вижте следващата фигура).SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (1)
  4. Общи характеристики на резбата
    • Стекът Thread поддържа IPv6 адреси и осигурява евтино свързване към други IP мрежи и е оптимизиран за работа с ниска мощност/захранване с батерии и безжична комуникация от устройство към устройство. Стекът Thread е проектиран специално за Connected Home и търговски приложения, където се желае базирана на IP мрежа и в стека могат да се използват различни слоеве на приложения.
    • Това са общите характеристики на стека Thread:
    • Проста мрежова инсталация, стартиране и работа: Стекът Thread поддържа няколко мрежови топологии. Инсталирането е лесно с помощта на смартфон, таблет или компютър. Кодовете за инсталиране на продукта се използват, за да се гарантира, че само оторизирани устройства могат да се присъединят към мрежата. Простите протоколи за формиране и свързване на мрежи позволяват на системите да се самоконфигурират и коригират проблемите с маршрутизирането, когато възникнат.
    • Сигурно: Устройствата не се присъединяват към мрежата, освен ако не са оторизирани и всички комуникации са криптирани и защитени. Сигурността се осигурява на мрежовия слой и може да бъде на приложния слой. Всички Thread мрежи са криптирани с помощта на схема за удостоверяване от времето на смартфоните и криптиране на Advanced Encryption Standard (AES). Сигурността, използвана в мрежите Thread, е по-силна от другите безжични стандарти, които Thread Group е оценила.
    • Малки и големи домашни мрежи: Домашните мрежи варират от няколко до стотици устройства. Мрежовият слой е проектиран да оптимизира работата на мрежата въз основа на очакваната употреба.
    • Големи търговски мрежи: За по-големи търговски инсталации една нишка мрежа не е достатъчна, за да покрие всички приложения, системни и мрежови изисквания. Моделът Thread Domain позволява мащабируемост за до 10,000 XNUMX Thread устройства в едно разгръщане, използвайки комбинация от различни технологии за свързване (Thread, Ethernet, Wi-fi и т.н.).
    • Откриване и свързване на двупосочна услуга: Групово предаване и излъчване са неефективни при безжични мрежови мрежи. За комуникация извън мрежата Thread предоставя регистър на услуги, където устройствата могат да регистрират своето присъствие и услуги, а клиентите могат да използват едноадресни заявки, за да открият регистрираните услуги.
    • Обхват: Типичните устройства осигуряват достатъчен обхват за покриване на нормален дом. Лесно достъпни дизайни с мощност amplifiers разширяват обхвата значително. На физическия слой (PHY) се използва разпределен разпръснат спектър, за да бъде по-устойчив на смущения. За комерсиални инсталации моделът Thread Domain позволява на множество Thread мрежи да комуникират помежду си през гръбнак, като по този начин разширява обхвата, за да покрие много мрежести подмрежи.
    • Няма единична точка на повреда: Стекът Thread е проектиран да осигурява сигурни и надеждни операции дори при повреда или загуба на отделни устройства. Устройствата с нишки могат също така да включват връзки, базирани на IPv6, като Wi-Fi и Ethernet, в топологията, за да намалят вероятността от множество дялове на нишки. По този начин те могат да използват по-високата пропускателна способност, капацитет на канала и покритие на тези инфраструктурни връзки, като същевременно поддържат устройства с ниска мощност.
    • Ниска мощност: Устройствата ефективно комуникират, за да предоставят подобрено потребителско изживяване с години очакван живот при нормални условия на батерията. Устройствата обикновено могат да работят няколко години с батерии тип AA, използвайки подходящи работни цикли.
    • Икономически ефективни: Съвместимите чипсети и софтуерни стекове от множество доставчици са на цена за масово внедряване и са проектирани от самото начало да имат изключително ниска консумация на енергия.
  5.  OpenThread
    • OpenThread, издаден от Google, е реализация на Thread® с отворен код. Google пусна OpenThread, за да направи технологията за мрежова работа, използвана в продуктите на Google Nest, по-широко достъпна за разработчиците, за да ускори разработването на продукти за свързани домашни и търговски сгради.
    • С тесен слой за абстракция на платформата и малък отпечатък на паметта, OpenThread е много преносим. Той поддържа дизайн на система върху чип (SoC) и радиокопроцесор (RCP).
    • OpenThread дефинира базиран на IPv6 надежден, сигурен и нискоенергиен протокол за безжична комуникация устройство-устройство за домашни и търговски приложения. Той прилага всички функции, дефинирани в спецификация на нишка 1.1.1, спецификация на нишка 1.2, спецификация на нишка 1.3.0 и чернова на спецификация на нишка 1.4 (от пускането на този документ).
    • Silicon Labs внедри базиран на OpenThread протокол, пригоден за работа с хардуера на Silicon Labs. Този протокол е наличен в GitHub, а също и като комплект за разработка на софтуер (SDK), инсталиран със Simplicity Studio 5. SDK е напълно тествана моментна снимка на източника на Gi-tHub. Той поддържа по-широка гама от хардуер, отколкото версията GitHub, и включва документация и прampфайловете не са налични в GitHub.

Технологията на нишките приключиview

  1. IEEE 802.15.4
    • Спецификацията IEEE 802.15.4-2006 е стандарт за безжична комуникация, който дефинира безжичните слоеве за контрол на достъп до среда (MAC) и физически (PHY), работещи при 250 kbps в честотната лента 2.4 GHz, с пътна карта към подGHz ленти (IEEE 802.15.4. 2006-802.15.4 Спецификация). Проектиран с мисъл за ниска мощност, XNUMX е подходящ за приложения, които обикновено включват голям брой възли.
    • 802.15.4 MAC слой се използва за основна обработка на съобщения и контрол на задръстванията. Този MAC слой включва механизъм Carrier Sense Multiple Access (CSMA) за устройства, които да слушат за чист канал, както и слой за връзка за обработка на повторни опити и потвърждение на съобщения за надеждна комуникация между съседни устройства. Шифроването на MAC слоя се използва за съобщения, базирани на ключове, установени и конфигурирани от по-високите слоеве на софтуерния стек. Мрежовият слой се основава на тези основни механизми, за да осигури надеждни комуникации от край до край в мрежата.
    • Започвайки с Thread Specification 1.2, няколко оптимизации от спецификацията IEEE 802.15.4-2015 са внедрени, за да направят Thread мрежите по-стабилни, отзивчиви и мащабируеми:
    • Подобрена рамка в очакване: Подобрява живота на батерията и отзивчивостта на крайно устройство в режим на сън (SED), като намалява броя на съобщенията, които SED може да изпрати по въздуха. Всеки пакет от данни, който пристига от SED (не само заявки за данни), може да бъде потвърден с наличието на предстоящи чакащи данни.
    • Подобрено Keepalive: Намалява количеството трафик, необходим за поддържане на връзка между SED и родител, като третира всяко съобщение с данни като мрежово предаване за поддържане на активността.
    • Координиран Сampled Listening (CSL): Тази характеристика на спецификацията IEEE 802.15.4-2015 позволява по-добра синхронизация между SED и родител чрез планиране на синхронизирани периоди на предаване/получаване без периодични заявки за данни. Това позволява устройства с ниска мощност, които имат ниска латентност на връзката и мрежа с по-малък шанс за сблъсъци на съобщения.
    • Подобрено изследване на ACK: Тази характеристика на спецификацията на IEEE 802.15.4-2015 позволява на инициатора детайлен контрол върху заявките за метрика на връзката, като същевременно пести енергия чрез повторно използване на редовни модели на трафик на данни, вместо отделни съобщения за сонда.
  2. Мрежова архитектура на нишка
    1. Жилищна архитектура
      Потребителите комуникират с домашна Thread мрежа от собственото си устройство (смартфон, таблет или компютър) чрез Wi-Fi в своята домашна мрежа (HAN) или с помощта на приложение, базирано на облак. Следващата фигура илюстрира ключовите типове устройства в мрежовата архитектура Thread.SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (2)

Фигура 2.1. Мрежова архитектура на нишка
Следните типове устройства са включени в Thread мрежа, започвайки от Wi-Fi мрежата:

  • Граничните рутери осигуряват свързаност от мрежата 802.15.4 към съседни мрежи на други физически слоеве (Wi-Fi, Ethernet и др.). Граничните маршрутизатори предоставят услуги за устройства в мрежата 802.15.4, включително услуги за маршрутизиране и откриване на услуги за операции извън мрежата. Може да има един или повече гранични маршрутизатори в нишкова мрежа.
  • Водещият, в мрежов дял на Thread, управлява регистър на присвоените идентификатори на рутери и приема заявки от допустими за рутер крайни устройства (REED) да станат рутери. Лидерът решава кои да бъдат рутери и лидерът, както всички рутери в мрежа с нишки, може също да има деца от края на устройството. Лидерът също присвоява и управлява адреси на рутери, използвайки CoAP (протокол за ограничено приложение). Въпреки това цялата информация, съдържаща се в Leader, присъства в другите Thread Routers. Така че, ако Лидерът се провали или загуби връзката с мрежата на нишките, се избира друг рутер на нишките, който поема ролята на Лидер без намеса на потребителя.
  • Рутерите за нишки предоставят услуги за маршрутизиране на мрежови устройства. Thread Routers също предоставят услуги за присъединяване и сигурност за устройства, които се опитват да се присъединят към мрежата. Рутерите за нишки не са проектирани да спят и могат да понижат функционалността си и да станат REED.
  • REED могат да се превърнат в Thread Router или Leader, но не непременно в Border Router, който има специални свойства, като множество интерфейси. Поради топологията на мрежата или други условия REED не действат като рутери. REED не предават съобщения или предоставят услуги за присъединяване или сигурност за други устройства в мрежата. Мрежата управлява и популяризира подходящи за рутер устройства към рутери, ако е необходимо, без намеса на потребителя.
  • Крайните устройства, които не отговарят на условията за рутер, могат да бъдат FED (пълни крайни устройства) или MED (минимални крайни устройства). MED не е необходимо изрично да се синхронизират със своя родител, за да комуникират.
  • Сънните крайни устройства (SED) комуникират само чрез родителския си Thread Router и не могат да предават съобщения за други устройства.
  • Синхронизирани крайни устройства със спящ режим (SSED) са клас крайни устройства със спящ режим, които използват CSL от IEEE 802.15.4-2015, за да поддържат синхронизиран график с родител, като избягват използването на редовни заявки за данни.

Търговска архитектура
Моделът Thread Commercial взема ключовите типове устройства за жилищна мрежа и добавя нови концепции. Потребителите комуникират с търговска мрежа чрез устройства (смартфон, таблет или компютър) чрез Wi-Fi или чрез своята корпоративна мрежа. Следващата фигура илюстрира топология на търговска мрежа.SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (3)

Фигура 2.2. Топология на търговската мрежа

Концепциите са:

  • Моделът Thread Domain поддържа безпроблемна интеграция на множество Thread мрежи, както и безпроблемен интерфейс към IPv6 мрежи без Thread. Основното предимство на Thread Domain е, че устройствата са до известна степен гъвкави, за да се присъединят към всяка налична Thread Network, конфигурирана с общ Thread Domain, което намалява необходимостта от ръчно мрежово планиране или скъпи ръчни преконфигурации, когато размерът на мрежата или обемът на данните се мащабират нагоре.
  • Backbone Border Routers (BBRs) са клас гранични рутери в търговското пространство, които улесняват синхронизирането на Thread Domain на множество мрежови сегменти и позволяват широкообхватно мултикаст разпространение във и извън всяка отделна мрежа в Thread Do-main. Мрежа с нишки, която е част от по-голям домейн, трябва да има поне един „Основен“ BBR и може да има множество „Вторични“ BBR за безопасно резервиране. BBR комуникират помежду си през гръбнак, който свързва всички Thread мрежи.
  • Backbone Link е IPv6 връзка без нишка, към която BBR се свързва с помощта на външен интерфейс, използван за прилагане на Thread Backbone Link Protocol (TBLP) за синхронизиране с други BBR.
  • Устройствата с нишки в търговско изпълнение се конфигурират с помощта на домейни на нишки и уникални адреси на домейни (DUA). DUA на дадено устройство никога не се променя през целия му живот като част от домейн Thread. Това улеснява миграцията между различни Thread мрежи в един домейн и гарантира, че съответните BBR улесняват маршрутизирането в множество Thread мрежи.

Тези концепции са илюстрирани на следната фигура: SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (4)

Фигура 2.3. Модел на домейн на нишка
Няма единна точка на отказ

  • Стекът Thread е проектиран да няма нито една точка на отказ. Въпреки че в системата има редица устройства, които изпълняват специални функции, Thread е проектиран така, че те да могат да бъдат заменени, без да се засяга текущата работа на мрежата или устройствата. Напримерample, спящо крайно устройство изисква родител за комуникации, така че този родител представлява единична точка на отказ за неговите комуникации. Крайното устройство в режим на сън обаче може и ще избере друг родител, ако неговият родител не е наличен. Този преход не трябва да се вижда от потребителя.
    Докато системата е проектирана да няма нито една точка на отказ, при определени топологии ще има отделни устройства, които нямат възможности за архивиране. Напримерample, в система с една граница
  • Рутер, ако граничният рутер загуби захранване, няма начин да превключите към алтернативен граничен рутер. При този сценарий трябва да се извърши преконфигуриране на граничния рутер.
  • Започвайки със спецификация на нишка 1.3.0, граничните маршрутизатори, споделящи инфраструктурна връзка, могат да улеснят липсата на нито една точка на повреда в различна среда (като Wi-Fi или Ethernet) чрез използване на нишка
  • Връзка за радио капсулиране (TREL). С тази функция се намалява вероятността за образуване на дялове на нишки през връзки.

Основи на IP стека

  1. Адресиране
    • Устройствата в стека на нишките поддържат IPv6 адресна архитектура, както е дефинирано в RFC 4291 (https://tools.ietf.org/html/rfc4291: IP версия 6 адресна архитектура). Устройствата поддържат Unique
    • Локален адрес (ULA), уникален адрес на домейн (DUA) в модел на домейн на нишка и един или повече глобални едноадресни адреси (GUA) въз основа на техните налични ресурси.
    • Битовете от по-висок ред на IPv6 адрес определят мрежата, а останалите определят конкретни адреси в тази мрежа. Така всички адреси в една мрежа имат еднакви първи N бита. Тези първи
    • N бита се наричат ​​"префикс". “/64” показва, че това е адрес с 64-битов префикс. Устройството, стартиращо мрежата, избира префикс /64, който след това се използва в цялата мрежа. Префиксът е ULA (https://tools.ietf.org/html/rfc4193: Уникални локални IPv6 Unicast адреси). Мрежата може също да има един или повече гранични маршрутизатори, всеки от които може или не може да има /64, който след това може да се използва за генериране на ULA или GUA. Устройството в мрежата използва своя EUI-64 (64-битов разширен уникален идентификатор) адрес, за да извлече своя интерфейсен идентификатор, както е дефинирано в раздел 6 на RFC 4944 (https://tools.ietf.org/html/rfc4944: Предаване на IPv6 пакети през мрежи IEEE 802.15.4). Устройството ще поддържа локален IPv6 адрес на връзка, конфигуриран от EUI-64 на възела като интерфейсен идентификатор с добре познатия локален префикс на връзката FE80::0/64, както е дефинирано в RFC 4862 (https://tools.ietf.org/html/rfc4862: Автоматично конфигуриране на IPv6 адрес без състояние) и RFC 4944.
    • Устройствата също поддържат подходящи мултикаст адреси. Това включва групово предаване на всички възли с локална връзка, локално мултикаст с връзки на всички рутери, мултикаст с цитиран възел и мрежово локално мултикаст. С наличието на опорен граничен рутер в модел на домейн, устройствата могат също така да поддържат мултикаст адреси с по-висок обхват, ако се регистрират за тях.
    • На всяко устройство, присъединяващо се към мрежата, се присвоява 2-байтов кратък адрес съгласно спецификацията IEEE 802.15.4-2006. За рутери този адрес се присвоява с помощта на старшите битове в адресното поле.
    • След това на децата се присвоява кратък адрес, като се използват високите битове на техния родител и подходящите по-ниски битове за техния адрес. Това позволява на всяко друго устройство в мрежата да разбере местоположението на маршрутизирането на детето, като използва старшите битове на полето за адрес.
  2. 6LoWPAN
    • 6LoWPAN означава „IPv6 през безжични лични мрежи с ниска мощност“. Основната цел на 6LoWPAN е да предава и получава IPv6 пакети през 802.15.4 връзки. При това трябва да се приспособи към 802.15.4 максималния размер на рамката, изпратена по въздуха. В Ethernet връзките пакет с размер на IPv6 максимална единица за предаване (MTU) (1280 байта) може лесно да бъде изпратен като един кадър по връзката. В случая на 802.15.4, 6LoWPAN действа като адаптационен слой между мрежовия слой IPv6 и слоя за връзка 802.15.4. Той решава проблема с предаването на IPv6
    • MTU чрез фрагментиране на IPv6 пакета при подателя и повторното му сглобяване при получателя.
      6LoWPAN също така осигурява механизъм за компресиране, който намалява размерите на IPv6 заглавките, изпратени по въздуха, и по този начин намалява разходите за предаване. Колкото по-малко битове се изпращат по въздуха, толкова по-малко енергия се консумира от устройството. Thread използва напълно тези механизми за ефективно предаване на пакети през мрежата 802.15.4. RFC 4944 (https://tools.ietf.org/html/rfc4944) и RFC 6282 (https://tools.ietf.org/html/rfc6282) описват подробно методите, чрез които се осъществяват фрагментирането и компресирането на заглавката.
  3. Препращане на ниво връзка
    Друга важна характеристика на слоя 6LoWPAN е препращането на пакети от слоя за връзка. Това осигурява много ефективен механизъм с ниски режийни разходи за препращане на пакети с няколко хопа в мрежова мрежа. Нишката използва маршрутизиране на IP слой с препращане на пакети на ниво връзка.
    Thread използва препращането на слоя връзка, за да препраща пакети въз основа на таблицата за IP маршрутизиране. За да се постигне това, заглавната част на мрежата 6LoWPAN се използва във всеки мулти-хоп пакет (вижте следващата фигура). SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (5)
    • Фигура 3.1. Формат на заглавката на мрежата
    • В Thread слоят 6LoWPAN запълва информацията за Mesh Header с 16-битов кратък адрес на инициатора и 16-битов изходен адрес на крайната дестинация. Предавателят търси следващия 16-битов кратък адрес на следващ хоп в таблицата за маршрутизиране и след това изпраща рамката 6LoWPAN към следващия 16-битов кратък адрес на хоп като дестинация. Устройството за следващ хоп получава пакета, търси следващия хоп в
    • Routing Table / Neighbor Table, намалява броя на скоковете в 6LoWPAN Mesh Header и след това изпраща пакета до следващия хоп или крайна дестинация 16-битов кратък адрес като дестинация.
    • 6LoWPAN капсулиране
      6LoWPAN пакетите са изградени на същия принцип като IPv6 пакетите и съдържат подредени заглавки за всяка добавена функционалност. Всяко заглавие 6LoWPAN се предхожда от стойност за изпращане, която идентифицира типа на заглавието (вижте следващата фигура).
  4. 6LoWPAN капсулиране
    6LoWPAN пакетите са изградени на същия принцип като IPv6 пакетите и съдържат подредени заглавки за всяка добавена функционалност. Всяко заглавие 6LoWPAN се предхожда от стойност за изпращане, която идентифицира типа на заглавието (вижте следващата фигура). SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (6)
    Фигура 3.2. Общ формат на 6LoWPAN пакет
    Темата използва следните типове 6LoWPAN заглавки:
    • Заглавка на мрежата (използвана за препращане на слоя връзка)
    • Заглавка за фрагментиране (използвана за фрагментиране на IPv6 пакета в няколко 6LoWPAN пакета)
    • Header Compression Header (използван за компресиране на IPv6 хедъри)
    • Спецификацията 6LoWPAN изисква, че ако има повече от една заглавка, те трябва да се показват в реда, споменат по-горе. Следните са прampфайлове от 6LoWPAN пакети, изпратени по въздуха.
    • На следващата фигура полезният товар 6LoWPAN се състои от компресирания IPv6 хедър и останалата част от IPv6 полезния товар. SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (7)
    • Фигура 3.3. 6LoWPAN пакет, съдържащ IPv6 полезен товар с компресиран IPv6 хедър
    • На следващата фигура полезният товар 6LoWPAN съдържа IPv6 заглавката и част от IPv6 полезния товар. SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (8)
    • Фигура 3.4. 6LoWPAN пакет, съдържащ заглавка на мрежата, заглавка за фрагментиране и заглавка за компресиране. Останалата част от полезния товар ще бъде предадена в следващите пакети според формата на следващата фигура. SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (9)
    • Фигура 3.5. 6LoWPAN Последващ фрагмент
  5. ICMP
    Устройствата с нишки поддържат протокола Internet Control Message Protocol версия 6 (ICMPv6), както е дефинирано в RFC 4443, Internet Control Message Protocol (ICMPv6) за спецификацията Internet Protocol Version 6 (IPv6). Те също така поддържат съобщенията за ехо заявка и ехо отговор.
  6. UDP
    Стекът Thread поддържа User Datagram протокол (UDP), както е дефиниран в RFC 768, потребител Datagram протокол.
  7. TCP
    Стекът Thread поддържа вариант на протокол за контрол на транспорта (TCP), наречен „TCPlp“ (TCP ниска мощност) (вижте usenix-NSDI20). Устройство, съвместимо с нишки, изпълнява ролите на TCP инициатор и слушател, както е описано в:
    • RFC 793, Протокол за контрол на предаването
    • RFC 1122, Изисквания за интернет хостове
    • Спецификация на нишката 1.3.0 и по-висока: Съществуващите TCP реализации обикновено не са настроени да работят оптимално през безжични мрежови мрежи и с ограничените размери на рамката 802.15.4. Следователно спецификацията дефинира тези елементи и стойности на параметри, необходими за ефективна реализация на TCP през Thread Networks (вижте Thread Specification 1.3.0, раздел 6.2 TCP).
  8. SRP
    • Протоколът за регистрация на услуги (SRP), както е дефиниран в Протокола за регистрация на услуги за DNS-базирано откриване на услуги, се използва на Thread устройства, като се започне от Thread Specification 1.3.0. Трябва да съществува регистър на услугите, поддържан от граничен рутер. SRP клиентите в мрежовата мрежа могат да се регистрират, за да предлагат различни услуги. SRP сървърът приема базирани на DNS заявки за откриване и допълнително предлага криптография с публичен ключ за сигурност, заедно с други незначителни подобрения за по-добра поддръжка на ограничени клиенти.

Мрежова топология

  1. Мрежов адрес и устройства
    • Стекът Thread поддържа пълна мрежова свързаност между всички рутери в мрежата. Действителната топология се основава на броя на рутерите в мрежата. Ако има само един рутер, тогава мрежата образува звезда. Ако има повече от един рутер, тогава мрежата се формира автоматично (вижте 2.2 Мрежова архитектура на нишка).
  2. Мрежови мрежи
    • Вградените мрежови мрежи правят радиосистемите по-надеждни, като позволяват на радиостанциите да предават съобщения за други радиостанции. Напримерampнапример, ако даден възел не може да изпрати съобщение директно до друг възел, вградената мрежова мрежа препредава съобщението през един или повече междинни възли. Както беше обсъдено в раздел 5.3 Маршрутизиране, всички рутерни възли в стека на нишките поддържат маршрути и свързаност помежду си, така че мрежовата мрежа е постоянно поддържана и свързана. Има ограничение от 64 адреса на рутер в мрежата Thread, но не могат да се използват всички наведнъж. Това дава време за повторно използване на адресите на изтритите устройства.
    • В мрежова мрежа крайните устройства в режим на сън или отговарящи на условията за рутер устройства не маршрутизират за други устройства. Тези устройства изпращат съобщения до родител, който е рутер. Този родителски рутер обработва операциите по маршрутизиране за своите дъщерни устройства.

Маршрутизиране и мрежова свързаност

Мрежата Thread има до 32 активни рутера, които използват маршрутизиране на следващ хоп за съобщения въз основа на таблицата за маршрутизиране. Таблицата за маршрутизиране се поддържа от стека Thread, за да се гарантира, че всички рутери имат свързаност и актуални пътища за всеки друг рутер в мрежата. Всички рутери обменят с други рутери своите разходи за маршрутизиране към други рутери в мрежата в компресиран формат, използвайки Mesh Link Establishment (MLE).

  1.  MLE съобщения
    • Съобщенията за установяване на мрежова връзка (MLE) се използват за установяване и конфигуриране на сигурни радио връзки, откриване на съседни устройства и поддържане на разходите за маршрутизиране между устройствата в мрежата. MLE работи под слоя за маршрутизиране и използва локални уникаст и групови предавания между маршрутизатори с една връзка.
    • MLE съобщенията се използват за идентифициране, конфигуриране и защита на връзки към съседни устройства, когато топологията и физическата среда се променят. MLE се използва и за разпространение на конфигурационни стойности, които се споделят в мрежата, като канал и ID на личната мрежа (PAN). Тези съобщения могат да бъдат препращани с обикновено наводняване, както е посочено от MPL (https://tools.ietf.org/html/draft-ietf-roll-trickle-mcast-11: Multicast протокол за мрежи с ниска мощност и загуби (MPL)).
    • MLE съобщенията също гарантират, че разходите за асиметрична връзка се вземат предвид при установяване на разходите за маршрутизиране между две устройства. Разходите за асиметрична връзка са често срещани в мрежите 802.15.4. За да се гарантира, че двупосочните съобщения са надеждни, е важно да се вземат предвид разходите за двупосочна връзка.
  2. Откриване и ремонт на маршрут
    • Откриването на маршрут при поискване обикновено се използва в мрежи 802.15.4 с ниска мощност. Откриването на маршрут при поискване обаче е скъпо от гледна точка на натоварване на мрежата и честотна лента, тъй като устройствата излъчват заявки за откриване на маршрут през мрежата. В стека Thread всички рутери обменят MLE пакети с един хоп, съдържащи информация за разходите, към всички други рутери в мрежата. Всички рутери имат актуална информация за цената на пътя до всеки друг рутер в мрежата, така че не е необходимо откриване на маршрут при поискване. Ако даден маршрут вече не е използваем, рутерите могат да изберат следващия най-подходящ маршрут до дестинацията.
    • Маршрутизирането към дъщерни устройства се извършва чрез гледане на старшите битове на адреса на дъщерното устройство, за да се определи адреса на родителския рутер. След като устройството знае родителския рутер, то знае информацията за цената на пътя и информацията за маршрутизирането на следващия хоп за това устройство.
    • Тъй като цената на маршрута или топологията на мрежата се променят, промените се разпространяват през мрежата, използвайки MLE съобщенията с единичен скок. Цената на маршрутизирането се основава на качеството на двупосочната връзка между две устройства. Качеството на връзката във всяка посока се основава на границата на връзката на входящите съобщения от това съседно устройство. Този индикатор за силата на входящия сигнал (RSSI) се съпоставя с качество на връзката от 0 до 3. Стойност 0 означава неизвестна цена.
    • Когато маршрутизатор получи ново MLE съобщение от съсед, той или вече има запис в таблицата на съседите за устройството, или такъв е добавен. MLE съобщението съдържа входящата цена от съседа, така че това се актуализира в таблицата на съседите на рутера. MLE съобщението също така съдържа актуализирана информация за маршрутизиране за други рутери, която се актуализира в таблицата за маршрутизиране.
    • Броят на активните рутери е ограничен до количеството информация за маршрутизиране и цена, която може да се съдържа в един 802.15.4 пакет. Това ограничение в момента е 32 рутера.
  3. Маршрутизиране
    • Устройствата използват нормално IP маршрутизиране за препращане на пакети. Таблицата за маршрутизиране се попълва с мрежови адреси и подходящия следващ хоп.
    • Векторното маршрутизиране на разстояние се използва за получаване на маршрути до адреси, които са в локалната мрежа. При маршрутизиране в локалната мрежа, горните шест бита на този 16-битов адрес определят дестинацията на рутера.
    • След това този родител за маршрутизиране е отговорен за препращането до крайната дестинация въз основа на остатъка от 16-битовия адрес.
    • За маршрутизиране извън мрежата граничният рутер уведомява лидера на рутера за конкретните префикси, които обслужва, и разпространява тази информация като мрежови данни в MLE пакетите. Мрежовите данни включват данни за префикс, който е самият префикс, контекста 6LoWPAN, граничните маршрутизатори и автоматичното конфигуриране на адрес без състояние (SLAAC) или DHCPv6 сървър за този префикс. Ако дадено устройство трябва да конфигурира адрес, използвайки този префикс, то се свързва със съответния SLAAC или DHCP сървър за този адрес. Данните за мрежата включват също списък на сървъри за маршрутизиране, които са 16-битовите адреси на граничните маршрутизатори по подразбиране.
    • Освен това, в търговско пространство с модел Thread Domain, Backbone Border Router уведомява лидера на рутера за уникалния префикс на домейна, който обслужва, за да покаже, че тази мрежа е част от по-големия Thread домейн. Мрежовите данни за това включват префиксни данни, 6LoWPAN контекст и граничен рутер ALOC. Няма зададени SLAAC или DHCPv6 флагове за този набор от префикси, но присвояването на адреса следва модела без състояние. Освен това има също така TLV за услуги и сървъри, показващи възможностите за „основна” услуга на този граничен рутер. Възможност за откриване на дублирани адреси по гръбнака съществува за всяко устройство, което регистрира своя уникален адрес на домейн (DUA) с BBR. DUA на дадено устройство никога не се променя през целия му живот като част от домейн Thread.
    • Това улеснява миграцията през различни Thread мрежи в един домейн и гарантира, че съответните BBR улесняват маршрутизирането в множество Thread мрежи. По гръбнака се използват стандартни IPv6 технологии за маршрутизиране като IPv6 Neighbor Discovery (NS/NA съгласно RFC 4861) и Multicast Listener Discovery (MLDv2 съгласно RFC 3810).
    • Лидерът е определен да следи устройствата, отговарящи на условията за рутер, които стават рутери или позволява на рутерите да преминат към по-ниски версии до устройства, отговарящи на условията за рутер. Този лидер също присвоява и управлява адресите на рутера с помощта на CoAP. Въпреки това цялата информация, съдържаща се в този Leader, периодично се рекламира и на другите рутери. Ако Лидерът излезе от мрежата, се избира друг рутер, който поема ролята на Лидер без намесата на потребителя.
    • Граничните маршрутизатори са отговорни за обработката на 6LoWPAN компресия или разширяване и адресиране към устройства извън мрежата. Backbone Border Routers са отговорни за обработката на MPL с IP-в-IP капсулиране и декапсулиране за по-големи групови предавания, влизащи и излизащи от мрежата.
    • За повече информация относно граничните рутери вижте AN1256: Използване на RCP на Silicon Labs с граничния рутер OpenThread.
  4. Повторни опити и потвърждения
    • Докато UDP съобщенията се използват в стека Thread, се изисква надеждна доставка на съобщения и се извършва от тези леки механизми:
    • Повторни опити на ниво MAC – всяко устройство използва MAC потвърждения от следващия хоп и ще опита отново съобщение на MAC слоя, ако съобщението MAC ACK не бъде получено.
    • Повторни опити на приложния слой – приложният слой може да определи дали надеждността на съобщението е критичен параметър. Ако е така, може да се използва протокол за потвърждение от край до край и повторен опит, като CoAP повторни опити.

Присъединяване и работа в мрежата

Thread позволява два метода на свързване:

  • Споделете информация за пускане в експлоатация директно към устройство, използвайки метод извън обхвата. Това позволява насочване на устройството към правилната мрежа с помощта на тази информация.
  • Установете сесия за въвеждане в експлоатация между присъединяващо се устройство и приложение за въвеждане в експлоатация на смартфон, таблет или web.
  • За търговска мрежа с модел на домейн Thread, процесът на автономно записване без намеса на потребителя, който предоставя оперативни сертификати на съединители след удостоверяване, е специфициран от Thread Specification 1.2. Оперативният сертификат кодира информацията за домейна за устройството и позволява осигуряване на защитен главен мрежов ключ. Този модел изисква регистратор или
  • Интерфейс за регистриране на нишки (TRI) на опорен граничен рутер и улеснява комуникацията с външен орган (MASA) с помощта на протоколите ANIMA/BRSKI/EST. Мрежа, която поддържа този модел на въвеждане в експлоатация, се нарича CCM мрежа.
  • За повече информация относно пускането в експлоатация на Thread мрежи вижте раздел 11. Пускане на устройството в експлоатация.
  • Често използваният 802.15.4 метод за присъединяване с флага за присъединяване на разрешение в полезния товар на маяка не се използва в мрежи с нишки. Този метод се използва най-често за присъединяване от тип бутон, където няма потребителски интерфейс или извънлентов канал към устройствата. Този метод има проблеми с управлението на устройството в ситуации, когато има множество налични мрежи и може също така да представлява риск за сигурността.
  • В мрежите с нишки всяко присъединяване се инициира от потребителя. След присъединяването се извършва удостоверяване на сигурността на ниво приложение с устройство за въвеждане в експлоатация. Това удостоверяване на сигурността се обсъжда в раздел 9. Сигурност.
  • Устройствата се присъединяват към мрежа като крайно устройство в режим на сън, крайно устройство (MED или FED) или REED. Само след като REED се присъедини и научи конфигурацията на мрежата, може потенциално да поиска да стане a

Рутер за нишки. При присъединяване на устройството се предоставя 16-битов кратък адрес въз основа на неговия родител. Ако подходящо за рутер устройство стане Thread Router, на него се присвоява адрес на рутер от лидера. Откриването на дублирани адреси за Thread Routers се осигурява от централизирания механизъм за разпределение на адреси на рутера, който се намира на Leader. Родителят е отговорен за избягването на дублиращи се адреси за хост устройства, тъй като им присвоява адреси при присъединяване.

  1. Мрежово откриване
    • Откриването на мрежа се използва от присъединяващо се устройство, за да се определи кои 802.15.4 мрежи са в радиообхвата. Устройството сканира всички канали, издава MLE заявка за откриване на всеки канал и чака MLE отговори за откриване. Отговорът за откриване на 802.15.4 MLE съдържа полезен товар с мрежови параметри, включително идентификатор на набор от мрежови услуги (SSID), разширен PAN ID и други стойности, които показват дали мрежата приема нови членове и дали поддържа собствено въвеждане в експлоатация.
    • Не се изисква откриване на мрежа, ако устройството е включено в мрежата, тъй като то знае канала и разширения PAN ID за мрежата. След това тези устройства се свързват към мрежата, като използват предоставения материал за пускане в експлоатация.
  2. Данни за MLE
    • След като дадено устройство се прикачи към мрежа, има разнообразна информация, необходима за участието му в мрежата. MLE предоставя услуги за устройство за изпращане на едноадресно предаване към съседно устройство, за да поиска мрежови параметри и да актуализира разходите за връзка към съседите. Когато ново устройство се присъедини, то също така провежда отговор на предизвикателство, за да зададе броячи на рамка за сигурност, както е обсъдено в раздел 9. Сигурност.
    • Всички устройства поддържат предаване и приемане на съобщения за конфигурация на MLE връзка. Това включва съобщения „заявка за връзка“, „приемане на връзка“ и „приемане и заявка за връзка“.
    • Обменът на MLE се използва за конфигуриране или обмен на следната информация:
    • 16-битов къс и 64-битов EUI 64 дълъг адрес на съседни устройства
    • Информация за възможностите на устройството, включително дали е крайно устройство в режим на заспиване и цикъла на заспиване на устройството
    • Съседната връзка струва, ако е Thread Router
    • Защитен материал и броячи на кадри между устройствата
    • Разходите за маршрутизиране към всички други Thread Routers в мрежата
    • Събиране и разпространение на показатели за връзка за различни стойности на конфигурацията на връзката
    • Забележка: MLE съобщенията са криптирани, освен по време на първоначалните операции за стартиране на възел, когато новото устройство не е получило защитния материал.
  3.  CoAP
    Протокол за ограничено приложение (CoAP), както е дефинирано в RFC 7252 (https://tools.ietf.org/html/rfc7252: Constrained Application Proto-col (CoAP)) е специализиран транспортен протокол за използване с ограничени възли и мрежи с ниска мощност. CoAP предоставя модел на взаимодействие заявка/отговор между крайните точки на приложението, поддържа вградено откриване на услуги и ресурси и включва ключови концепции на web като например URLс. CoAP се използва в Thread за конфигуриране на мрежови локални адреси и мултикаст адреси, изисквани от устройствата. Освен това CoAP се използва и за съобщения за управление, като например за получаване и задаване на диагностична информация и други мрежови данни на активни Thread рутери.
  4. DHCPv6
    DHCPv6, както е дефиниран в RFC 3315, се използва като протокол клиент-сървър за управление на конфигурацията на устройства в мрежата. DHCPv6 използва UDP за изискване на данни от DHCP сървър (https://www.ietf.org/rfc/rfc3315.txt: Протокол за динамично конфигуриране на хост за IPv6 (DHCPv6)).
    Услугата DHCPv6 се използва за конфигуриране на:
    • Мрежови адреси
    • Групови адреси, изисквани от устройствата
    • Тъй като кратките адреси се присвояват от сървъра с помощта на DHCPv6, не е необходимо откриване на дублиран адрес. DHCPv6 се използва и от гранични рутери, които присвояват адреси въз основа на предоставения от тях префикс.
  5. СЛААК
    SLAAC (Автоконфигурация на адрес без състояние), както е дефинирано в RFC 4862 (https://tools.ietf.org/html/rfc4862: IPv6 Stateless Address Auto-configuration) е метод, при който граничен рутер присвоява префикс и след това последните 64 бита от неговия адрес се извличат от рутера. Механизмът за автоматично конфигуриране на IPv6 без състояние не изисква ръчна конфигурация на хостове, минимална (ако има такава) конфигурация на рутери и никакви допълнителни сървъри. Механизмът без състояние позволява на хоста да генерира свои собствени адреси, като използва комбинация от локално налична информация и информация, рекламирана от рутери.
  6. SRP
    Протоколът за регистрация на услуги (SRP), както е дефиниран в Протокола за регистрация на услуги за DNS-базирано откриване на услуги, се използва на Thread устройства, като се започне от Thread Specification 1.3.0. Трябва да съществува регистър на услугите, поддържан от граничен рутер. SRP клиентите в мрежовата мрежа могат да се регистрират, за да предлагат различни услуги. SRP сървърът приема базирани на DNS заявки за откриване и допълнително предлага криптография с публичен ключ за сигурност, заедно с други незначителни подобрения за по-добра поддръжка на ограничени клиенти.

Управление

  1. ICMP
    Всички устройства поддържат Internet Control Message Protocol за IPv6 (ICMPv6) съобщения за грешки, както и съобщенията за ехо заявка и ехо отговор.
  2. Управление на устройства
    Приложният слой на дадено устройство има достъп до набор от информация за управление и диагностика на устройството, която може да се използва локално или да се събира и изпраща до други устройства за управление.
    На слоевете 802.15.4 PHY и MAC устройството предоставя следната информация на слоя за управление:
    • EUI 64 адрес
    • 16-битов кратък адрес
    •  Информация за възможностите
    • PAN ID
    • Изпратени и получени пакети
    • Изпратени и получени октети
    • Пакети, пуснати при предаване или получаване
    • Грешки в сигурността
    • Брой MAC повторни опити
  3. Управление на мрежата
    Мрежовият слой на устройството също предоставя информация за управление и диагностика, която може да се използва локално или да се изпрати на други устройства за управление. Мрежовият слой предоставя списъка с IPv6 адреси, съседната и дъщерната таблица и таблицата за маршрутизиране.

Постоянни данни

Устройствата, работещи на място, могат да бъдат нулирани случайно или нарочно по различни причини. Устройствата, които са били нулирани, трябва да рестартират мрежовите операции без намесата на потребителя. За да бъде направено успешно, енергонезависимото хранилище трябва да съхранява следната информация:

  • Мрежова информация (като PAN ID)
  • Защитен материал
  • Информация за адресиране от мрежата за формиране на IPv6 адреси за устройствата

$ Сигурност

  • Мрежите с нишки са безжични мрежи, които трябва да бъдат защитени срещу атаки по въздуха (OTA). Те също така са свързани с интернет и следователно трябва да бъдат защитени срещу интернет атаки. Много от приложенията, които се разработват за Thread, ще обслужват широк спектър от приложения, които изискват дълги периоди на работа без надзор и ниска консумация на енергия. В резултат на това сигурността на Thread мрежите е критична.
  • Thread използва ключ за цялата мрежа, който се използва в слоя за достъп до медия (MAC) за криптиране. Този ключ се използва за стандартно IEEE 802.15.4-2006 удостоверяване и криптиране. Защитата на IEEE 802.15.4-2006 защитава Thread мрежата от атаки по въздуха, идващи извън мрежата. Компрометирането на всеки отделен възел може потенциално да разкрие ключа за цялата мрежа. В резултат на това обикновено не е единствената форма на защита, използвана в рамките на мрежата Thread. Всеки възел в мрежата Thread обменя броячи на кадри със своите съседи чрез MLE ръкостискане. Тези броячи на кадри помагат за защита срещу повторни атаки. (За повече информация относно MLE вижте спецификацията на нишката.) Нишката позволява на приложението да използва всеки протокол за сигурност в интернет за комуникация от край до край.
  • Възлите замъгляват както своите интерфейси за IP адреси в цялата мрежа, така и своите MAC разширени идентификатори, като ги рандомизират. Стандартният EUI64, подписан към възела, се използва като адрес на източник само по време на първоначалната фаза на присъединяване. След като възел се присъедини към мрежа, възелът използва като свой източник или адрес, базиран на своя двубайтов ID на възел, или един от своите произволни адреси, споменати по-горе. EUI64 не се използва като адрес на източника, след като възелът е присъединен към мрежа.

Управлението на мрежата също трябва да бъде сигурно. Приложение за управление на мрежа Thread може да се изпълнява на всяко устройство, свързано с интернет. Ако самото това устройство не е член на Thread мрежа, то първо трябва да установи защитен Datagram връзка за защита на транспортния слой (DTLS) с Thread Border Router. Всяка Thread мрежа има парола за управление, която се използва при установяване на тази връзка. След като приложение за управление е свързано към мрежата Thread, нови устройства могат да се добавят към мрежата.

  1. 802.15.4 Сигурност
    • Спецификацията IEEE 802.15.4-2006 описва безжични и медийни протоколи за достъп за PAN и HAN. Тези протоколи са предназначени за внедряване на специални радиоустройства като тези, предлагани от Silicon Labs. IEEE 802.15.4-2006 поддържа различни приложения, много от които са чувствителни към сигурността. Напримерample, разгледайте случая на приложение за алармена система, което следи заетостта на сградата. Ако мрежата не е защитена и нарушител получи достъп до мрежата, съобщенията могат да бъдат излъчени, за да се създаде фалшива аларма, да се промени съществуваща аларма или да се заглуши легитимна аларма. Всяка от тези ситуации крие значителни рискове за обитателите на сградата.
    • Много приложения изискват поверителност и повечето също се нуждаят от защита на целостта. 802-15.4-2006 адресира тези изисквания чрез използване на протокол за сигурност на ниво връзка с четири основни услуги за сигурност:
    • Контрол на достъпа
    • Цялостност на съобщението
    • Поверителност на съобщенията
    • Защита от повторно възпроизвеждане
    • Защитата при повторно възпроизвеждане, предоставена от IEEE 802.15.4-2006, е само частична. Нишката осигурява допълнителна сигурност, използвайки MLE ръкостискания между възлите, обсъдени по-горе, за да завърши защитата при повторно възпроизвеждане.
  2. Сигурно управление на мрежата
    Управлението на мрежата също трябва да бъде сигурно. Приложението за управление на мрежата Thread може да се изпълнява на всяко устройство, свързано с интернет. Има две части на сигурността:
    • Сигурност по въздуха, за която се грижи 802.15.4. Thread прилага 802.15.4-2006 ниво 5 сигурност.
    • CCM мрежи: Ако самото устройство не е член на CCM мрежа, то трябва да установи връзка с опорен граничен рутер, за да получи своя оперативен сертификат, за да се установи като част от Thread домейна.
    • Мрежи, различни от CCM: Интернет сигурност: Ако самото устройство не е член на Thread мрежа, то трябва първо да установи защитена Data-gram Transit Layer Security (DTLS) връзка с Thread Border Router. Всяка нишка мрежа има парола за управление, която се използва за установяване на сигурни връзки между външни устройства за управление и гранични рутери. След като приложение за управление е свързано към мрежата Thread, нови устройства могат да се добавят към мрежата.

Граничен рутер

  • Thread Border Router е устройство, което свързва Thread безжична мрежа с други базирани на IP мрежи (като Wi-Fi или Ethernet) във външния свят чрез локална домашна или корпоративна мрежа. За разлика от шлюзовете в други безжични решения, той е напълно прозрачен за транспортните и приложните протоколи, които се намират над мрежовия слой. В резултат на това приложенията могат да комуникират сигурно от край до край без превод на приложния слой.
  • Thread Border Router поддържа минимално следните функции:
    • IP свързаност от край до край чрез маршрутизиране между Thread устройства и други външни IP мрежи.
    • Пускане в експлоатация на външна резба (напрample, мобилен телефон) за удостоверяване и присъединяване на Thread устройство към Thread мрежа.

Може да има множество гранични маршрутизатори в мрежа, елиминирайки „единична точка на повреда“ в случай, че един от тях не работи. Border Router позволява на всяко Thread устройство да се свързва директно с глобални облачни услуги, когато корпоративните мрежи работят с IPv6 и IPv4 или само с IPv4.

  1.  Функции на граничен рутер за комуникация извън мрежата
    • Нишката може да бъде незабавно внедрена в текущи работни ситуации, преди частичен или пълен преход към IPv6, а нишката позволява IPv4 обратна съвместимост с помощта на мрежов адрес
    • Превод (NAT). NAT64 преобразува IPv6 пакети в IPv4, а NAT64 преобразува IPv4 пакети в IPv6. Thread Border Router може да функционира като IPv4 хост в широкообхватната мрежа (WAN), способен да получи IPv4 интерфейс и адрес на рутер. Може да придобие адрес с помощта на DHCP от набор от IPv4 адреси. Thread Border Router може също така да прилага протокол за контрол на портове (PCP), за да контролира как входящите IPv4 пакети се превеждат и препращат и поддържа статично картографиране. Повечето от преводите на IPv4 към IPv6 (и обратно) могат да се обработват от нишката
    • Граничен рутер с минимални промени, необходими за съществуваща мрежа.
      Освен това Thread Border Routers поддържат двупосочна IPv6 свързаност с IPv6 откриване на съседи, реклами на рутери, мултикаст откриване и пренасочване на пакети.
  2. Тема над инфраструктурата
    • Мрежите с нишки автоматично се организират в отделни мрежови дялове с нишки, когато няма връзка между два или повече комплекта устройства. Дяловете с нишки позволяват на устройствата да поддържат комуникация с други устройства в същия дял с нишки, но не и с устройства с нишки в други дялове.
    • Thread over Infrastructure позволява на Thread устройствата да включват базирани на IP технологии за връзка (напрample, Wi-Fi и Ethernet) в топологията Thread. Тези допълнителни връзки към нишки спрямо други технологии за връзки намаляват вероятността от възникване на множество мрежови дялове на нишки, докато обратната съвместимост със съществуващите устройства Thread 1.1 и 1.2 е гарантирана. Тези предимства се получават за всяка мрежова топология, която включва поне два гранични рутера, свързани чрез споделена съседна инфраструктурна връзка.
    • За повече информация вижте Спецификация на нишка 1.3.0 (или проект на спецификация на нишка 1.4), Глава 15 (Нишка през инфраструктура).
  3. Граничен рутер OpenThread
    Реализацията на OpenThread на Border Router се нарича OpenThread Border Router (OTBR). Той поддържа мрежест интерфейс, използвайки RCP модел. Silicon Labs предоставя имплементация (поддържана от Raspberry Pi) и изходен код като част от GSDK на Silicon Labs. За повече информация вижте AN1256: Използване на RCP на Silicon Labs с OpenThread Border Router.
    Документация за настройката и архитектурата на OTBR е достъпна на https://openthread.io/guides/border-router.

Пускане на устройството в експлоатация

Thread устройствата се включват в Thread мрежи по различни начини, както е описано в следващите подраздели.

  1. Традиционно пускане в експлоатация на резби
    • За мрежово пускане в експлоатация на по-малки мрежи (Thread Specification 1.1.1 или по-висока), инсталаторите могат да използват приложението Thread пускане в експлоатация, предоставено като безплатен ресурс за устройства с Android и iOS. Това приложение може да се използва за лесно добавяне на нови устройства към мрежата или повторно конфигуриране на съществуващи устройства.
    • Thread използва протокола Mesh Commissioning Protocol (MeshCoP) за сигурно удостоверяване, въвеждане в експлоатация и присъединяване на нови, ненадеждни радиоустройства към мрежова мрежа. Мрежите с нишки се състоят от автономна самоконфигурираща се мрежа от устройства с интерфейси IEEE 802.15.4 и защитен слой на ниво връзка, който изисква всяко устройство в мрежата да притежава текущия споделен таен главен ключ.
    • Процесът на въвеждане в експлоатация започва, когато кандидат за комисар, обикновено мобилен телефон, свързан чрез WiFi, открие мрежата Thread чрез един от нейните гранични рутери. Граничните маршрутизатори рекламират наличността си пред комисарите, като използват всяко подходящо местоположение на услугата. Механизмът за откриване трябва да предостави на кандидата за комисар както път за комуникация, така и име на мрежата, тъй като името на мрежата се използва по-късно като криптографска сол за установяване на сесията за въвеждане в експлоатация.
    • Кандидатът за комисар, след като е открил интересуващата ни мрежа, се свързва сигурно с нея, използвайки идентификационните данни за въвеждане в експлоатация (избрана от човека парола за използване при удостоверяване). Стъпката за удостоверяване на комисар установява защитена връзка клиент/сървър чрез сокет между кандидата за комисар и граничен рутер чрез DTLS. Тази защитена сесия е известна като сесия за въвеждане в експлоатация. Сесията за въвеждане в експлоатация използва присвоения номер на UDP порт, обявен по време на фазата на откриване. Това пристанище е известно като Комисарско пристанище. Идентификационните данни, използвани за установяване на сесията за въвеждане в експлоатация, са известни като предварително споделен ключ за комисионера (PSKc).
    • След това кандидатът за комисар регистрира своята самоличност със своя граничен рутер. Лидерът отговаря, като приема или отхвърля Граничния маршрутизатор като жизнеспособен спедитор към комисаря.
    • При приемане Leader актуализира вътрешното си състояние, за да проследи активния комисар, а граничният рутер след това изпраща съобщение за потвърждение до кандидата за комисар, информирайки устройството, че вече е комисар.
    • Когато има упълномощен комисар, свързан с Thread Network, става възможно присъединяването към отговарящи на условията Thread Devices. Те са известни като Joiners, преди да станат част от
    • Нишкова мрежа. Дърводелецът първо създава DTLS връзка с Комисионера за обмен на материали за пускане в експлоатация. След това използва материала за въвеждане в експлоатация, за да се прикрепи към мрежата Thread. Възелът се счита за част от мрежата само след като тези две стъпки са изпълнени. След това може да участва в процеса на присъединяване за бъдещи възли. Всички тези стъпки потвърждават, че правилното устройство се е присъединило към правилната Thread мрежа и че самата Thread мрежа е защитена срещу безжични и интернет атаки. За повече информация относно протокола за въвеждане в експлоатация на мрежата вижте спецификацията на нишката.
  2. Подобрено въвеждане в експлоатация с търговски разширения в нишка 1.2
    • Спецификацията на нишката 1.2 и нейните търговски разширения вече позволяват много по-мащабни мрежи, като тези, необходими в офис сгради, обществени сгради, хотели или други видове индустриални или търговски сгради. Благодарение на по-добрата поддръжка на подмрежи, Thread Spec-ification 1.2 позволява по-лесно хиляди устройства в едно внедряване, което може да се конфигурира ръчно, автономно и чрез разширени функции за дистанционно пускане в експлоатация.
    • Търговските разширения в Thread 1.2 позволяват широкомащабно удостоверяване, присъединяване към мрежа, подмрежов роуминг и работа, базирана на доверени самоличности в корпоративен домейн. За да позволи надеждно удостоверяване на устройствата и проверка на информацията за оторизация, инсталаторът на системата може да настрои корпоративен сертифициращ орган, за да опрости разгръщането на широкомащабна мрежа. Това позволява на инсталатора да настрои и поддържа мрежата без директен достъп до отделните устройства и без пряко взаимодействие с тези устройства, посредством автоматизиран процес на записване, наречен Автономно записване. За разлика от Thread 1.1, където сдвояването на паролата на устройството се използва за удостоверяване, търговските разширения в Thread 1.2 ще поддържат по-мащабируема форма на удостоверяване, базирана на сертификат. Една корпоративна мрежа може да има един или повече Thread Domains и всеки Thread Domain може да бъде настроен да интегрира множество Thread мрежи.

Приложен слой

Thread е стек за безжична мрежова мрежа, който отговаря за маршрутизирането на съобщения между различни устройства в мрежата Thread, описана в раздел 2.2 Архитектура на мрежата Thread. Следващата фигура илюстрира слоевете в протокола Thread.
SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (10)

Фигура 12.1. Слоеве на протокол за нишка

  • Стандартна дефиниция на приложен слой е „абстрактно ниво, което определя споделените протоколи и интерфейсни методи, използвани от хостове в комуникационна мрежа“ (https://en.wikipedia.org/wiki/Application_layer). Казано по-просто, приложният слой е „език на устройствата“, напрample, как превключвател говори с електрическа крушка. Използвайки тези дефиниции, приложният слой не съществува в Thread. Клиентите изграждат приложния слой въз основа на възможностите в стека Thread и собствените си изисквания. Въпреки че Thread не предоставя приложен слой, той предоставя основни приложни услуги:
  • UDP съобщения
    UDP предлага начин за изпращане на съобщения с помощта на 16-битов номер на порт и IPv6 адрес. UDP е по-прост протокол от TCP и има по-малко разходи за връзка (напрample, UDP не прилага поддържащи съобщения). В резултат на това UDP позволява по-бърза, по-висока пропускателна способност на съобщенията и намалява общия енергиен бюджет на приложението. UDP също има по-малко кодово пространство от TCP, което оставя повече наличен флаш на чипа за персонализирани приложения.
  • Мултикаст съобщения
    Thread предоставя възможност за излъчване на съобщения, т.е. изпращане на едно и също съобщение до множество възли в мрежа на Thread. Мултикаст позволява вграден начин за комуникация със съседни възли, рутери и цяла Thread мрежа със стандартни IPv6 адреси.
  • Приложни слоеве, използващи IP услуги
    Thread позволява използването на приложни слоеве като UDP и CoAP, за да позволи на устройствата да комуникират интерактивно през интернет. Приложните слоеве, които не са IP, ще изискват известна адаптация, за да работят с Thread. (Вижте RFC 7252 за повече информация относно CoAP.)
    • SDK на Silicon Labs OpenThread включва следните sampфайлови приложения, които също са достъпни от хранилището на OpenThread GitHub:• ot-cli-ftd
    • ot-cli-mtd
    • ot-rcp (използван във връзка с OpenThread Border Router)
  • Тези приложения могат да се използват за демонстриране на функциите на Thread мрежа. В допълнение, SDK на Silicon Labs OpenThread също предоставя крайни устройства в режим на сънample app (sleepy-demo-ftd и sleepy-demo-mtd), което демонстрира как да използвате функциите на Silicon Labs power manager за създаване на устройство с ниска мощност. И накрая, ot-ble-dmp sample приложение демонстрира как да се изгради динамично мултипротоколно приложение с помощта на OpenThread и Bluetooth стека на Silicon Labs. Вижте QSG170: Ръководство за бързо стартиране на OpenThread за повече информация относно работата с exampфайлови приложения в Simplicity Studio 5.

Следващи стъпки

  • SDK на Silicon Labs OpenThread включва сертифициран мрежов стек OpenThread и sampфайлови приложения, които демонстрират основното поведение на мрежата и приложението. Клиентите се насърчават да използват включените sample приложения, за да се запознаете с Thread като цяло и в частност с предлагането на Silicon Labs. Всяко от приложенията демонстрира как устройствата формират и се присъединяват към мрежи, както и как се изпращат и получават съобщения. Приложенията са достъпни за използване след зареждане на Simplicity Studio 5 и Silicon Labs OpenThread SDK. Simplicity Studio 5 включва поддръжка за създаване на приложения (Project Configurator) и декодиране на съобщенията на мрежовия и приложния слой (Network Analyzer) в Thread, които предоставят допълнителна представа за работата на Thread мрежите. За повече информация вижте QSG170: Ръководство за бързо стартиране на OpenThread.
  • За повече информация относно OpenThread Border Routers вижте AN1256: Използване на Silicon Labs RCP с OpenThread Border Router. За повече информация относно разработването на Thread 1.3.0 sample приложения вижте AN1372: Конфигуриране на OpenThread приложения за Thread 1.3. SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (11)SILICON-LABS-UG103-11-Thread-Fundamentals-Software- (1)

Отказ от отговорност

  • Silicon Labs възнамерява да предостави на клиентите най-новата, точна и задълбочена документация за всички периферни устройства и модули, налични за системни и софтуерни внедрители, използващи или възнамеряващи да използват продуктите на Silicon Labs. Данните за характеристиките, наличните модули и периферни устройства, размерите на паметта и адресите на паметта се отнасят за всяко конкретно устройство, а предоставените „типични“ параметри могат и варират в различните приложения. Приложение прampописаните тук са само за илюстративни цели. Silicon Labs си запазва правото да прави промени без допълнително известие в информацията за продукта, спецификациите и описанията тук и не дава гаранции по отношение на точността или пълнотата на включената информация. Без предварително уведомление Silicon Labs може да актуализира фърмуера на продукта по време на производствения процес от съображения за сигурност или надеждност. Такива промени няма да променят спецификациите или работата на продукта. Silicon Labs не носи отговорност за последствията от използването на информацията, предоставена в този документ. Този документ не предполага, нито изрично предоставя лиценз за проектиране или производство на интегрални схеми. Продуктите не са проектирани или разрешени за използване в устройства от клас III на FDA, приложения, за които се изисква одобрение от FDA преди пускане на пазара или системи за поддържане на живота без изричното писмено съгласие на
  • Силиконови лаборатории. „Животоподдържаща система“ е всеки продукт или система, предназначена да поддържа или поддържа живота и/или здравето, която, ако не успее, може разумно да се очаква да доведе до значителни лични наранявания или смърт. Продуктите на Silicon Labs не са проектирани или разрешени за военни приложения. Продуктите на Silicon Labs при никакви обстоятелства не трябва да се използват в оръжия за масово унищожение, включително (но не само) ядрени, биологични или химически оръжия или ракети, способни да доставят такива оръжия. Silicon Labs се отказва от всякакви изрични и подразбиращи се гаранции и не носи отговорност за наранявания или щети, свързани с използването на продукт на Silicon Labs в такива неоторизирани приложения. Забележка: Това съдържание може да съдържа обидна терминология, която вече е остаряла. Silicon Labs заменя тези термини с включващ език, където е възможно. За повече информация посетете www.silabs.com/about-us/inclusive-lexicon-project

Информация за търговската марка

  • Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® и логото на Silicon Labs®, Bluegiga®, Bluegiga Logo®, EFM®, EFM32®, EFR, Ember®, Energy Micro, логото на Energy Micro и комбинации от тях , „най-щадящите енергията микроконтролери в света“, Redpine Signals®, WiSeConnect , n-Link, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, Gecko OS, Gecko OS Studio, Precision32®, Simplicity Studio®, Telegesis, the Telegesis Logo®, USBXpress®, Zentri, логото на Zentri и Zentri DMS, Z-Wave® и други са търговски марки или регистрирани търговски марки на
  • Силиконови лаборатории. ARM, CORTEX, Cortex-M3 и THUMB са търговски марки или регистрирани търговски марки на ARM Holdings. Keil е регистрирана търговска марка на ARM Limited. Wi-Fi е регистрирана търговска марка на
  • Wi-Fi алианс. Всички останали продукти или марки, споменати тук, са търговски марки на съответните им притежатели.
    • Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 САЩ
    • www.silabs.com

Документи / Ресурси

SILICON LABS UG103.11 Софтуер за основи на нишката [pdf] Ръководство за потребителя
UG103.11 Thread Fundamentals Software, UG103.11, Thread Fundamentals Software, Fundamentals Software, Софтуер

Референции

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са маркирани *