- •Технология Bluetooth Содержание
- •Аннотация
- •1.Беспроводные технологии
- •1.5.Результаты сравнения
- •2.История технологии Bluetooth
- •3.Сервисы сети Bluetooth
- •3.5.Другие профили сервисов
- •4.Архитектура передачи данных
- •4.1.По распределению данных
- •4.2.По схеме планирования и подтверждения передачи данных
- •4.3.По классу передаваемых данных
- •5.Стек протоколов
- •5.1.Радиочастотный уровень (Radio Layer)
- •5.2.Уровень доступа к среде (Baseband Layer)
- •5.2.1.Адресация устройств Bluetooth
- •5.2.2.Физические каналы
- •5.2.3.Физические линии
- •5.2.4.Логические транспорты
- •5.2.5.Логические линии
- •5.2.6.Пакеты
- •5.3.Уровень управления линиями (Link Manager Layer)
- •5.4.Уровень l2cap (l2cap Layer)
- •5.5.Прикладные протоколы
- •6.Безопасность
- •7.Интерфейс доступа к сети
- •8.Базовые элементы оборудования
- •8.1.Контроллеры Bluetooth
- •8.2.Устройства для доступа к принтеру через Bluetooth
- •8.3.Точки доступа к локальным сетям (Bluetooth-to-lan)
- •9.Топология
- •Список использованных источников
- •Алфавитный указатель
5.2.6.Пакеты
Определённые поля пакетов уже были описаны в текущем разделе выше. Рассмотрим формат пакета подробнее. Стоит заметить, что хотя в стеке Bluetooth пакеты называются «пакетами», по сути, они являются кадрами канального уровня эталонной модели OSI. Общая структура пакета показана на Рис. 9.
Рис. 9. Общая структура пакета
Код доступа формируется на основе адреса устройства Bluetooth (BD_ADDR) таким образом, чтобы включать в себя синхронизирующую последовательность для ведомых устройств.
Заголовок пакета имеет формат, представленный на Рис. 10.
Рис. 10. Формат заголовка пакета Bluetooth
Поле LT_ADDR содержит адрес логического транспорта. Поле TYPE позволяет различать разные типы пакетов. Интерпретация этого поля зависит от используемого логического транспорта. Тип транспорта напрямую не следует из структуры пакета. Синхронные транспорты определяются тем, что имеют привязку к номерам слотов, а также дополнительным идентификатором логической линии SCO или eSCO в заголовке структурированного поля полезной нагрузки (Payload). Данные широковещательных логических линий могут быть определены по нулевому значению поля LT_ADDR.
Следующие флаги используются для низкоуровневой сигнализации по протоколу LC с помощью схемы ARQ. Флаг FLOW используется для управления потоком по логическому транспорту ACL. Если буфер приёмника переполнен, то в ответном пакете бит устанавливается, чтобы запретить передатчику передачу данных. Флаг ARQN используется для подтверждения приёма данных: успешного (ACK) или неуспешного (NAK). Поле HEC представляет собой проверочную последовательность для заголовка. Бит SEQN используется для контроля последовательности пакетов. При передаче пакета с новым значением контрольной суммы бит инвертируется. Если же происходит повторная передача пакета, то значение сохраняется.
Существует пять общих типов пакетов (часть из них задаётся протоколом управления линией) и отдельные типы пакетов для различных логических транспортов.
Для асинхронного транспорта ACL определены пакеты с разной длиной поля полезной нагрузки, которые могут занимать от одного до пяти слотов подряд. Длина поля полезной нагрузки находится в пределах от 0 до 339 байт. Это позволяет достичь скорости 723 Кбит/с при передаче пользовательских данных.
Типичные пакеты транспорта SCO занимают один слот. При этом фиксируется номер (частота повторения номера) слота, который становится зарезервированным для передачи синхронных данных. Фиксированная симметричная скорость при передаче через логические линии SCO-S составляет 64 Кбит/с. Это типичная скорость передачи голосовых данных, оцифрованных с частотой 8000 Гц и закодированных с помощью импульсно-кодовой модуляции (Pulse-Code Modulation, PCM). Это соответствует скорости DS-0 технологии PDH.
5.3.Уровень управления линиями (Link Manager Layer)
В сети Bluetooth сигнализация осуществляется с помощью двух протоколов: протокола управления линией (LC), реализующего схему подтверждения/запроса повторения и протокола LMP. Для управления каналами L2CAP применяется протокол сигнализации, использующий пользовательские, а не управляющие логические линии.
Протокол управления линиями (Link Manager Protocol, LMP) используется для управления всеми основными аспектами взаимодействия устройств Bluetooth, такими как создание и управление логическими транспортами и логическими линиями, а также управление физическими линиями.
Протокол состоит из серий сообщений, передаваемых по логической линии управления ACL-C, описанной в подразделе 5.2.5 на стр. 24. Сообщения LMP интерпретируются менеджерами линий взаимодействующих устройств и напрямую не распространяются на верхние уровни стека. Уровень сигнализации LMP представлен на Рис. 11.
Рис. 11. Уровень сигнализации LMP
Ниже приводится список основных функций, выполняемых с помощью LMP:
управление соединениями (установление и разрыв соединений, управление мощностью, управление адаптивными прыжками по частоте, управление качеством обслуживания и др.);
безопасность (аутентификация, объединение в пару, смена ключа линии, смена типа ключа, шифрование, запрос поддерживаемого ключа шифрования);
информационные запросы (запрос аккуратности временных параметров, смещения текущего значения счётчика тактовых импульсов, версии протокола LMP, списка поддерживаемых возможностей, текстового имени устройства);
смена ролей устройств;
режимы взаимодействия (управление параметрами режима парковки, прослушивания и др.);
логические линии (создание и удаление логических линий SCO и eSCO);
режим тестирования.