Bluetooth

Материал из ПИЭ.Wiki

Перейти к: навигация, поиск

В 1994 году начались работы по изучению возможности использования мобильных, сетевых коммуникаций. Компании IBM, Nokia, Intel и Toshiba создали консорциум для разработки стандарта беспроводной связи между ЭВМ посредством устройств с ограниченным радиусом действия.

Проект получил название Bluetooth. Существует официальная версия происхождения названия, согласно которой, прозвище Гарольда I Синезубого Гормссона (Harold Bluetooth); 930-986) — короля Дании и Норвегии, было дано технологии, призванной объединить различные электронные устройства, подобно тому, как Гарольд объединил народы на территории современных Дании и Сконе, где и была разработана эта технология.

Bluetooth – это обмен информацией между такими устройствами как карманные и обычные персональные компьютеры, ноутбуки, принтеры, мобильные телефоны, мышки, клавиатуры, цифровые фотоаппараты, джойстики и наушники на надёжной, недорогой, повсеместно доступной радиочастоте для ближней связи. Bluetooth позволяет этим устройствам сообщаться, когда они находятся в радиусе до 10 - 100 метров друг от друга (дальность очень зависит от преград и помех), даже в разных помещениях.

Проект являлся конкурентом стандарта IEEE 802.11 (оба стандарта используют один и тот же частотный диапазон, одни и те же 79 каналов). Главной его целью являлось удаление любых кабелей из телефонии, а если получится — и из локальных сетей. Очевидно, что в нынешнем виде Bluetooth не может вытеснить 802.11 хотя бы из-за ограничений на максимальный размер сети. Но эта технология быстро развивается и трудно предсказать, какое место она займет в самые ближайшие годы. В 1999 году был издан 1500-страничный документ v1.0. После этого группа стандартизации IEEE взяла этот документ за основу стандарта 802.15 (физический уровень и уровень передачи данных).

В 2002 году IEEE утвердил стандарт 802.15.1. Технология Bluetooth использует не лицензируемый (практически везде кроме России) частотный диапазон 2,4 2,4835ГГц. При этом используются широкие защитные полосы: нижняя граница частотного диапазона составляет 2ГГц, а верхняя - 3,5ГГц. Точность заданий частоты (положение центра спектра) задается с точностью ± 75 кГц. Дрейф частоты в этот интервал не входит.

Кодирование сигнала осуществляется по двухуровневой схеме GFSK (Gaussian Frequency Shift Keying). Логическому 0 и 1 соответствуют две разные частоты. В оговоренной частотной полосе выделяется 79 радиоканалов по 1 МГц каждый. В некоторых странах используется меньшее число каналов (например, во Франции — 23). Каждый из каналов структурируется с помощью выделения временных слотов (доменов) длительностью 625 мкс (разделение по времени).

По мощности передатчики делятся на три класса: 100мВт (для связи до 100м; 20дБм); 2 мВт (до 10м; 4дБм) и 1 мВт (~10см; 0дБм). Коэффициент модуляции при этом лежит в диапазоне (0,28-0,35). Чувствительность приемника должна быть не хуже 70дБм. BER (Bit Error Rate) для приемника должна находиться на уровне <0,1%. Желательно, чтобы приемник имел индикатор мощности входного сигнала (требование является опционным).

Для первого класса предусмотрено регулирование мощности. Регулировка осуществляется на основе анализа числа ошибок. Протокол использует коммутацию каналов и пакетов. Передача данных выполняется с использованием алгоритма доступа Time-Division Duplex Multiple Access. Каждый пакет передается с использованием иного частотного канала по отношению к предыдущему.

Структура протоколов Bluetooth не следует моделям OSI, TCP/IP и даже 802 (ведутся работы по адаптации Bluetooth к модели IEEE 802). Физический уровень протокола соответствует базовым принципам моделей OSI и 802. Разработчики потратили много усилий, чтобы сделать протокол как можно дешевле для реализации.

В спецификации определено 5 уровней протокола: физический, базовый (baseband), управления каналом LMP (Link Management Protocol) и L2CAP (Logical Link Control and Adaptation Protocol), сетевой и уровень приложений.

