Bluetooth от А до Я: радиоканал, версии, BLE и безопасность

Bluetooth от А до Я: радиоканал, версии, BLE и безопасность Полезное

Bluetooth — это открытый стандарт беспроводной связи малого радиуса действия для обмена данными между устройствами на дистанции обычно до 10-100 метров. Он описан в семействе спецификаций Bluetooth Core (их ведет консорциум Bluetooth SIG) и работает в безлицензионном диапазоне 2.4 ГГц. Ниже разберем радиоканал, отличия Bluetooth Classic от Bluetooth Low Energy, эволюцию версий, сопряжение и риски безопасности.

Сразу разведем два близких понятия. Bluetooth Classic (в спецификации — BR/EDR) — ветка для потокового звука и стабильного соединения. Bluetooth Low Energy (BLE, LE) — отдельный радиопротокол для датчиков и коротких пакетов с упором на энергопотребление. Это не «режим» одного радио, а две разные технологии под одним брендом.

Как устроен радиоканал 2.4 ГГц

Bluetooth использует полосу ISM 2.400-2.4835 ГГц — тот же диапазон, где работают Wi-Fi в 2.4 ГГц, микроволновки и много бытовой техники. Чтобы не глушить друг друга, стандарт делит полосу на узкие каналы и постоянно между ними переключается.

  • Bluetooth Classic делит полосу на 79 каналов по 1 МГц и применяет скачкообразную перестройку частоты (FHSS): радиомодуль меняет канал до 1600 раз в секунду.
  • BLE использует 40 каналов по 2 МГц: 3 под объявления (advertising), 37 под данные.

Смысл скачков — в устойчивости. Если канал занят Wi-Fi или зашумлен, помеха портит редкие пакеты, а не весь поток. Современные версии добавляют адаптивную перестройку (AFH): устройства заранее исключают из набора каналы, где стабильно мешает Wi-Fi.

Bluetooth Classic и BLE: в чем разница

Это ключевое различие всего стандарта, поэтому вынесем его в таблицу. Значения PHY-скорости — это скорость радиоканала, реальная пропускная способность приложения ниже из-за служебных данных.

Свойство Bluetooth Classic (BR/EDR) Bluetooth Low Energy (BLE)
Основное назначение потоковый звук, стабильный канал датчики, короткие пакеты, IoT
Каналы 79 по 1 МГц 40 по 2 МГц
Скорость радиоканала 1-3 Мбит/с (BR/EDR) 1 Мбит/с, с версии 5.0 — до 2 Мбит/с
Энергопотребление заметно выше очень низкое, работа от батарейки годами
Топология пикосеть, точка-точка и точка-многоточка звезда, broadcast, mesh поверх LE (Mesh Profile, 2017)
Типичные устройства наушники, колонки, автомагнитолы фитнес-браслеты, метки, датчики, клавиатуры

Практический вывод: если нужен звук — это Classic; если нужны годы работы от маленькой батарейки и редкие короткие данные — это BLE. Многие чипы (dual-mode) поддерживают обе ветки одновременно.

Версии Bluetooth и что они принесли

Версии описывают возможности протокола, а не дальность сама по себе (дальность зависит еще и от класса мощности, см. ниже). Ранние версии 1.x-3.x сегодня почти не встречаются, поэтому в таблице — актуальная линейка, начиная с появления BLE.

Версия (год) Ключевое нововведение
4.0 (2010) появился Bluetooth Low Energy — отдельный энергоэффективный протокол
4.1 (2013) лучшее сосуществование с LTE, гибче топология устройств
4.2 (2014) LE Secure Connections (стойкое сопряжение), приватность MAC, поддержка IPv6/6LoWPAN
5.0 (2016) у BLE 2 Мбит/с (2M PHY) и режим дальнобойности Coded PHY, больше объявлений
5.1 (2019) поиск направления (angle of arrival / angle of departure) для позиционирования
5.2 (2020) LE Audio, кодек LC3, изохронные каналы, управление мощностью LE
5.3 (2021) улучшения надежности и энергоэффективности периодических объявлений
5.4 (2023) периодические объявления с ответом (PAwR), шифрование данных объявлений
6.0 (2024) Channel Sounding — точное измерение расстояния между устройствами

