Опубликован: 11.01.2013 | Доступ: свободный | Студентов: 623 / 124 | Длительность: 12:06:00
Лекция 7:

Обзор технологии Bluetooth

< Лекция 6 || Лекция 7 || Лекция 8 >
Аннотация: Bluetooth - это технология беспроводной передачи данных для любых устройств с ее поддержкой.

Введение. Немного истории

"...А в году от Рождества Христова девятьсот пятнадцатом Тира, супруга датского короля Горма Старого, подарила ему второго сына, Харальда, прозванного Синезубым. И стал Харальд настоящим викингом, сильным и бесстрашным, и с юношеских лет ходил он в заморские походы покорять чужие города и веси, и был он последним, кто защищал смертельно раненного брата своего, Кнуда Радостного, в битве на острове Эйре. И когда настало время, достойно принял он от отца своего датскую корону, и правил долго и многомудро народом своим: он принес ему свет христианства, и собирал разрозненных, и примирял непримиримых, и расширил земли викингов, объединив Данию и Норвегию, разделенные от природы Скагерраком..."

…А в конце 90-х годов ХХ века, через тысячу лет после смерти короля Харальда, его прапрапра- и так далее — внукам из фирмы Ericsson пришла идея создания универсальной системы, позволяющей объединить самые разнообразные компьютерные и телекоммуникационные устройства в пределах одной общей рабочей станции. На гребне очередной, уже третьей по счету, волны развития беспроводных коммуникаций современные викинги во главе мощной интернациональной армады (в состав которой вошли Nokia, IBM, Intel и Toshiba) отправились в плавание за новые технологические горизонты, дабы обеспечить нам и нашим многочисленным лэптопам, ноутбукам, мобильным терминалам, факсам, сотовым телефонам и т. д. светлое будущее в режиме полной взаимосвязи и абсолютного взаимопонимания. Поставив перед собой такую унитарную цель, компания Ericsson недолго мучилась над названием вновь организуемого проекта: английский термин Bluetooth — Синезубый — возник сам собой как символ "преемственности скандинавских поколений", вдохновляющий потомков великого Харальда на героические свершения во имя научно-технического прогресса. Датский король викингов получил свое прозвище из-за потемневшего переднего зуба (есть, правда, и другие версии). Этот король знаменит тем, что объединил Данию и Норвегию. В его честь и названа технология, задуманная первоначально как средство соединения компьютера и сотового телефона или других телекоммуникационных устройств между собой.

Таким образом, 20 мая 1998 года была сформирована специальная рабочая группа (Special Interest Group - SIG) для дальнейшего продвижения новой технологии на телекоммуникационном рынке, куда на данный момент входят 3Com, Ericsson, IBM, Intel, Lucent, Microsoft, Motorola, Nokia, и Toshiba (из наиболее известных компаний). Кроме вышеперечисленных компаний, в группу Bluetooth может абсолютно бесплатно войти любая компания которая планирует производить или разрабатывать устройства и ПО на основе спецификаций Bluetooth.

Bluetooth - что это такое?

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

В глобальном смысле, Bluetooth - это технология беспроводной передачи данных для любых устройств с ее поддержкой: мобильных телефонов, PDA, ноутбуков, настольных компьютеров, принтеров, цифровых устройств и даже бытовой техники. По сути это технология, которая призвана заменить соединение сотового телефона, мобильного компьютера и других периферийных устройств между собой с помощью проводов, на более удобное соединение по радио каналу. Материальное воплощение Bluetooth - это маленький чип, представляющий собой высокочастотный приемопередатчик малого радиуса действия Рис. 7.1 , Рис. 7.2 , работающий в диапазоне частот ISM (Industrial, Scientific and Medical) 2.4465-2.4835 ГГц.

Размеры Bluetooth передатчика

Рис. 7.1. Размеры Bluetooth передатчика
Bluetooth передатчик в сборе

Рис. 7.2. Bluetooth передатчик в сборе

