协议栈架构,如下图所示:
总体上分为两层:蓝色框部分为:Host 绿色框部分为:Controller
Controller部分有三层,分别是Physical Layer(物理层)、Link Layer (数据链路层)、HCI(Host/Controller Interface )Host和Controller接口
这一层可以看出来基本上都是跟硬件有关,都是一些底层的驱动,还有RF(射频)的一些通讯协议。
Host部分包括:L2CAP(Logical Link Control and Adaptation Protocol )逻辑链路控制和适配协议、SMP(Security Manager Protocol )安全管理协议、GAP (Generic Access Profile )通用接近协议、ATT(Attribute Protocol )属性协议、GATT(Generic Attribute Profile )通用属性协议。
可以看的出来Host层都是一些协议,而这一层正是协议栈的最关键的部分,蓝牙的广播、扫描、链接通信等所有的行为都是由这一层的协议来规范和配置,使得蓝牙这种通信方式有条不紊的进行,后续会对每一块协议的功能和配置进行细致剖析,以帮助我们从整体上对蓝牙的工作过程有一个完整的认知。