Про дальность и скорость важно не путать причины. Скорость BLE выросла в версии 5.0 за счет режима 2M PHY. Дальность в той же версии выросла не у обычного канала, а у отдельного режима Coded PHY: он снижает скорость до 500 или 125 Кбит/с, зато добивает дальше. То есть «5.0 = быстрее и дальше» — это два разных режима; одновременно максимум скорости и максимум дальности не получить.

Класс мощности определяет дальность

Дальность задается не только версией, но и классом мощности радиомодуля. Классов три, и они про мощность передатчика, а не про поколение стандарта.

Класс Мощность передатчика Ориентир дальности
Класс 1 около 100 мВт (20 дБм) до ~100 м
Класс 2 около 2.5 мВт (4 дБм) до ~10 м
Класс 3 около 1 мВт (0 дБм) до ~1 м

Большинство смартфонов и наушников — класс 2, около 10 метров в помещении. Цифры дальности даны для прямой видимости; стены, тело человека и помехи в 2.4 ГГц уменьшают ее на практике.

Пикосеть: как устройства объединяются

Базовая единица сети в Bluetooth Classic — пикосеть (piconet). Одно устройство работает как ведущее (задает частотные скачки и тайминг), остальные — как ведомые. В активном состоянии ведущий обслуживает до 7 ведомых — итого до 8 активных устройств. Дополнительные устройства ждут в «припаркованном» состоянии.

Каждое устройство идентифицируется 48-битным адресом (по формату похож на MAC-адрес сетевой карты), а в списках виден человекочитаемый псевдоним, который можно поменять в настройках. У BLE топология другая: одно устройство рассылает объявления многим приемникам (broadcast) или соединяется в звезду, а поверх BLE строится ячеистая сеть (mesh, отдельная спецификация Mesh Profile 2017, работает уже на LE 4.0) для умного дома.

Профили и стек: как это работает внутри

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

  • A2DP — потоковая передача стереозвука (наушники, колонки).
  • HFP — громкая связь, звонки в режиме hands-free.
  • AVRCP — управление воспроизведением (пауза, следующий трек).
  • HID — клавиатуры, мыши, геймпады.
  • PBAP — доступ к телефонной книге (актуально для автомобилей).

Профили опираются на стек протоколов. Условно он делится на контроллер (радио, канальный уровень) и хост (логика поверх), которые соединяет интерфейс HCI. В Classic поверх лежит L2CAP — мультиплексирование каналов. В BLE слои свои: GAP отвечает за обнаружение и соединение, а GATT/ATT — за обмен данными в виде характеристик (например датчик отдает «уровень заряда» отдельной характеристикой). Под BLE разработчик чаще всего работает именно с GATT.

Посмотреть окружение можно штатными средствами. На Linux со стеком BlueZ есть утилита bluetoothctl:

# Linux, пакет bluez: интерактивная утилита bluetoothctl
bluetoothctl
# внутри интерактивной сессии:
power on
scan on

Результат — список видимых устройств с адресами и именами:

Discovery started
[NEW] Device 4C:57:CA:1A:2B:3C JBL Flip 5
[NEW] Device 60:AB:D2:11:22:33 Mi Smart Band 7

Дальше pair 4C:57:CA:1A:2B:3C запускает сопряжение, а connect — подключение по поддерживаемому профилю. Так же выглядит логика в мобильных ОС, только через графический интерфейс настроек.

Сопряжение, привязка и шифрование

Здесь важно развести три близких термина. Сопряжение (pairing) — разовый обмен ключами, чтобы устройства доверяли друг другу. Привязка (bonding) — сохранение этих ключей, чтобы при следующей встрече соединяться без повторного сопряжения. Шифрование — защита самого трафика ключом, полученным при сопряжении.

