Беспроводные сети

         


Архитектура протоколов

Bluetooth определяется как многоуровневая протокольная архитектура (Рисунок 6.2), состоящая из внутренних протоколов, протоколов замены кабеля и управления телефонией и адаптированных протоколов.



Аудио



Аудио

В узкополосной спецификации указано, что могут использоваться две схемы шифрования речи: импульсно-кодовая модуляция (Pulse Code Modulation — PCM) или дельта-модуляция с непрерывной переменной огибающей (continuously variable slope delta — CVSD). Схему выбирают администраторы двух связанных устройств, исходя из конкретного приложения.

Модуляция РСМ была рассмотрена в разделе 6.4. CVSD - это разновидность дельта-модуляции (delta modulation — DM), которая также рассматривалась в указанном разделе. Напомним, что при дельта-модуляции, аналоговые входные данные аппроксимируются ступенчатой функцией, значение которой изменяется на один уровень квантования (?) на каждом интервале дискретизации (Ts). Таким образом, для представления выхода дельта-модуляции достаточно одного бита на выборку. По сути, поток таких битов — это аппроксимация производной аналогового сигнала, а не его амплитуды: значение 1 генерируется, если ступенчатая функция увеличивает свое значение на следующем интервале дискретизации; в противном случае генерируется значение 0.

Ранее уже отмечалось, что в схемах DM существует два типа ошибок: шум квантования, имеющий место при очень медленном изменении сигнала, и шум перегрузки по крутизне — при очень быстром изменении сигнала. Схема CVSD предназначена для минимизации ошибок обоих типов путем применения разных уровней квантования: малых, когда сигнал меняется медленно, и больших, когда сигнал меняется быстро (Рисунок 6.13). Крутизна сигнала определяется на основе изучения К предшествующих битов выходных данных. Получающаяся в результате схема устойчивее к ошибкам, чем РСМ, и более устойчивая к ошибкам квантования и перегрузки по крутизне, чем DM.



Аутентификация с запросом и ответом



Рисунок 6.15 - Аутентификация с запросом и ответом


На Рисунок 6.15 показана аутентификация только в одном направлении. Для взаимной аутентификации описанную выше процедуру должен инициировать модуль В.

Пользовательская информация может защищаться путем шифрования полезной нагрузки пакета; код доступа и заголовок пакета никогда не шифруются. Шифрование производится по алгоритму, известному как Е0. Соответствующий процесс показан на Рисунок 6.16. Если шифрование данных возможно, ведущее устройство посылает подчиненному случайное число RAND. Для каждой передачи пакета генерируется новый ключ шифрования. Вначале генерируется разовый ключ полезной нагрузки: сложным способом комбинируются число RAND, адрес ведущего устройства, текущее время и общий секретный ключ. Этот ключ полезной нагрузки используется как вход алгоритма Е0, в результате получается непрерывный поток битов (на Рисунок 6.16 обозначен символом z). Алгоритм Е0 реализуется на линейном регистре сдвига с обратной связью (linear feedback shift register — LFSR), для инициализации которого используется ключ полезной нагрузки. При шифровании (и дешифровании) к полезной нагрузке и выходу Е0 применяется операция побитового исключающего ИЛИ. Поскольку для каждого сеанса шифрования текущее время будет разным, безопасность увеличивается еще и за счет постоянного изменения ключей шифрования.





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



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


В узкополосной спецификации Bluetooth определены следующие средства организации безопасного канала между любыми двумя устройствами Bluetooth:

• аутентификация;

• шифрование (конфиденциальность);

• управление использованием ключей.

В алгоритмах безопасности фигурируют четыре параметра.

• Адрес модуля. Общеизвестный 48-битовый адрес устройства.

• Секретный ключ аутентификации. Секретный 128-битовый ключ.

• Секретный частный ключ. Секретный ключ длиной от 4 до 128 бит.

• Случайное число. 128-битовое случайное число, сгенерированное на устройстве Bluetooth.

Два названных секретных ключа создаются и используются только устройством Bluetooth; разглашаться они не должны.

Цель аутентификации — проверить, действительно ли устройство Bluetooth, с которым планируется обмен данными, является тем, за кого себя выдает. На Рисунок 6.15 показана процедура аутентификации модулем А модуля В. Аутентификация заключается в проверке того, что оба устройства используют один предопределенный общий ключ аутентификации. Вначале А генерирует случайное число AU_RANDA и передает это значение В. Обе стороны используют алгоритм аутентификации E1 для генерации 32-битового подписанного ответа SRES. На вход E1 подается значение AU_RANDA, 48-битовый адрес устройства В и общий секретный ключ, а на выходе получается 128-битовое значение; 32 бит выхода формируют SRES. Алгоритм E1 (основанный на алгоритме шифрования SAFER) генерирует код аутентификации сообщения (message authentication code — MAC), представляющий собой хэш-код входных данных, основанный на секретном ключе. После того как В сгенерирует значение SRES, это значение возвращается А. А сравнивает поступившее значение SRES с локально сгенерированным. Если они совпадают — модуль В прошел аутентификацию.



Дельта модуляция с непрерывной переменной огибающей



Рисунок 6.14 - Дельта - модуляция с непрерывной переменной огибающей


В табл. 6.6 показаны значения параметров по умолчанию. Из данного выше определения следует, что если сигнал меняется быстро (по крайней мере J из последних К шагов выполнены в одном направлении), то величина изменения шага (?(k)) линейно увеличивается на постоянную величину ?min, вплоть до некоторой максимальной величины ?max. С другой стороны, если сигнал изменяется небыстро, то величина изменения шага постепенно (с коэффициентом затухания ?) уменьшается вплоть до минимального значения ?min. Знак изменения шага определяется значением выходных данных b(t).



Диаграмма переходов между состояниями Bluetooth



Рисунок 6.12 - Диаграмма переходов между состояниями Bluetooth


• Опрос. Устройство пытается определить, что находится в пределах его досягаемости.

• Поиск опроса. Устройство ожидает опрос.

• Ответ на опрос. Устройство, которое инициировало опрос, получает ответ на него.

Процедура опроса

Первое, что должно сделать потенциальное ведущее устройство для организации пикосети, — определить, какие еще устройства находятся в пределах его досягаемости, там, где предполагается развертывание пикосети. Для этого устройство начинает процедуру опроса, призванную активизировать пользователя или приложение на устройстве. Процедура начинается с передачи потенциальным ведущим устройством пакета ID с кодом доступа к опросу (inquiry access code — IAC), который является общим для всех устройств Bluetooth. Напомним, что пакет ID не имеет ни заголовка, ни полезной нагрузки.

Из 79 радионесущих 32 считаются активизирующими (wake-up carriers). Ведущее устройство ретранслирует код IAC на всех 32 таких несущих по очереди. Само устройство при этом находится в состоянии опроса (Рисунок 6.12). Между тем, устройства в холостом состоянии периодически переходят в состояние поиска опроса с целью поиска сообщений IAC на активизирующих радионесущих. Как только устройство получает это сообщение, оно переходит в состояние ответа на опрос и возвращает пакет FHS (табл. 6.5), который содержит адрес этого устройства и информацию по синхронизации, необходимую ведущему устройству для инициации подключения. Ведущее устройство не отвечает на пакет FHS и может остаться в состоянии опроса, пока не убедится, что найдены все устройства в переделах его досягаемости.

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



Документация Bluetooth



Рисунок 6.1 - Документация Bluetooth




Физические каналы



Физические каналы

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

• Ориентированный на установление соединения синхронный канал (Synchronous Connection Oriented — SCO). Выделяет фиксированную полосу двухточечному соединению, в котором задействованы ведущее устройство и одно из подчиненных устройств. Ведущее устройство поддерживает канал SCO путем использования через постоянные интервалы зарезервированных слотов. Основная единица резервирования — два последовательных слота (по одному в каждом направлении передачи). Ведущее устройство может одновременно поддерживать до трех каналов SCO, а подчиненное устройство — два или три канала SCO. Пакеты SCO никогда не передаются повторно.

