Wireless networks - PAN
- PAN [ правити ]
- WPAN [ правити ]
- WLANs vs. WPANs [ правити ]
- Створення технології [ правити ]
- Архітектура Bluetooth [ правити ]
- Безпека [ правити ]
PAN [ правити ]
Персональна мережа (PAN - Personal Area Network) - це комп'ютерна мережа, яка використовується для передачі даних між пристроями, розташованими на досить невеликій відстані і часто належать одному користувачеві. Також персональні мережі можуть взаємодіяти з мережами болеее високого рівня, і в такому випадку один з пристроїв в мережі бере на себе роль інтернет-маршрутизатора. Радіус дії таких мереж становить від декількох десятків сантиметрів до кількох метрів.
У сучасному світі більшість персональних мереж є бездротовими.
WPAN [ правити ]
WPAN (Wireless Personal Area Network) - система бездротової передачі даних, яка працює в ISM-діапазоні 2.4-2.5 ГГц. Вибір діапазону обумовлений тим, що цей діапазон доступний по всьому світу і підходить для низькобюджетних рішень. WPAN складається з декількох вузлів, пов'язаних бездротовим каналом, при цьому один з цих вузлів бере на себе роль координатора. Координатор займається створенням WPAN і контролює підключення вузлів до мережі.
WPAN може представляти із себе наступні топологічні схеми:
Сучасні WPAN можуть бути реалізовані за допомогою таких технологій, як:
WLANs vs. WPANs [ правити ]
WPAN визначена в контексті особистого робочого простору (POS - Personal Operating Space), яке зазвичай поширюється в радіусі до 10 метрів і оточує людину або об'єкт, що знаходиться в спокої або в русі. WPAN також має на увазі низьку вартість і низьке енергоспоживання. Вузол WPAN має невеликі розміри, що дозволяє вбудовувати його в портативні пристрої, такі як мобільні телефони і КПК.
З іншого боку, WLAN вдає із себе систему більш широкого радіусу дії і має більш високу складність. WLAN включає в себе центральний вузол, званий точкою доступу (AP - Access Point), який надає доступ до каналу зв'язку деякій кількості кінцевих вузлів. Типовий вузол WLAN вдає із себе карту, що встановлюється в персональні комп'ютери і ноутбуки.
Bluetooth (від слів англ. Blue - синій і tooth - зуб) - стандарт безпровідного з'єднання обчислювальних пристроїв і пристроїв зв'язку, який дозволяє передавати дані на коротких відстанях між стаціонарними і мобільними пристроями, використовуючи короткі надвисокочастотні радіо-хвилі в ISM-діапазоні від 2.4 до 2.485 ГГц.
Створення технології [ правити ]
Ідея створення такого стандарту виникла в 1994 році в компанії Л.М.Еріксона, а в 1998 році спільно з чотирма іншими компаніями (IBM, Intel, Nokia, Toshiba) була сформована спеціальна група, яка займалася створенням і розвитком цього стандарту. Проект був названий на честь великого короля вікінгів на ім'я Гаральд Синій Зуб II, який об'єднав Данію і Норвегію.
Вимоги до технології при розробці:
- Безпека, порівнянна зі звичайним провідним з'єднанням (підтримувати авторизацію, аутентифікацію і шифрування на канальному рівні і рівні додатків).
- Вартість виробництва, порівнянна з вартістю виробництва проводового з'єднання.
- Можливість з'єднання безлічі пристроїв, що належать користувачеві (7 одночасних з'єднань) і швидкість передачі даних між ними, відповідна потребам користувача.
- Підтримка типів даних, які поширені серед мобільних користувачів.
- Низький рівень споживання енергії і компактність для можливості вбудовування в невеликі портативні пристрої.
Bluetooth 1.0 з'явився в липні 1999 року, і з часом цей стандарт знайшов широку популярність.
Архітектура Bluetooth [ правити ]
Існують дві основні реалізації технології: Bluetooth Basic Rate / Enhanced Data Rate (BR / EDR), яка використовується в версіях 2.0 / 2.1, і Bluetooth with low energy (LE), яка використовується в версіях 4.0 / 4.1 / 4.2.
В чому різниця?
- Bluetooth BR / EDR - встановлює бездротове з'єднання на відносно малих відстанях, що робить його ідеальним, наприклад, для стрімінга аудіо.
- Bluetooth LE - дозволяє встановлювати короткочасне з'єднання на великих відстанях, що робить його придатним для використання, пов'язаного з інтернетом речей (IoT - Internet of things), яке не вимагає безперервного з'єднання, але залежить від тривалості роботи акумулятора.
- Dual-Mode - дворежимні чіпсети використовуються, наприклад, в смартфонах і планшетах, яким необхідно з'єднання як з BR / EDR-пристроями (наприклад, навушники), так і з LE-пристроями (наприклад, різні маячки і трекери).
Стек протоколів Bluetooth
Bluetooth Module
Baseband - існує два основних типи з'єднання, які можуть бути встановлені між ведучим і веденим:
- Synchronous Connection Oriented (SCO) - надає симетричне з'єднання між ведучим і веденим для регулярного періодичного обміну даними в вигляді зарезервованих слотів. Подібне з'єднання призначений для обмежених за часом типів даних (наприклад, аудіо). Провідний пристрій може підтримувати до трьох SCO-з'єднань з одним або різними відомими пристроями.
- Asynchronous Connection-Less (ACL) - надає з'єднання один-ко-многим між провідним пристроєм і всіма відомими пристроями в мережі. Може використовувати всі слоти каналу, не зайняті SCO-з'єднаннями. Надається з'єднання з комутацією пакетів, обмін даними за допомогою якого відбувається епізодично. Весь трафік повністю контролюється провідним пристроєм.
Кожне Bluetooth-пристрій має 48-бітний IEEE MAC-адресу, який використовується для створення коду доступу. Код доступу має псевдо-випадкові властивості і включає в себе ідентифікатор провідного пристрою в мережі. Всі пакети, надіслані за допомогою, розпізнаються за допомогою цього ідентифікатора. Це запобігає можливості попадання пакетів з однієї мережі в іншу. Всі пакети мають однаковий формат, починаються з коду доступу, після нього йде заголовок, а далі - суттєві дані.
Код доступу використовується, щоб доставити пакет до певного пристрою, заголовок містить всю контрольну інформацію, пов'язану з пакетом і з'єднанням. Пакет може бути розміром в 1, 3 або 5 слотів.
Link Controller - відповідає за стан видимості пристрою змінюватиметься, встановлення з'єднання і його підтримку. У Bluetooth існують три елементи для підтримки встановлення з'єднання: scan, page і inquiry.
Inquiry - процес, коли пристрої намагається виявити всі інші пристрої з включеним Bluetooth на деякій площі. Пристрій, який хоче встановити з'єднання, передає запит, який спонукає отримувачів повернути їх адреси. Пристрій, який отримує запит, повертає FHS-пакет, який включає, крім усього, ідентифікатор цього пристрою. Для повернення FHS-пакетів використовується випадковий механізм відкату для запобігання колізій.
Пристрій в режимі очікування повинно "спати" більшу частину часу для збереження енергії, але час від часу воно також має "слухати", чи не хочуть інші пристрій намагається встановити зв'язок (Page scan). Необхідний компроміс між енергоспоживанням в режимі очікування і часом відгуку. Пристрій, який хоче підключитися, стикається з невизначеністю частоти і часу, бо нічого не знає, коли пристрій в режимі очікування "прокинеться" і на якій частоті. З цієї причини пристрій передає код доступу неодноразово на різних частотах: кожні 1.25 мс пристрій передає два коду доступу і двічі "слухає" відповідь. Таким чином, за 10 мс передається 16 запитів. Якщо пристрій в режимі очікування "прокинулося" на одній з цих 16 частот, воно отримає код доступу і почне процедуру встановлення з'єднання.
Link Manager - Host управляє Bluetooth за допомогою команд HCI, і Link Manager існує для трансляції цих команд в операції на Baseband -рівнем. Його головні функції - управління мережею (встановлення та розривання з'єднання, зміна ролей), конфігурація з'єднання, безпеку і QoS (Quality of Service) -функції.
Link Manager обмінюється інформацією зі своїми "колегами" на інших пристроях, використовуючи Link Manager Protocol (LMP). Кожне LMP-повідомлення починається з прапора, який дорівнює 0, якщо ведучий пристрій є ініціатором транзакції, і 1 - якщо відоме. Після прапора слідують 7 біт коду операції, а після - параметри повідомлення.
LMP також надає механізм для "переговорів" з приводу режимів шифрування і координування ключів шифрування, які використовують пристрої на обох кінцях з'єднання. Крім цього LMP підтримує повідомлення для конфігурації якості обслуговування з'єднання. Типи пакетів можуть бути автоматично змінені відповідно до якості каналу, і відповідно швидкість передачі даних може зростати при підвищенні якості каналу.
Bluetooth Host
Logical Link Control and Adaptation Protocol (L2CAP) - забирає дані з більш високих рівнів стека і з додатків, і посилає її на більш низькі рівні стека. Передає пакети або в HCI, або безпосередньо в Link Manager. Основні функції L2CAP:
- Мультиплексування протоколів більш високого рівня, що дозволяє їм розділяти одне ACL-з'єднання.
- Сегментація і повторна збірка пакетів, що дозволяє передавати пакети більшого розміру, ніж підтримують протоколи нижчого рівня.
- Управління якістю обслуговування для протоколів більш високого рівня.
Всі додатки повинні використовувати L2CAP для передачі даних. Також L2CAP використовується більш високими рівнями, такими як RFCOMM і SDP, і таким чином L2CAP - невід'ємна частина будь-якої Bluetooth-системи.
RFCOMM - простий, надійний транспортний протокол, який емулює з'єднання pont-to-point по послідовному порту (RS-232). RFCOMM підтримує два типи пристроїв:
- З емуляцією послідовного порту. Такі пристрої зазвичай знаходяться на кінцях з'єднання (наприклад, PC або принтер).
- Проміжні пристрої з фізичним послідовним портом. Такі пристрої знаходяться в середині з'єднання (наприклад, модем).
Може бути встановлено до 30 каналів передачі даних, тобто RFCOMM теоретично може підтримувати 30 різних сервісів одночасно. RFCOMM заснований на стандарті GSM TS 07.10 - асиметричний протокол, який використовується в стільникових телефонах для мультиплексування декількох потоків даних в один фізичний провід.
Service Discovery Protocol (SDP) - надає можливість SDP-клієнту отримати доступ до інформації про послуги, що надаються SDP-сервервамі. SDP-сервер - це будь-який пристрій Bluetooth, яка надає послуги іншій Bluetooth-пристрою. Інформація про послуги зберігається в базах даних. Не існує централізованої бази даних, кожен SDP-сервер має свою власну. SDP база даних - набір записів, що описують послуги, які пристрій може запропонувати іншого пристрою, і SDP надає іншого пристрою "подивитися" на ці записи. Для простоти пошуку послуги впорядковані в ієрархічну структуру у вигляді дерева.
Для перегляду класів послуг або для отримання інформації про окрему послуги SDP-клієнти і SDP-сервери обмінюються повідомлення, які містяться в SDP Protocol Data Units (PDUs). Перший байт в PDU - це ID, що ідентифікує повідомлення в PDU. Послуги мають власні Universally Unique Identifiers (UUIDs), які їх описують. Стандартні послуги мають стандартні UUIDs, але існує також можливість визначати свої власні послуги і, відповідно, присвоювати їм UUIDs.
Етапи установки SDP-з'єднання показані на наступній схемі:
Безпека [ правити ]
Той факт, що Bluetooth використовується в мобільних пристроях і те, які дані можуть передаватися за допомогою цих пристроїв, робить безпеку надзвичайно важливим фактором.
На канальному рівні технологія Bluetooth надає можливості аутентифікації, шифрування і управління задіяними ключами.
Аутентифікація передбачає, що користувач надає особистий ідентифікаційний номер (PIN - Personal Identification Number), який транслюється в 128-бітний Link Key, який, в свою чергу, проходить аутентифікацію в односторонньому або двосторонньому порядку, а після цього може пройти процедуру шифрування при різній довжині ключа (до 128 біт з 8-бітовим кроком). На канальному рівні доступні кілька схем аутентифікації і гнучка схема шифрування, що дозволяє різним пристроям "домовлятися між собою" про довжину ключа. Це важливо, якщо на один з пристроїв накладені обмеження по довжині ключа. В такому випадку інший пристрій зможе підлаштуватися під ці обмеження.
Таким чином, архітектура безпеки Bluetooth залежить від PIN для встановлення з'єднання між різними пристроями. Оскільки не практично кожен раз проходити через всі стадії безпечного з'єднання, після першого успішного з'єднання PIN можуть бути збережені для автоматизації або спрощення подальших з'єднань.