蓝牙篇之蓝牙核心规范(V5.4)深入详解汇总
1.概述
L2CAP负责协议复用、流量控制、服务数据单元(SDU)的分段和重组。它使用通道的概念来分隔在堆栈层之间传递的数据包序列。固定通道不需要设置,立即可用,并与特定的上层协议相关联。通道也可以通过指定的协议服务多路复用器(PSM)值动态创建并与协议相关联。
下图展示了L2CAP的主要功能。
2.L2CAP和协议多路复用
在协议栈中,L2CAP之上是使用不同协议的层,例如属性协议(ATT)和安全管理器协议(SMP)。L2CAP协议复用确保将SDUs传递到堆栈中的适当层进行处理。当L2CAP通道处理属性协议时,它要么使用固定通道,该通道保留给ATT,在这种情况下被称为未增强的ATT承载者,要么使用一系列一个或多个动态通道,每个通道都充当增强的ATT承载者。未增强的ATT承载者支持按顺序执行的ATT事务,一次一个。增强的ATT承载者支持并行L2CAP通道内顺序执行的并行ATT事务。
3.L2CAP和流控制
流控制涉及确保堆栈中一个层生成的数据包速率不超过同一堆栈内或远程设备上处理这些数据包的层的速率。如果没有流控制,可能会出现缓冲区溢出等风险问题。
基于信用的流控制是许多可能的流控制方法之一。其大致工作方