Сделать стартовой
Новости
Армения
Обучение
Общение
Скачать
Прочее
Реклама

Статьи
Интернет

Bluetooth: Перспективы

Bluetooth относится к тем технологиям, которые при грамотном использовании могут в самом деле перевернуть весь человеческий быт. Уже сейчас на выставках демонстрируются принтеры с Bluetooth, которые не надо подключать к компьютеру, достаточно просто внести его в комнату, включить в розетку, и можно начинать печатать. То же самое верно и в обратном порядке, достаточно просто войти в комнату с ноутбуком оснащённым Bluetooth в руках, и сразу же можно пользоваться принтером, войти в локальную сеть для обмена файлами и документами, воспользоваться Интернет соединением. RJ-45 розетки для ноутбуков, которые можно встретить в некоторых самолётах и особо продвинутых аэропортах скоро должны отойти в прошлое.

Системы hands free с использованием Bluetooth становятся настолько просты в использовании, насколько это только возможно. Достаточно что бы мобильный телефон с Bluetooth интерфейсом просто находился где-нибудь внутри автомобиля, а его подключение к hands free системе произойдёт автоматически.

Стандартизация используемая в Bluetooth, позволит делать беспроводные мыши, клавиатуры, джойстики и геймпады которые будут подходить к любому PC, и что бы начать работу с любимым девайсом достаточно будет просто подойти к компьютеру, а не выключать его, и лазать под стол с проводами. Это оценят не только любители кваковских чемпионатов, которые и сейчас не выходят из дома без своей мышки в кармане. Благодаря той же стандартизации, можно рассчитывать на то, что через несколько лет мы избавимся от той кучи дистанционных пультов на диване, отдельного для телевизора, отдельного для видеомагнитофона, отдельного для музыкально центра, отдельного для DVD проигрывателя, отдельного для кондиционера, и так далее, а будем управлять всей техникой в квартире с мобильного телефона, который к тому же и PDA являться будет. Но и это ещё не предел.

В последнее время много говорится о концепции "цифрового дома". Некоторые, хорошо известные и весьмя серьёзные корпорации буквально помешались на этом. Технология Bluetooth может поднять эту идею на новую высоту. Представьте себе, у вас имеется брелок (браслет, кольцо, да что угодно), с Bluetooth устройством, способным принимать ваш голос и передавать его на центральный компьютер в доме. Мощный сервер идентифицирует голос, распознает звуковую команду, и по тому же Bluetooth даст команду любой периферии, раскиданной по дому. Таким образом, голосовые команды можно будет давать всему что угодно в доме, телевизорам, лампочкам, шторам, кондиционерам, микроволновым печкам, сливному бачку в туалете, в конце концов! И при этом не будет никакой необходимости, что бы вся эта периферия обладала достаточной вычислительной мощью, для распознания голоса, достаточно что бы подобной мощью обладал любимый компьютер стоящий в доме. Кроме этого, не придётся заботиться о том что бы новый холодильник, к примеру, подключить и настроить под вашу домашнюю сеть, достаточно только убедиться, что холодильник имеет Bluetooth интерфейс. И тогда, только внеся его на кухню и подключив в розетку, можно будет засунуть в него бутылочку пива и скомандовать "что бы через три минуты пиво было холодным!". Домашний сервер, отлично знающий привычки владельца, и давно запомнивший что означает та или иная фраза, немедленно даст команду холодильнику три минуты работать в режиме максимальной заморозки, а через три минуты заботливо напомнит вам, что пиво уже остыло. Более того, командовать своим домом можно будет и через мобильный телефон, практически с любой точки земного шара.
Это всё, конечно же удобно, но не знаю, согласился бы лично я жить в подобном доме. Это же если сейчас пойманный троян грозит только парой потерянных файлов, то в "цифровом доме" возможны гораздо более "интересные" эффекты. Конечно, прямо сейчас можно придумать с десяток мер, которые сильно затруднят жизнь взломщикам, но как говорилось выше, противодействие брони и снаряда продолжается, и конца этому процессу не будет никогда. Но как, всё-таки, удобно всё может быть, если не принимать во внимание "мелкие технические неполадки".

Всё это в перспективе. А сегодня, Bluetooth устройства можно встретить в основном только на выставках, или же в продаже, но по ценам, которые никак не могут способствовать их широкому распостранению. Кроме этого, большинство демонстрируемых сегодня Bluetooth устройств не могут похвастаться достаточной универсальностью, то есть они далеко не всегда могут просто обнаружить друг друга, не говоря уже про то, что бы воспользоваться предоставляемыми службами, если заранее не предусмотренно что конкретно ЭТА железка должна работать с конкретно ЭТОЙ. Но ведь это только начало, и как сама технология, так и программное обеспечением будут продолжать совершенствоваться, и когда-нибудь, может быть даже совсем скоро, то что сегодня кажется дикой фантастикой станет реальностью.

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

После того, как соединение установленно, его можно использовать для самых различных целей. Возможно это благодаря набору базовых протоколов, используемых в 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 этого протокола, и основные особенности, которыми он располагает, в настоящее время таковы:

1. SDP должен позволять поиск служб по специальным атрибутам этих служб.
Например, если имеется несколько принтеров, доступных через Bluetooth, то клиент должен иметь возможность найти именно тот принтер, который ему нужен.

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

3. SDP должен позволять просматривать службы без необходимости знать специфические характеристики этих служб. Например, если устройство предоставляющее какую-либо услугу может управляться только специальным программным обеспечением по какому-либо очень редкому или закрытому протоколу, то для SPD это не будет проблемой, всё равно можно будет получить информацию о доступности и названии службы.

