主机(Host):逻辑链接控制与适配协议L2CAP(Logical Link Control and Adaptation Protocol)

本文详细介绍了L2CAP协议的特性,如多路复用、分段重组、流控制和重传,以及操作模式、通道ID分配和配置过程。着重讲解了面向连接和无连接通道的区别,信令包格式,以及如何通过标准配置过程进行参数协商和数据传输的控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

L2CAP给上层协议提供面向连和无连接的数据服务, 带有协议多路复用能力和分段和重组操作.
L2CAP允许高层协议和应用传输和接收上次数据包,最大64KB.
L2CAP还允许每通道的流控制和重传.

L2CAP特性

Protocol/channel multiplexing

Segmentation and reassembly

Flow control per L2CAP channel

Error control and retransmissions

Support for Streaming

Fragmentation and Recombination

Quality of Service

在这里插入图片描述

假设

一般操作

通道ID

0x0000 不能用来作为目标端点.
0x00001 ~ 0x003F是固定通道, 保留用作特殊功能.
0x0001 固定通道是信令通道.
0x0005 固定通道是LE信令通道.
如果固定通道0x0005被支持,那么0x0004和0x0006也被支持.

设备间操作

层间操作

操作模式

映射通道到逻辑链接

每个BR/EDR 物理链接有一个ACL-U逻辑链接.
每个LE 物理链接有一个LE-U逻辑链接.

当一个有保证的通道被创建, 一个相应的有保证的逻辑链接也被创建.

数据包格式

L2CAP是基于包的协议, 但是遵循着一个基于通道的通信模型.
一个通道代表远端设备中的L2CAP实体间的一个数据流.
通道可以是面向连接或无连接.
所有通道,除了L2CAP无连接通道(CID 0x0002)和2个L2CAP信令通道(CID 0x0001和0x0005),
都是面向连接的.

基本L2CAP模式中的面向连接的通道

在这里插入图片描述

基本L2CAP模式中的无连接的通道

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

信令包格式

配置参数选项

状态机

CLOSED 通道未连接
WAIT_CONNECT 通道连接请求已被收到.
WAIT_CONNECT_RSP 连接请求已被发送.
CONFIG
OPEN 用户数据传输状态.
WAIT_DISCONNECT 断开连接请求已被发送.

一般程序

配置过程

标准配置过程

  1. 本地设备通过L2CAP_CONFIGURATION_REQ包告知远端设备本地设备接受的参数.
  2. 远端设备通过L2CAP_CONFIGURATION_RSP包响应,同意或不同意这些值,包括默认值,
  3. 本地设备和远端设备重复步骤1和2直到所有参数协商一致.

有2中类型的配置参数: 可协商的和不可协商的.

可协商的参数: 远端接收L2CAP_CONFIGURATION_REQ包后, 不同意参数可以发 L2CAP_-
CONFIGURATION_RSP包.
不可协商的参数: 接收L2CAP_CONFIGURATION_REQ包的那端不能 不同意参数值, 但可以
通过 L2CAP_CONFIGURATION_RSP包返回提供调整值.

注: MTU是不可协商参数,但可以如果值小于强制最小值时,可以拒绝.

分片和重组

分片是为了将PDU传到下层, 把PDU分成许多小片的动作.
重组是为了将分配重组成PDU.

分片

如果L2CAP直接运行在没有HCI的控制器上, 实现可以将PDU分成
多个控制器包传输.
如果L2CAP运行在HCI上, 实现可以发送HCI传输大小的分片到控制器.

重组

流控制和重传程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值