Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Logical Link Control and Adaptation Protocol (L2CAP)



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

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

Для одного Bluetooth-устройства создается один узел Netgraph типа l2cap. Узел L2CAP обычно подключается к узлу Bluetooth HCI (нижестоящий) и узлам Bluetooth-сокетов (вышестоящие). По умолчанию для узла L2CAP используется имя ''devicel2cap''. Для получения дополнительной информации обратитесь к справочной странице по ng_l2cap(4).

Полезной является программа l2ping(8), которая может использоваться для проверки связи с другими устройствами. Некоторые реализации Bluetooth могут не возвращать все данные, посылаемые им, так что 0 bytes в следующем примере - это нормально.

# l2ping -a 00:80:37:29:19:a4

0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0

0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0

0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0

0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0

Утилита l2control(8) используется для выполнения различных операций с узлами L2CAP. В этом примере показано, как получить список логических соединений (каналов) и перечень радиосоединений локального устройства:

% l2control -a 00:02:72:00:d4:1a read_channel_list

L2CAP channels:

Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State

00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN

% l2control -a 00:02:72:00:d4:1a read_connection_list

L2CAP connections:

Remote BD_ADDR Handle Flags Pending State

00:07:e0:00:0b:ca 41 O 0 OPEN

Ещё одним диагностическим инструментом является btsockstat(1). Она выполняет действия, подобные тем, что обычно выполняет netstat(1), но со структурами данных, связанных с работой в сети Bluetooth. В примере ниже описывается то же самое логическое соединение, что и с l2control(8) выше.

% btsockstat

Active L2CAP sockets

PCB Recv-Q Send-Q Local address/PSM Foreign address CID State

c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN

Active RFCOMM sessions

L2PCB PCB Flag MTU Out-Q DLCs State

c2afe900 c2b53380 1 127 0 Yes OPEN

Active RFCOMM sockets

PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State

c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN





Дата публикования: 2015-01-10; Прочитано: 279 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...