Диапазон рассчитан на работу медицинских приборов, бытовой техники, беспроводных телефонов, беспроводных локальных сетей стандарта IEEE. Эти частоты выбраны не случайно, они являются открытыми и свободными от всякого лицензирования в большинстве стран мира. Исключение составляют Испания и Франция. До недавнего времени в этой компании присутствовала еще и Япония, но с октября 1999 года там эта проблема частично решена, и теперь Bluetooth устройства а Японии могут использовать полный спектр радиочастот, предусмотренный спецификациями Bluetooth. Хотя, некоторые ограничения в Японии все еще остались. В Испании спектр радиочастот разрешенный для использования Bluetooth устройствами ограничен 2445-2475 MHz, во Франции этот спектр ограничен до 2446.5-2483.5 MHz. Поэтому Bluetooth устройства разработанные специально для Франции, Испании или Японии не будут работать совместно с устройствами разработанными для всего остального мира. Соответственно, верно и обратное утверждение. В настоящее время члены Bluetooth консорциума работают с властями этих стран, и есть основания полагать что такая ситуация не продлится долго.

Используемые частоты определяют возможности Bluetooth по передаче данных. Ширина канала для Bluetooth устройств составляет 723.2 Кбит/с (88.3 Кбайт/с) в асинхронном режиме (впрочем, даже в этом режиме все-таки остается до 57.6 Кбит/с для одновременной передачи в обратном направлении), или 433.9 Кбит/с (53 Кбайт/с) в полностью синхронном режиме (полнодуплексном режиме). Если не передаются данные, то через Bluetooth соединение можно передавать до 3 аудиоканалов (передача видеосигнала не поддерживается). Каждый из аудиоканалов поддерживает по 64 Кбит/с синхронному аудиоканалу в каждом направлении. Кроме этого, возможна и комбинированная передача: данных и голоса.

Энергопотребление (мощность передатчика) не должно превышать 10 мВт. Изначально технология предполагала возможность связи на расстоянии не более 10 метров. Сегодня некоторые фирмы предлагают микросхемы Bluetooth, способные поддерживать связь на расстоянии до 100-200 метров.

Как работает Bluetooth?

Bluetooth работает как многоточечный радиоканал, управляемый аналогичным протоколу сотовой связи GSM многоуровневым протоколом. Как радиотехнология, Bluetooth способна "обходить" препятствия (стены в том числе), поэтому соединяемые устройства могут находиться вне зоны прямой видимости. Соединение происходит автоматически, как только Bluetooth-устройства оказываются в пределах досягаемости, причем не только по принципу точка - точка (одно устройство соединено с другим), но и по принципу точка - много точек (одно устройство работает с несколькими устройствами). Естественно, для реализации технологии Bluetooth на практике необходимо определенное программное обеспечение (ПО). Технология использует небольшие приемопередатчики малого радиуса действия, либо непосредственно встроенные в устройство, либо подключаемые через свободный порт или слот расширения (USB, СF, SD/MMC, MS, PCMCIA). Технология использует FHSS - скачкообразную перестройку частоты (1600 скачков в секунду) с расширением спектра. При работе передатчик переходит с одной рабочей частоты на другую по псевдослучайному алгоритму, чтобы избежать конфликтов с другими устройствами. Для полнодуплексной передачи используется дуплексный режим с временным разделением (TDD). Поддерживается изохронная и асинхронная передача данных, и обеспечивается простая интеграция с TCP/IP. Временные интервалы (Time Slots) развертываются для синхронных пакетов, каждый из которых передается на своей частоте радиосигнала. Каждое устройство имеет уникальный 48-битовый сетевой адрес, совместимый с форматом стандарта локальных сетей IEEE 802.11х.

"Частотный конфликт"

