BLE設備地址
和以太網一樣,BLE協議也有自己的MAC地址,BLE協議將這個MAC地址稱之為Device Address(設備地址)。
設備地址包括長度為48比特,分為公共設備地址(Public Device Address)和隨機設備地址(Random Device Address)兩種類型
單個設備至少要使用其中一種地址類型,或者兩種地址類型同時使用
公共設備地址
公共設備地址可以唯一標識一個物理設備,這類似於TCP/IP網絡中公共IP地址,我們知道公共IP地址可以全球唯一的表識一個網絡節點。這種公共IP地址是需要申請的,同樣的道理,BLE設備的公共設備地址也需要向IEEE申請。當然,申請的時候是需要支付一定的費用的
為了方便設備廠商更好的使用和管理這些公共地址,藍牙組織將公共設備地址的48比特划分為兩個部分:廠商ID(company_id)和廠商自行分配部分(company_assigned)。如下圖所示:
由上圖可知,地址高有效的24比特是廠商ID,這24比特是廠商向IEEE購買的,用以區別其他廠商生產的設備,那么該廠商生產的所有設備中,這24比特都是一樣的;地址的低有效的24比特是該廠商自行分配的,用以區別自家廠商生產的不同設備。
隨機設備地址
公共設備地址可能存在一定的安全問題,因為只要知道了設備的地址就可以或者設備的所有信息,因此為了解決這個問題BLE協議新增了隨機地址類型
隨機地址分為靜態設備地址(Static Device Address)和私有設備地址(Private Device Address)。
靜態設備地址
靜態設備地址是一個隨機產生的48比特的數,它需要滿足一些限制性要求:
- 地址的2個最高有效位都等於1
- 除最高有效位的其他46個比特(地址的隨機部分),不能全為1
- 除最高有效位的其他46個比特(地址的隨機部分),不能全為0
靜態地址格式如下圖所示:
設備每次上電都會初始化一個靜態地址,直到下次重啟設備為止,設備都不會改變其靜態地址。
私有設備地址
私有設備地址可分為兩種子類型:不可解析私有地址(Non-resolvable Private Address)和 可解析私有地址(Resolvable Private Address)
不可解析私有地址
不可解析私有地址的格式如下圖所示:
不可解析私有地址的生成需要遵循以下幾個限制:
- 地址2個的最高有效為全都為0
- 地址的隨機部分不能全為0
- 地址的隨機部分不能全為1
- 不能是一個公共地址
可解析私有地址
可解析隨機地址的格式如下圖所示:
可解析私有地址的生產需要遵循以下幾個限制:
- 地址2個的最高有效位為10
- 地址的隨機部分不能全為0
- 地址的隨機部分不能全為1