Когда мы используем связь Wi-Fi (которая основана на протоколе 802.11), все уровни его модели OSI участвуют в обмене данными. У вас всегда есть уровень 1, который будет беспроводным физическим уровнем (модуляция и кодирование). Далее на уровне 2 у вас будет заголовок 802.11. Затем на уровне 3 — вся информация об IP и так далее.
В стеке протоколов Bluetooth все по-другому, поскольку устройства не должны использовать все протоколы в стеке (все уровни модели связи). Это потому, что Bluetooth был разработан для использования различными коммуникационными приложениями, и именно это приложение определяет, какая часть стека Bluetooth используется коммуникацией.
Уровни протокола Bluetooth вместе с соответствующими протоколами:
-
Базовая полоса протокола Bluetooth Core — LMP, L2CAP, SDP
-
Протокол замены кабеля — RFCOMM
-
Протокол управления телефонией — TCS Binary, AT-Commands.
-
Принятые протоколы — PPP, UDP / TCP / IP, WAP.
Базовая полоса протокола Bluetooth Core — LMP, L2CAP, SDP
Протокол замены кабеля — RFCOMM
Протокол управления телефонией — TCS Binary, AT-Commands.
Принятые протоколы — PPP, UDP / TCP / IP, WAP.
Еще один элемент, который вы можете видеть в стеке — это интерфейс хост-контроллера (HCI). Этот HCI предоставляет командный интерфейс для контроллера основной полосы частот, менеджера каналов, состояния оборудования, регистров. Из-за этого все названия инструментов Linux, которые используются для связи Bluetooth, начинаются с «hci»; пример — «hciconfig», «hcidump», «hcitool». Вы увидите все эти инструменты в действии в следующих разделах.