• Асинхронный канал без установления соединения (Asynchronous Connectionless — ACL). Многоточечный канал между ведущим и всеми подчиненными устройствами пикосети. В слотах, не зарезервированных для каналов SCO, ведущее устройство может обмениваться пакетами с любым подчиненным устройством, в том числе и с устройствами, с которыми уже установлены каналы SCO. Может существовать только единственный канал ACL. Вследствие различных сбоев большинство пакетов ACL передаются повторно.

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

Каналы ACL обеспечивают соединения по принципу коммутации пакетов. Резервирование полосы невозможно, и доставка гарантируется посредством использования схем обнаружения ошибок и повторной передачи. Подчиненному устройству разрешается возвращать пакет ACL в слоте передачи от подчиненного устройства ведущему тогда и только тогда, когда он был передан в предыдущем слоте передачи от ведущего устройства подчиненному. Для каналов ACL определены 1-слотовые, 3-слотовые и 5-слотовые пакеты. Данные могут посылаться незащищенными (хотя на более высоких уровнях может использоваться схема ARQ) или защищенными кодом прямого исправления ошибок со степенью кодирования 2/3. Максимальная скорость передачи данных достигается при использовании 5-слотовых незащищенных пакетов и асимметричного распределения пропускной способности, это скорость 721 Кбит/с в прямом направлении и 57,6 Кбит/с — в обратном. Все существующие возможности приведены в табл. 6.4.



Формат полезной нагрузки



Формат полезной нагрузки

Для некоторых типов пакетов узкополосная спецификация определяет формат поля полезной нагрузки. Если ею является речь, заголовок не определен. В то же время заголовок определяется для всех пакетов ACL и данных в пакете DV SCO. Формат полезной нагрузки для данных состоит из трех полей.

• Заголовок полезной нагрузки. 8-битовый заголовок определяется для пакетов из одного слота, и 16-битовый заголовок — для многослотовых пакетов.

• Тело полезной нагрузки. Содержит пользовательскую информацию.

• CRC. 16-битовый код проверки четности с избыточностью, который используется для защиты всех полей полезной нагрузки, исключая поля в пакетах AUX1.

Заголовок полезной нагрузки (если он есть) состоит из трех полей (Рисунок 6.8, г).

• L_CH. Определяет логический канал (описаны ниже). Возможны следующие опции: сообщение LMP (11); нефрагментированное сообщение L2CAP или начало фрагментированного сообщения L2CAP (10); продолжение фрагментированного сообщения L2CAP (01); другое (00).

• Поток. Используется для управления потоком на уровне L2CAP. Аналогичен механизму включения/выключения, который предлагает поле потока в заголовке пакета трафика ACL.

• Длина. Число байтов данных в полезной нагрузке, исключая заголовок полезной нагрузки и CRC.



Форматы L2CAP



Рисунок 6.18 - Форматы L2CAP


Пакеты сигнальных команд имеют такой же формат заголовка, что и пакеты на основе соединения. В данном случае значение CID = 1 означает, что по этому каналу передается сигнальная информация. Полезная нагрузка сигнального пакета — это одна или большее число команд L2CAP, каждая из которых состоит из четырех полей.

• Код. Идентифицирует тип команды.

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

• Длина. Размер (в байтах) поля данных этой команды.

• Данные. Если необходимо, команду могут сопровождать дополнительные данные.



Исправление ошибок На узкополосном



Рисунок 6.10 - Пример операции повторной передачи


На Рисунок 6.11 механизм ARQ показан более подробно. После приема пакета (Рисунок 6.11, а) устройство, используя поле НЕС, проверяет, не поврежден ли заголовок. Если он поврежден, пакет отклоняется, а полю ARQN в следующем слоте присваивается значение NAK. Далее устройство сопоставляет адреса и проверяет, используется ли в пакетах указанного типа механизм ARQ. После того как обе проверки будут успешно пройдены, устройство проверяет, не совпадает ли новый порядковый номер (SEQN) с предыдущим. Если они различны, устройство проверяет CRC. При отсутствии ошибок в следующем исходящем пакете значение поля ARQN устанавливается равным АСК, при сбое на любом этапе проверок значение поля устанавливается равным NAK.



Качество обслуживания



Качество обслуживания

Параметр QoS в L2CAP определяет на основе RFC 13639 спецификацию потока трафика. По сути, спецификация потока — это набор параметров, отражающих уровень производительности, к которому будет стремиться передатчик.

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

Спецификация потока состоит из следующих параметров:

• тип услуги;

• скорость маркера (байты в секунду);

• размер сегмента в маркерах (байты);

• максимальная ширина полосы (байты в секунду);

• ожидание (микросекунды);

• разброс задержек (микросекунды).

Параметр тип услуги показывает уровень услуги для данного потока. При значении 0 по данному каналу трафик распространяться не будет; 1 — услуга "без обязательств", устройство будет передавать данные с максимально возможной скоростью, но без гарантий производительности; 2 — гарантированная услуга, отправитель будет передавать данные, которые соответствуют остальным параметрам QoS.

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

Спецификация трафика по схеме маркерного сегмента включает два параметра: скорость пополнения маркера (R) и размер сегмента (В). Маркерная скорость R задает среднюю непрерывную скорость передачи данных; т.е. за относительно долгий период времени среднее значение скорости передачи данных этого потока равно R. Размер сегмента В определяет величину разрешенного кратковременного превышения скорости R. Точное условие звучит так: в течение любого периода времени Т объем посланных данных не может превышать RT + В.

Данная схема показана на Рисунок 6.19, там же приведены иллюстрации используемых терминов. Сегмент представляет счетчик, который в любое время отображает допустимое количество байтов данных, которые могут посылаться. Сегмент заполняется маркерами байтов со скоростью R (т.е. значение счетчика увеличивается R раз в секунду) вплоть до его полного заполнения (максимальное значение счетчика). Данные поступают от пользователя L2CAP в форме пакетов, которые для передачи выстраиваются в очередь. Пакет может передаваться, только если есть достаточное количество маркеров байтов для маркировки всего пакета. Если маркеров достаточно, пакет передается и из сегмента уходит соответствующее число маркеров. Если маркеров недостаточно, то спецификация потока запрещает передачу такого пакета. В стандартах не указывается, что происходит с такими пакетами дальше; обычно пакет просто находится в очереди на передачу до тех пор, пока не будет накоплено нужное число маркеров.



Каналы L2CAP



Каналы L2CAP

L2CAP предлагает три типа логических каналов.

• Без установления соединения. Поддерживает услуги без установления соединения. Каждый канал является однонаправленным и обычно используется для широковещания от ведущего устройства.

• На основе соединения. Поддерживает услуги на основе соединений. Каждый канал является двунаправленным (полнодуплексным), причем в обоих направлениях задается определенное качество обслуживания (quality of service — QoS).

• Канал передачи сигналов. Предусмотрен для обмена сигнальными сообщениями между объектами L2CAP.

Пример использования логических каналов L2CAP приведен на Рисунок 6.17. С каждым логическим каналом соотнесен идентификатор канала (channel identifier — CID). Для каналов на основе соединения уникальное значение CID присваивается обоим концам канала, таким образом каждое соединение идентифицируется и сопоставляется с пользователем L2CAP на соответствующей стороне канала. Для идентификации каналов без установления соединения используется значение CID = 2, а каналов передачи сигналов — CID = 1. Таким образом, между ведущим и любым подчиненным устройством существует только один канал без установления соединения и один канал передачи сигналов, а каналов на основе соединения может быть несколько.



Рисунок 6.17 - Каналы L2CAP





Конфигурации беспроводной сети



Рисунок 6.5 - Конфигурации беспроводной сети


Преимущество схемы пикосеть/рассеянная сеть состоит в том, что она позволяет многим аппаратам находиться в одной физической области и эффективно использовать общую полосу. В системе Bluetooth задействована схема перестройки частоты с расстоянием между несущими 1 МГц. Как правило, при общей полосе 80 МГц может быть до 80 различных частот. Если передача ведется на одной частоте, то каждый отдельный канал соответствует полосе 1 МГц. При перестройке частоты логический канал определяется последовательностью изменения частоты. В любой момент времени доступна полоса 1 МГц, а максимальное число устройств, совместно использующих полосу, — 8. В общей полосе 80 МГц могут одновременно функционировать различные логические каналы (с разными последовательностями перестройки). Если устройства из различных пикосетей, работающие в различных логических каналах, одновременно перестроятся на одну частоту, произойдет конфликт. С увеличением числа пикосетей в области и, соответственно, числа конфликтов падает производительность. Подытожим: в рассеянной сети совместно используются физическая область и суммарная полоса, а в пикосети — логический канал и возможность передачи данных.

