蓝牙经典(BR/EDR)技术:协议流程、连接建立、数据传输、面试考察点
蓝牙经典 BR/EDR 是蓝牙技术的基础,在面试中高频考察协议流程完整性和底层机制理解。本章按「流程分阶段 + 链路分类 + 抗干扰机制」三条主线展开,覆盖连接建立、ACL/SCO 逻辑传输、AFH 跳频等核心考点。
📌 BR/EDR 核心知识点概览
| 阶段 | 关键过程 | 时间参考 | 面试重点 |
|---|---|---|---|
| Inquiry | 设备发现,ID 包 + FHS 交换 | ~10.24 s | 查询扫描状态、FHS 内容 |
| Paging | 定向连接,ID + FHS + POLL | < 2 s | 寻呼扫描、BD_ADDR 角色 |
| Connection | ACL 链路建立,L2CAP 信道 | 即时 | 逻辑传输初始化、参数协商 |
| Security | 传统配对 / SSP,加密 | 依方法 | 配对模式、密钥生成、MITM |
| Data Transfer | ACL / SCO / eSCO 通信 | 持续 | 链路类型选择、跳频、流控 |
🎯 面试问题 1
请详细描述蓝牙 BR/EDR 从设备发现到连接建立的全过程。
面试官考察点:协议流程完整性 · 关键阶段理解 · 时序与角色意识 · 对 Inquiry / Paging 机制的掌握深度。
✅ 回答框架(分阶段法):
① Inquiry:主设备广播 ID 包,从设备响应 FHS 包,完成设备发现与时钟同步。
② Paging:主设备使用目标 BD_ADDR 发起寻呼,从设备在寻呼扫描窗口响应。
③ Connection:双方建立 ACL 链路,协商 L2CAP 信道参数。
④ Security:根据配对模式完成认证与加密(传统配对或 SSP)。
⑤ Data Transfer:应用层通过 ACL 或 SCO 进行数据传输。
① Inquiry:主设备广播 ID 包,从设备响应 FHS 包,完成设备发现与时钟同步。
② Paging:主设备使用目标 BD_ADDR 发起寻呼,从设备在寻呼扫描窗口响应。
③ Connection:双方建立 ACL 链路,协商 L2CAP 信道参数。
④ Security:根据配对模式完成认证与加密(传统配对或 SSP)。
⑤ Data Transfer:应用层通过 ACL 或 SCO 进行数据传输。
📝 简短示例回答(约 95 字):
BR/EDR 连接建立分四阶段:Inquiry 阶段主设备广播 ID 包,从设备回复 FHS 完成设备发现;Paging 阶段主设备用 BD_ADDR 定向发起寻呼;Connection 阶段建立 ACL 链路并协商 L2CAP 参数;最后 Security 阶段完成配对加密,进入 Data Transfer。整个流程耗时约数十毫秒到数秒。
BR/EDR 连接建立分四阶段:Inquiry 阶段主设备广播 ID 包,从设备回复 FHS 完成设备发现;Paging 阶段主设备用 BD_ADDR 定向发起寻呼;Connection 阶段建立 ACL 链路并协商 L2CAP 参数;最后 Security 阶段完成配对加密,进入 Data Transfer。整个流程耗时约数十毫秒到数秒。
🔍 可能追问:
- Inquiry 阶段如果设备无响应,可能原因有哪些?
- Paging 超时后如何处理?
- 连接建立过程中主从角色如何切换?
⚠️ 避坑提醒:
- 不要混淆 Inquiry 与 Paging 的目的(发现 vs 连接)。
- FHS 包含时钟与 BD_ADDR,是连接关键,面试常问。
- 忘记提及 Security 阶段会被认为流程不完整。
🎯 面试问题 2
BR/EDR 中 ACL 和 SCO 逻辑传输有什么区别?各自适用于什么场景?
面试官考察点:逻辑传输类型理解 · 同步/异步特性对比 · 场景匹配能力 · 对 eSCO 的认知。
✅ 回答框架(对比法):
① ACL(异步面向连接):支持数据包重传和流控,可靠性高,时延不确定,用于文件传输、AT 指令、A2DP 控制等。
② SCO(同步面向连接):固定等时间隔传输,无重传,时延低但有损,用于实时音频(HFP 通话)。
③ eSCO(增强型 SCO):在 SCO 基础上增加有限重传窗口,兼顾实时性与可靠性。
① ACL(异步面向连接):支持数据包重传和流控,可靠性高,时延不确定,用于文件传输、AT 指令、A2DP 控制等。
② SCO(同步面向连接):固定等时间隔传输,无重传,时延低但有损,用于实时音频(HFP 通话)。
③ eSCO(增强型 SCO):在 SCO 基础上增加有限重传窗口,兼顾实时性与可靠性。
📝 简短示例回答(约 98 字):
ACL 和 SCO 是 BR/EDR 的两种逻辑传输通道。ACL 使用 L2CAP 封装,支持重传和流控,适用于非实时数据如文件传输;SCO 是同步等时间隔传输,无重传,时延低但无可靠性保证,用于 HFP 音频。eSCO 在 SCO 基础上增加有限重传,兼顾时延与质量,是面试高频考点。
ACL 和 SCO 是 BR/EDR 的两种逻辑传输通道。ACL 使用 L2CAP 封装,支持重传和流控,适用于非实时数据如文件传输;SCO 是同步等时间隔传输,无重传,时延低但无可靠性保证,用于 HFP 音频。eSCO 在 SCO 基础上增加有限重传,兼顾时延与质量,是面试高频考点。
🔍 可能追问:
- eSCO 相比 SCO 具体改进了什么?参数如何配置?
- ACL 链路的数据速率上限如何计算?
- 实际项目中如何选择 ACL 还是 SCO?
⚠️ 避坑提醒:
- 不要只说“SCO 用于音频”,要说明为什么(同步时延)。
- 混淆 SCO 与 eSCO 的重传机制是常见错误。
- ACL 也用于音频控制通道(如 A2DP 控制),不仅是 SCO。