Тот факт, что частотный диапазон 2.4 ГГц свободен от лицензирования, вносит определенные сложности в использование Bluetooth-устройств. В этом диапазоне работают также различные медицинские приборы, бытовая техника, беспроводные телефоны, беспроводные локальные сети стандарта IEEE. Вполне логично предположить, что они могут "конфликтовать" друг с другом. Во избежание интерференции с другими беспроводными устройствами Bluetooth работает по принципу скачкообразной перестройки частоты (1600 скачков в секунду). Переход с одной частоты на другую происходит по псевдослучайному алгоритму. Это позволяет "освободить" нужные другим устройствам частоты.

Установка соединения

Оказавшись рядом, Bluetooth устройства могут устанавливать не только соединения типа точка-точка, когда имеется только два устройства (как например IrDA-устройства), но и точка-много*точек, когда одно устройство одновременно работает с несколькими другими. При соединении одного устройства с несколькими другими, устройство, которое обслуживает несколько соединений, называется master, а подключенные устройства - slave. К одному устройству master может быть подключено до семи активных slave. Кроме активных slave (то есть устройств, которые активно обмениваются данными), может существовать множество неактивных slave, которые не могут обмениваться данными с master пока заняты все каналы, но, тем не менее, они остаются синхронизированы с ним. Такая структура называется piconet. В одной piconet может быть только один master, однако каждый slave может одновременно являться master для других устройств, и образовывать свой piconet. Несколько piconet объединенных таким образом образуют scatternet. В рамках scatternet разные устройства могут не только быть одновременно master и slave для различных piconet, но и просто slave для разных piconet. Подобная структура представлена на Рис. 7.3.

Bluetooth сеть

Рис. 7.3. Bluetooth сеть

Более того, в случае необходимости любой slave в piconet может стать master. Естественно, старый master при этом становится slave. Таким образом, в scatternet могут объединяться столько Bluetooth устройств, сколько необходимо, логические связи могут образовываться так, как это требуется, и могут изменяться как угодно, в случае необходимости. Единственное условие, различные piconet, входящие в один scatternet, должны иметь разные каналы связи, то есть работать на различных частотах и иметь различные hopping channel. Hopping - это регулярная смена частот, определяемая параметрами hopping sequence. Всего спецификация предусматривает 10 вариантов hopping sequence, 5 с циклом в 79 смен и 5 с циклом в 23 смены. С любым hopping sequence частоты сменяются 1600 hops/sec. Используется hopping для того, чтобы бороться с затуханием радиосигнала и интерференцией.

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

Discoverable mode. Находящиеся в этом режиме устройства всегда отвечают на все полученные ими запросы.

Limited discoverable mode. В этом режиме находятся устройства, которые могут отвечать на запросы только ограниченное время, или должны отвечать только при соблюдении определенных условий.

Non-discoverable mode. Находящиеся в этом режиме устройства, как видно из названия режима, не отвечают на новые запросы.

Но это еще не все. Даже если удается обнаружить устройство, оно может быть в connectable mode или в non-connectable mode. В non-connectable mode устройство не позволяет настроить некоторые важные параметры соединения, и, таким образом, оно хоть и может быть обнаружено, обмениваться данными с ним не удастся. Если устройство находится в connectable mode, то на этом этапе Bluetooth устройства договариваются между собой об используемом диапазоне частот, размере страниц, количестве и порядке hop, и других физических параметрах соединения.

Если процесс обнаружения устройств прошел нормально, то новое Bluetooth устройство получает набор адресов доступных Bluetooth устройств, и за этим следует device name discovery, когда новое устройство выясняет имена всех доступных Bluetooth устройств из списка. Каждое Bluetooth устройство должно иметь свой глобально уникальный адрес (вроде как MAC-адреса у сетевых плат), но на уровне пользователя обычно используется не этот адрес, а имя устройства, которое может быть любым, и ему не обязательно быть глобально уникальным. Имя Bluetooth устройства может быть длиной до 248 байт, и использовать кодовую страницу в соответствии с Unicode UTF-8 (при использовании UCS-2, имя может быть укорочено до 82 символов). Спецификация предусматривает, что Bluetooth устройства не обязаны принимать больше первых 40 символов имени другого Bluetooth устройства. Если же Bluetooth устройство обладает экраном ограниченного размера, и ограниченной вычислительной мощью, то количество символов, которое оно примет может быть уменьшено до 20.

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

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