Назад              Вперед



Логические каналы



Логические каналы

В Bluetooth определено пять типов логических каналов передачи данных, предназначенных для переноса различных типов трафика.

• Управление каналом (Link Control — LC). Используется для управления потоком пакетов по интерфейсу канала. Канал LC отображается в заголовок пакета и переносит низкоуровневую управляющую информацию, относящуюся к схеме ARQ, управлению потоком и определению характеристик полезной нагрузки. Канал LC переносится во всех пакетах, кроме пакета ID, у которого нет заголовка.

• Администратор канала (Link Manager — LM). Используется для передачи информации по управлению каналом между станциями. Этот логический канал поддерживает трафик LMP и может передаваться либо по каналу SCO, либо по каналу ACL.

• Пользовательский асинхронный канал (User Asynchronous — UA). Переносит асинхронные данные пользователя. Этот канал обычно переносится по каналу ACL, но может переноситься в пакетах DV по каналу SCO.

• Пользовательский изохронный канал (User Isochronous — UI). Переносит изохронные данные (повторяющееся с известной периодичностью) пользователя. Этот канал обычно переносится по каналу ACL, но может также переноситься в пакетах DV по каналу SCO. На узкополосном уровне канал UI трактуется так же, как канал UA. Синхронизация для поддержки изохронности обеспечивается на высшем уровне.

• Пользовательский синхронный канал (User synchronous — US). Переносит синхронные данные пользователя по каналу SCO.



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



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

В документах по профилям Bluetooth определены несколько моделей использования. По сути, модель использования — это набор протоколов, которые реализуют конкретное приложение на основе Bluetooth. Каждый профиль определяет протоколы и свойства протоколов, поддерживающие конкретную модель использования. На Рисунок 6.3 представлены модели использования с наивысшим приоритетом. Перечислим эти модели.

• Передача файлов. Модель поддерживает прредачу каталогов, файлов, документов, изображений и потоковую информацию. Данная модель использования также содержит возможность просмотра папки с удаленного устройства.

• Мост Internet. Используя данную модель, ПК связывается без проводов с мобильным телефоном или беспроводным модемом для удаленного телефонного доступа к сети или факсу. Относительно удаленного -доступа следует сказать, что управление мобильным телефоном или модемом осуществляется с помощью команд AT, а для передачи данных используется другой стек протоколов (например, РРР над RFCOMM). При факсимильной же связи программное обеспечение факса работает непосредственно над уровнем RFCOMM.

• Доступ к локальной сети. Данная модель использования позволяет устройствам пикосети получить доступ к локальной сети. После соединения работа устройства та же, что и при проводном подключении.

• Синхронизация. Данная модель обеспечивает синхронизацию содержащейся на устройствах персональной информации, такой, как записи в телефонной книге, календаре, сообщения и заметки. Здесь следует упомянуть IrMC (Ir mobile communications — мобильная связь в инфракрасном диапазоне), протокол IrDA, который позволяет передавать между устройствами обновленную персональную информацию (по схеме клиент/сервер).

• Телефон "три в одном". Телефонные трубки, которые реализуют данную модель использования, могут работать как беспроводный телефон, подсоединенный к голосовой базовой станции, как интерком, связанный с другими телефонами, и как сотовый телефон.

• Головной телефон. Головной телефон может использоваться как устройство аудиоввода/вывода удаленного устройства.



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



Рисунок 6.3 - Модели использования Bluetooth




Области применения Bluetooth



Области применения Bluetooth

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

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

• Точки доступа для ввода данных (в том числе — посредством голоса).

Bluetooth способствует передаче в реальном времени данных и речи, обеспечивая удобную беспроводную связь портативных и стационарных аппаратов связи.

• Замена кабеля. При наличии Bluetooth отпадает необходимость в многочисленных кабельных проводках, которые сопровождают практически все устройства связи. Соединение Bluetooth устанавливается мгновенно, причем связываемые устройства не обязательно должны находиться в переделах прямой видимости. Радиус охвата — порядка 10 м, а если использовать усилитель, эту величину можно довести до 100 м.

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

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




Цель Bluetooth — унифицировать возможности ближней радиосвязи. В диапазоне 2,4 ГГц (общедоступные нелицензируемые частоты для маломощных устройств) два аппарата Bluetooth, находящиеся на расстоянии до 10 м, могут совместно использовать пропускную способность до 720 Кбит/с. Bluetooth предназначена для поддержки многих приложений (полный список достаточно объемен и продолжает пополняться: передача данных, аудио, графики, видео и т.д.). Например, чип Bluetooth может внедряться в такие аудиоустройства, как наушники, беспроводные и обычные телефоны, домашние стереопроигрыватели и цифровые МРЗ-плейеры. С помощью Bluetooth потребители могут делать следующее:

• звонить с беспроводного головного телефона, удаленно связанного с телефоном ячейки сотовой связи;

• соединять компьютеры с периферией (принтеры, клавиатуры, мыши), не используя кабель;

• подключать без проводов МРЗ-плейеры к другим машинам с целью загрузки музыкальных файлов;

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

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



Пакеты



Пакеты

Формат всех пакетов Bluetooth показан на Рисунок 6.8. Он состоит из трех полей.

• Код доступа. Используется для временной синхронизации, компенсации сдвига, опроса и запроса.

• Заголовок. Используется для определения типа пакета' и переноса управляющей информации протокола.

• Полезная нагрузка. При наличии этого поля в нем содержатся речь или данные пользователя и (в большинстве случаев) заголовок полезной нагрузки.

Код доступа

Существует три типа кодов доступа.

• Код доступа к каналу (channel access code — САС). Определяет пикосеть (уникален для пикосети).

• Код доступа к устройству (device access code — DAC). Используется для избирательного доступа и передачи последующих откликов.

• Код доступа к опросу (inquiry access code — IAC), Используется при опросах.



Пакеты L2CAP



Пакеты L2CAP

На Рисунок 6.18 показан формат пакетов L2CAP. Для услуг без установления соединения пакет содержит следующие поля.

• Длина. Размер (в байтах) полезной информационной нагрузки плюс поле PSN.

• Идентификатор канала. 2 — канал без установления соединения.

• Мультиплексор протоколов/услуг (protocol/service multiplexer — PSM).

Определяет пользователя на высшем уровне, которому предназначена полезная нагрузка данного пакета.

• Полезная информационная нагрузка. Данные пользователя более высокого уровня. Размер данного поля может доходить до 65533 (216 - 3) байт.

Пакеты на основе соединения имеют такой же формат, но без поля PSM. Это поле не требуется, поскольку получатель данных на вышестоящем уровне определяется из значения CID. Поле полезной нагрузки информации может иметь размер до 65535 (216 - 1) байт.



Перестройка частоты Перестройка



Рисунок 6.6 - Дуплекс с временным разделением (TDD) с перестройкой частоты (FH)


Передача пакета начинается в начале слота. Длина пакета может равняться 1, 3 или 5 слотам. Передача многослотового пакета ведется на одной частоте, без перестройки (Рисунок 6.7). В течение следующего слота передатчик переходит на частоту, определенную для данного периода времени последовательностью изменения частоты (таким образом, несколько частот последовательности пропускаются).

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

Последовательность перестройки частоты определяется ведущим устройством пикосети и является функцией его Bluetooth-адреса. При этом для генерации этой последовательности используется довольно сложная математическая операция, включающая перестановку и выполнение операций исключающего ИЛИ.

Поскольку разные пикосети в одной области будут использовать разные ведущие устройства, отличаться будут и последовательности перестройки частоты. Таким образом, большую часть времени передачи двух устройств разных пикосетей в одной области будут идти по разным каналам. В некоторые моменты времени передачи в двух пикосетях будут вестись по одному физическому каналу, что приведет к конфликту и потере данных. Впрочем, такое случается довольно редко, и для страховки достаточно использовать схемы прямого исправления ошибок и выявления ошибок/запроса ARQ. Итак, некая форма множественного доступа с кодовым разделением каналов (code division multiple access — CDMA) успешно применяется к аппаратам разных пикосетей в одной рассеянной сети; именуется эта схема FH - CDMA.