4. SDP должен предоставлять возможности для обнаружения новых служб, которые появились за время работы.

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

6. SDP позволяет службам, классам служб и атрибутам служб быть однозначно идентифицированными.

7. SDP должен позволять одному устройству находить любую службу на любом другом устройстве без обращения к третьему устройству.

8. SDP должен подходить для использования устройствами с ограниченной функциональностью. Помните, мы говорили о холодильниках? А ведь это далеко не предел...

9. SDP должен позволять увеличивать количество доступной информации о службе. Это означает, что если служба требует подробного и объёмного описания своих возможностей, параметров, ограничений и т. п., то вся эта информация не будет вываливаться на всех, кто просто спросит о доступности службы, а будет предоставлена только тем, кто более пристально заинтересуется именно этой службой.

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

11. SDP должен быть полностью независим от протоколов более высокого уровня, используемых Bluetooth соединением.

12. SDP должен работать когда в качестве его транспортного протокола используется L2CAP.

13. SDP должен позволять находить и использовать службы которые обеспечивают доступ к другим протоколам обнаружения служб. Это позволяет расширять возможности системы, и использовать службы и устройства которые не имеют Bluetooth интерфейса.

14. SDP должен поддерживать создание и определение новых служб без необходимости централизовано регистрироваться.

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

1. SDP 1.0 не предоставляет механизма доступа с службам, только информацию о службах.

2. SDP 1.0 не предоставляет возможности оценивать службы. То есть, с его помощью нельзя автоматически выбрать наиболее подходящую службу, если доступно сразу несколько служб предоставляющий похожий сервис.

3. SDP 1.0 не позволяет договариваться о параметрах службы.

4. SDP 1.0 не позволяет узнать о загруженности службы, или устройства предоставляющего службу.

5. SDP 1.0 не даёт возможности клиенту управлять службой.

6. SDP 1.0 не позволяет уведомлять о том, что служба или информация о службе становится недоступной.

7. SDP 1.0 не позволяет уведомлять о том, что атрибуты службы изменились.

8. В настоящее время спецификация не описывает интерфейса, через который программы должны обращаться к SDP.

9. SDP 1.0 в настоящее время не обладает развитым механизмом управления списком служб, например

10. SDP 1.0 не позволяет накапливать и регистрировать службы.

Ещё одним из протоколов которые используют L2CAP в качестве транспортного является, как видно из приведённой выше схемы, RFCOMM. Этот протокол эмулирует соединение 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 сетями. Кроме этого, данный метод хорош когда требуется дополнительная защита данных. Можно возразить, что при расстояниях на которых работает Bluetooth защита аудиоданных не актуальна, но как человек прошедший Советскую Армию телефонистом-секретчиком могу Вас заверить, применение найти можно. Аппарат для шифровки телефонных разговоров в СА средней или малой мощности (среднестатистическое время стойкости - 12 часов, хотя при наличии соответствующей аппаратуры его можно было расколоть и за 14 минут. И это в 89 году, сейчас ещё быстрее) имел вес 120 килограмм, и содержал в себе более полу килограмма чистого серебра, около 40 грамм золота и 15 грамм палладия. Брали, как обычно, не качеством, а количеством. Считалось, что если наклепать таких агрегатов достаточно много, то расшифровать зашифрованные с их помощью переговоры будет гораздо дороже (!) чем их зашифровать. Мда. Техника шагнула вперёд, и очень далеко, но, всё-таки, я не сильно удивлюсь, если машины-аппаратные П-244 до сих пор используются в Российской Армии, или где-либо ещё. Bluetooth может обеспечить ещё более надёжную защиту, при большем удобстве и меньшей стоимости.

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

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

Оказавшись рядом, Bluetooth устройства могут устанавливать не только соединения типа точка-к-точка, когда имеется только два устройства, но и точка-к-многоточек, когда одно устройство одновременно работает с несколькими другими. При соединении одного устройства с несколькими другими, устройство которое обслуживает несколько соединений называется master, а подключенные устройства - slave.

К одному master’у может быть подключено до семи активных slave. Кроме активных slave (то есть, устройств которые активно обмениваются данными), может существовать множество неактивных slave, которые не могут обмениваться данными с master пока заняты все каналы, но, тем не менее, остаются синхронизированы с ним. Такая структура называется piconet.

В одной piconet может быть только один master, однако каждый slave может одновременно являться master’ом для других устройств, и образовывать свой piconet. Несколько piconet объединенных таким образом образуют scatternet. В рамках scatternet разные устройства могут не только быть одновременно master и slave одновременно для различных piconet, но и просто slave для разных piconet. Более наглядно с этой структурой можно ознакомиться на представленном ниже рисунке.


Более того, в случае необходимости любой 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 устройствами находящимися в пределах досягаемости является одной из важнейших особенностей Blueooth, поэтому первое, с чего начинается работа 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 соединений с точки зрения построения защищённых соединений остаётся возможность перехвата трафика, причём для этого даже не придётся использовать какое либо специфическое оборудование. Впрочем, эта проблема не нова, и в настоящее время часто приходится использовать открытые сети, вроде Интернет, где возможен перехват трафика, для передачи закрытых данных. Противодействие "брони и снаряда" продолжается.

вернуться в раздел


 

Яндекс.Метрика
Copyright © 2004 - 2016 Armnet™. Все права защищены.
Добавить в избранное
Музыка
Видеотека
Развлечения
Интересно
Полезно
Реклама