Технология Bluetooth
Министерство
образования и науки Украины
Национальный Технический Университет
«Харьковский Политехнический Институт»
кафедра
"Системы информации"
Курсовой
проект
по
дисциплине "Архитектура компьютерных
сетей"
Технология
Bluetooth
| Руководитель
проекта _________________/ Охрименко М.Ю./ | |
| Выполнила студентка
гр. КИТ-47а ___________________/Барбулат Н. В./ |
Харьков 2010
Содержание
| Содержание
.............................. Введение .............................. 1 Концепция,
принципы построения и 1.1
Концепция и основные 1.2
Принципы построения и 1.3
Архитектура Bluetooth..................... 2 Технические
аспекты установки соединения
между bluetooth устройствами.................. 3 Набор базовых
протоколов, используемых в Bluetooth
для передачи различных типов данных........................ 4 Спецификации
Bluetooth.....................
|
2
3 5 5 6 10 11 14 20 20 20 20 21 22 22 22 23 24 25 |
Введение
Настоящий курсовой проект посвящен одной из наиболее динамично развивающихся беспроводных технологий связи, получившей широкую известность в мире как Bluetooth технология.
В начале 1998 года Ericsson, IBM, Intel, Toshiba и Nokia – крупнейшие компании компьютерного и телекоммуникационного рынка – объединились для совместной разработки технологии беспроводного соединения мобильных устройств. 20 мая 1998 года произошло официальное представление специальной рабочей группы (SIG – Special Interest Group), призванной обеспечить беспрепятственное внедрение технологии, получившей название Bluetooth. Вскоре в группу вошли 3COM/Palm, Axis Communication, Motorola, Compaq, Dell, Qualcomm, Lucent Technologies, UK Limited, Xircom. Сейчас группа включает в себя более 1400 компаний, принимающих участие в работе над бесплатной открытой спецификацией Bluetooth. Благодаря простоте и изяществу этой технологии, многие специалисты уверены, что Bluetooth не имеет конкуренции в области создания небольших локальных сетей и беспроводного объединения устройств в пределах дома, офиса или, скажем, автомобиля.
В отличие от технологии инфракрасной связи IrDA (Infrared Direct Access), работающей по принципу "точка-точка" в зоне прямой видимости, технология Bluetooth разрабатывалась для работы как по принципу "точка-точка", так и в качестве многоточечного радиоканала, управляемого многоуровневым протоколом, похожим на протокол мобильной связи GSM.
Bluetooth
стала конкурентом таким
Основной
идей новой технологии было предоставление
возможности легкого и удобного
беспроводного соединения различных
устройств и организации
В
курсовом проекте рассматриваются
концепция, принципы построения, архитектура
Bluetooth и технические аспекты установки
соединения между bluetooth устройствами.
Кроме этого показаны набор базовых протоколов,
используемых в Bluetooth для передачи различных
типов данных, и существующие на сегодняшний
день спецификации Bluetooth.
1 Концепция,
принципы построения
и архитектура Bluetooth
1.1 Концепция и основные положения технологии Bluetooth
Bluetooth – это современная технология беспроводной передачи данных, позволяющая соединять друг с другом практически любые устройства: мобильные телефоны, ноутбуки, принтеры, цифровые фотоаппараты и даже холодильники, микроволновые печи, кондиционеры. Соединить можно все, что соединяется, то есть имеет встроенный микрочип Bluetooth. Технология стандартизирована, следовательно, проблемы несовместимости устройств от конкурирующих фирм быть не должно.
Bluetooth
– это маленький чип, представляющий
собой высокочастотный (2.4 – 2.48 ГГц) приёмопередатчик.
Внешний вид модуля Bluetooth представлен
на рис. 1.1.
Рисунок
1.1 – Внешний вид модуля Bluetooth
Технология Bluetooth предусматривает три уровня защиты:
1) Минимальная – данные кодируются общим ключом и могут приниматься любым устройством без ограничения.
2) Защита на уровне устройства – в чипе прописывается уровень доступа, в соответствии с которым устройство может получать определенные данные от других устройств.
3) Защита на уровне сеанса связи – данные кодируются 128-битными случайными номерами, хранящимися в каждой паре чипов, участвующих в конкретном сеансе связи.
1.2 Принципы построения и функционирования Bluetooth
Технология
Bluetooth полностью открыта. Для исключения
появления несовместимых
Рисунок 1.2 – Bluetooth-связь
между хостами
Каждый bluetooth-модуль содержит формирующую и приёмно-передающую аппаратуру, а также встроенное или "зашитое" программное обеспечение (Firmware). К последнему относится интерфейс хост-контроллера (HCI), менеджер связи (Link Manager), а также контроллер несущей частоты (Baseband). Связь модуля с хостом на физическом и канальном уровнях осуществляется с помощью шин USB, UART, PC Card и соответствующего встроенного ПО. К физическому уровню относится также радиолиния между модулями.
Модуль поддерживает приём-передачу данных и речевых сигналов. Связь между модулем и хост-контроллером производится с помощью высокоскоростного USB-интерфейса или UART/PCM-интерфейса. Когда используется USB-интерфейс, модуль является USB-ведомым прибором и поэтому не требует ресурсов персонального компьютера.
Интерфейс хост-контроллера (ИХК) в модуле является командным интерфейсом. Хост через ИХК направляет команды, а в ответ принимает от модуля сообщения об их выполнении. Менеджер связи устанавливает необходимую конфигурацию ИХК.
Технология Вluetooth предполагает два вида связи: синхронную – SCO (Synchronous Connection Oriented) и асинхронную – ACL (Аsynchronous Connectionless). Первый вид, SCO, рассчитан на установление симметричного соединения "точка – точка" и служит преимущественно для передачи речевых сообщений. Скорость передачи информации SCO равна 64 Кбит/с. Второй, ACL, предназначен для пакетной передачи данных. Он поддерживает симметричные и асимметричные соединения типа "точка – много точек". Скорость передачи пакетной информации при ACL cоставляет порядка 721 Кбит/с. Пакеты данных имеют фиксированный формат. В начале блока находится 72-бит код доступа. Он может применяться, в частности, для синхронизации устройств. За ним следует 54-бит заголовок пакета, содержащий контрольную сумму пакета и информацию о его параметрах (например, о повторной передаче блока данных). Замыкает пакет область, непосредственно содержащая пересылаемую информацию. Размер этой области варьируется от 0 до 2745 бит.
Основополагающим принципом построения систем Bluetooth является использование метода расширения спектра при скачкообразном изменении частоты (FHSS – Frequency Hop Spread Spectrum). Весь выделенный для bluetooth-радиосвязи частотный диапазон 2,402…2,480 ГГц разбит на N частотных каналов (рис. 1.3а). Полоса каждого канала 1 МГц, разнос каналов – 140…175 кГц. Для кодирования пакетной информации используется частотная манипуляция (рис. 1.3б).
Рисунок
1.3 – Частотный диапазон Bluetooth (а) и способ
кодирования пакетной информации (б)
Смена каналов производится по псевдослучайному закону с частотой 1600 Гц. Постоянное чередование частот позволяет радиоинтерфейсу Bluetooth транслировать информацию по всему диапазону ISM и избежать воздействия помех со стороны устройств, работающих в этом же диапазоне. Если данный канал зашумлён, то система перейдёт на другой, и так будет происходить до тех пор, пока не обнаружится канал, свободный от помех. На рис. 1.4 показана частотно-временная плоскость, иллюстрирующая одновременную работу трёх bluetooth-модулей. Модули работают тактами (слотами), длительностью 625 мкс. Каждому модулю в пределах каждого такта назначается соответствующий частотный канал и режим передачи или приёма.
Когда пара любых bluetooth-устройств соединяется, то они образуют пикосеть. Аппарат, инициирующий связь, является ведущим (host, master), а остальные – ведомыми (slaves).
Рисунок
1.4 – Частотно-временная диаграмма
работы модулей Bluetooth
Обычно
ведущим является тот модуль, который
размещён в наиболее мощном устройстве,
таком, как персональный компьютер или
плата CPU мини-ЭВМ. Число модулей в пикосети
не ограничивается, но в любой момент времени
активны должны быть не больше восьми.
Не существует разницы как в аппаратной,
так и в программной части между ведущими
и ведомыми устройствами. Любое из них
может быть и тем и другим. Ведущее формирует
пикосеть (в каждой сети оно только одно)
и полностью контролирует трафик. Ведомые
могут отсылать сообщения только в интервале
"ведомые – ведущему" после того,
как к ним обратился в предшествующий
слот "ведущий – ведомым". Если в
этом интервале у ведущего нет никакой
информации для отправки ведомым, то он
передает пакет только с кодом доступа
и заголовком. Если в сети оказывается
более 8 устройств, то будет сформирована
вторая пикосеть и так далее. Предусмотрена
координация трафика и между сетями.
1.3 Архитектура Bluetooth
Основу Bluetooth составляет пикосеть (piconet), состоящая из одного главного узла и нескольких (до семи) подчиненных узлов, расположенных в радиусе 10 м. В одной и той же комнате, если она достаточно большая, могут располагаться несколько пикосетей. Более того, они могут даже связываться друг с другом посредством моста (специального узла), как показано на рис. 1.5. Несколько объединенных вместе пикосетей составляют рассеянную сеть (scatternet).
Рисунок
1.5 – Связь пикосетей Bluetooth
Помимо
семи активных подчиненных узлов, один
главный узел может поддерживать
до 255 так называемых отдыхающих узлов.
Это устройства, которые главный узел
перевел в режим пониженного энергопотребления
– за счет этого продлевается ресурс их
источников питания. В таком режиме узел
может только отвечать на запросы активации
или на сигнальные последовательности
от главного узла. Главный узел контролирует
временные интервалы и распределяет очередность
передачи данных каждым из подчиненных
узлов. Связь существует только между
подчиненным и главным узлами. Прямой
связи между подчиненными узлами нет.
Таким
образом, концепция Bluetooth обеспечивает
беспроводную передачу данных, позволяющую
соединять друг с другом практически любые
устройства. Принципы построения и функционирования
Bluetooth обеспечивают полную открытость
технологии. Основу архитектуры Bluetooth
составляет пикосеть, состоящая из одного
главного узла и нескольких подчиненных
узлов, при этом несколько объединенных
вместе пикосетей составляют рассеянную
сеть.
2
Технические аспекты
установки соединения
между bluetooth устройствами
Автоматическая установка соединения между 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 соединений с точки зрения
построения защищённых соединений остаётся
возможность перехвата трафика, причём
для этого даже не придётся использовать,
какое либо специфическое оборудование.
Впрочем, эта проблема не нова, и в настоящее
время часто приходится использовать
открытые сети, вроде Интернет, где возможен
перехват трафика, для передачи закрытых
данных.
Таким
образом, одной из важнейших особенностей
Blueooth является автоматическая установка
соединения между bluetooth-устройствами,
находящимися в пределах досягаемости.
Поэтому работа Bluetooth начинается с поиска
других bluetooth-устройств. При этом одной
из важнейших особенностей Bluetooth является
автоматическое подключение bluetooth-устройств
к службам, предоставляемым другими bluetooth-устройствами.
3
Набор базовых протоколов,
используемых в Bluetooth
для передачи различных
типов данных
Технология Bluetooth может применяться в широком спектре приложений, но наиболее интересным ее приложением является предоставление удобного средства беспроводной связи для электронных устройств, таких как мобильные телефоны, лэптопы, карманные и настольные компьютеры, цифровые фото- и видеокамеры, факсы, принтеры, клавиатуры, мыши и джойстики, системы домашней сигнализации, часы и кофеварки. В 90-х годах в большинстве случаев беспроводные соединения между мобильными телефонами, ноутбуками и карманными компьютерами осуществлялись при помощи действующего в пределах зоны прямой видимости инфракрасного сигнала. Поскольку в технологии Bluetooth используется радиосигнал, устройства более не должны находиться в пределах прямой видимости. Кроме того, помимо двухточечных соединений технология Bluetooth поддерживает многоточечные соединения.
У каждого устройства, поддерживающего технологию Bluetooth, есть уникальный 12-разрядный адрес. Чтобы устройство А могло связаться с устройством В, оно должно знать адрес устройства В. Технологией Bluetooth также поддерживается аутентификация устройств и шифрование сообщений.
В набор протоколов Bluetooth входят несколько протоколов.
1) Узкополосный протокол обеспечивает физическое беспроводное соединение между устройствами. При соединении от двух до семи bluetooth-устройств образуется небольшая сеть, называемая piconet.
2) Протокол управления каналом отвечает за установку соединения, называемую "рукопожатием", во время которой два устройства обмениваются необходимой информацией.
3) Протокол L2CAP обеспечивает адаптацию протоколов более высокого уровня к передаче по узкополосному каналу.
После
того, как соединение установлено, его
можно использовать для самых различных
целей. Возможно это благодаря набору
базовых протоколов, используемых в Bluetooth
для передачи различных типов данных.
С упрощённой схемой их зависимости друг
от друга можно ознакомиться на приведённой
ниже схеме (рис. 3.1).
Рисунок
3.1 – Взаимозависимость базовых протоколов
Bluetooth
В основе всего, как видно из схемы, лежит 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 таковы:
1) Protocol Multiplexing. L2CAP является транспортом для многих протоколов и служб, поэтому он обеспечивает возможность разобраться, к какому протоколу или службе относится переданный пакет, что обеспечивает доставку пакета именно тому, кому его ждёт.
2) Segmentation and Reassembly. Максимальной длиной пакета для L2CAP является 64 килобайта, для baseband protocol это число ещё меньше, всего 341 байт. Однако, иногда требуется передача больших пакетов, поэтому L2CAP обеспечивает разбивку большого пакета на несколько более мелких, и последующую сборку первоначального пакета.
3) Quality of Service. L2CAP поддерживает QoS, что позволяет bluetooth устройствам отслеживать свободные ресурсы соединения и не позволять, что бы ширина канала или временные задержки для отслеживаемой службы опускались ниже критических значений.
4) Groups. L2CAP поддерживает адресацию не одному клиенту, а сразу целой группе. Кроме L2CAP непосредственно с baseband protocol работают Link Management Protocol, или LMP, и Voice каналы, используемые для передачи аудиоинформации в синхронном режиме.
LMP является служебным протоколом, используемым для управления каналом, и не использующимся для передачи данных. Сообщения LMP используются для настройки физических характеристик канала, для служб безопасности на уровне физического канала (security mode 3), и тому подобных вещей. LMP имеет более высокий приоритет чем остальные протоколы (например, L2CAP), поэтому если канал занят чем-либо другим, то при необходимости передать LMP сообщение он немедленно освобождается.
Voice,
или Bluetooth Audio. Это одна из служб
Bluetooth, которая использует синхронное
соединение. Как уже говорилось,
одновременно может
Одним из важнейших протоколов Bluetooth, который использует L2CAP в качестве транспортного протокола, является Service Discovery Protocol, или SDP. Сейчас никто не сможет представить все возможные способы использования bluetooth устройств, поэтому при разработке этого протокола пытались учесть как можно больше ситуаций, которые могут возникнуть. Версия 1.0 этого протокола, и основные особенности, которыми он располагает, таковы:
1) SDP должен позволять поиск служб по специальным атрибутам этих служб. Например, если имеется несколько принтеров, доступных через Bluetooth, то клиент должен иметь возможность найти именно тот принтер, который ему нужен.
2) SDP должен позволять клиенту искать службы по классу. Если немного переделать предыдущий пример, то если клиенту понадобится принтер, то должна быть возможность найти именно устройство печати, не зная про него ничего другого.
3) SDP должен позволять просматривать службы без необходимости знать специфические характеристики этих служб. Например, если устройство предоставляющее какую-либо услугу может управляться только специальным программным обеспечением по какому-либо очень редкому или закрытому протоколу, то для SPD это не будет проблемой, всё равно можно будет получить информацию о доступности и названии службы.