Пикосети и рассеянные сети



Пикосети и рассеянные сети

Ранее уже упоминалось, что основные элементы организации сетей Bluetooth — это пикосети, состоящие из ведущего устройства (master) и из 1-7 активных подчиненных устройств (slave). Радиоустройство, обозначенное как ведущее, определяет канал (последовательность перестройки частоты) и фазу (т.е. когда передавать), которые будут использоваться всеми устройствами данной пикосети. Эти параметры определяются ведущим устройством на основе собственного адреса. Подчиненное устройство может сообщаться только с ведущим, причем лишь тогда, когда это разрешает ведущее устройство. Любое устройство одной пикосети может также входить в другую пикосеть в качестве как подчиненного, так и ведущего (Рисунок 6.4). Данная схема с перекрытием называется рассеянной сетью (scatternet). На Рисунок 6.5 архитектура пикосети/рассеянной сети сравнивается с другими формами беспроводных сетей.



Поточное шифрование Bluetooth



Рисунок 6.16 - Поточное шифрование Bluetooth


Назад              Вперед



дельта модуляции с непрерывной переменной огибающей



Рисунок 6.13 - Пример дельта - модуляции с непрерывной переменной огибающей


На Рисунок 6.14 показано кодирование и декодирование CVSD (сравните с Рисунок 6.19). Как и при дельта-модуляции, двоичный выход преобразуется в ступенчатую функцию, которая пытается максимально близко повторить оригинал. При кодировании происходит следующее. Вход — это выборки РСМ, поступающие со скоростью 64 Кбит/с. В каждый момент дискретизации вход РСМ сравнивается с предшествующим значением аппроксимирующей ступенчатой функции, которое представляется как x(k - 1). Выход компаратора b(k) определяется следующим образом:



Пример многослотовых пакетов



Рисунок 6.7 - Пример многослотовых пакетов




Процедура запроса



Процедура запроса

Как только ведущее устройство нашло устройства в пределах своего диапазона, оно может установить соединение с каждым из них, формируя, таким образом, пикосеть. Для запроса каждого устройства ведущее устройство использует адрес данного устройства (BD_ADDR), на основе которого вычисляет последовательность изменения частоты в передаче-запросе. Запрос осуществляется посредством ID-пакета, в котором указан код доступа (ВАС) к требуемому устройству. Напомним, что ВАС — это нижняя часть адреса подчиненного устройства. В ответ подчиненное устройство возвращает ведущему тот же пакет ID ВАС на тех же частотах (последовательность их изменения именуется последовательностью режима запроса), что использовались ведущим устройством. После этого ведущее устройство в следующем слоте передает собственный пакет FHS, который содержит его адрес устройства и время. Далее подчиненное устройство еще раз посылает ответный пакет ID ВАС, таким образом подтверждая получение пакета FHS. В этот момент подчиненное устройство переходит из состояния ответа подчиненного устройства в состояние соединения и начинает использовать последовательность перестройки частоты режима соединения, определенную ведущим устройством в пакете FHS. Тем временем ведущее устройство может запрашивать другие устройства, пока не соединится со всеми желаемыми подчиненными; после этого ведущее устройство переходит в состояние соединения.



ПРОТОКОЛ УПРАВЛЕНИЯ ЛОГИЧЕСКИМ КАНАЛОМ И АДАПТАЦИИ (L2CAP)


Подобно протоколу управления логическим каналом (logical link control — LLC) в спецификации IEEE 802 L2CAP предоставляет объектам среды совместного использования протокол канального уровня. Как и LLC, L2CAP предлагает некоторые услуги и полагается на нижестоящий уровень (в данном случае — узкополосный) в вопросах управления потоком и защиты от ошибок.

L2CAP использует каналы ACL; каналы SCO он не поддерживает. С помощью каналов ACL протокол L2CAP предоставляет протоколам высших уровней две альтернативные услуги.

• Служба без установления соединения. Одна из услуг, основанных на надежных дейтаграммах.

• Служба режима соединения. Эта услуга подобна услуге предлагаемой протоколом HDLC. Между двумя пользователями, обменивающимися данными, устанавливается логическое соединение и обеспечивается управление потоком и защита от ошибок.



РАДИОСПЕЦИФИКАЦИЯ


Радиоспецификация Bluetooth — это небольшой документ, в котором представлены основные детали радиопередачи устройств Bluetooth. Некоторые ключевые параметры приведены в табл. 6.2.



Схема ARQ в Bluetooth



Рисунок 6.11 - Схема ARQ в Bluetooth


Со стороны передатчика (Рисунок 6.1.1, б) следующий передаваемый пакет DM, DH или DV определяется значением предшествующего поля ARQN. Если принимаются поля со значениями АСК, устройство передает новую полезную нагрузку, в которой периодически чередуются значения SEQN = 0 и 1. При получении сообщения NAK или отсутствии подтверждения устройство будет передавать старую полезную нагрузку до тех пор, пока не будет получено сообщение АСК или пока число неудачных попыток повторной передачи не превысит некоторую пороговую величину. В последнем случае из буфера передачи удаляется старая полезная нагрузка и начинает передаваться новая.



Схема маркерного сегмента



Рисунок 6.19 - Схема маркерного сегмента


В течение достаточно большого промежутка времени скорость передачи данных, которую разрешает маркерный сегмент, равна R. Однако в период отсутствия данных или при относительно медленной скорости их поступления емкость сегмента увеличивается, чтобы в дальнейшем принять на В байтов больше, чем определяется средней скоростью. Таким образом, В обозначает допустимую степень неравномерности потока данных.

Если оба параметра протокола L2CAP имеют значение 0, то для данного приложения маркерная схема не требуется и использоваться не будет. Если оба параметра равны 1, это значение называется безразличным. Для услуг "без обязательств" безразличное значение указывает, что запрашивающей стороне требуется настолько большой маркер или сегмент, насколько может гарантировать отвечающая сторона, а для гарантированной услуги оно означает, что на момент запроса скорость передачи данных будет максимальной или максимальным будет размер сегмента.

Максимальная ширина полосы (измеряется в байтах в секунду) определяет, насколько быстро может происходить пересылка пакетов между приложениями. Некоторые промежуточные системы используют эту информацию для более эффективного распределения ресурсов. Предположим, что маркерный сегмент полон, а в поток поступает серия пакетов, размер которых равен размеру сегмента. Если не ввести ограничивающий механизм, такое событие может надолго "засорить" сегмент. Максимальная скорость передачи — это и есть такой ограничитель, который определяет, с какой частотой последовательные пакеты могут вводиться в сеть.

Ожидание — это максимально допустимая задержка (выражается в микросекундах) между отправкой бита и началом его передачи по радиоканалу.

Разброс задержек — это разность (в микросекундах) возможных максимальной и минимальной задержек пакета. Указанное значение используется приложениями для вычисления объема буфера, необходимого принимающей стороне для восстановления схемы передачи данных. Если принимающему приложению требуется, чтобы данные поступали так же, как передавались, ему, возможно, придется временно занести поступающие данные в буфер, чтобы приемник смог подстроиться под схему передачи. В качестве примера можно привести ситуацию, когда приложение передает данные, такие, как выборки речи, которые генерируются и проигрываются через регулярные промежутки времени. В зависимости от размера буфера, который может предоставить принимающий хост, будет меняться и разброс задержек, допустимый при передаче отдельных пакетов потока.

Назад              Вперед



Сигнальные команды



Сигнальные команды

Существует одиннадцать сигнальных команд, разбитых на пять категорий (табл. 6.9). Для отмены любой команды может передаваться команда отклонения команды. Причиной отмены может быть, например, неприемлёмый идентификатор CID или превышение длины.



Состояние соединения



Состояние соединения

Для каждого подчиненного устройства состояние соединения начинается с отправки ведущим устройством пакета Poll (опрос), после которого подчиненное устройство синхронизируется с временем ведущего и начинает использовать ту же последовательность изменения частоты. Подчиненное устройство может ответить пакетом любого типа.

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

• Активный. Подчиненное устройство активно участвует в работе пикосети, ожидая, передавая и принимая пакеты. Ведущее устройство периодически передает подчиненному устройству пакеты, на основе которых поддерживается синхронизация.

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

