BLE 為什麼常見只保存 8 個 Bond?從 LTK、IRK、RPA 到並行連線的完整資源模型
· 閱讀時間約 20 分鐘
很多 BLE 產品的設定檔裡都能看到一個似乎很有「規範感」的數字:MAX_BONDS = 8。接著很自然就會產生兩個誤解:Bluetooth 是否最多只能記住 8 台裝置?記住 8 台是否代表可以同時連上 8 台?
答案都是否定的。
先給最直白的結論
「8 個 Bond」不是 Bluetooth 規範上限,也不等於 8 條同時連線。
它通常是 Host 協定堆疊配置、持久化資料庫、應用身分表、Controller 的 Resolving List/Filter Accept List、CCCD 池、RAM、無線排程與產品安全策略共同取最小值後的工程選擇。
可以先用四個生活化比喻建立直覺:
- Bond DB 是鑰匙櫃:保存曾經安全配對之裝置的長期密鑰。
- Resolving List 是門衛的快速識別名單:看到輪換地址時,Controller 可以先在門口認出對方。
- Active Connection 是通信車道:此刻真正佔用控制器、RAM 與無線時隙的連線。
- ADMIN/MEMBER 是軟體權限系統:決定一個已驗證會話能做什麼,而不是決定 Link Layer 如何加密。
比喻只負責建立直覺;下面會把每一層換回嚴謹的技術定義。