Современное сопряжение (Secure Simple Pairing в Classic и LE Secure Connections в BLE начиная с версии 4.2) использует обмен ключами по эллиптическим кривым (ECDH), поэтому подсмотреть ключ из эфира намного сложнее, чем в старых схемах с PIN-кодом. Сам трафик после сопряжения шифруется алгоритмом AES-128 в режиме CCM.

Сопряжение проходит по одной из моделей подтверждения:

  • Numeric Comparison — на обоих экранах показывается одно число, пользователь подтверждает совпадение; защищает от подмены (MITM).
  • Passkey Entry — код с одного устройства вводится на другом.
  • Just Works — без подтверждения, для устройств без экрана. Удобно, но не защищает от MITM — это компромисс, а не «то же самое, только проще».
  • Out of Band — обмен через другой канал, например NFC.

Безопасность и типичные риски

Bluetooth работает в эфире, поэтому к нему нужна модель угроз, а не принцип «включил и забыл». Основные классы рисков и защита:

  • Перехват трафика. Защита — шифрование и сопряжение по LE Secure Connections; старое LE Legacy Pairing (версии 4.0-4.1) уязвимо, ключ восстанавливается из перехвата.
  • Подмена при сопряжении (MITM). Just Works ее не отсекает; где важно доверие — выбирать Numeric Comparison или Passkey.
  • Даунгрейд ключа (атака KNOB, 2019). Стороны заставляют согласовать короткий ключ. Защита — обновления прошивки и стека.
  • Уязвимости реализации (например BlueBorne, 2017). Это дыры в стеках ОС, а не в стандарте; защита — обновления системы.
  • Отслеживание по адресу. С версии 4.2 BLE поддерживает сменяемые случайные адреса (resolvable private address), скрывающие настоящий.

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

Выводы

  • Bluetooth — это стандарт связи малого радиуса в диапазоне 2.4 ГГц; устойчивость дают частотные скачки (FHSS) и адаптивный выбор каналов.
  • Внутри бренда две разные технологии: Classic (BR/EDR) для звука и BLE для энергоэффективных датчиков; многие чипы поддерживают обе.
  • Версии добавляют возможности: BLE в 4.0, стойкое сопряжение в 4.2, скорость и дальность в 5.0, LE Audio в 5.2, измерение расстояния в 6.0.
  • Дальность задается классом мощности (1/2/3), а не только версией; скорость и максимальная дальность в BLE 5.0 — это разные режимы.
  • Безопасность держится на LE Secure Connections и AES-128; главные риски снимаются обновлениями и отключением видимости.

Где применяется / связь с практикой

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

Освойте тему на практике

Систематично собрать эту базу — от физики радиоканала до протоколов и безопасности — помогает курс Сетевой инженер. Basic. Посмотреть формат занятий и разобрать тему с преподавателем можно на открытых уроках Otus.

FAQ

Почему Wi-Fi иногда мешает Bluetooth, если у них разные устройства?
Оба работают в общей полосе 2.4 ГГц. Адаптивная перестройка частоты (AFH) исключает занятые Wi-Fi каналы из набора скачков, поэтому современные устройства уживаются, но при сильной загрузке эфира возможны заикания звука.

Можно ли подключить одни наушники к двум устройствам сразу?
Это функция multipoint, она зависит от чипа и прошивки наушников, а не от версии Bluetooth как таковой. Multipoint позволяет держать активными два подключения (например ноутбук и телефон) и переключаться между ними.

Чем LE Audio отличается от привычной передачи звука?
Классический звук идет по профилю A2DP поверх Bluetooth Classic. LE Audio (с версии 5.2) передает звук поверх BLE с кодеком LC3, что дает меньшее энергопотребление и вещание на много приемников сразу (Auracast).

OTUS Журнал
Скидка 5% 12-19 октября на курсы (popup)
Бесплатные открытые уроки (поп-ап)