Технология Bluetooth во всех ее проявлениях Елманов Олег (SpyDr@comail.ru) Спецвыпуск Xakep, номер #034, стр. 034-016-3 Кроме того, при подключении устройство может быть подключаемым (connectable mode) или недоступным (non-connectable mode). Во втором случае устройство не позволяет настроить ряд параметров соединения и обмениваться данными. Ну вот, два Bluetooth-устройства нашли друг друга, все устраивает, и discoverable они, и с connectable у них все в порядке. Дальше-то что? А дальше они начинают договариваться. Об используемом диапазоне частот, размере страниц, количестве и порядке смены частот (hopping channel) и других физических параметрах соединения. Каждое Bluetooth-устройство имеет глобальный уникальный адрес (как MAC-адреса у сетевых плат), но на уровне пользователя обычно используется имя устройства, которое может быть любым и не быть уникальным. Имя может быть длиной до 248 байт и использовать кодовую страницу в соответствии с Unicode UTF-8. Так вот, если процесс авторизации прошел успешно, то новое Bluetooth-устройство получает набор адресов доступных устройств, и за этим следует процесс выяснения всех доступных Bluetooth-устройств из этого списка. Еще одной интересной и важной особенностью Bluetooth является автоматическое подключение устройств к службам, предоставляемым другими Bluetooth-устройствами. Поэтому после получения списка имен и адресов устройство выполняет поиск доступных услуг (service discovery). По большому счету, предоставление и получение каких-либо услуг - это то, ради чего все собственно и затевалось. Для поиска всевозможных услуг используется, соответственно, протокол поиска услуг (service discovery protocol), но об этом чуть позже. Bluetooth-устройства могут устанавливать соединения не только типа точка-точка, но, что и является основным, многоточечные соединения. При этом они объединяются в пикосети (piconet). Процедура соединения инициируется одним, причем любым, из устройств, которое и становится главным (master) в пикосети. При этом в одной пикосети может быть не более семи ведомых (slave) устройств. Кроме активных устройств, осуществляющих обмен в пикосети, могут быть неактивные Bluetooth-устройства, которые не могут обмениваться данными с главным устройством пикосети, но синхронизированы с ним. В одной пикосети может быть всего одно ведущее устройство, однако любое из ведомых устройств в данной пикосети может являться ведущим в другой и образовывать свою пикосеть. Объединенные таким образом Bluetooth-устройства образуют распределенную сеть (scatternet). В рамках распределенной сети Bluetooth-устройства могут образовывать любые логические цепочки любого размера. Благодаря применению радиоканала со скачками частоты, пикосети могут взаимодействовать друг с другом с минимальным риском взаимных помех. Единственным условием здесь является то, что разные пикосети одной распределенной сети должны иметь различный порядок смены каналов (hopping sequence). Настоящий вариант спецификации стандарта предусматривает 10 вариантов смены каналов - 5 с циклом 79 смен частот и 5 - с циклом в 23 смены. |