Professional Documents
Culture Documents
лекції влах PDF
лекції влах PDF
1.1. ВСТУП
Ідея Інтернету речей сама по собі дуже проста. Уявімо, що всі навколишні
нас предмети і пристрої (домашні прилади і посуд, одяг, продукти, автомобілі,
промислове обладнання та ін.) Забезпечені мініатюрними ідентифікаційними і
сенсорними (чутливими) пристроями. Тоді при наявності необхідних каналів зв'язку
з ними можна не тільки відслідковувати ці об'єкти і їх параметри в просторі і в часі,
а й управляти ними, а також включати інформацію про них в загальну «розумну
планету». У найзагальнішому вигляді з інфокомунікаційної точки зору Інтернет
речей можна записати у вигляді такої символічної формули:
IoT = Сенсори (датчики) + Дані + Мережі + Послуги.
Простіше кажучи, Інтернет речей - це глобальна мережа комп'ютерів,
датчиків (сенсорів) і виконавчих пристроїв, що зв'язуються між собою з
використанням інтернет протоколу IP (Internet Protocol). Наприклад, для вирішення
певної задачі комп'ютер зв'язується через публічний інтернет з невеликим
пристроєм, до якого підключений відповідний датчик (наприклад, температури), як
це показано на рисунку 1.1
Рис. 1.2
Шлюз для Інтернету речей (IoT Gateway) - сполучна ланка між рівнями контролю
і управління Інтернету речей (IoT), а саме конвертує протоколи одного типу
фізичного середовища в протоколи іншого фізичного середовища (мережі).
Наприклад:
Технології для пристроїв Шлюз ІТ
ІoT: Технології для мереж
CAN, Ethernet, RS-232, RS- доступу/транспортних
485, ZigBee, Bluetooth, WiFi, мереж:
LoRa і ін. 2G/3G/4G, GPRS, WiFi і ін.
Шифрування
Частота, Швидкість,
Кбіт/с
Стандарт P M N T A A
МГц H A W R P C
Y C K P S L
6LoWPAN - 50-200 - - + - - + +
WirelessH ART
2400 250 + + + + + + +
ISA100.11 a
2400 250 + + + + + + +
865/915/8
Z-Wave 69 9,6/40 + + + - + - -
Bluetooth LE
2400 1000 + + + + + + +
обробки даних або між шлюзом і хмарою, а також обмін даними між центрами
обробки даних.
Сучасні IoT-рішення будуються на базі протоколів передачі даних
(наприклад, MQTT, AMQP, HTTP, CoAP і інші) і забезпечують взаємодію кінцевих
пристроїв з хмарними сервісами (наприклад, Azure IoT Suite, Amazon Web Services
IoT). https://azure.microsoft.com/ru-ru/overview/internet-of-things-iot/iot-technology-
protocols/
На сьогодні, протоколи розроблені спеціально для задоволення вимог IoT у
більшості літературних джерел розглядаються з прив’язкою до рівнів моделі
TCP/IP: прикладного, транспортного, мережевого і канального, оскільки значна
частина протоколів моделі TCP/IP підтримує також роботу пристроїв Інтернету
речей.
ТСР/ІР
Транспортний рівень
- забезпечує і захищає обмін
даними між рівнями.
Канальний рівень -
на цьому рівні дані
передаються в межах
СТАНДАРТ: ІEEE 802.3, ІEEE 802.11
архітектури системи. При
СТАНДАРТ: з низьким енергоспоживанням IEEE
цьому визначаються і
802.15.4, IEEE 802.15.5
виправляються помилки,
виявлені на фізичному
рівні.
Розподіл IP-адрес
Протокол DHCP надає три способи розподілу IP-адрес :
Ручний розподіл. При цьому способі мережевий адміністратор зіставляє
апаратну адресу (для Ethernet-мереж це MAC-адресу ) кожного клієнтського
комп'ютера з певним IP-адресом. Фактично даний спосіб розподілу адрес
відрізняється від ручної настройки кожного комп'ютера лише тим, що відомості про
адреси зберігаються централізовано (на сервері DHCP), і тому їх простіше
змінювати при необхідності.
Автоматичний розподіл. При даному способі кожному комп'ютеру на
постійне використання виділяється довільний вільний IP-адрес адміністратором з
певного діапазону.
Динамічний розподіл. Цей спосіб аналогічний автоматичному розподілу за
винятком того, що адреса видається комп'ютеру не на постійне користування, а на
певний термін. Це називається орендою адреси . Після закінчення терміну оренди
IP-адреса знову вважається вільною, і клієнт зобов'язаний запросити новий (він,
втім, може виявитися тим же самим). Крім того, клієнт сам може відмовитися від
отриманої адреси.
Деякі реалізації служби DHCP здатні автоматично оновлювати записи DNS
, відповідні клієнтським комп'ютерам, при виділенні їм нових адрес. Це робиться за
допомогою протоколу поновлення DNS, описаного в RFC 2136 .
Опції DHCP
Крім IP-адреси, DHCP також може повідомляти клієнтові додаткові
параметри, необхідні для нормальної роботи в мережі. Ці параметри називаються
опціями DHCP. Список стандартних опцій можна знайти в RFC 2132 .
Деякими з найбільш часто використовуваних опцій є:
- IP-адреса маршрутизатора за замовчуванням (основний шлюз);
- маска підмережі;
- адреси серверів DNS;
- ім'я домену DNS.
Деякі постачальники програмного забезпечення можуть визначати власні,
додаткові опції DHCP.
Як вже вище було зазначено, протокол DHCP є клієнт-серверним , тобто в
його роботі беруть участь клієнт DHCP і сервер DHCP. Транспорт здійснюється за
6
Виявлення DHCP
На початку клієнт виконує циркулярний запит по всій фізичної мережі з
метою виявити доступні DHCP-сервери. Він відправляє повідомлення типу
DHCPDISCOVER , при цьому в якості IP-адреси джерела вказується 0.0.0.0 (якщо
комп'ютер ще не має власної IP-адреси), а в якості адреси призначення -
широкомовна адреса 255.255.255.255.
Клієнт заповнює кілька полів повідомлення початковими значеннями:
В поле xid поміщається унікальний ідентифікатор транзакції , який дозволяє
відрізняти даний процес отримання IP-адреси від інших, що протікають в той же
час.
В поле chaddr поміщається апаратна адреса ( MAC-адреса ) клієнта.
В поле опцій вказується останній відомий клієнту IP-адрес. В даному
прикладі це 192.168.1.100. Це необов'язково і може бути проігноровано сервером.
Повідомлення DHCPDISCOVER може бути поширене за межі локальної
фізичної мережі за допомогою спеціально налаштованих агентів ретрансляції
DHCP , що перенаправляє отримані від клієнтів повідомлення до DHCP серверів в
інших підмережах.
Не завжди процес отримання IP-адреси починається з DHCPDISCOVER . У
разі, якщо клієнт раніше вже отримував IP-адрес і термін його оренди ще не
пройшов - клієнт може пропустити стадію DHCPDISCOVER, почавши з запиту
DHCPREQUEST відправляється з ідентифікатором сервера, який видав адресу в
7
минулий раз. У разі ж відсутності відповіді від DHCP-сервера, яка видала настройки
в минулий раз, клієнт відправляє DHCPDISCOVER . Тим самим клієнт починає
процес отримання з початку, звертаючись уже до всіх DHCP-серверів у тій частині
мережі.
Пропозиція DHCP
Отримавши повідомлення від клієнта, сервер визначає необхідну
конфігурацію клієнта відповідно до зазначених мережевим адміністратором
настройками. В даному випадку DHCP-сервер згоден з запитаним клієнтом
адресою 192.168.1.100. Сервер відправляє йому відповідь ( DHCPOFFER ), в якому
пропонує конфігурацію. Пропонований клієнту IP-адреса вказується в поле yiaddr .
Інші параметри (такі, як адреси маршрутизаторів і DNS -серверів) вказуються у
вигляді опцій у відповідному полі.
Це повідомлення DHCP-сервер відправляє хосту, який послав
DHCPDISCOVER, на його MAC, при певних обставинах повідомлення може
поширюватися як широкомовлення. Клієнт може отримати кілька різних пропозицій
DHCP від різних серверів; з них він повинен вибрати те, яке його «влаштовує».
Запит DHCP
Вибравши одну з конфігурацій, запропонованих DHCP-серверами, клієнт
відправляє запит DHCP (DHCPREQUEST). Він розсилається широкомовно; при
цьому до опцій, зазначеним клієнтом в повідомленні DHCPDISCOVER, додається
спеціальна опція - ідентифікатор сервера - вказує адресу DHCP-сервера, обраного
клієнтом (в даному випадку - 192.168.1.1).
Підтвердження DHCP
Нарешті, сервер підтверджує запит і направляє це підтвердження (
DHCPACK ) клієнту. Після цього клієнт повинен налаштувати свій мережевий
інтерфейс, використовуючи надані опції.
дозволу імен.
Кожен сервер, який відповідає за ім'я, може делегувати відповідальність за
подальшу частину домену іншого сервера (з адміністративної точки зору - інший
організації або людині), що дозволяє покласти відповідальність за актуальність
інформації на сервери різних організацій (людей), що відповідають тільки за «свою»
частину доменного імені.
Ключовими поняттями DNS є:
Домен ( Domain «область») - вузол в дереві імен, разом з усіма підлеглими
йому вузлами (якщо такі є), то є іменована гілка або піддерево в дереві імен.
Структура доменного імені відображає порядок проходження вузлів в ієрархії;
доменне ім'я читається зліва направо від молодших доменів до доменів вищого
рівня (в порядку підвищення значимості): вгорі знаходиться кореневий домен (який
має ідентифікатор «.» (точка)), нижче йдуть домени першого рівня (доменні зони),
потім - домени другого рівня, третього і т. д. (наприклад, для
адресиuа.wikipedia.org.домен першого рівня -org, другого -wikipedia, третього -uа).
DNS дозволяє не вказувати точку кореневого домена.
Піддомен ( Subdomain) - підлеглий домен (наприклад,wikipedia.org -
піддомен домену org, аuа.wikipedia.org – домену wikipedia.org). Теоретично такий
розподіл може досягати глибини 127 рівнів, а кожна мітка може містити до 63
символів, поки загальна довжина разом з точками не досягне 254 символів. Але на
практиці реєстратори доменних імен використовують більш суворі обмеження.
Наприклад, якщо у вас є домен виду mydomain.uа, ви можете створити для нього
різні піддомени виду mysite1.mydomain.uа,mysite2.mydomain.uаі т.д.
Ресурсний запис - одиниця зберігання і передачі інформації в DNS. Кожен
ресурсний запис має ім'я (тобто прив'язана до певного доменному імені, вузлу в
дереві імен), тип і поле даних , формат і зміст якого залежить від типу «Зона» -
частина дерева доменних імен (включаючи ресурсні записи ), що розміщується як
єдине ціле на деякому сервері доменних імен (DNS-сервері), а частіше - одночасно
на декількох серверах. Метою виділення частини дерева в окрему зону є передача
відповідальності за відповідний домен іншій особі або організації. Це називається
делегуванням. Як зв'язкова частина дерева, зона в середині теж є дерево. Якщо
розглядати простір імен DNS як структуру з зон, а не окремих вузлів/імен, теж
виходить дерево; виправдано говорити про батьківські і дочірні Зона - частина
дерева доменних імен (включаючи ресурсні записи), що розміщується як єдине ціле
на деякому сервері доменних імен (DNS-сервері), а частіше - одночасно на
декількох серверах. Метою виділення частини дерева в окрему зону є передача
відповідальності за відповідний домен іншій особі або організації. Це називається
делегуванням. Як зв'язкова частина дерева, зона в середині теж є дерево. Якщо
розглядати простір імен DNS як структуру з зон, а не окремих вузлів/імен, теж
виходить дерево; виправдано говорити про батьківські і дочірні зони, про старших
і підлеглих. На практиці більшість зон 0-го і 1-го рівня ('.', uа, com, ...) складаються
з єдиного вузла, якому безпосередньо підпорядковуються дочірні зони. У великих
корпоративних доменах (2-ва і більше рівнів).
DNS-сервер - спеціалізоване ПЗ для обслуговування DNS, а також
комп'ютер, на якому це ПЗ виконується. DNS-сервер може бути відповідальним за
певні зони і/або може перенаправляти запити вищим серверам.
11
Telnet
Telnet (Terminal network). Протокол прикладного рівня, призначений для здійснення
віддаленого доступу до пристроїв. Завданнями протоколу Telnet є виконання
скриптів і додатків на віддалених комп'ютерах, обробка даних, що надходять від
пристрою, і приведення їх до стандартного вигляду. Telnet надає повний доступ до
функціональних можливостей пристрою і може використовуватися для віддаленого
управління робототехнічними системами в IoT. Принцип роботи аналогічний
протоколу SSH з відзнакою лише в тому, що дані передаються в незашифрованому
вигляді.
Modbus
Modbus - комунікаційний протокол, заснований на технології master-slave.
Широко застосовується в промисловості для організації зв'язку між електронними
пристроями. Може використовувати для передачі даних через послідовні лінії
зв'язку RS-485, RS-422, RS-232, а також мережі TCP/IP (Modbus TCP ). Зазвичай в
мережі є тільки один клієнт, так званий «головний» (master) пристрій, і кілька
серверів - «підлеглих» (slaves) пристроїв. Головний пристрій ініціює транзакції
(передає запити). Підлеглі пристрої передають запитувані головним пристроєм
дані, або виконують запитувані дії. "Головний" може звертатися індивідуально до
підлеглого або ініціювати передачу широкомовного повідомлення для всіх
підлеглих пристроїв. Підлеглий пристрій формує повідомлення і повертає його у
відповідь на запит, адресований саме йому. При отриманні широкомовного запиту
відповідь не формується.Перевагами протоколу Modbus є відкритість і масовість
використання (безліч виробників випускають різні типи пристроїв, датчиків, що
підтримують даний протокол). Завданнями протоколу Modbus є контроль і
управління мережами, читання і запис даних в регістри зберігання, доступ до
файлів, діагностика стану пристроїв.
Найбільш важливі протоколи обміну повідомленнями, пропоновані в якості
основи нового покоління Інтернету речей (IoT) і, більш конкретно, промислових
інтернет - додатків (IIoT) є: BACnet, MQTT, CoAP, XMPP, STOMP, AMQP, CAP.
Відповідь
HTTP/1.0 200 OK
Server: Apache
Content-Language: uk
Content-Type: text/html; charset=utf-8
Content-Length: 1234
(пустий рядок)
(далі йде текст html-сторінки)
Сервер отримує запит і починає передачу сторінки, при цьому у нас є заголовок з
відповіддю (в заголовку повертається код 200) на запит - ОК, і дані, тобто веб
сторінка. На даному малюнку веб-сторінка не помістилася в одне повідомлення,
отже, було направлено додаткове повідомлення. Розміри переданих повідомлень
ми розглянемо далі. Також можливий такий варіант, що веб-сторінка заблокована
для перегляду або просто недоступна,
Заголовки є на кожному рівні мережевої моделі TCP/IP. Найчастіше вони
прикріплюються до деяких даних (в прикладі вище заголовок рівня додатків
прикріплений до web-сторінки). Простіше кажучи, він є таким собі набором
налаштувань і полів, за допомогою яких відбувається спілкування на певному рівні
мережевої моделі (на кожному рівні свій заголовок).
Не дивлячись на те, що протокол HTTP досить гнучкий, він не є безпечним.
Повідомлення запитів передаються серверу відкритим текстом, який може
бути перехоплений і прочитаний. Аналогічним чином, відповіді сервера
(звичайно це HTML – сторінки) також передаються в незашифрованому виді.
Для захищеного двостороннього обміну даними з веб-серверами в Інтернеті
використовується протокол HTTPS. HTTPS дозволяє використовувати
автентифікацію і шифрування для захисту даних, що пересилаються між
клієнтом і сервером.
HTTPS
HTTPS ( HTTP Secure) — схема URI, що синтаксично ідентична http: схемі,
яка зазвичай використовується для доступу до ресурсів Інтернет. Використання
https: URL вказує, що протокол HTTP має використовуватися, але з іншим портом
за замовчуванням (443) і додатковим шаром шифрування/автентифікації між HTTP
і TCP.
Протокол HTTPS визначає додаткові правила передачі даних між
прикладним і транспортним рівнем. У протоколах HTTPS і HTTP процеси
«клієнт просить – сервер відповідає» аналогічні, але потік даних шифрується
за допомогою криптографічного протоколу SSL (Secure Sockets Layer, рівень
захищених сокетів), який забезпечує встановлення безпечного з'єднання між
17
СоАР-давачі
19
Семантика Топіків
Через MQTT зручно обмінюватись повідомленнями, так як іх топіки мають
певну сематику, зрозумілу більшості людей. Топіки представляють собою символи
з кодуванням UTF-8 (кодування, що реалізовує представлення Юнікоду). Ієрархічна
структура топіків має формат «дерева», що спрощує їх організацію та доступ до
даних. Топіки складаються з одного або декількох рівнів, які розділені між собою
символом «/».
Приклад топік в якому датчик температури, розташований в спальній кімнаті
публікує дані брокеру:
/ Home/living-space/living-room1/temperature
фіксований заголовок
ПРАПОРЦІ
29
6-255 Зарезервовано
Дані, навантаження
Зміст і формат даних, переданих в MQTT повідомленнях, визначаються в
додатку. Розмір даних може бути обчислений шляхом вирахування з Remaining
Length довжини змінного заголовка.
значення Flag буде 0, значить буде QoS і будуть збережені поля в прапорах
підключення повнинні бути встановлені в 0 і будуть темою, а повідомлення не
повинно бути присутнім у корисному навантаженні.
Clean Session (bit 1) (Очистити сесію): Якщо цей біт 1 означає, що Клієнт і Сервер
повинні відмовитись від попередніх станів сеансу і почати новий сеанс. Якщо цей
біт 0 означає перенесення останніх сеансів, якщо останній сеанс не існує, тоді
розпочніть нове спілкування з нову сесію.
Reserved(bit 0) (Зарезервовано): зарезервовано для подальшої реалізації.
5) Keep Alive (Підтримувати активність): це тривалість, коли підписникик
знаходиться в режимі очікування, значить не отримує дані від брокера, то з'єднання
підтримується шляхом надсилання запиту PING від підписника. Тривалість, після
якої підписник надсилає запит PING брокеру знову і знову, щоб підтримувати
з'єднання, є не що інше, як тривалість підтримки активності. За замовчуванням
Keep Alive - 60 сек .
Payload (Корисне навантаження): навантаження на пакет CONNECT має
ідентифікатор клієнта, довжину ідентифікатора клієнта, тему, повідомлення,
повідомлення користувача, ім’я користувача, пароль. (Payload of CONNECT
packet has Client Identifier , Client Identifier Length , Will Topic , Will Message
, User Name , Password.)
Client Identifier (Client ID): Ідентифікатор клієнта: ідентифікатор клієнта - це
не що інше, як ім’я клієнта, який підключається до сервера чи брокера. Кожен клієнт
повинен мати унікальний ідентифікатор клієнта. Цей ідентифікатор клієнта
допомагає серверу ідентифікувати стани клієнтів.
Client Identifier(Client ID) Length ( Довжина ідентифікатора клієнта (ID
клієнта)): в цьому полі відображається довжина ідентифікатора клієнта.
Topic Length (Довжина теми): у цьому полі відображається довжина назви теми.
Topic (Тема): Це поле показує назву теми, щодо якої публікуються дані.
12) DISCONNECT : Це остання відправка пакету від клієнта до брокера, коли клієнт
хоче відключитися. DISCONNECT Пакет запиту не має змінного заголовка, а також
корисного навантаження.
ШАБЛОНИ ВЗАЄМОДІЇ ДЛЯ ІНТЕРНЕТУ РЕЧЕЙ
Перш ніж почати розробляти новий IoT-проект, варто подумати про те, які
шаблони обміну інформацією найкращим чином для нього підходять.
Насправді, прийняти це рішення слід якомога раніше, ще до того, як обрані
протоколи, способи зв'язку та допоміжна інфраструктура, що розробляється. В основі
цієї рекомендації лежить одна проста причина: не прийнявши таке рішення на самому
початку, розробник, у міру розвитку проекту, ризикує сам себе загнати в кут,
вибратися з якого можна буде лише серйозно переробивши код, архітектуру, модель
безпеки рішення, і то, як воно взаємодіє із зовнішнім світом.
Далі розглянемо одинадцять шаблонів взаємодії в IoT-системах.
Черги, або в черзі FIFO - це шаблон обміну даними, який дозволяє одній або
більшій кількості пристроїв відправляти якісь повідомлення або завдання для обробки
в чергу, після чого один або кілька одержувачів отримують ці повідомлення в тому
порядку, в якому вони були поставлені в чергу.
ШАБЛОН «ФЕДЕРАЦІЯ»
Шаблон «виявлення»
RFID-мітка Зчитувач
EEPROM Генератор
Вміст пам’яті
мітки
Рис. 4.1 – Основні компоненти системи RFID
RFID мітки бувають пасивні та активні (рис. 4.3). Пасивні мітки дешевші і не
мають батареї живлення. У мітці використовується енергія електромагнітних хвиль,
які випромінює зчитувач. Такі мітки застосовуються при відстеженні товарів, при
контролі доступу, промислової автоматизації та електронного стеження за
товарами.
Рис. 4.7. Формат даних пакета трансподера, містить дані $ 2С (номер версії) та $
007755А2 як рядок даних.
Контрольні питання
Версії Bluetooth .
Bluetooth 1.0 (1998) . Перші версії Bluetooth мали погану сумісність між
продуктами різних виробників. У 1.0 і 1.0B була обов'язковою передача
адреси пристрою (BD_ADDR) на етапі встановлення зв'язку, що робило
неможливою реалізацію анонімності з'єднання на протокольному рівні і
було основним недоліком даної специфікації.
Bluetooth 2.0 + EDR (2004)- швидкість передачі даних 2,1 Мбіт / с, до
теперішнього часу використовується в недорогих гарнітурах. Enhanced
data rate (EDR) - це технологія, що дозволяє збільшити
швидкість передачі даних через Bluetooth
Bluetooth 2.1 і Bluetooth 2.1 + EDR - теж, що і в першому випадку плюс
підтримка NFC і зменшено до 10 разів енергоспоживання. Near Field
Communication (NFC) — технологія бездротового високочастотного
зв'язку малого радіусу дії «в один дотик». Ця технологія дає можливість
обміну даними між пристроями, насамперед смартфонами та
безконтактними платіжними терміналами, що перебувають на відстані
близько 10 см. Швидкість обміну даними становить до 424 кбіт/с.
Bluetooth 3.0 + HS - значно збільшена швидкість передачі даних до 24
Мбіт/с, але зросло енергоспоживання, популярності ця технологія не
здобула і в аудіо пристроях зустрічається дуже рідко. HS, або High
Speed технологія передачі інформації з високою швидкістю,
забезпечує швидкість до 24 Мбіт/сек.
Bluetooth 4.0 + BLE (2009) - зменшено енергоспоживання зі
збереженням швидкості 24 Мбіт/с - зустрічається у відносно дорогих
моделях навушників, дозволяє зберегти якість звуку на високому рівні.
Bluetooth Low Energy, Bluetooth LE, BLE, представлена також як
Bluetooth Smart, технологія з низьким енергоспоживанням.
Bluetooth 4.1 – у цій версії з'явився захист від перехресних завад при
спільній роботі з LTE-модулями, установленими у всіх 4G смартфонах;
Bluetooth 4.2 (2014) - збільшення швидкості і поліпшений захист
передачі даних, зустрічається у відносно дорогих моделях навушників і
аудіо плеєрах, Важливо, що версія 4.2 через профіль протоколу
підтримки Інтернет-протоколу дозволяє Bluetooth-інтелектуальним
датчикам отримати доступ до Інтернету безпосередньо через
підключення 6LoWPAN. Це IP-з'єднання дає змогу використовувати
існуючу інфраструктуру IP для керування пристроями Bluetooth Smart
"edge".
Стандарт: специфікація основної технології Bluetooth 4.2
Частота: 2,4 ГГц (ISM)
Діапазон: 50-150м (Smart/BLE)
Обмін даними: 1 Мбіт/с (розумний/BLE)
віддаль до 60 метрів.
NAP
Незначна частина адреси (2 байти). Містить перші 16 біт OUI. Значення
NAP використовується в кадрах частотної стрибкової синхронізації.
UAP
Частина верхньої адреси (1 байт). Містить решту 8 біт OUI. Значення
UAP використовується для просування в різні алгоритми специфікації
Bluetooth.
LAP
Частина нижньої адреси (3 байти). Цю частину Bluetooth-адреси
виділяє постачальник пристрою. Значення LAP однозначно ідентифікує
пристрій Bluetooth як частину коду доступу у кожному переданому кадрі.
LAP і UAP складають значну адресу (SAP) адреси Bluetooth.
mesh-мереж Bluetooth
Після того, як була випущена специфікація Bluetooth 5, SIG
зосередились на формалізації mesh-мережі Bluetooth. Bluetooth SIG
опублікував профіль mesh-мережі, пристрій і специфікацію моделі 1.0
13 липня 2017 г. Це відбулось через шість місяців після випуску
специфікації Bluetooth 5.0. До офіційної специфікації Bluetooth 5 у
Bluetooth SIG існували власні і спеціальні схеми, які використовують
старіші версії Bluetooth для створення mesh-середовищ.
Три специфікації, опубліковані Bluetooth SIG, такі:
специфікація профілю Mesh 1.0 - визначає основні вимоги, що
дозволяють інтегроване рішення mesh-мережі;
специфікація моделі Mesh 1.0 - базова функціональність вузлів
в mesh-мережі;
властивості пристрою Mesh 1.0 - визначає властивості
пристрою, необхідні для специфікації моделі mesh-мережі. Поки
невідомо, чи існує який-небудь межа розміру mesh-мережі. У
специфікації є деякі обмеження. За специфікації 1.0 може бути до 32
767 вузлів в mesh-мережі Bluetooth і 16384 фізичних групах.
Максимальний час життя, яке вказує на глибину mesh-мережі,
становить 127.
Топологія mesh-мережі Bluetooth
Номер
OSI модель Мережа Функції
рівня
APL (APS, ZDO Передача повідомлень,
7 Прикладний и Application пошук пристроїв,
Objects) ZigBee визначення ролі пристроїв
6 - -
Представлення
5 Сеансовий - -
4 Транспортний - -
3 Мережевий NWK ZigBee Безпека, маршрутизацїя
LLC IEEE
802.15.4
Канальний
SSCS IEEE CSMA/CA, передача
2 (передачі
802.15.4 маячків, синхронізація
даних)
MAC IEEE
802.15.4
PHY IEEE Радіоканал
1 Фізичний
802.15.4 868 МГц, 915 МГц ,2,4 ГГц
Рис. 6. 5. Архітектура стека ZigBee
Рис. 6.2.,
Характеристики Порівняння LPWAN з іншими бездротовими
технологіями (рис. 6.3)
Рис.6.3. Порівняння технології LPWAN з іншими бездротовими
технологіями
Переваги LPWAN:
Велика дальність передачі сигналу у порівнянні з іншими
бездротовими технологіями використовуваними для телеметрії GPRS
або ZigBee, досягає 10-15 км.
Низький рівень споживання енергії у кінцевих пристроїв, завдяки
мінімальним витратам енергії на передачу невеликого пакета даних.
Висока проникаюча здатність радіосигналу в міській забудові при
використанні частот суб-гігагерцового діапазону.
Висока масштабованість мережі на великих територіях.
Відсутність необхідності отримання частотного дозволу та плати
за радіочастотний спектр, при використанні неліцензованих частот (ISM
band).
Недоліки LPWAN:
Відносно низька пропускна здатність, внаслідок використання
низької частоти радіо каналу. Варіюється в залежності від
використовуваної технології передачі даних на фізичному рівні,
становить від кількох сотень біт/с до декількох десятків кбіт/с.
Затримка передачі даних від датчика до кінцевого додатка,
пов'язана з часом передачі сигналу, може досягати від декількох секунд
до декількох десятків секунд.
Відсутність єдиного стандарту, який визначає фізичний рівень і
управління доступом до середовища для бездротових LPWAN-мереж.
Протокол LoRaWAN
6.3. SigFox
SigFox - технологія бездротового зв'язку пристроїв в мережах з
низьким споживанням енергії низкоскоростной.
Технологія SigFox була винайдена і запатентована в 2009 році
французькою компанією з однойменною назвою. SigFox - приватна
компанія, яка побудувала нову технологію IoT з нуля і зробила її
доступною як відкритий стандарт. Перша мережа SigFox була
розгорнута у Франції в 2012 році, а до 2014 року було забезпечено
загальнонаціонального покриття країни для підключення об'єктів малої
потужності, таких як лічильники електроенергії та смарт-годинники , які
потребують постійного включення та випромінювання невеликої
кількості даних.
До 2015 року SigFox планувала вийти на американський ринок,
але зіткнулася з проблемами в дозволеному в США частотному
діапазоні, тому що частотний діапазон, який використовується в США
більш схильний до перешкод, ніж європейський діапазон. У той же час
технологія SigFox поширилася на країни Азіатсько-Тихоокеанського
регіону.
Політика SigFox має на увазі надання відкритої інформації про
необхідному для побудови мережі апаратному забезпеченні (базових
станціях і модулях), при цьому програмне забезпечення є закритим і
продається операторам як послуга. В даний час SigFox присутній в
більш ніж 60 країнах. Однак в Україні мережі SigFox ще немає.
Технічні характеристики
Для передачі даних SigFox використовує ультра-вузьку смугу
частот (Ultra- Narrow Band, UNB) з двійково-фазовою маніпуляцією
(BPSK), а для кодування даних змінює фазу несучої радіохвилі. Це
дозволяє зменшити рівень шуму на приймаючій стороні, отже, зробити
приймають пристрою більш дешевими.
радіус дії: 30-50 км (3-10 км в зашумлених і важкодоступних
районах);
Швидкість передачі бітів залежить від пропускної здатності регіону
застосування. Якщо пропускна здатність, що використовується
для передачі, становить 100 Гц, то в цьому випадку швидкість
передачі бітів становить 100 біт/с. При зайнятості пропускної
здатності передачі потужністю 600 Гц дозволяє отримати
швидкість передачі даних в 600 біт / с
термін служби пристроїв без заміни батареї: 20 років від 2-х
батарейок типу АА;
використовувані частоти: 868 МГц (Європа) і 902 МГц (США);
топологія мережі: зірка (базова станція, до якої підключаються
кінцеві точки).
Існуючий стандарт SigFox визначає максимальну кількість
повідомлень від базової станції до кінцевого пристрою в день: 140
повідомлень, при цьому кожне повідомлення має бути розміром не
більше 12 байт (виключаючи заголовок повідомлення та інформацію
про передачу). І також кількість повідомлень, що виходять від кінцевого
пристрою: 4 повідомлень в день з корисним навантаженням 8 байт.
Фізичний рівень
В Sigfox реалізується двонаправлений зв'язок. Однак
двонаправленй зв'язок в Sigfox вимагає деякого пояснення. Режим
пасивного прийому відсутній, що означає, що базова станція не може
просто відправити повідомлення на пристрій кінцевої точки в будь-який
час.
В Sigfox процедура передачі даних, яка ініціюється мережевим
вузлом називається низхідною лінією зв’язку. А процедура передачі
даних мережевому вузлу – повідомлення з висхідної лінії зв'язку.
Процедура зв'язку за низхідній лінії зв'язку ініціюється
мережевим вузлом і тому не може бути передана пристрою в будь-який
час.
Вікно прийому відкривається для зв'язку тільки після завершення
вікна передачі. Вікно прийому відкривається тільки після 20-секундного
періоду, коли перше повідомлення було відправлено вузлом кінцевої
точки. Вікно залишиться відкритим протягом 25 с, що дозволить
отримати коротке (4 байтне) повідомлення від базової станції. У Sigfox
повідомлення відправляється три рази на трьох різних частотах в три
різних напрямки вузлом, що допомагає забезпечити цілісність передачі
повідомлення. Для передачі даних використовуються 333 канали
шириною 100 Гц. Чутливість приймача становить -120 дБм/-142 дБм.
Частотний стрибок підтримується з використанням псевдовипадкового
методу 3-х з 333 каналів.
Топологія Sigfox
Мережа Sigfox може бути щільною, як один мільйон вузлів на
базову станцію (рис. 6.8). Щільність - це функція кількості повідомлень,
відправлених мережевими пристроями. Всі вузли, які приєднуються до
базової станції, утворюють зіркому мережу.
Об'єкти передають свої повідомлення на базову станцію
SigFox. Посилання "точка-точка" підключають базову станцію Sigfox до
її Інтернет-бази даних (служби), і після отримання та розшифровки
повідомлення, дані надсилаються до його Інтернет-бази даних.Далі,
хмарний сервер SigFox передає повідомлення на сервери клієнтів та
ІТ-платформи через API (інтерфейс програмування прикладних
програм).
Рис. 6.8 Топологія Sigfox. Sigfox використовує свій власний
протокол, відмінний від IP, і об'єднує дані в мережевий сервер Sigfox,
як дані IP
Функції маршрутизації
8.2. Маршрутизація
Основна функція маршрутизатора - це забезпечення з'єднань
між сегментами мережі. Маршрутизація вважається функцією третього
рівня стандартної моделі OSI, оскільки вона використовує рівень IP-
адресації для управління передачею пакетів. По суті, всі
маршрутизатори покладаються на таблицю маршрутизації для
управління потоком даних. Таблиця маршрутизації використовується
для пошуку найкращого маршруту за IP-адресою призначення пакета.
Існує кілька перевірених алгоритмів, використовуваних для
ефективної маршрутизації. Одним типом маршрутизації є динамічна
маршрутизація, де алгоритми реагують на зміни в мережі і топології.
Інформація про стан мережі поширюється протоколом маршрутизації
за часом або по тому, що сталося оновленню. Прикладами динамічної
маршрутизації є маршрутизація вектора відстані і маршрутизація стану
каналу.
В якості альтернативи статична маршрутизація важлива і
корисна для невеликих мереж, яким потрібні певні шляхи, налаштовані
між маршрутизаторами. Статичні маршрути неадаптивні, тому немає
необхідності сканувати топологію або оновлювати метрики. Вони
передбачені на маршрутизаторі:
маршрутизація по найкоротшому шляху - побудова графа, що
представляє маршрутизатори в мережі. Дуга між вузлами представляє
собою відомий зв'язок або з'єднання. Алгоритм просто знаходить
найкоротший шлях з будь-якого джерела до будь-якого пункту
призначення;
лавинна маршрутизація - кожен пакет повторюється і
транслюється кожним маршрутизатором в кожну кінцеву точку його
зв'язків. Це генерує величезну кількість дублюючих пакетів і вимагає,
щоб в заголовку пакета був встановлений лічильник переходів, щоб
гарантувати, що пакети мають обмежений час життя. Альтернативою є
вибіркова розсилка, яка наповнює мережу тільки в основному напрямку
пункту призначення. Лавинні мережі є основою мереж Bluetooth;
маршрутизація на основі потоку - перевіряє поточний потік в
мережі до визначення шляху. Для будь-якого даного з'єднання, якщо
відомі пропускна здатність і середній потік, обчислюється середня
затримка пакета по цьому з'єднанню. Цей алгоритм знаходить
мінімальне середнє значення;
маршрутизація на основі вектора відстані - таблиця
маршрутизаторів містить найвідомішу відстань до кожного пункту
призначення. Таблиці оновлюються сусідніми маршрутизаторами.
Таблиця містить запис для кожного маршрутизатора в підмережі. Кожен
запис містить кращий маршрут/шлях і приблизну очікувану відстань до
пункту призначення. Відстань може бути метрикою кількості переходів,
затримки або довжини черги;
маршрутизація за станом каналу - маршрутизатор
спочатку виявляє всіх своїх сусідів за допомогою спеціального пакета
HELLO. Маршрутизатор вимірює затримку для кожного зі своїх сусідів
шляхом відправки пакета ECHO. Ця інформація про топологію і час ділі
розсилається всім маршрутизаторам в підмережі. Повна топологія
будується і публікується всіма маршрутизаторами;
ієрархічна маршрутизація - маршрутизатори розділені на
регіони і мають ієрархічну топологію. Кожен маршрутизатор підтримує
розуміння свого регіону, але не всієї підмережі. Ієрархічна
маршрутизація також є ефективним засобом управління розміром
таблиці маршрутизації і ресурсами в обмежених пристроях;
широкомовна маршрутизація - кожен пакет містить список
адрес призначення. Широкомовний маршрутизатор досліджує адреси і
визначає набір вихідних ліній для передачі пакета. Маршрутизатор
буде генерувати новий пакет для кожної вихідної лінії і включати тільки
адресати, необхідні для цього новосформованого пакета;
маршрутизація за допомогою багатоадресної розсилки:
мережа розділена на чітко визначені групи. Додаток може відправляти
пакет всій групі, а не одному адресату або на широкомовну адресу.
Типові граничні маршрутизатори будуть підтримувати такі
протоколи маршрутизації, як Border Gateway Protocol (BGP), Open
Shortest Path First (OSPF), Routing Information Protocol (RIP)
і RIPng.
Фахівець, який використовує граничні маршрутизатори в
реальній роботі, повинен знати про особливості використання
протоколу маршрутизації в порівнянні з іншими, особливо якщо
з'єднання між маршрутизаторами є WAN-з'єднанням з обмеженням
даних:
BGP - BGP-4 є стандартом для протоколів інтернет-доменної
маршрутизації і описаний в RFC 1771; він використовується більшістю
інтернет-провайдерів. BGP - це алгоритм динамічної маршрутизації на
основі вектора відстані, він рекламує цілі шляхи в повідомленнях
оновлень маршрутизації. Якщо таблиці маршрутизації є великими, це
вимагає значної пропускної здатності. BGP відправляє 19-байтовое
повідомлення keepalive кожні 60 с для підтримки з'єднання. BGP може
бути слабким протоколом маршрутизації для топології mesh-мережі,
оскільки BGP підтримує з'єднання з сусідами. BGP також страждає від
зростання таблиць маршрутизації в великих топологіях. BGP також
унікальний, так як це один з єдиних протоколів маршрутизації на основі
TCP-пакетів;
OSPF - цей протокол описаний в RFC 2328, він забезпечує
переваги масштабування мережі і збіжності. Інтернет-магістраль і
корпоративні мережі інтенсивно використовують OSPF. OSPF - це
алгоритм стану з'єднання, який підтримує IPv4 та IPV6 (RFC 5340) і
працює з IP-пакетами. Перевага полягає в виявленні за секунди
динамічних змін з'єднань і реагуванні;
RIP - друга версія RIP є алгоритм маршрутизації вектора відстані,
заснований на підрахунку переходів з використанням протоколу
внутрішнього шлюзу. Спочатку заснований на алгоритмі Беллмана-
Форда, тепер він підтримує підмережі, які змінюють свої розміри,
долаючи обмеження вихідної версії. Петлі в таблиці маршрутизації
обмежені завданням максимальної кількості переходів в дорозі (15).
RIP працює по UDP і підтримує тільки трафік IPv4. RIP має більш
тривалий час збіжності, ніж такі протоколи, як OSPF, але його легко
адмініструвати для топологій невеликого граничного маршрутизатора.
Проте, збіжність для RIP з усього декількома маршрутизаторами може
зайняти кілька хвилин;
RIPng - RIPng означає RIP наступного покоління (RFC 2080). Він
дозволяє підтримувати трафік IPv6 і IPsec для автентифікації. Типова
таблиця маршрутизації, яка використовується у виробничому
середовищі таким маршрутизатором, як Cradlepoint IBR900, виглядає
наступним чином:
8.5. VPN
VPN-тунелі використовуються для встановлення безпечного
підключення до віддаленої мережі через публічну мережу. Наприклад,
VPN-тунелі можуть використовуватися через інтернет для окремого
користувача для підключення до захищеної корпоративної мережі під
час поїздок або для з'єднання двох офісних мереж для роботи в якості
однієї мережі. Дві мережі налаштовують безпечне з'єднання через
(зазвичай) незахищений інтернет, застосовуючи протоколи
шифрування VPN.
Для впровадження IoT для передачі даних з віддалених датчиків
і периферійних пристроїв в корпоративну або приватну локальну
мережу необхідно VPN. Як правило, корпорація буде знаходитися за
брандмауером, а VPN - це єдиний спосіб переміщення даних
безпосередньо на приватний локальний сервер. У цих випадках VPN
може Існує кілька VPN:
Internet Protocol Security (IPSec) VPN - традиційна технологія VPN,
яка знаходиться на мережевому рівні стека OSI і забезпечує передачу
даних через тунель між двома кінцевими точками;
OpenVPN - це VPN з відкритим вихідним кодом для безпечного
з'єднання «точка-точка» і «місце-місце» в маршрутизованих або
мостових конфігураціях. Вона включає спеціальний протокол безпеки,
що використовує SSL/TLS (OpenSSL) для обміну ключами та
управління шифруванням і обміну даними. Вона може працювати через
транспорти UDP і TCP. SSL поширений в більшості додатків для
браузерів, тому SSL VPN-системи можуть забезпечувати захищені
тунелі на для додатків, а не всієї мережі;
Generic Routing Encapsulation (GRE) - створює з'єднання «точка-
точка» між кінцевими точками через тунель, аналогічний тунелю VPN,
але інкапсулює його корисне навантаження. Він обгортає внутрішній
пакет у зовнішній пакет. Це дозволяє передавати дані корисного
навантаження через інші IP-маршрутизатори та тунелі незміненими.
Крім того, тунелі GRE можуть транспортувати IPV6 і багатоадресні
передачі;
Layer 2 Tunneling Protocol (L2TP) - створює з'єднання між двома
приватними мережами через дейтаграми UDP, типово
використовуються для VPN або як частина служб доставки
провайдерами. У протоколі немає вбудованої безпеки або
шифрування, і для цього часто використовується IPsec. VPN повинен
або довіряти базовим мережевим протоколам, або забезпечувати
власну безпеку.
VPN-тунелі зазвичай використовують IPsec для автентифікації та
шифрування пакетів, переданих по тунелях. Щоб налаштувати
тунельний маршрутизатор VPN на одному кінці, має бути інший
пристрій (зазвичай це маршрутизатор), який також підтримує IPsec на
іншому кінці. Internet Key Exchange (IKE) - це протокол безпеки в IPsec.
IKE має дві фази. Перша фаза відповідає за встановлення
безпечного каналу зв'язку, а на другому етапі встановлений канал
використовується партнерами IKE. Маршрутизатор має кілька різних
параметрів протоколу безпеки для кожної фази, але вибір за
замовчуванням буде достатнім для більшості користувачів. Кожен
обмін IKE використовує один алгоритм шифрування, одну хеш-функцію
і одну групу DH для безпечного обміну:
Encryption - використовується для шифрування повідомлень,
відправлених і отриманих через IPsec. Типові стандарти і алгоритми
шифрування включають AES 128, AES 256, DES і 3DES;
Hash - використовується для порівняння, автентифікації і
перевірки даних по VPN, забезпечення того, що вони приходять в
правильній формі, і для отримання ключів, використовуваних IPSec.
Типові функції хешу, які слід очікувати в маршрутизаторі
корпоративного рівня, включають MD5, SHA1, SHA2 256, SHA2 384 і
SHA2 512. Зверніть увагу, що деякі комбінації шифрування / хешу (такі
як 3DES з SHA2 384/512) є дорогими при обчисленні, що впливає на
продуктивність WAN. AES забезпечує хороше шифрування і працює
набагато швидше, ніж 3DES;
групи DH: група DH (Diffie-Hellman) є властивістю IKE і
використовується для визначення довжини простих чисел, пов'язаних з
генерацією ключів. Надійність генерується ключа частково
визначається надійністю групи DH. Група 5, наприклад, має більшу
міцність, ніж група 2: - група 1: 768-бітний ключ;
- група 2: 1024-бітний ключ;
- група 5: 1536-бітний ключ.
У першій фазі IKE ви можете вибрати одну групу DH, тільки якщо
використовуєте агресивний режим обміну. Алгоритми перераховані в
порядку пріоритету. Ви можете змінити порядок цього списку
пріоритетів, клацнувши та перетягнувши алгоритми вгору або вниз.
Будь-який вибраний алгоритм може використовуватися для IKE, але
алгоритми у верхній частині списку, ймовірно, будуть
використовуватися частіше.