• Удержание. В этом состоянии устройство не поддерживает пакеты ACL и переходит в режим пониженного энергопотребления. Подчиненное устройство может по-прежнему участвовать в обменах по каналам SCO. В периоды неактивности подчиненное устройство может прослушивать сеть в состоянии пониженного энергопотребления или участвовать в работе другой пикосети.

• Парковка. Если от подчиненного устройства не требуется активного участия в работе пикосети, но оно должно оставаться ее частью, устройство может переходить в режим парковки — состояние пониженного энергопотребления с крайне малой активностью. Устройство теряет * активный адрес (AM_ADDR) и получает адрес элемента в режиме парковки (PM_ADDR). Если в пикосети используется режим парковки, она может состоять более чем из семи подчиненных устройств.



СПЕЦИФИКАЦИЯ АДМИНИСТРАТОРА СВЯЗЕЙ


Протокол LMP (link manager protocol — протокол администратора связей) отвечает за различные аспекты радиоканала между ведущим и подчиненным устройствами. Протокол включает обмен сообщениями в форме PDU (protocol data unit — модуль данных протокола) LMP между объектами LMP ведущего и подчиненного устройств. Сообщения всегда посылаются как однослотовые пакеты с 1-байтовым заголовком полезной нагрузки, идентифицирующим тип сообщения и тело полезной нагрузки, в котором содержится дополнительная информация сообщения.

Процедуры, определенные для LMP, группируются в 24 функциональных области и каждая включает обмен одним или несколькими сообщениями. Эти области перечислены в табл. 6.7, указаны также соответствующие PDU8. Ниже приводится краткий обзор каждой области.



Стандарты Bluetooth



Стандарты Bluetooth

Стандарты Bluetooth — это фундаментальный труд: более 1500 страниц, содержащих технологическую (внутреннюю) спецификацию Bluetooth и спецификация профиля. Внутренние спецификации описывают детали разнообразных уровней протокольной архитектуры Bluetooth (от радиоинтерфейса до управления каналом связи). Рассматриваются и родственные темы, такие, как возможность взаимодействия со сходными технологиями, требования к тестированию и определения разнообразных таймеров Bluetooth и связанных с ними значений.

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

На Рисунок 6.1 изображена схема, по которой разработчик, интересующийся конкретным приложением, может найти нужный ему документ среди множества существующих. Список начинается с обзора некоторых необходимых внутренних спецификаций и профиля общего доступа. Этот профиль является одним из многих, составляющих основу других профилей, и не задает каких-либо самодостаточных функциональных возможностей. Профиль общего доступа указывает, как узкополосная архитектура Bluetooth (определенная во внутренних спецификациях) должна использоваться между устройствами, которые реализуют один или несколько профилей. После базового набора документов список на рисунке .разделяется на два столбца, в одном из которых перечислены документы, относящиеся к замещению кабеля, а в другом — к беспроводному аудио.



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



Рисунок 6.2 - Стек протоколов Bluetooth


Внутренние протоколы формируют пятиуровневый стек, состоящий из следующих элементов.

• Радио. Устанавливает детали радиоинтерфейса, включая используемые частоты, схему перестройки частоты, тип модуляции и мощность передачи.

• Узкололосная передача. На этом уровне решаются вопросы установления соединения в пределах пикосети, адресации, формата пакета и управления мощностью.

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

• Протокол управления логическим каналом и адаптации (Logical Link Control and Adaptation Protocol — L2CAP). Адаптирует протоколы высших уровней к уровню узкополосной передачи. L2CAP предлагает как службы без установления соединения, так и службы на основе соединения.

• Протокол обнаружения службы (Service Discovery Protocol — SDP). Для установления связи между двумя устройствами Bluetooth или большим числом устройств может запрашиваться информация об устройстве, службах и характеристиках служб.

В спецификацию Bluetooth включен еще один протокол: RFCOMM — протокол замещения кабеля. RFCOMM предоставляет виртуальный последовательный порт, задача которого — сделать замену кабельных технологий максимально незаметной для пользователей и программ. Последовательные порты — это один из наиболее общих типов интерфейсов связи, которые используются вычислительными устройствами и устройствами связи. Следовательно, RFCOMM позволяет замещать кабели последовательного порта с минимальной модификацией существующих устройств. RFCOMM обеспечивает транспортировку двоичных данных и эмулирует сигналы управления EIA-232 над узкополосным уровнем Bluetooth. EIA-232 (ранее известный как RS-232) — это широко используемый стандарт интерфейса последовательного порта.

В Bluetooth определен протокол управления телефонией. Протокол TCS BIN (telephony control specification — binary — спецификация управления телефонией — бинарная) — это протокол с битовой структурой, который определяет передачу сигналов управления вызовами с целью установления сеансов передачи речи и данных между устройствами Bluetooth. Кроме того, он определяет процедуры управления мобильностью для управления группами устройств Bluetooth TCS.

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

• РРР. Протокол двухточечного соединения — это стандартный протокол Internet для перемещения дейтаграммы IP по двухточечному каналу связи.

• TCP/UDP/IP. Фундаментальные протоколы из набора TCP/IP (описаны в главе 4).

• ОВЕХ. Протокол объектного обмена — это протокол сеансового уровня, разработанный Ассоциацией передачи данных в инфракрасном диапазоне (Infrared Data Association — IrDA) для обмена объектами. Функции ОВЕХ подобны функциям HTTP, но выполняются проще. Кроме того, данный протокол дает модель представления объектов и операций. Примерами форматов содержимого, передающегося посредством ОВЕХ, являются vCard и vCalendar, которые предлагают формат электронных визитных карточек и персонального календаря/делового расписания, соответственно.

• WAE/WAP. Bluetooth вмещает в своей архитектуре среду беспроводных приложений и протокол беспроводных приложений.



Структура синхронизирующего слова



Рисунок 6.9 - Структура синхронизирующего слова


Используя соответствующий адрес LAP, синхронизирующее слово создается следующим образом.

1. К LAP добавляется 6 бит 001101, если старший бит LAP равен 0, и 110010, если старший бит — 1. В результате получается 7-битовая последовательность Баркера. Цель введения последовательности Баркера — улучшить автокорреляционные свойства синхронизирующего слова.

2. Генерируется 64-битовая шумоподобная последовательность, р0, р1 ..., р63. Последовательность определяется уравнением Р(Х) = 1 + X + X3, и ее можно реализовать с помощью линейного регистра сдвига с обратной связью. Начальное значение для генерации псевдослучайной последовательности — 1000004.

3. К последовательности р34, р35, ..., р63 и 30-битовой последовательности, синтезированной на этапе 1, применяется операция исключающего ИЛИ, что позволяет скремблировать информацию, удаляя нежелательные регулярные последовательности.

4. Для скремблированного блока информации генерируется 34-битовый код с коррекцией ошибок, он помещается перед блоком, в результате чего формируется 64-битовое кодовое слово. Таким образом, имеем код (64, 30). Для генерации данного кода следует начать с кода БХЧ (63, 30). Потом определяется порождающий многочлен g(X) = (1 + X)g(X), где g'(X) — это порождающий многочлен кода БХЧ (63, 30). В результате имеем желаемый 34-битовый код.

5. К последовательностям р0, р1 ..., р63 и 64-битовой последовательности, синтезированной на этапе 4, применяется операция исключающего ИЛИ. На этом шаге дешифруется информационная часть кодового слова, так что передаются исходные часть LAP и последовательность Варкера. На данном этапе также скремблируется блочный код.

Скремблирование информационной части кодового слова на этапе 3 происходит с целью усиления устойчивости блочного кода к ошибкам. Последующее дешифрование позволяет получателю легко восстанавливать LAP. С точки зрения спецификации, дешифрование 34-битового кода с коррекцией ошибок устраняет цикличность исходного кода, благодаря чему улучшаются спектральные характеристики передачи и автокорреляционные свойства.



Сценарии пользователя Bluetooth



Таблица 6.1 - Сценарии пользователя Bluetooth

