ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

【MSC】规范精讲[6]: 换角色不换链路——从角色切换到时隙掩码的高阶操作全拆解

【MSC】规范精讲[6]: 换角色不换链路——从角色切换到时隙掩码的高阶操作全拆解

上一篇把 ACL 连接建立后的加密换钥、特性探测、时钟偏移一条龙捋完了。但链路建好、加密开好,故事才讲了一半——蓝牙世界里还有一批随时可能插入的操作:角色互换、密钥定时刷新、质量服务协商、为无线共存预留时隙,甚至两边同时开口说话的冲突处理。这些操作平时低调,出问题时却个个都是疑难杂症的主力:重连无声、切换掉线、协商被拒,十有八九能在这里找到病根。


目录

一、角色切换:链路上的权力交接

1.1 为什么要换角色

1.2 双向都能发起,但起手式不同

1.3 真正的交接瞬间:TDD 切换与微微网切换

1.4 加密链路上的角色切换:先熄火、再换道、再点火

1.5 实测log:一次 320 毫秒的无感换位

二、刷新加密密钥:防的不是黑客,是时间

2.1 为什么要刷新

2.2 传统 E0 路径

2.3 Secure Connections 的 AES-CCM 路径

2.4 与角色切换的关系

三、读远程版本:Controller 的缓存小聪明

3.1 规范怎么说

3.2 实测log:一次零空口开销的查询

四、QoS 设置:Host 只管提需求,拍板在空口

4.1 流程

4.2 实测:一次没有空口流量的 QoS 设置

五、时隙可用性掩码:给邻居留座位的艺术

5.1 背景:为什么要在时隙表上做标记

5.2 三步走:配置、同步、换图

六、事务冲突:两边同时开口怎么办

6.1 问题场景

6.2 化解规则

6.3 实测:sniff 的协商与一次被拒

七、全景图:这些操作在链路生命周期的位置

八、测验


这次继续沿着消息序列图往下走,把角色切换、加密密钥刷新、远程版本读取、QoS 设置、时隙可用性掩码、LMP 事务冲突这六组流程串成一个知识体系,并用两份真实抓包(一份主机侧 HCI 日志、一份空口日志)逐条分析——规范里画的是理想路径,日志里跑的是真实世界。


一、角色切换:链路上的权力交接

1.1 为什么要换角色

蓝牙经典的一对一连接里,Central 掌握着绝对的调度权:跳频序列由它的地址和时钟决定,发送时隙也归它先挑。谁当 Central,不是按设备能力分配,而是按谁发起寻呼决定的——手机主动连耳机,手机就是 Central;耳机主动回连手机,耳机反而成了 C

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进