Security mode 1 (non secure), устройство не может самостоятельно инициировать защитные процедуры.

Security mode 2 (service level enforced security), устройство не инициирует защитные процедуры пока не установлено и не настроено соединение. После того как соединение установлено, процедуры защиты обязательны, и определяются типом и требованиями используемых служб.

Security mode 3 (link level enforced security), защитные процедуры инициируются в процессе установления и настройки соединения. Если удаленное устройство не может пройти требований защиты, то соединение не устанавливается.

Естественно, что Security mode 3 и 2 могут использоваться вместе, то есть сначала устанавливается защищенное соединение, а потом оно еще защищается в соответствии с требованиями и возможностями конкретной службы.

Основой системы безопасности Bluetooth, используемой в Security mode 3, является понятие сеансового ключа, или Bond. Сеансовый ключ генерируется в процессе соединения двух устройств, и используется для идентификации и шифрования передаваемых данных. Для генерации ключа могут использоваться самые различные составляющие, от заранее известных обоим устройствам значений, до физических адресов устройств. Комбинируя защиту на уровне соединения с защитой на уровне приложений (где может использоваться абсолютно любая из существующих на сегодня систем защиты данных) можно создавать достаточно надежно защищенные соединения. Но все равно, очевидной слабостью Bluetooth соединений с точки зрения построения защищенных соединений остается возможность перехвата трафика, причем для этого даже не придется использовать какое-либо специфическое оборудование. Впрочем, эта проблема не нова, и в настоящее время часто приходится использовать открытые сети, вроде Интернет, где возможен перехват трафика, для передачи закрытых данных. Противодействие "брони и снаряда" продолжается.

Протоколы и службы

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

Стек протоколов Bluetooth

Рис. 7.4. Стек протоколов Bluetooth

В основе всего, как видно из схемы, лежит baseband protocol. Baseband protocol определяется физическими характеристиками радиоканала. На более высоких уровнях стоит остановиться немного поподробнее сейчас.

Logical Link Control and Adaptation Layer Protocol (L2CAP), является базовым протоколом передачи данных для Bluetooth. Как описано выше, baseband protocol позволяет устанавливать синхронные (Synchronous Connection-Oriented или SCO) и асинхронные (Asynchronous Connection-Less или ACL) соединения. L2CAP, как видно из схемы, работает только с асинхронными соединениями. Так же из схемы видно, что многие протоколы и службы более высокого уровня используют L2CAP как транспортный протокол. В полном соответствии с идеологией Bluetooth L2CAP является простым протоколом, который предъявляет минимум требований к вычислительным мощностям и размеру оперативной памяти устройств, которые его используют. Основные особенности, заложенные в L2CAP таковы:

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

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

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

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

Кроме L2CAP непосредственно с baseband protocol работают Link Management Protocol (LMP) и голосовые (voice) каналы, используемые для передачи аудиоинформации в синхронном режиме.

LMP является служебным протоколом, используемым для управления каналом, и не использующимся для передачи данных. Сообщения LMP используются для настройки физических характеристик канала, для служб безопасности на уровне физического канала (security mode 3), и тому подобных вещей. LMP имеет более высокий приоритет чем остальные протоколы (например L2CAP), поэтому если канал занят чем либо другим, то при необходимости передать LMP сообщение он немедленно освобождается.

Voice, или Bluetooth Audio. Это одна из служб Bluetooth которая использует синхронное соединение. Как уже говорилось, одновременно может передаваться до 3 аудиоканалов. Характеристики звуковых потоков могут различаться, и во многом определяются используемым приложением. Максимально звуковой поток может передаваться с точностью в 16 бит при sampling rate 48 кГц. К сожалению, характеристики Bluetooth не позволяют передавать видеоинформацию с нормальным качеством.