Телефон "три в одном"
Если вы в офисе — телефон работает как интерком (не нужно платить за услуги телефонии), дома это беспроводный телефон (оплачивается как стационарное устройство), а если вы перемещаетесь, его можно использовать как обычный мобильный телефон (это уже сотовая связь)
Мост Internet
Портативный ПК можно связать с Internet откуда угодно либо посредством мобильного телефона (беспроводное соединение), либо с помощью кабеля (PSTN, ISDN, ЛВС, xDSL)
Интерактивная конференция
На встречах и конференциях информацию можно мгновенно распространять между всеми участниками. Кроме того, проектором можно управлять, и не имея проводного соединения
Удаленный головной телефон
Соедините головной телефон с вашим мобильным ПК или любым проводным соединением — и ваши руки свободны для более важных дел в офисе или в движущемся автомобиле Громкоговоритель портативного ПК '
Соедините беспроводный головной микрофон с вашим портативным ПК— и используйте его как микрофон в офисе, машине или дома
Почта из портфеля
Получите доступ к электронной почте, не вынимая портативный ПК из портфеля. Как только ПК получает почту, вам об этом сообщает ваш мобильный телефон. Используя тот же мобильный телефон, входящую почту можно просмотреть и прочитать сообщения
Задержанные сообщения
Если вы летите в самолете, электронную почту можно занести в ПК. Как только вы приземлитесь и сможете пользоваться мобильным телефоном, сообщения будут посланы немедленно
Автоматическая синхронизация
Автоматически синхронизируйте ваш настольный компьютер, портативный ПК, ноутбук и мобильный телефон. Как только вы войдете в офис, список адресов и календарь настольного ком-будут автоматически обновлены согласно файлам вашего ноутбука (или наоборот)
Мгновенная цифровая открытка
Подключите (без проводов!) камеру к мобильному телефону или к любому выходу проводной связи. Введите комментарий с мобильного телефона, ноутбука или портативного ПК — и готовую открытку можно отправлять немедленно
Беспроводный настольный компьютер
Вашему компьютеру не нужны провода, чтобы соединиться с принтером, сканером, клавиатурой, мышью или локальной сетью


Параметры Bluetooth



Таблица 6.2 - Параметры Bluetooth

Топология До 7 одновременных каналов в логической
звездообразной сети
Модуляция GFSK
Максимальная скорость передачи данных 1 Мбит/с
Ширина полосы радиочастот 220 кГц (по уровню -3 дБ), 1 МГц (по уровню -20 дБ)
Полоса радиочастот 2,4 ГГц, диапазон ISM
Число радионесущих 23/79
Расстояние между несущими 1 МГц
Мощность передачи 0,1 Вт
Схема доступа к пикосети FH-TDD-TDMA
Скорость изменения частоты 1600 раз в секунду
Схема доступа к рассеянной сети FH-CDMA

Одним из аспектов радиоспецификации является определение трех классов передатчиков на основе выходной мощности.

• Класс 1. Минимальная мощность выходного сигнала — 1 мВт (0 дБмВт); для передачи на максимальное расстояние — 100 мВт (+20 дБмВт). В этом классе контроль мощности является обязательным, мощность должна находиться в диапазоне 4-20 дБмВт. Данный режим обеспечивает наибольшее расстояние связи.

• Класс 2. Минимальная мощность выходного сигнала— 0,25 мВт (-6 дБмВт), для передачи на максимальное расстояние— 2,4 мВт (+4 дБмВт). Контроль мощности — по желанию.

• Класс 3. Наименьшая мощность. Номинальный выход — 1 мВт.

Bluetooth использует полосу 2,4 ГГц в диапазоне ISM (полоса частот для промышленного, научного и медицинского использования). В большинстве стран этой полосы достаточно для определения 79 физических каналов шириной 1 МГц (табл. 6.3). Чтобы аппараты не излучали больше мощности, чем требуется, используется контроль мощности. Алгоритм контроля мощности реализуется посредством протокола администратора канала связи между ведущим и подчиненными устройствами в пикосети.



Международное распределение частот Bluetooth



Таблица 6.3 - Международное распределение частот Bluetooth

Зона Диапазон, ГГц Радиоканалы
США, большая часть стран Европы и большинство других стран 2,4-2,4835 f = (2,402 + n) МГц, n = 0, ..., 78
Япония 2,471-2,497 f = (2,473 + n) МГц, n = 0, ..., 22
Испания 2,445-2,475 f= (2,449 + n) МГц, n = 0 ..... 22
Франция 2,4465-2,4835 f = (2,454 + n) МГц, n = 0, .... 22

Для модуляции в устройствах Bluetooth выбрана гауссова частотная манипуляция, причем двоичная единица представляется положительным отклонением от центральной частоты, а двоичный нуль — отрицательным. Минимальное отклонение — 115 кГц.

Назад              Вперед



Доступные скорости передачи данных по каналу ACL (Кбит/с)



Таблица 6.4 - Доступные скорости передачи данных по каналу ACL (Кбит/с)

Тип

Симметричная схема

Асимметричная схема
DM1 108,8 108,8 108,8
DH1 172,8 172,8 172,8
DM3 256,0 358,0 54,4
DH3 384,0 576,0 86,4
DM5 286,7 477,8 36,3
DH5 432,6 721,0 57,6


Типы пакетов Bluetooth



Таблица 6.5 - Типы пакетов Bluetooth

Код типа Физический канал Название Число слотов Описание
0000 Общий NULL 1 Нет полезной нагрузки. Используется для возвращения источнику информации о канале в зависимости от успеха предыдущей передачи (ARQN) или о состоянии буфера приемника (Поток). Не подтверждается
0001 Общий POLL 1 Нет полезной нагрузки. Используется ведущим устройством для опроса подчиненного устройства. Подтверждается
0010 Общий FHS 1 Специальный управляющий пакет для определения адреса устройства и времени отправителя. Используется в ответе ведущего устройства на запрос, на опрос и при синхронизации перестройки частоты. Защита: FEC 2/3
0011 Общий DM1 1 Поддерживает управляющие сообщения, может также переносить данные пользователя. Защита: 16-битовая CRC, FEC 2/3
0101 SCO HV1 1 Переносится 10 байт информации; обычно используется для передачи речи со скоростью 64 Кбит/с. Защита: FEC 1/3
0110 SCO HV2 1 Переносится 20 байт информации; обычно используется для передачи речи со скоростью 64 Кбит/с. Защита: FEC 2/3
0111 SCO HV3 1 Переносится 30 байт информации; обычно используется для передачи речи со скоростью 64 Кбит/с. Не защищается FEC
1000 SCO DV 1 Данные (150 бит) и речь (50 бит). Поле данных защищается схемой FEC 2/3
1000 ACL DH1 1 Переносится 28 байт информации плюс '16-битовое поле CRC. Не защищается FEC. Обычно используется для передачи высокоскоростных данных
1001 ACL AUX1 1 Переносится 30 байт информации без защиты CRC или FEC. Обычно используется для передачи высокоскоростных данных .
1010 ACL DM3 3 Переносится 123 байт информации плюс 16-битовое поле CRC, Защита: FEC 2/3.
1011 ACL DH3 3 Переносится 185 байт информации шнюе!4йЦ1$£-битовое поле CRC. Не защищается FEC
1110 ACL DM5 5 Переносится 226 байт информации плюс 16-битовое поле CRC. Защита: FEC 2/3.
1111 ACL DH5 5 Переносится 341 байт информации плюс 16-битовое поле CRC. Не защищается FEC.

• SEQN. Предоставляет 1-битовую схему последовательной нумерации. Передаваемые пакеты поочередно помечаются 1 или 0. Это нужно адресату для фильтрации повторных передач; если повторная передача вызвана потерей подтверждения АСК, адресат получает один пакет дважды.

• Контроль ошибок в заголовке (Header Error Check — НЕС). 8-битовый код выявления ошибок. Используется для защиты заголовка пакета.



Значения параметров CVSD



Таблица 6.6 - Значения параметров CVSD

Параметр Значение
H 1 - 1/32 = 0,96875
? 1 - 1/1024 = 0,999
J 4
K 4
?min 10
?max 1280
ymin -215 или -215+1
ymax 215-1

После выполнения указанных вычислений изменение шага добавляется к последнему значению ступенчатой функции; результат обозначается y(k) . Затем это значение задерживается на один интервал дискретизации, что записывается как y(k - 1) . После этого применяется функция насыщения, которая определяется следующим образом:



PDU протокола LMP



Таблица 6.7 - PDU протокола LMP

Функция PDU
Общий ответ accepted, not_accepted
Службы безопасности
Аутентификация au_rand, sres
Образование пар in_rand, au_rand, sres, comb_key, unit_key
Изменение ключа канала comb_key
Изменение текущего ключа канала temp__rand, temp_key, use_semi_permanent_key
Шифрование encyption_mode_req, encyption_key_size_req, start_encyption_req, stop_encyption_req
Время/синхронизация
Запрос расхождения во времени clkoffset_req, clkoffset_res
Информация по смещению слотов Slot_offset
Запрос информации о точности отсчета времени timing_accuracy_req, timing_accuracy_res
Возможности станции
Версия LMP version_req, version_res
Поддерживаемые возможности features_req, features_res
Управление режимами
Переключение роли "ведущий/подчиненный" Swich_req
Запрос имени name_req, name_res
Отсоединение detach
Режим удержания hold, hold_req
Режим подслушивания sniff, sniff_req, unsniff_req
Режим парковки park_req, park, set_broadcast_window, modify_beacon, unpark_PM_ADDR_req, un-park_BD_ADDR_req
Контроль мощности incr_power_req, decr_power_req, max_power, min_power
Переход между пакетами DM и DH на основе качества канала auto_rate, preferred_rate
Качество обслуживания quality_of_service, quality_of_service_req
Каналы SCO SCO_link_req, remove_SCO_link_req
Управление многослотовыми пакетами max_slot, max_slot_req
Схема избирательного запроса page_mode_req, page_scan_mode_req
Надзор за каналом supervision_timeout

Для ответа на PDU во многих процедурах используются два сообщения общего ответа. Модуль accepted содержит идентификатор принятого сообщения. Модуль not_accepted содержит идентификатор непринятого сообщения и причину отказа.

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

• Аутентификация. Аутентификация определена в узкополосной спецификации, но включает обмен двумя PDU LMP: содержащим случайное число и содержащим подписанный ответ (Рисунок 6.15).

• Образование пар. Данная служба позволяет взаимно аутентифицированным пользователям автоматически устанавливать ключ шифрования канала. На первом этапе ключ инициализации генерируется обеими сторонами и используется в процедуре аутентификации для подтверждения того, что обе стороны имеют одинаковый ключ. Ключ инициализации генерируется из общего личного идентификационного номера (personal identification number — PIN), введенного в оба устройства. Затем обе стороны обмениваются сообщениями и определяют, каким будет ключ канала для дальнейшего шифрования: уже подтвержденным секретным ключом или комбинационным ключом, который вычисляется на основе ключа канала ведущего устройства.

• Изменение ключа канала. Если два устройства соединены в пару и используют комбинационный ключ, то этот ключ можно менять. Одна сторона генерирует новый ключ и посылает его другой стороне, применив операцию исключающего ИЛИ к новому и старому ключам канала. Другая сторона ключ принимает или отклоняет.

• Изменение текущего ключа канала. Текущий ключ канала можно изменить временно. При создании временного (на один сеанс) ключа фигурируют случайные числа и операции исключающего ИЛИ.

• Шифрование. LMP не задействован непосредственно в шифровании канала, но предлагает службы для управления процессом шифрования. В процессе могут оговариваться несколько параметров, в том числе рабочий режим шифрования (шифрование отсутствует, только двухточечное шифрование, двухточечное и широковещательное шифрование), размер ключа и случайный начальный ключ для начала нового сеанса шифрования. Протокол LMP также фигурирует, когда начинается и прекращается использование шифрования.
LMP предлагает механизмы синхронизации часов различных участников пикосети.

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

• Информация по смещению слотов. Инициирующее устройство может передать сообщение, которое характеризует отличия в отсчете времени (промежутки между границами слотов) в двух соседних пикосетях.

• Запрос информации о точности отсчета времени. Используется устройством, чтобы определить, насколько точно работает подсистема синхронизации другого устройства. В число параметров, представляющих интерес, входят накапливающееся расхождение во времени двух устройств и случайное смещение счета времени.
LMP включает два PDU, которые используются для обмена информацией о сообщающихся устройствах.

• Версия LMP. Позволяет каждому объекту LMP определить версию LMP, реализованную на других объектах. На настоящий момент существует единственная версия.

• Поддерживаемые возможности. Радио и контроллер канала Bluetooth могут поддерживать только некоторые типы пакетов, описанные в узкополосной спецификации и радиоспецификации. Для обмена этой информацией используются PDU LMP_features_req и LMP_features_res. LMP поддерживает следующее:

• 3-слотовые пакеты;

• 5-слотовые пакеты;

• шифрование;

• смещение слотов;

• точность синхронизации;

• переключение;

• режим удержания;

• режим подслушивания;

• режим парковки;

• RSSI;

• изменение скорости передачи данных на основе качества канала; ,

• канал SCO;

• пакеты HV2;

• пакеты HV3;

• логарифмическую ?-характеристику;

• логарифмическую А-характеристику;

• CVSD;

• схему избирательного запроса;

• контроль мощности.

Устройство Bluetooth имеет несколько состояний и режимов, в которых оно может находиться. Для управления режимами протокол LMP предлагает следующие PDU.

• Переключение роли "ведущий/подчиненный". Позволяет подчиненному устройству становиться ведущим устройством пикосети. Это требуется, например, когда устройством, производящим запрос, должно быть ведущее устройство. Если новому устройству требуется произвести запрос, оно может использовать указанную службу.

• Запрос имени. Позволяет устройству запросить текстовое имя другого устройства.

• Отсоединение. Позволяет устройству разорвать соединение. Данный PDU может передаваться ведущим или подчиненным устройством.

• Режим удержания. Переводит канал между ведущим и подчиненным устройствами в режиме удержания на заданный период времени.

• Режим подслушивания. Чтобы перейти в режим подслушивания, ведущее и подчиненное устройства согласовывают интервал подслушивания Т и смещение подслушивания D, которое определяет время подслушивания. Смещение определяет время первого слота подслушивания; после этого слоты будут прослушиваться с периодом Т.

• Режим парковки. Переводит подчиненное устройство в режим парковки.

• Контроль мощности. Используется устройством для того, чтобы указать другому устройству увеличить или уменьшить мощность передачи.

• Переход между пакетами DM и DH на основе качества канала. Устройство можно настроить так, чтобы оно постоянно использовало пакеты DM, постоянно использовало пакеты DH или автоматически выбирало тип пакетов, соответствующий качеству канала. Эта служба позволяет явное переключение между тремя указанными вариантами. Различие между пакетами DM и DH состоит в том, что первые защищаются кодом FEC 2/3, а вторые не защищены кодом FEC.

• Качество обслуживания (QoS). Качество обслуживания Bluetooth определяется двумя параметрами. Интервал опроса, максимальное время между передачами от ведущего устройства данному подчиненному, используется для распределения пропускной способности и управления ожиданием. Второй параметр — это число повторений для широковещательных пакетов (number of repetitions for broadcast packets — NBC). Широковещательные пакеты не подтверждаются, таким образом, чем большее число раз они будут транслироваться повторно, тем выше вероятность их приема.

• Каналы SCO. Используются для создания канала SCO.

• Управление многослотовыми пакетами. Оговаривает максимальное число слотов в пакете. Значение по умолчанию — 1; возможны также значения 3 и 5.

• Схема избирательного запроса. Управляет типом схемы избирательного запроса устройств в пикосети. Существует схема по умолчанию, реализация которой является обязательной. Могут определяться дополнительные схемы.

• Надзор за каналом. Определяет максимальное время, по прошествии которого устройство может объявлять о сбое в работе канала.

Назад              Вперед



Коды сигнальных команд L2CAP



Таблица 6.8 - Коды сигнальных команд L2CAP

Код Описание Параметры
0х01 Отмена команды Причина
0х02 Запрос соединения PSM, CID источника
0х03 Ответ на запрос соединения СШ адресата, CID источника, результат, статус
0х04 Запрос конфигурации СШ адресата, флаги, опции
0х05 Ответ на запрос конфигурации СШ источника, флаги, результат, опции
0х06 Запрос разрыва соединения СШ адресата, СШ источника
0х07 Ответ на запрос разрыва соединения СШ адресата, CID источника
0х08 Эхо-запрос Данные (не обязательно)
0х09 Эхо-ответ Данные (не обязательно)
0х0А Информационный запрос Тип информации
0х0В Ответ на информационный запрос Тип информации, результат, данные (не обязательно)