На уровне baseband протокола определено 13 типов пакетов. Пакеты ID, NULL, POLL, FHS , DM1 определены для каналов SCO и ACL. Пакеты DH1, AUX1, DM3, DH3, DM5 и DH5 определены только для каналов ACL. Кодирование данных в пакетах DM1, DM2 и DM3 осуществляется с привлечением битов четности по алгоритму FEC 2/3 (5 бит управления на 10 бит данных). Форматы пакетов HV1, HV2, HV3 и DV определены только для каналов SCO. Максимальный размер поля данных (341 байт) имеют пакеты DH5. Уровень протокола baseband специфицирует пять логических каналов: LC (Control Channel) и LM (Link Manager) используются на канальном уровне, а UA (User Asynchronous), UI (User Isosynchronous) и US (User Synchronous) служат для асинхронной, изосинхронной и синхронной транспортировки пользовательских данных. Контроллер Bluetooth может работать автономно (Standby) или в режиме соединения. Предусмотрено семь субсостояний, которые используются для добавления клиента или подключения к пикосети: page, page scan, inquiry, inquiry scan, master response, slave response и inquiry response.

Состояние Standby по умолчанию является режимом с пониженным энергопотреблением, при этом работает только внутренний задающий генератор. В состоянии соединения главный узел (master) и клиент (slave) могут обмениваться пакетами, используя код доступа к каналу.

В протоколе baseband предусмотрено три типа схем коррекции ошибок: 1/3 FEC, 2/3 FEC и ARQ.

-В 1/3 FEC каждый бит повторяется три раза.

-В 2/3 FEC используется полиномиальный генератор для получения 15-битовых кодов для исходных 10 бит.

-В схеме ARQ пакеты DM, DH и поле данных пакета DV передаются повторно до тех пор, пока не будет получено подтверждение, или не произойдет таймаут. При таймауте возможно продолжение со следующего пакета.

Протоколом baseband рекомендуется использование буферов типа FIFO. Если данные не могут быть приняты, контроллер приема (Link Controller) вставляет в заголовок отклика индикатор stop. Когда передатчик получает индикатор stop, он блокирует очереди в FIFO. Получатель может возобновить процесс передачи, послав отправителю индикатор go.

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

Этап 1:

Процедура inquiry позволяет устройству определить, какие приборы доступны, выяснить адреса и осуществить синхронизацию.

1. Посылаются пакеты inquiry и получаются отклики

2. Будем считать, что блок (адресат), получивший пакет inquiry, находится в состоянии inquiry scan (тогда он способен принимать такие пакеты)

3. Получатель переходит в состояние inquiry response и посылает отправителю пакет-отклик

После того как процедура inquiry завершена, соединение может быть установлено с помощью процедуры paging.

Этап 2:

Процедура paging реализует соединение. Для осуществления этой процедуры необходим адрес. Устройство, выполняющее процедуру paging, автоматически становится хозяином этого соединения.

1. Посылается пакет paging

2. Адресат получает этот пакет (находится в состоянии page Scan)

3. Получатель посылает отправителю пакет-отклик (находится в состоянии Slave Response)

4. Инициатор посылает адресату пакет FHS (находится в состоянии Master Response)

5. Получатель посылает отправителю второй пакет-отклик (находится в состоянии Slave Response)

6. Получатель и отправитель устанавливают параметры канала, заданные инициатором (находятся в состоянии Master Response & Slave Response)

После установления соединения главный узел (master) посылает пакет POLL, чтобы проверить, синхронизовал ли клиент свои часы и настроился ли на коммутацию частот. Клиент при этом может откликнуться любым пакетом.

Устройство Bluetooth при установлении соединения может работать в четырех режимах: Active, Hold, Sniff и Park (активный, удержание, прослушивание и пассивный, соответственно).

Файл:1б.png

Основу сети Bluetooth составляют пикосети (piconet), состоящие из одного главного узла и до семи клиентских, размещенных в радиусе 10 м (смотри рис. 1). Все узлы такой сети работают на одной частоте и разделяют общий канал. В одной достаточно большой комнате могут располагаться несколько пикосетей. Эти сети могут связываться друг с другом через мосты. Пикосети, объединенные вместе, составляют рассеянную сеть (scatternet). Поскольку в каждой пикосети имеется свой master, последовательность и фазы переключения их частот не будут совпадать. Если пикосети взаимодействуют друг с другом, это приводит к понижению пропускной способности. Устройство Bluetooth может выступать в качестве клиента в нескольких пикосетях, но главным узлом (master) может быть только в одной пикосети. Кроме 7 активных клиентских узлов главный узел может поддерживать до 255 пассивных (спящих) узлов (переведенных управляющим узлом в режим пониженного энергопотребления).