Одним из важнейших протоколов Bluetooth, который использует L2CAP в качестве транспортного протокола, является Service Discovery Protocol (SDP). Сейчас никто не сможет представить все возможные способы использования Bluetooth устройств, поэтому при разработке этого протокола пытались учесть как можно больше ситуаций, которые могут возникнуть. Сейчас действует версия 1.0 этого протокола, и основные особенности, которыми он располагает, в настоящее время таковы:

  • SDP должен позволять поиск служб по специальным атрибутам этих служб. Например, если имеется несколько принтеров, доступных через Bluetooth, то клиент должен иметь возможность найти именно тот принтер, который ему нужен.
  • SDP должен позволять клиенту искать службы по классу. Например, если клиенту понадобится принтер, то должна быть возможность найти именно принтер, не зная про него ничего другого.
  • SDP должен позволять просматривать службы без необходимости знать специфические характеристики этих служб. Например, если устройство, предоставляющее какую-либо услугу, может управляться только специальным программным обеспечением по какому-либо очень редкому или закрытому протоколу, то для SDP это не будет проблемой, все равно можно будет получить информацию о доступности и названии службы.
  • SDP должен предоставлять возможности для обнаружения новых служб, которые появились за время работы.
  • SDP должен предоставлять возможность узнавать, когда служба становится недоступной из-за того, что клиент вышел за пределы связи, или по какой-либо другой причине.
  • SDP позволяет службам, классам служб и атрибутам служб быть однозначно идентифицированными.
  • SDP должен позволять одному устройству находить любую службу на любом другом устройстве без обращения к третьему устройству.
  • SDP должен подходить для использования устройствами с ограниченной функциональностью.
  • SDP должен позволять увеличивать количество доступной информации о службе. Это означает, что если служба требует подробного и объемного описания своих возможностей, параметров, ограничений и т. п., то вся эта информация не будет выдаваться всем, кто просто спросит о доступности службы, а будет предоставлена только тем, кто более пристально заинтересуется именно этой службой.
  • SDP должен поддерживать использование промежуточных кэширующих агентов для ускорения или повышения эффективности процесса поиска новых служб.
  • SDP должен быть полностью независим от протоколов более высокого уровня, используемых Bluetooth соединением.
  • SDP должен работать когда в качестве его транспортного протокола используется L2CAP.
  • SDP должен позволять находить и использовать службы, которые обеспечивают доступ к другим протоколам обнаружения служб. Это позволяет расширять возможности системы, и использовать службы и устройства которые не имеют Bluetooth интерфейса.
  • SDP должен поддерживать создание и определение новых служб без необходимости централизованно регистрироваться.

RFCOMM - еще один протокол, который использует L2CAP в качестве транспортного (Рис. 7.4 ). Этот протокол эмулирует соединение PPP (point-to-point) по серийному порту (RS-232 или EIATIA-232-E, более известному как COM-порт). Через него работает такая служба как, например, LAN Access. Эта служба может работать как эмуляция Direct cable Connection, когда надо обеспечить связь между всего двумя PC, так и для полноценного входа в уже существующую локальную сеть. Во втором случае используется устройство под названием LAN Access point, через которое компьютер с Bluetooth подключается к LAN так, как он мог бы подключиться через dial-up соединение.

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

Bluetooth audio. Обычно для передачи аудиоинформации используется специальный протокол, который работает непосредственно с baseband protocol, но для этого с успехом может применяться и L2CAP. L2CAP предоставляет меньше возможностей для передачи аудио информации, чем Bluetooth voice, но этот метод незаменим когда необходимо, к примеру, обмениваться аудио-информацией между Bluetooth и не Bluetooth сетями. Кроме этого, данный метод хорош, когда требуется дополнительная защита данных.

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

< Лекция 6 || Лекция 7 || Лекция 8 >