Команды соединения используются для установления нового логического канала. Команда запросов содержит значение PSM, определяющее пользователя L2CAP для данного соединения. На настоящий момент разрешены три значения: для протокола обнаружения услуги, RFCOMM и протокола управления телефонией. Другие значения PSM присваиваются динамически и зависят от реализации. Команда запроса также содержит значение CID, которое присвоится источником этому соединению. Команда ответа включает CID источника и адресата, последний присваивается каналу отвечающей стороной. Параметр результата определяет результат запроса (успешный, в стадии рассмотрения, отклоненный), и если запрос находится в стадии рассмотрения (например, незаконченная аутентификация, незаконченная авторизация), в поле статуса указывается текущее состояние запроса.

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

• Тип (1 байт). Семь младших битов данного байта определяют опцию. Если старший бит равен 0, опция является обязательной, и если распознать ее не удалось, адресат должен отклонить конфигурационный запрос. Если старший бит равен 1, опция необязательна и может игнорироваться адресатом.

• Длина (1 байт). Размер полезной нагрузки, в качестве которой выступают опции. Длина 0 указывает на отсутствие полезной нагрузки.

• Полезная нагрузка — опции. Дальнейшая информация об опции. Согласовываться могут следующие параметры.

• Максимальный модуль передачи (maximum transmission unit — MTU).

Наибольшая полезная нагрузка пакета L2CAP (в байтах), которую автор запроса может принять в данном канале. Вследствие асимметричности MTU отправитель запроса должен указать, какой MTU он готов принять по обратному каналу (если это значение отличается от значения, принятого по умолчанию). Реализации L2CAP должны поддерживать MTU минимального размера — 48 байт. Значение по умолчанию — 672 байт. Оно не подлежит согласованию, это просто информация о том, MTU какого размера может принимать отправитель запроса.

• Время ожидания отказа. Напомним, что в схеме ARQ определен отказ от полезной нагрузки, если некоторое число попыток ее передачи завершилось сбоем. Время ожидания отказа — это параметр, определяющий промежуток времени, в течение которого источник будет предпринимать попытки передачи, прежде чем отказаться от пакета L2CAP.

• Качество обслуживания (quality of service — QoS). Определяет спецификацию потока трафика в канале для трафика локального устройства (исходящего трафика). Этот параметр описывается ниже.
В двух последних случаях возможно согласование параметров: сторона-ответчик может принять параметры QoS и время ожидания отказа или предложить согласовать их. Сторона-источник может в ответ принять или отклонить измененные параметры.

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

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

Эхо-команды — это требование запроса от удаленного объекта L2CAP. Такие команды обычно используются для тестирования канала или передачи информации о поставщике с использованием дополнительного поля данных.Информационные команды — это запросы информации о реализации от удаленного объекта L2CAP.



Управление каналом



Управление каналом

Работу пикосети можно понять исходя из состояний работы в процессе установления и эксплуатации канала (Рисунок 6.12). Существуют два основных состояния.

• Холостое. Состояние по умолчанию. Состояние с низким энергопотреблением, в котором работают только собственные часы устройства.

• Соединение. Устройство присоединяется к пикосети в качестве ведущего или подчиненного.

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

• Запрос. Устройство выпустило запрос. Используется ведущим устройством для активизации подчиненного устройства и связи с ним. Ведущее устройство отправляет сообщение запроса путем передачи кода доступа к подчиненному устройству (device access code — DAC) в различных каналах, на которые может перестраиваться частота.

• Поиск запроса. Устройство ожидает запрос с его собственным кодом DAC.

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

• Ответ подчиненного устройства. Устройство, выступающее как подчиненное, отвечает на запрос ведущего. Если установление соединения прошло успешно, устройство входит в состояние соединения; в противном случае оно возвращается в состояние поиска запроса.



УЗКОПОЛОСНАЯ СПЕЦИФИКАЦИЯ


Один из наиболее сложных документов Bluetooth — узкополосная спецификация, ключевые элементы которой рассмотрены ниже.



Узкополосные форматы Bluetooth



Рисунок 6.8 - Узкополосные форматы Bluetooth


В код доступа входят начальная комбинация битов, синхронизирующее слово и завершитель. Начальная комбинация битов (preamble) используется для компенсации постоянной составляющей сигнала передачи и состоит из последовательности 0101, если младший (крайний левый) бит в синхронизирующем слове — 0, и последовательности 1010, если младший бит в синхронизирующем слове — 1. Подобным образом, завершитель (trailer) равен 0101, если старший (крайний справа) бит в синхронизирующем слове — 1, и 1010, если старший бит в синхронизирующем слове — 0.

64-битовое синхронизирующее слово состоит из трех компонентов (Рисунок 6.9), и его стоит рассмотреть подробнее. Каждому устройству Bluetooth присваивается глобально уникальный 48-битовый адрес. 24 младших бита называются нижней частью адреса (lower address part — LAP) и используются для формирования синхронизирующего слова. Для кода САС используется LAP ведущего устройства; для кода DAC — LAP устройства, к которому идет обращение. Существует два разных кода ГАС. Общий код IAC (General LAC — GIAC) — это сообщение общего опроса, которое используется для выявления всех устройств Bluetooth в радиусе действия; для этого имеется специальное зарезервированное значение LAP. Выделенный IAC (Dedicated IAC — DIAC) принадлежит выделенной группе устройств Bluetooth, которые имеют общие характеристики, и в этом случае используется адрес LAP, ранее определенный для этих характеристик.



Ведущие (М) и подчиненные (S) устройства



Рисунок 6.4 - Ведущие (М) и подчиненные (S) устройства




Заголовок пакета



Заголовок пакета

Формат заголовка всех пакетов Bluetooth показан на Рисунок 6.8, в. Он состоит из трех полей.

• AM_ADDR. Напомним, что пикосеть может содержать не более семи активных подчиненных устройств. 3-битовое поле AM_Addr содержит адрес "активного режима" (временный адрес, присвоенный данному подчиненному устройству в данной пикосети) одного из подчиненных устройств. Передача от ведущего к подчиненному устройству содержит данный адрес подчиненного устройства, передача от подчиненного устройства — адрес этого подчиненного устройства. Значение 0 зарезервировано для передачи от ведущего устройства всем подчиненным устройством в пикосети.

• Тип. Определяет тип пакета (табл. 6.5). Для контрольных пакетов зарезервированы четыре кода, общие для каналов SCO и ACL. Остальные типы пакетов используются для передачи информации пользователя. Пакеты HV1, HV2, HV3 в каналах SCO применяются для передачи речи со скоростью 64 Кбит/с. Отличаются эти пакеты степенью защиты от ошибок, что, в свою очередь, определяет, насколько часто должны посылаться пакеты для поддержания скорости передачи данных 64 Кбит/с. Пакет DV переносит и речь, и данные. Для каналов ACL определены 6 разных пакетов. Эти пакеты плюс пакет DM1 переносят пользовательские данные с разной степенью защиты от ошибок и разной скоростью передачи информации (табл. 6.4). Существует еще один тип пакета, общий для обоих физических каналов; он состоит только из кода доступа, а его размер равен 68 бит (не включая завершитель). Этот пакет обозначается ID и используется в процедурах опроса и доступа.

• Поток. Предоставляет 1-битовый механизм управления потоком только для трафика ACL. При приеме пакета с нулевым значением данного поля станция должна временно остановить передачу пакетов ACL по этому каналу. При приеме пакета со значением 1 передача может возобновляться.

• ARQN. Обеспечивает 1-битовый механизм подтверждения для трафика ACL, защищенного CRC (табл. 6.5). После успешного приема возвращается подтверждение АСК (ARQN = 1); в противном случае возвращается отрицательное подтверждение NAK (ARQN = 0). При отсутствии ответа предполагается отрицательное подтверждение, а если получено (или предполагается) отрицательное подтверждение, соответствующий пакет передается повторно.