Опубликован: 07.08.2007 | Уровень: специалист | Доступ: платный | ВУЗ: Московский физико-технический институт
Лекция 8:

Мобильные телекоммуникации

8.1. Bluetooth

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

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

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

В 2002 году IEEE утвердил стандарт 802.15.1. Пока стандарт 802.15 и Bluetooth не идентичны, но ожидается их объединение в самом ближайшем будущем. Технология Bluetooth использует не лицензируемый (практически везде кроме России) частотный диапазон 2,4 2,4835ГГц. При этом используются широкие защитные полосы: нижняя граница частотного диапазона составляет 2ГГц, а верхняя - 3,5ГГц. Точность заданий частоты (положение центра спектра) задается с точностью \pm 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. Каждый пакет передается с использованием иного частотного канала по отношению к предыдущему. Производится 1600 переключений частоты в секунду. Последовательность переключения частот определяется BD_ADDR мастера. Скачкообразное переключение частоты отводит на переходные процессы 250-260 мксек. Длительность тика часов мастера равна 312,5 мксек, что определяет частоту часов -; 3,2 кГц. Допускается временная неопределенность при приеме, равная \pm 20 мксек. Смотри также http://www.palowireless.com/infotooth/tutorial/radio.asp.

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

В спецификации определено 5 уровней: физический, базовый ( baseband ; смотри http://www.palowireless.com/infotooth/tutorial/baseband.asp), управления каналом LMP (Link Management Protocol; смотри http://www.palowireless.com/infotooth/tutorial/lmp.asp) и L2CAP (Logical Link Control and Adaptation Protocol; смотри http://www.palowireless.com/infotooth/tutorial/l2cap.asp), сетевой и уровень приложений.

На уровне 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 (активный, удержание, прослушивание и пассивный, соответственно). Смотри табл. 8.1.

Протокол L2CAP отвечает за формирование пакетов, деление на кадры и сборку пакетов (вспомним, что нижележащий протокол baseband позволяет иметь пакеты не длиннее 341 байта), которые в данном стандарте могут достигать размера 64 кБ. L2CAP производит мультиплексирование и демультиплексирование для отправителей пакетов, кроме того, протокол ответственен за качество обслуживания, как при передаче, так и во время ожидания. На фазе установления соединения L2CAP согласует максимальный размер поля данных, так как не все узлы могут работать с 64-килобайтными пакетами. Этот протокол не используется в случае синхронных коммуникаций. В стандарте Bluetooth предусмотрены обмены как с установлением соединения, так и без. Последний режим называется ASL (Asynchronous Connectionless).

Трафик ASL доставляется с применением принципа максимально возможного сервиса. Никаких гарантий при этом не предоставляется. У подчиненного узла может быть только одно ASL-соединение с главным. Обмен с установлением соединения называется SCO (Synchronous Connection Oriented). Этот вид коммуникаций используется, например, при телефонных переговорах. Здесь для каждого из направлений передачи выделяется фиксированный временной интервал. Повторных передач не производится, вместо этого в случае ошибок применяется их коррекция. У подчиненного узла может быть до 3 соединений типа SCO с главным узлом, каждое из которых представляет собой PCM-канал с пропускной способностью 64кбит/c. Протокол должен поддерживать протокольное мультиплексирование, так как уровень baseband не имеет поля тип, позволяющего идентифицировать протокол более высокого уровня. Протокол L2CAP присваивает виртуальным каналам (точка-точка) идентификаторы CID (Channel Identifier). Для целей управления трафиком он целиком полагается на уровень LM (Link Manager) протокола baseband.

Таблица 8.1. Режимы работы Bluetooth
Название режима Описание
Active В активном режиме устройство Bluetooth участвует в работе канала. Главный узел (master) диспетчеризует обмены на основе запросов трафика, поступающих от участников. Кроме того, этот режим предусматривает регулярные обмены с целью синхронизации клиентов. Активные клиенты прослушивают домены master-to-slave пакетов. Если к активному клиенту нет обращений, он может пребывать в пассивном состоянии (sleep) до очередной передачи со стороны главного узла
Sniff Устройства, синхронизованные в рамках пикосети, могут перейти в режим экономного расходования энергии, когда их активность понижается. В режиме SNIFF устройство-клиент прослушивает пикосеть с пониженной частотой. Этот режим имеет наивысшую скважность рабочего цикла (наименьшая экономия энергии) из 3 экономичных режимов (sniff, hold и park)
Hold Устройства, синхронизованные в рамках пикосети, могут перейти в режим экономного расходования энергии, когда их активность понижается. Главный узел пикосети может перевести клиента в режим HOLD, когда работает только внутренний таймер. Устройство-клиент может запросить перевода в режим HOLD. Передача данных возобновляется мгновенно, когда устройство выходит из режима HOLD. Клиент имеет промежуточную скважность (промежуточный уровень экономии энергии) из указанных 3 режимов (sniff, hold и park)
Park В режиме PARK устройство еще синхронизовано в рамках пикосети, но не принимает участия в обменах. Пассивные устройства отказываются от своих MAC-адресов (AM_ADDR), прослушивают трафик главного модуля с целью ресинхронизации и отслеживают широковещательные сообщения. Данный режим имеет минимально возможную скважность (максимальная экономия энергии) из указанных 3 режимов (sniff, hold и park). Устройства, находящиеся в режиме park, должны посылать пакеты широковещательно, так как лишены собственного активного адреса.

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

Две пикосети, образующие рассеянную сеть (Э. Таненбаум "Компьютерные сети", Питер, 2003)

Рис. 8.8. Две пикосети, образующие рассеянную сеть (Э. Таненбаум "Компьютерные сети", Питер, 2003)

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

  1. Происходит отключение обоих участников процесса от пикосети и осуществляется переключение TDD (Time Division Duplex) трансиверов.
  2. Если требуется, узлы старой пикосети образуют новую пикосеть

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

Самым низким уровнем протокола является уровень радиосвязи. На этом уровне данные передаются от главного узла к подчиненному бит за битом. Все узлы пикосети перестраивают частоту одновременно, последовательность частот определяется главным узлом ( М на рис. 8.8). Главный узел (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 v1.1 определяет 13 типов поддерживаемых приложений, которые называются профилями ; существует также 12 дополнительных профилей. Профили работают на самом верху иерархии слоев протокола (смотри табл. 8.2). По существу профили являются регламентациями прикладного уровня.

Таблица 8.2. Основные и дополнительные профили Bluetooth (смотри http://www.palowireless.com/infotooth/tutorial/profiles.asp)
N Название Описание
Основные профили
1 GAP (Generic Access Profile) Процедура управления связью
2 SDAP (Service Discovery Application Profile) Протокол определения предлагаемых сервисов
3 CTP (Cordless Telephony Profile) Профиль беспроводной телефонии
4 GOEP (Generic Object Exchange Profile) Протокол операций клиент-сервер при работе с объектами (обмен данными). Клиентская станция инициирует обмен, но она может выполнять и роль сервера.
5 LAP (LAN Access Profile) Протокол связи мобильной ЭВМ со стационарной LAN
6 DNP (Dial-up Networking Profile) Протокол связи ЭВМ с сетью посредством мобильного телефона
7 FP (Fax Profile) Протокол связи мобильного факса с мобильным телефоном
8 SPP (Serial Port Profile) Профиль для работы с последовательным портом
9 IP (Intercom Profile) Мобильные телефоны могут работать как переносные цифровые рации
10 HS (Headset Profile) Протокол связи устройства hands-free с мобильным телефоном
11 OPP (Object Push Profile) Протокол пересылки простых объектов
12 FTP (File Transfer Profile) Протокол пересылки файлов
13 SP (Synchronization Profile) Протокол синхронизации PDA с другой ЭВМ
Дополнительные профили
1 ESDP (Extended Service Discovery Profile) Профиль для реализации процедур Plug and Play
2 A2DR (Advanced Audio Distribution Profile) Продвинутый профиль рассылки аудио данных
3 AVRCD (Audio Video Remote Control Profile) Аудио-видео профиль удаленного управления
4 BIP (Basic Imaging Profile) Базовый профиль работы с изображением
5 BPP (Basic Printing Profile) Базовый профиль для печати
6 CIP (Common ISDN Access Profile) Общий профиль доступа к ISDN
7 GAVDP (Generic Audio Video Distribution Profile) Общий профиль рассылки аудио и видео данных
8 HFR (Hands-Free Profile) Профиль для освобождения рук
9 HCRP (Hardcopy Cable Replacement Profile) Протокол замены приборного связного кабеля
10 HID (Human Interface Device Profile) Профиль для реализации интерфейса с человеком
11 PAN (Personal Area Networking) Протокол формирования персональной сети
12 SAP (SIM Access Profile) Протокол доступа к SIM

Профили 5-7 конкурируют с протоколом IEEE 802.11. Профиль удаленного доступа служит для подключения ЭВМ к мобильному телефону, снабженному модемом, без использования проводов. Профайл факс позволяет беспроводным факс-устройствам отсылать и получать факсы посредством мобильного телефона. Профили 8-10 имеют отношение к телефонии, в перспективе мобильный телефон и беспроводная трубка домашнего телефона станут взаимозаменяемы. Профиль 10 представляет собой приложение, позволяющее устройствам hands-free держать связь с базой, что удобно, например, при езде в автомобиле. Профили 11-13 служат для пересылки объектов между беспроводными устройствами. Объектами могут быть изображения, информационные файлы и т.д. Во главе семейства протоколов находится SDP (Service Description Protocol; смотри http://www.palowireless.com/infotooth/tutorial/sdp.asp), предназначенный для определения услуг, оказываемых удаленным устройствам. С помощью команд данного протокола можно считать данные из локальной БД, определить характеристики удаленного устройства и на основе этой информации выяснить параметры оказываемых услуг. SDP использует модель запрос/отклик, где каждая транзакция включает в себя один запрос и один отклик. С помощью посылки одиночного SDP пакета можно осуществлять простое управление информационным потоком. Такой пакет может не сопровождаться откликом.

Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Алексей Приходько
Алексей Приходько
Украина, Днепропетровск, Украинский государственный Химико-технологический университет, 2013
Юрий Волоховский
Юрий Волоховский
Украина, Харьков, ХарГАЖТ, 2007