Файл:2б.jpg

Рис. 1. Две пикосети, образующие рассеянную сеть

Самым низким уровнем протокола является уровень радиосвязи. На этом уровне данные передаются от главного узла к подчиненному бит за битом. Все узлы пикосети перестраивают частоту одновременно, последовательность частот определяется главным узлом (М на рис. 1). Главный узел (master) является источником синхронизации для всех клиентов пикосети.

Выше уровня радиосвязи размещен уровень немодулированной передачи. Он преобразует поток бит в кадры и определяет базовые форматы. Передача со стороны главного узла производится в четные такты, а со стороны подчиненных узлов — в нечетные. Кадры могут иметь длину 1, 3 или 5 тактов. Все кадры передаются между главным и подчиненным узлами по логическому каналу, называемому соединением.

Одним из активных состояний узла является paging state. В этом состоянии возможно установление или возобновление соединения. Главный узел в этом состоянии непрерывно посылает в эфир короткие ID-пакеты, содержащие только код доступа устройства (device access code). В рамках одного временного домена посылается два пакета на двух разных частотах. Узел-клиент в состоянии paging прослушивает за время 625 мксек две частоты, проверяя наличие своего кода (ID).

Для установления соединения посылается запрос. Отправитель запроса не сообщает ничего, кроме своего типа. Когда пассивное устройство обнаружено главным узлом пикосети (откликнулось пакетом FHS, сообщающем о состоянии внутренних часов, об адресе и т.д.), главный узел формирует и посылает пакет POLL, с целью проверки правильности конфигурационных параметров и готовности к приему данных. Клиент может ответить любым пакетом, но если мастер не получил никакого отклика, он переходит в состояние paging или inquiry. Клиент может подключиться и к другой пикосети, для этого в текущей сети он может запросить перехода в режим park или hold. В режиме sniff клиент имеет несколько свободных временных слотов, чтобы участвовать в обменах с соседними сетями. Терминал, находящийся вне зоны связи, должен пребывать в состоянии page mode. Шлюз-сервер должен выделять достаточно ресурсов для запросов page scanning.

Прежде чем два устройства Bluetooth начнут взаимодействовать, каждый из них должен:

- быть включенным и инициализированным. При инициализации может потребоваться PIN для формирования ключа соединения (link key);

- должен сформировать Bluetooth соединение, которое может потребовать BD_ADDR (уникальный 48-битовый адрес устройства) других устройств.

Как и для всех радиосредств коммуникации, для Bluetooth проблема безопасности крайне актуальна. Безопасность протокола обеспечивается с помощью механизма аутентификации (проверка подинности идентификатора) и шифрования передаваемых данных. Ключ авторизации имеет 128 бит. Длина ключа шифрования может лежать в пределах 8-128 бит. Кроме того, целям безопасности служат ключи соединения (link key), которые могут быть полупостоянными и временными. Первые хранятся в энергонезависимой памяти, вторые — обновляются при каждом соединении. Устройство может генерировать свой ключ (unit key). Возможно формирование совместного ключа (combination key), при его вычислении используется информация от обоих участников будущего обмена. Особое место занимает мастер-ключ (master key), используемый для рассылки данных нескольким узлам одновременно (используется вместо текущего ключа соединения (current link key)). Для выполнения аутентификации устройству нужно получить от партнера случайное число, сформировать на основе него и своего BD_ADDR некоторый код и отослать его партнеру, который проверяет его корректность. Если общий ключ не сгенерирован, формируется инициализационный ключ. Инициатор процедуры посылает партнеру случайное число, которое в сочетании с идентификатором BD_ADDR последнего образует инициализационный ключ.

Литература

1. Э. Таненбаум "Компьютерные сети", Питер, 2003

2. Олифер В.Г., Олифер Н.А. Основы сетей передачи данных, 2005

--Анна Касинова и Кристина Чешенко

Просмотры
Инструменты

Besucherzahler russian mail order brides
счетчик посещений
Rambler's Top100
Лингафонные кабинеты  Интерактивные доски  Интерактивная приставка Mimio Teach