Установка з'єднання в Bluetooth
Цей розділ описує основні процедури, які повинні бути виконані пристроями Bluetooth, щоб встановити між ними з'єднання. Розгляньте наступний сценарій: чоловік гуляє з готелю і хоче скористатися своєю електронною поштою за допомогою пристрою Bluetooth, яким може бути ноутбук або PDA. Що він мав би зробити? Він натиснув би на меню або піктограму поштової програми. Пристрій автоматично виконав б наступні кроки (крім кроку реєстрації, актуального в разі, якщо пристрій вперше використовується в цьому середовищі):
- 1. Запит: пристрій при вступі в нове середовище автоматично ініціалізувати б запит, щоб з'ясувати, які пристрої є доступними в межах його радіуса дії. Це приведе до наступного:
- а) Всі доступні прилеглі пристрої дадуть відповідь.
- б) Пристрій вибирає одне з відповіли пристроїв.
- 2. Пейджинг: пристрій викличе baseband-процедуру, звану пейджинг. У результаті відбувається синхронізація пристрою з пунктом доступу, серед інших необхідних ініціалізації.
- 3. Встановлення з'єднання: LMP встановить з'єднання з точкою доступу. Оскільки додаток в цьому випадку поштове (email), буде використовуватися ACL з'єднання.
Далі будуть виконуватися нижченаведені дії по встановленню.
- 4. Сервіс: LMP буде використовувати протокол SDP для встановлення, який сервіс є доступним, зокрема, поштовий сервіс, або потрібно звернеться до іншого хосту. Припустимо, що сервіс є доступним, інакше програма не може далі діяти. Інформація щодо інших сервісних послуг може бути також представлена користувачеві.
- 5. Канал L2CAP: На основі інформації, отриманої від SDP, пристрій створить канал L2CAP до пункту доступу. Він може використовуватися безпосередньо додатком або іншим протоколом, наприклад, RFCOMM.
- 6. Канал RFCOMM: В залежності від потреби поштового програми RFCOMM або інший канал (у випадку інших додатків) буде створено згідно з L2CAP каналу. Ця можливість дозволяє використовувати додатки, розроблені для послідовних портів, щоб працювати без модифікації по Bluetooth-платформ.
- 7. Безпека: Якщо пункт доступу обмежує доступ понад певної кількості користувачів або пропонує безпечне з'єднання режиму людям, які зареєструвалися раніше, тоді пункт доступу пошле запит безпеки при встановленні з'єднання. Користувач повинен знати правильний PIN-код для доступу до сервісу. Зверніть увагу, що PIN-код не передається по бездротовому каналу, використовується інший код, що згенерував з нього, тому PIN-код досить складно підібрати. При використанні безпечного режиму буде вироблено кодування передачі.
- 8. PPP: Оскільки PPP-з'єднання використовується з послідовного модему як при dial-up, те ж саме додаток зможе тепер запустити PPP через RFCOMM (через емульованого послідовний порт). Ця з'єднання дозволить користувачеві отримати доступ до його поштової скриньки тощо.
- 9. Мережеві протоколи: Мережеві протоколи типу TCP / IP, IPX, Appletalk можуть одержувати і передавати дані по каналу без труднощів.
В описаних вище процедурах для користувача взаємодія потрібна тільки при використанні логіна для входу в систему для електронної пошти і для додаткового захисту, яка буде здійснена. Решта кроки автоматичні. Вищезазначені процедури описані докладно, щоб продемонструвати процес встановлення підключення. Пояснення вищезазначених процедур потребує короткого опису пристрою годин на Bluetooth.
Годинник: Кожен Bluetooth модуль має вбудовану систему часу, яка визначає час і частотні передачі. Годинники Bluetooth є вільно йдуть часасмі, які ніколи не коригуються і ніколи не вимикаються. Для синхронізації з іншими модулями використовуються тільки зміщення (величина, на яку відрізняється час в інших модулях в порівнянні з "рідними" годинником), накладене на "рідні" годинник, - тимчасові годинник Bluetooth, які взаємно синхронізовані. Годинники Bluetooth не мають ніякого відношення до часу доби. Годинники Bluetooth дуже важливі для трансівера Bluetooth через синхронізації безлічі важливих подій, без яких неможлива зв'язок. Одиниця часу - принаймні половина TX або RX довжини слота, або 312.5 мікросекунд. Годинники мають денний цикл. Якщо годинник обладнані лічильником, 28-бітний лічильник вимагає обороти близько 228 1. LSB відраховує кванти по 312.5 мікросекунд, задаючи тактову частоту 3.2 КГц.
Синхронізація і частота на каналі piconet визначені Bluetooth-годинами "майстра". Коли мережа piconet сформувалася, відлік годин "майстри" передається на підпорядковані пристрої. Вони зберігають необхідне значення зміщення, яке потрібно використовувати при з'єднанні з даними "майстром" і використовуються для синхронізації каналу. Оскільки власні тимчасові координати (години) не змінюються, то можливо використовувати різні зміщення для реєстрації в різних мережах piconet.
Мінімальна необхідна точність годин -/-20 ppm в активному режимі, і/-250ppm в режимі малої активності, наприклад, Hold, Sniff, Standby і Park.
- Запит та пейджинг
Це початкові кроки в процесі встановлення з'єднання.
Пристрій знаходиться в режимі Standby за замовчуванням. У цьому стані йдуть тільки рідні годинник і споживана потужність дуже низька. Можна вийти з цього режиму і увійти в режими Запит (Inquiry), Перегляд / сканування запиту (Inquiry Scan), Відповідь на запит (Inquiry Response), Пейджинг (Page) або Перегляд / сканування пейджинга (Page Scan), Відповідь пейджинга.
- Встановлення зв'язку
Як тільки пристрій буде перебувати в стані зв'язку, LMP може починати встановлювати з'єднання. З'єднання L2CAP базуються на концепції каналів, які визначаються ідентифікаторами каналу, аналогічними сокетами в TCP / IP. Канал, відмінний від каналу piconet, ідентифікується адресою пристрою, з яким створено двосторонню з'єднання, і ідентифікатором каналу. Основні кроки в установці з'єднання в підсумку виглядають так:
- 1. Пакети POLL і відповідь використовуються для передачі інформації конфігурації без взаємодії хоста.
- 2. Відправляється пакет LMP_host_connect_request.
- 3. Віддалене пристрій відповідає LMP_NOT_ACCEPTED, якщо додаток, запитувана першим пристроєм, не хоче або не може відповісти. Інакше надсилається відповідь LMP_ACCEPTED.
- 4. Відповідає пристрій може запитати про відключення ролі, якщо це буде потрібно з деяких причин. Перший пристрій відповідає відповідним пакетом для прийняття або не прийняття запиту.
З'єднання встановлено на рівні Link Manager.
Додаток може не бути поінформоване про те, які послуги є доступними, і буде використовувати SDP, щоб це виявити.
- SDP
Зміни середовища Bluetooth відбуваються часто, отже, доступні послуги повинні бути виявлені в полі зору. SDP забезпечує кошти програми для виявлення, які сервіси є доступними, і їх характеристики, як описано в основних специфікаціях. Пристрій Bluetooth, послуги якого повинні бути виявлені, запускає SDP сервер. Для виявлення послуг інших пристроїв запускає SDP клієнта. Один клієнт може запущено для кожної програми, але один пристрій може запустити тільки один сервер SDP. Сервер SDP обслуговує сервісну запис кожної служби, що дозволяє пристрою виявлятися. Клієнт надсилає запит на сервер. Запит може бути пошуком специфічного класу сервісних послуг або переглядом всіх класів доступних сервісів. Сервер дає відповідний відповідь. Якщо пристрій сервера має тільки декілька сервісів, вони не можуть бути розділені на класи та сервісні опису не відправляються пристрою. В іншому варіанті опису класу відправляються і клієнт може продовжувати вивчати деталі в межах класу. SDP тільки дозволяє сервісів бути виявленими. Доступ повинен бути через інші протоколи, засновані на L2CAP. L2CAP з'єднання Інформація, отримана через LMP з'єднання і через SDP, буде використовуватися L2CAP, щоб встановити канал для програми. L2CAP встановлює лише зв'язку ACL з'єднання. З'єднання L2CAP базуються на концепції каналів, які визначаються ідентифікаторами каналу, аналогічними роз'ємів в IP TCP. Канал, відмінний від каналу piconet, ідентифікується адресою пристрою, до якого створено з'єднання, і ідентифікатором каналу. Кожен канал приймається до заповнення дуплексу, з QoS специфікацією в кожному напрямку. Канал може бути двухточечной або багатоточковий. L2CAP встановлює з'єднання, коли на нього додатком виражений запит і з'єднання на потрібний пристрій ще не було встановлено. Запити від нижніх рівнів щодо з'єднань, необхідних програмами на віддалених пристроях, також обробляються L2CAP відповідно до залученим додатком.
SCO з'єднання не проходять по L2CAP, але посилають їх дані безпосередньо Baseband. L2CAP встановлює окремий сигнальний канал для запиту з'єднання, конфігурації, роз'єднання і пр. (для випробування). L2CAP-пакети не забезпечують CRC або інші перевірки помилок, покладаючись на смугу baseband для захисту даних і впорядкованої доставки.
Взаємодія цього протоколу з верхніми і нижніми рівнями розглядається в подіях і діях. Події - всі повідомлення, отримані L2CAP від більш низьких або більш високих рівнів, у той час як дії - відповіді, зроблені для них. Нижнім рівнем може бути LMP або HCI, в той час як більш високим рівнем може бути будь-який додаток. Типова послідовність подій і дій для встановлення з'єднання може бути наступна:
- 1. Подія і Дія 0: Подія - це запит з'єднання від більш високого рівня. Дія полягає в тому, що пристрій L2CAP посилає пакет запиту віддаленого L2CAP. Цей пакет на віддалене пристрій доставляє baseband.
- 2. Подія і Дія 1: Віддалений L2CAP отримує цей пакет і відповідає з пакетом у відповідь підключення. Перед виконанням L2CAP контактує з віднесеним додатком, щоб перевірити, чи буде потрібний запит фактично оброблено тим додатком.
- 3. Подія і Дія 2: Прийом у відповідь пакету - подія для локального пристрою L2CAP. Взаємодія запрошувати про параметри конфігурації: максимальний модуль payload і межі часу очікування.
- 4. Подія і Дія 3: Запит конфігурації - подія для віддаленого L2CAP. Його дія - відповідь конфігурації. Також, можна посилати його власної конфігурації запит про додаткові параметри.
- 5. Подія і Дія 4: Вищезгаданий пакет - подія для місцевого пристрою. Воно відповідає з відповіддю конфігурації.
Ініціатором в місцевому пристрої виступає L2CAP, адресатом - L2CAP в пункті доступу або іншому пристрої Bluetooth, з яким входить у контакт. Зверніть увагу, що за вказаним на стрілках, що вказують до ініціатора або адресату - події для L2CAP, в той час як стрілки, що вказують за межі - дії. Назви, що починаються з L2CAP, є з'єднаннями між двома L2CAP на різних пристроях. Вертикальні рядки LP - Менеджери Зв'язки в цих двох пристроях. Назви, що починаються з WA, представляють собою з'єднання з додатком більш високого рівня, для якого встановлюється канал.
Стану OPEN відзначають інтервал з'єднання додатків. Останні кроки у вищезгаданій таблиці відносяться до роз'єднання. Тепер можуть бути передані дані програми або можуть бути виконані процедури захисту.
- Зв'язок додатків
Прикладні дані будуть тепер передані через з'єднання, оскільки всі визначені процедури встановлення з'єднання Bluetooth були виконані. Додатка необхідно запустити протокол більш високого рівня L2CAP. Bluetooth було визначено три використовуваних протоколу. Це:
- RFCOMM
Це емуляція послідовного порту через бездротове з'єднання.
- SDP
Це Service Discovery Protocol, який допомагає пристроям виявити доступні послуги поблизу.
- TCS
Це Telephony Control Protocol Specification, описує управління запитом і передачу сигналів голосових каналів через Bluetooth. Всі користувальницькі додатки і інші існуючі механізми доступу до мережі, наприклад, IP TCP, PPP, IrDA OBEX, WAP і HomeRF можуть бути здійснені за рівнем L2CAP або вищезазначеним трьом протоколами, якщо додаток вибере використання їхніх послуг.
Додаток в результаті повідомить, що більше не потрібно підключення, якщо воно не було зафіксовано протягом часу запуску програми. LMP посилає пакет LMP_detach пакет на віддалене пристрій, на який не потрібно відповідь. Відбувається роз'єднання.