Конференция W Mobile Дайджест

Про кардеров и не только - ЧИТАТЬ ВСЕМ! => Взлом мобильных устройств. Инструкция к применению. => Тема начата: Dr.ZloY от 07 Июль 2007, 21:23:11



Название: Что такое Bluetooth. Часть II
Отправлено: Dr.ZloY от 07 Июль 2007, 21:23:11
Начало (http://www.forum.w-mobile.ru/index.php/topic,78.msg193.html#msg193)

... продолжение:

Протоколы Bluetooth

При работе устройства Bluetooth используют как специфические протоколы, так и общие, используемые в телекоммуникационных системах. Все они образуют стек протоколов. Стек протоколов Bluetooth можно разделить на 4 слоя:

- базовые протоколы (core protocols) - Baseband, LMP, L2CAP, SDP;

- протокол замены кабеля - RFCOMM;

- протокол управления телефонией - TSC binary, AT-команды;

- воспринятые протоколы (adopted protocol) - PPP, UDP/TCP/IP, OBEX, WAP, BNEP, vCARD, vCAL, IrMC, WAE.

Базовые протоколы обеспечивают физическую связь, а остальные слои ориентированы на приложения.

Основой стека служит базовая полоса (baseband) и уровень управления подключениями (Link Control Layer), которые и обеспечивают физическую радиочастотную связь между Bluetooth-устройствами. Так как технология Bluetooth является системой перестраивающейся частоты, этот уровень использует процедуры опроса для синхронизации устройств. При связи между устройствами Bluetooth на физическом уровне данные разбиваются на стандартные пакеты.

Стандартный пакет Bluetooth содержит три основных элемента. Сначала идет код доступа (72 бита), затем - заголовок (54 бита), а потом сами данные, которые могут быть до 2745 бит. В пакете необходимым является только код доступа, который используется для идентификации пакетов одной пикосети и синхронизации, остальные элементы могут отсутствовать. Код доступа состоит из идентификатора (4 бита), слова синхронизации (64 бита) и трейлера (4 бита).

* AM_ADDR - адрес активного элемента;

* TYPE    - код типа данных;

* FLOW    - бит управления потоком данных;

* ARQN    - бит подтверждения правильного приема;

* SEQN    - бит контроля корректной последовательности передачи пакетов;

* HEC  - контрольная сумма.

Протокол диспетчера подключений

Протокол диспетчера подключений (LMP - Link Manager Protocol) отвечает за установление подключений между устройствами Bluetooth, контролирует режимы питания и исполнительные циклы устройств, состояние подключения того или иного прибора к пикосети. LMP имеет более высокий приоритет по сравнению с остальными протоколами, поэтому при любой необходимости передачи LMP сообщения канал освобождается. Кроме того, протокол диспетчера подключений отвечает за безопасность подключений.

Безопасность

Защита данных в Bluetooth (http://www.forum.w-mobile.ru/index.php/topic,68.0.html) организована за счет применения аутентификации устройств и шифрования передаваемых данных. Аутентификация базируется на алгоритме запрос-ответ, а для шифрования информации могут использоваться секретные ключи длиной до 128 разрядов. В зависимости от выполняемых задач, устройство может находиться в одном из трех режимов защиты:

- минимальная - данные кодируются общим ключом и могут приниматься любыми устройствами без ограничений;

- защита на уровне устройств - непосредственно в чипе прописывается уровень доступа, в соответствии с которым устройство может получать определенные данные от других устройств;
- защита на уровне сеанса связи - данные кодируются 128-битными случайными числами, хранящимися в каждой паре устройств, участвующих в конкретном сеансе связи.

Второй и третий режимы могут использоваться и одновременно.

В основе системы безопасности Bluetooth, используемой в последнем случае, лежит понятие сеансового ключа, который образуется в процессе соединения двух устройств и используется для идентификации и шифрования передаваемых данных. Для генерации ключа могут использоваться самые различные составляющие, от заранее известных обоим устройствам значений до физических адресов устройств. Комбинируя защиту на уровне соединения с защитой на уровне приложений, можно создавать достаточно надежно защищенные соединения.

Протокол L2CAP

Протокол управления логическим подключением и адаптацией (L2CAP - Logical Link Control and Adaptation Protocol) - связующее звено между протоколами верхнего уровня и базовой полосой. L2CAP является базовым протоколом передачи данных для Bluetooth и работает только с асинхронными соединениями. Для многих протоколов и служб более высокого уровня L2CAP является транспортным протоколом. L2CAP достаточно простой протокол, который предъявляет минимум требований к вычислительным мощностям и размеру оперативной памяти устройств, которые его используют. Основные особенности, которые реализуют L2CAP, таковы:

1. Protocol Multiplexing. L2CAP является транспортом для многих протоколов и служб, поэтому он обеспечивает возможность определения принадлежности того или иного пакета с данными заданному протоколу службы.

2. Segmentation and Reassembly. Максимальная длина пакета для L2CAP - 64 килобайта. Однако очень часто требуется передать большие пакеты данных, поэтому L2CAP обеспечивает разбивку большого пакета на несколько более мелких и последующую сборку первоначального пакета в устройстве-получателе.

3. Quality of Service(QoS). Благодаря L2CAP Bluetooth-устройства могут отслеживать свободные ресурсы соединения и не позволять, чтобы ширина канала или временные задержки для отслеживаемой службы опускались ниже определенных критических значений.

4. Groups. L2CAP поддерживает адресацию не только одному клиенту, а сразу целой группе клиентов в пикосети.

Протокол обнаружения услуг (Service Discovery Protocol - SDP)

Обнаружение услуг (Service Discovery) является критической частью всей схемы Bluetooth. В настоящее время никто не сможет представить все возможные способы использования Bluetooth-устройств, поэтому при разработке SDP протокола пытались учесть как можно больше возможных ситуаций. Таким образом, используя протокол SDP, можно запросить информацию о самом устройстве, его услугах и о характеристиках этих услуг, а также о доступных устройствах в пикосети, их службах.

Протокол RFCOMM

Этот протокол эмулирует соединение точка-точка по COM-порту, используя L2CAP в качестве транспортного. Это качество и определяет его широкие возможности - от эмуляции Direct Cable Connection до полноценного входа в локальную сеть. В этом случае необходим прибор под названием LAN Access point, через который компьютер с Bluetooth оказывается подключенным к LAN так, как если бы он был подключен через диалап. Эта служба называется LAN Access.
TCS - Telephony Control protocol Specification. Это чудо используется для переадресации звонков на телефонных станциях (в качестве транспортного он тоже эксплуатирует L2CAP). Причем сам TCS используется только для установки соединения, после чего управление передается Bluetooth voice, и сама речь уже передается с его помощью.

Bluetooth audio

Bluetooth audio (Voice) - одна из служб Bluetooth, которая использует синхронное соединение. Характеристики звуковых потоков могут различаться, и во многом определяются используемым приложением. Максимально звуковой поток может передаваться с точностью в 16 бит с частотой 48 кГц (для версии Bluetooth 1.0). В  версии Bluetooth 1.1 добавлен протокол AVCTP-Audio/Video Transport Protocol, который позволяет передавать не только аудио, но и видеоданные.

Поддержка общеизвестных сетевых протоколов PPP, TCP/UDP/IP/OBEX

В технологии Bluetooth протокол PPP (point-to point protocol) работает "поверх" RFCOMM (как ранее упоминалось, этот протокол служит "переходником " между базовыми протоколами Bluetooth и протоколами служб, "заимствованными протоколами", такими как PPP). Соединения PPP служат средством, позволяющим перемещать IP-пакеты с уровня РРР на уровень локальных сетей.

В настоящее время семейство протоколов TCP/IP используется наиболее широко во всем мире. Стеки TCP/IP установлены на самых разных устройствах. Встраивание этих стандартов в приборы Bluetooth позволяет осуществлять связь с любым другим устройством, подключенным к интернету. Такое устройство Bluetooth, будь то гарнитура для сотового телефона или точка доступа к данным, используется затем как "мостик" к инету. TCP/IP/PPP используется во всех сценариях спецификации Bluetooth 1.0/1.1 как мостик к среде Internet, а также как транспортный механизм для протокола WAP.

Протокол IrOBEX (Infrared Objet Exchange Protocol) или, проще, OBEX, является сеансовым протоколом, разработанным ассоциацией IrDA для простого, поэтапного обмена объектами. OBEX обеспечивает функциональность, сходную с НТТР. Протокол использует клиент-серверную модель и не зависит ни от транспортного механизма, ни от транспортного API-интерфейса. На первом этапе протокол RFCOMM использовался как единственный транспортный слой для IrОВЕХ. В настоящее время OBEX поддерживает в качестве транспортного протокола не только RFCOMM, но также и TCP/IP.

Посредством протокола OBEX передаются такие форматы данных как vCard (обмен электронными деловыми карточками) и vCalendar (обмен электронными календарными данными),а также vMessage и vNote.

Модели использования

Использование Bluetooth облегчается разработкой моделей использования. Каждая модель использования сопровождается ее "профилем". Профиль определяет протоколы и их специальные свойства, поддерживающие данную модель использования.
Наиболее распространенными являются четыре профиля "общего назначения", которые широко используются как сами, так и для организации других профилей. К ним относятся:

* GAP - типовой профиль доступа;

* SPP - профиль последовательного порта;

* SDAP - профиль обнаружения прикладных услуг;

* GOEP - профиль общего назначения для обмена объектами.

Таким образом, нижние уровни протокольного стека Bluetooth спроектированы так, чтобы обеспечить гибкую основу для дальнейшей разработки протоколов. Другие протоколы, такие как RFCOMM, получены адаптацией существующих протоколов, которые лишь слегка модифицируются для этих целей. Протоколы верхнего уровня используются без модификации. Благодаря такому подходу существующие прикладные задачи могут использоваться для работы с технологией Bluetooth с минимальными усилиями со стороны разработчиков.

На сегодняшний день Bluetooth - современная технология беспроводной передачи данных, позволяющая соединять друг с другом практически любые устройства.

Первоначально все Bluetooth-устройства находятся в режиме Standby, в котором они каждые 1,28 с прослушивают 32 фиксированные частоты.

Ширина канала для Bluetooth-устройств составляет 723,2 Кбит/с в асинхронном режиме.

Для шифрования информации могут использоваться секретные ключи длиной до 128 разрядов.

Благодаря применению радиоканала со скачками частоты, пикосети могут взаимодействовать друг с другом с минимальным риском взаимных помех.

Благодаря L2CAP Bluetooth-устройства могут отслеживать свободные ресурсы соединения и не позволять, чтобы ширина канала или временные задержки для отслеживаемой службы опускались ниже определенных критических значений.

Обнаружение услуг (Service Discovery) является критической частью всей схемы Bluetooth.


Записал: Dr.ZloY со слов Елманова Олега (SpyDr_собака_comail.ru) _xakep.ru