WPAN與非IP協議概論
WPAN與非IP協議概論
- 物聯網領域中,感測器或致動器與網際網路間的通訊媒介可以是同軸電纜或WPAN。
- 有線連接方式仍在使用,但主要用於傳統產業和不適用無線射頻的區域。
- IP與非IP通訊系統被區分開來,因為基於IP的系統對資源要求更多,需要完整的TCP/IP堆疊資源,而非IP通訊則不需要。
- 非IP通訊系統針對成本和能源使用進行了最佳化。
- WPAN通訊系統的操作範圍可從亞米級到大約200公尺,有些甚至可達更遠距離。
- 本節涵蓋各種非IP通訊標準、WPAN拓撲結構(網狀、星狀)、以及其限制和目標。
- IEEE 802.15 標準
- 本節描述的許多協議和網路模型都基於IEEE 802.15工作組。
- 該工作組最初專注於穿戴式設備,並創造了「個人區域網路」一詞,如今工作已顯著擴展。
- 涵蓋的協議包括:
- 802.15(WPAN定義)
- 802.15.1(原始藍牙PAN基礎)
- 802.15.4(低資料速率、易設計、長電池壽命規範)等
藍牙(Bluetooth)
- 概述與歷史
- 藍牙是一種低功率無線連接技術,廣泛應用於手機、感測器、鍵盤和電玩系統。
- 藍牙技術最初由愛立信於1994年提出,旨在取代電腦週邊設備之間的電纜。
- 1998年發布藍牙1.0,2005年批准2.0版。
- 超低功耗藍牙技術(BLE)於2007年開發,使設備能使用鈕扣電池。
- 2010年發布藍牙4.0規範,正式包含BLE。
- 藍牙在物聯網中廣泛應用,特別是在LE模式下,如信標、無線感測器、資產追蹤等。
- 藍牙本質上是開源的,所有可選組件均獲GPL許可。
- 藍牙5通訊流程與拓撲
- 藍牙無線包含兩種技術系統:
- 基本速率/增強資料速率(BR/EDR)
- 低功耗(LE/BLE)。
- 節點角色:
- 廣播者
- 掃描者
- 發起者
- 藍牙事件:
- 廣播事件
- 連接事件
- 週期性廣播(藍牙5)
- 擴展廣播(藍牙5)
- 連接形成流程:
- 發起者偵聽廣播
- 廣播者決定是否建立連接
- 成功後,發起者成為主節點,廣播者成為從節點,形成「微微網」(piconet)。
- 微微網形式:
- BR/EDR模式:使用3位元定址,一個微微網最多7個從節點,多個微微網可形成「散佈式網路」(scatternet),共享跳頻計畫。
- BLE模式:使用24位元定址,可連接數百萬個從節點,每個主從關係本身就是一個微微網,可在唯一通道上。
- 節點狀態:
- 待機
- 主節點(M)
- 從節點(S)
- 子廣播器(SB)
- 停車(P)
- 藍牙5.0已移除停車狀態,仍支援待機
- 藍牙無線包含兩種技術系統:
- 藍牙5堆疊
- 基本組件:
- 硬體控制器
- 主機軟體
- 應用程式配置檔案
- 設備模式:
- 單模(僅支援BLE堆疊)
- 雙模(支援傳統模式和BLE)
- 分層架構:
- 控制器層(PHY、Link Layer、HCI)
- 主機層(L2CAP、SMP、SDP、ATT、GATT、GAP)
- 操作模式:
- LE:使用2.4 GHz ISM頻段,1 M符號/秒,1 Mbit/s。藍牙5可配置125 Kbit/s、500 Kbit/s、1 Mbit/s和2 Mbit/s。
- BR/EDR:2.4 GHz ISM頻段,基本操作1 Mbit/s,EDR可達2或3 Mbit/s。
- AMP(替代MAC/PHY):可選功能,使用802.11實現高達24 Mbit/s高速傳輸。
- 核心架構塊:
- 控制器級:
- Baseband
- LE PHY
- Radio Frequency
- Link Manager
- Link Controller
- Host Controller Interface(HCI)
- 主機級:
- L2CAP
- Logical Link Manager
- Quality of Service Manager
- Security Manager Protocol(SMP)
- Service Discovery Protocol(SDP)
- Audio/Video Distribution Transport Protocol
- RFCOMM、Attribute Protocol(ATT)
- Generic Attribute Profile(GATT)
- Generic Access Profile(GAP)
- AMP特殊堆疊:
- AMP PHY
- MAC Layer
- AMP Protocol Interface
- AMP Manager
- 控制器級:
- 基本組件:
- 藍牙5物理層與介面
- 工作頻段:2.4000至2.4835 GHz ISM非授權頻段。
- 減少干擾:跳頻展頻(FHSS)、自適應跳頻(AFH)。
- BR/EDR模式有79個通道,BLE有40個通道。
- BR/EDR使用時隙劃分、時分雙工(TDD),調變技術包括GFSK、DQPSK、8DPSK。
- LE模式使用分頻多工存取(FDMA)和時分多工存取(TDMA),40個通道中3個為廣播通道,37個為二級廣播和數據通道。
- 藍牙5.0引入「掃描排程映射」(SAM),允許藍牙設備指示相互可用的收發時隙,以優化BR/EDR時隙。
- 通道選擇演算法2(CSA2)提升無線電抗干擾度,限制可用高頻通道數量,並允許傳輸功率增加。
- 藍牙封包結構
- 每個藍牙設備有唯一的48位元地址碼BD_ADDR
- 也支援其他三種安全隨機地址格式。
- BR/EDR操作
- 經典藍牙是面向連接的,即使無資料通訊也會維持連接。
- 連接過程分為三個步驟:
- 查詢(discovery)
- 尋呼(paging)
- 連接(connection)
- 連接狀態有:
- 活躍模式(active)
- 監聽模式(sniff)
- 保持模式(hold)
- 停車模式(park)
- 配對設備會共享密鑰進行身份驗證。
- 低功耗藍牙技術角色
- 中心設備(Central):通常是主機,掃描新設備和信標廣播。
- 外圍設備(Peripheral):通常是試圖連接主節點並啟動廣播消息的設備。
- 發起者(Initiator):唯一可以發送連接請求並建立固定連接的設備。
- 廣播器(Advertiser):可以向任何用戶發布藍牙消息的設備。
- 客戶端(Client):訪問伺服器上的遠端資訊。
- 伺服器(Server):維護遠端客戶資源和特性的本地資料庫。
- BLE運算
- 主機和設備有五種連接狀態:
- 廣播狀態
- 掃描狀態(主動/被動)
- 發起狀態
- 連接狀態(中心/外圍)
- 待機狀態
- 廣播類型:
- 一般廣播
- 定向廣播
- 非連接廣播
- 可發現廣播
- 連接流程:
- 設備廣播
- 主機掃描並發送SCAN_REQ
- 外圍設備回應SCAN_RSP
- 主機發起CONNECT_REQ
- 建立連接
- 主機和設備有五種連接狀態:
- 藍牙配置檔案
- 配置檔案定義了藍牙協議堆疊各層的功能和特性。
- 通用接入協議(GAP):定義BR/EDR和BLE設備的底層功能。
- 屬性協議(ATT):主要用於BLE的用戶端-伺服器線協議,與GATT緊密耦合。
- 通用屬性配置檔案(GATT):
- 規定伺服器和客戶端角色,包含服務和特性。
- 一個GATT配置檔案包含服務和特性。
- 藍牙規範要求只能用一台GATT伺服器。
- BR/EDR安全
- 配對需要生成秘密對稱密鑰,BR/EDR稱為鏈接密鑰,BLE稱為長期密鑰。
- 舊設備使用個人識別碼(PIN)配對模式,較新設備(4.1以上)使用安全簡單配對(SSP)。
- SSP模型:
- Just Works
- Numeric Comparison
- Passkey Entry
- Out of Band (OOB)
- BR/EDR模式下的身份驗證是質詢–回應操作。
- 加密選項:
- 禁用所有流量
- 加密數據流量但廣播原始
- 所有通訊加密
- 使用AES-CCM加密技術
- BLE安全
- BLE配對過程與BR/EDR類似,但有略微不同。
- SSP模型在BLE 4.2中略有不同:
- Just Works(有確認值)
- Numeric Comparison(穩健防MITM)
- Passkey Entry(不同於BR/EDR)
- Out of Band
- 藍牙4.2引入LE安全連接,使用橢圓曲線Diffie-Hellman(ECDH)公鑰加密技術生成長期密鑰(LTK)加密連接。
- BLE可隨機化其BD_ADDR,有三種隨機地址格式:
- 預設的
- 可解析的
- 不可解析的
- 信標
- 藍牙信標是BLE的附加應用,定期發布廣播,從不與主機連接或配對。
- 主要用例:
- 靜態興趣點(POI)
- 廣播遙測數據
- 室內定位和地理定位服務
- 室內導航方式:
- 三邊測量法(trilateration)
- 鄰近性測量法(proximity)
- 推算(dead reckoning)
- 基本信標協議:Google的Eddystone和Apple的iBeacon。
- 傳統藍牙設備信標資訊限制在31位元組。
- iBeacon消息結構:
- UUID
- 主號
- 副號
- 提供兩種檢測方法:
- 監視(monitoring)
- 測距(ranging)
- Eddystone可傳輸四種幀:
- URI
- UID
- EID
- TLM
- 掃描間隔和廣播間隔的權衡:影響定位精度和電池壽命。
- 藍牙5信標增強:
- 擴展廣播長度(可達255位元組,使用二級廣播通道)
- 匿名廣播
- 同時傳輸多個廣播集
- 檢測是否被主機掃描
- 藍牙5的範圍與速度增強
- 新型無線物理層(2M PHY)將原始數據速率加倍。
- 物理層功率從+10 dbm增加到+20 dbm,擴大使用範圍。
- LE編碼(LE Coded)物理層:降低數據包編碼率(125 kb/s或500 kb/s),增加+20 dbm傳輸功率,範圍增加4倍,穿透效果更好。
- 藍牙網狀網
- 藍牙SIG於2017年7月13日發布網狀協議、設備和模型規範1.0。
- 規範限制:
- 最多32,767個節點
- 16,384個物理組
- 最大生存時間(TTL)為127
- 網狀網堆疊:基於BLE物理層和鏈路層之上,包含:
- 承載層
- 網路層
- 傳輸層
- 訪問層
- 基礎模型層
- 拓撲:採用泛洪網路概念,節點重傳收到的每個數據包。
- 優點是自動找到最短路徑,不需中央管理器。
- 缺點是浪費頻寬資源,可能導致擁塞和拒絕服務攻擊(DoS)。
- 實體:
- 節點
- 未啟動配置設備
- 元素
- 網關
- 可選特性:
- 中繼節點
- 代理節點
- 低功耗節點(LPN)
- 好友節點
- 消息緩存:提供對最新消息的查找,確保系統冪等性。
- 生存時間(TTL):防止消息在網狀網中無限循環。
- 心跳消息:定期從每個節點廣播,通知節點存在並正常運行,幫助網狀網重組和自癒。
- 尋址模式:
- 單播地址
- 組地址
- 虛擬地址
- 消息類型:
- 確認消息(acknowledged messages)
- 非確認消息(unacknowledged messages)
- 發布-訂閱模型:節點發布事件,其他節點訂閱這些事件。
- 模型概念:定義狀態(如開/關)和屬性(如溫度值),它們通過網狀網上的消息進行通信。
- 配置:透過啟動配置過程將未啟動配置的設備轉換為網狀網節點,分配NetKey和唯一地址。該過程使用ECDH密鑰交換保護安全性。
- 藍牙5.1技術
- 主要增強功能:位置追蹤、廣播和快速啟動配置的特定功能。
- 測向功能:高精度定位物體(近公分級),用於RTLS和IPS。
- 方法:到達角(AoA)和出發角(AoD)。
- 天線陣列:線性天線陣列(ULA)或矩形天線陣列(URA)。
- 恆定音調擴展(CTE):鏈路層和HCI的新領域,用於傳輸測向信號。
- 定位演算法:基本三角函數、更高級的接近度和角度估計演算法(如波束形成演算法、子空間演算法ESPIRIT和MUSIC)。
- GATT超高速快取:允許客戶端跳過服務發現階段,改善速度和能量損耗。使用資料庫雜湊(Database Hash)和「健全快取」(Robust Caching)功能。
- 隨機廣播通道索引:解決藍牙5.0及以前版本嚴格通道順序導致的封包碰撞問題,允許隨機選擇廣播指數。
- 週期性廣播同步傳輸:設備可指定預定義時間間隔,掃描主機可同步。
- 輔助週期性廣播同步傳輸(PAST):允許代理設備執行同步工作,然後將同步細節傳遞給受限設備。
- 微改進:HCI支援LE安全連接中的調試密鑰、睡眠時鐘精度更新機制、ADI字段在掃描回應數據中的使用、QoS與流量規範之間的互動、二級廣播的主信道分類、SID出現在掃描回應報告中。
IEEE 802.15.4
- 概論
- 由IEEE 802.15工作組定義的WPAN標準,於2003年批准,是許多其他協議(如Thread、Zigbee、WirelessHART)的基礎。
- 只定義堆疊的底層部分(物理層和數據鏈路層)。
- 目標是低成本、低功耗的WPAN。
- 架構
- 運行在三個未許可無線電頻段:868 MHz、915 MHz和2400 MHz。2.4 GHz頻段最常使用。
- 典型範圍:露天約200米,室內約30米。
- 使用載波偵聽多重存取與碰撞避免(CSMA/CA)管理共享頻率空間。
- 協定堆疊:只包含OSI模型的最底層兩層(PHY和MAC)。
- 服務存取點(SAP):
- PHYLINK SAP(用於資料管理)
- MLME SAP(用於控制和監控MAC層管理實體)。
- 兩種通訊類型:
- 基於信標的網路:MAC層生成信標,設備定時醒來監聽,超幀(SuperFrame interval,SO)劃分為16個時隙。保證時間時隙(GTS)分配給特定設備,防止爭奪。
- 無信標網路:PAN協調器不傳輸信標幀,所有節點一直處於接收模式,使用非時隙CSMA/CA。
- 清除通道評估(CCA):CSMA/CA的一部分,用於偵測通道是否被使用。有五種CCA模式。
- 拓撲結構
- 兩種基本設備類型:全功能設備(FFD)和受限功能設備(RFD)。
- FFD:支援任何網路拓撲,可作為PAN協調器。
- RFD:僅限星形拓撲,不能作為網路協調器。
- PAN協調器:設置和管理PAN,傳輸網路信標和儲存節點資訊,通常持續接收且有專用電力。
- RFD通常基於電池,可長時間休眠。
- 支援星形拓撲和對等拓撲。
- 兩種基本設備類型:全功能設備(FFD)和受限功能設備(RFD)。
- 地址模式與資料包結構
- 所有地址基於唯一的64位元值(IEEE地址或MAC地址)。
- 為節省頻寬,允許將64位元地址「換成」16位元本地地址(PAN ID)。
- 幀是資料傳輸的基本單元,有四種基本類型:
- 資料幀
- 確認幀
- 信標幀
- MAC命令幀
- 啟動序列
- 設備初始化堆疊。
- 創建PAN協調器。
- PAN協調器選擇唯一的PAN ID和無線電頻率。
- 網路啟動,PAN協調器接受請求。
- 節點透過活動頻道掃描或被動信道掃描找到PAN協調器加入網路。
- PAN協調器決定設備是否加入,如果接受則分配16位元短地址。
- 安全性
- 包括加密和認證形式的安全規定。
- 支援多種安全套件,基於AES加密。
- 無線電提供存取控制列表(ACL)來控制使用的安全套件和密鑰。
- MAC層執行「新鮮度檢查」(freshness check),確保舊幀無效。
- 密鑰管理:共享網路密鑰、成對密鑰、組密鑰、混合方法。
Zigbee
- 歷史
- 基於IEEE 802.15.4基礎的WPAN協議,針對受成本、功率和空間限制的商業和住宅物聯網。
- 2002年成立Zigbee聯盟,2004年協定構想,2005年發布1.0規範。
- Zigbee是專有的、封閉的標準,需要授權費。
- 概述
- 在802.15.4之上增加了額外的網路服務,使其更類似TCP/IP。
- 具有自癒性和臨時性,輕量級協議堆疊。
- 三個主要組成部分:
- Zigbee控制器(ZC):最強大設備,形成和啟動網路功能,通常是PAN協調器,可分配邏輯網路地址。
- Zigbee路由器(ZR):可選組件,處理網狀網路跳網和路由協調,參與多跳路由。
- Zigbee終端設備(ZED):簡單的終端設備,與協調器通信,沒有路由邏輯。
- 針對三種不同類型數據流量:
- 週期性數據
- 間歇性數據
- 重複性低時延數據
- 支持三種基本拓撲:
- 星形網路
- 簇樹網路
- 網狀網路
- 理論上最多可部署65,536個ZED。
- PHY和MAC(與IEEE 802.15.4的區別)
- 主要在2.4 GHz ISM頻段運行,也在868 MHz和915 MHz頻段工作。
- 不使用IEEE 802.15.4信標模式和超幀的GTS。
- 802.15.4的安全規範略有修改。
- 協議堆疊
- 包括網路層(NWK)和應用支援子層(APS)。
- NWK:執行設備管理和路由發現,管理網路數據包和路由消息。
- APS:提供網路層與應用層之間的接口,管理綁定表數據庫,與應用對象建模通信。
- Zigbee設備對象(ZDO):負責整個設備管理,包括:
- 密鑰、策略和角色
- 發現網路設備和服務
- 建立安全關係
- 綁定:兩個端點之間的連接,每個綁定支持一個特定的應用程式配置檔案。
- 應用程式配置檔案:描述用於特定功能的設備集合,設備通過集群相互通信。
- 包括網路層(NWK)和應用支援子層(APS)。
- 尋址與資料包結構
- 位於802.15.4 PHY層和MAC層之上,複用其數據包結構。
- 每個節點使用兩個唯一地址:
- 64位元擴展地址(由製造商分配,不可改變)
- 16位元網路地址(與802.15.4的PAN ID相同,可選)
- 網狀路由
- 表路由採用按需路由(AODV),只在需要時提供通往目的地的路由。
- 簇樹演算法形成自組織、自我修復和冗餘的網路。
- 數據包發送方式:
- 廣播
- 網狀路由(最多30跳)
- 樹狀路由(最多10跳)
- 多對一路由
- 路徑發現過程:
- 發送路由請求命令幀
- 目的地回應路由應答命令幀
- 選擇最優路徑
- 關聯:ZED與父路由器通信,設備可透過「孤立」(orphaning)過程重新加入網路。
- 要加入Zigbee網路,設備廣播信標請求,獲授權的設備發出後續信標。
- 安全性
- 基於IEEE 802.15.4的安全條款,提供身份認證、128位元AES加密和消息更新計時器。
- 安全模型分佈在PHY、NWK和APS層。
- 多個密鑰管理:
- 主密鑰
- 網路密鑰
- 鏈接密鑰
- 密鑰管理通過信任中心(Trust Center)控制,信任中心負責認證、維護和分發密鑰。
- MAC層提供三種加密模式,NWK層只支援AES-CCM-128。
- 消息完整性:確保消息在傳輸過程中未被修改。
- 消息更新計時器:用於查找已超時的消息,並將其從網路中刪除。
Z-Wave
- 概論
- 900 MHz頻段的另一種網狀網技術,主要用於消費者和家庭自動化。
- 市場份額未達藍牙或Zigbee規模。
- 首次出現於2001年,2005年組建Z-Wave聯盟。
- 在大多數情況下是封閉協議,硬體模組製造商數量有限。
- 概述
- 設計重點是家庭和消費者照明/自動化,使用非常低的頻寬與感測器和交換機通信。
- 基於ITU-T G.9959標準的PHY和MAC級。
- 運行在sub-1 GHz範圍內的幾個頻段。
- 三種不同頻率傳播的數據速率:9.6 Kbit/s、40 Kbit/s、100 Kbit/s。
- 調變技術:
- 頻移鍵控(FSK)
- 高斯頻移鍵控(GFSK)
- CSMA/CA用於管理通道競爭。
- 網路由具有特定功能的不同節點組成:
- 控制器(Controller):
- 路由表
- 網狀網的主機/主控制器(Primary Controller)
- 輔助控制器(Secondary Controller)
- 從節點(Slave):根據接收到的命令操作,不能與鄰近從屬節點直接通信,通常充當中繼器。
- 控制器屬性:
- 狀態更新控制器(SUC)
- SUC ID伺服器(SIS)
- 橋接控制器(Bridge Controller)
- 安裝控制器(Installer Controller)
- 從節點屬性:
- 路由從節點(Routing Slave)
- 監聽從節點(Listening Slave)
- 始終開啟從節點(Always On Slave)
- 控制器(Controller):
- 基於電池的設備不會用作中繼器。
- 協議堆疊
- 由五層組成:
- 物理層(PHY)
- 媒體存取控制層(MAC)
- 傳輸層(Transport)
- 網路層(Network)
- 應用層(Application)
- PHY和MAC層由ITU-T G.9959規範定義。
- 由五層組成:
- 尋址
- 尋址機制相對簡單,旨在最大限度地減少流量和節省電力。
- 兩個基本尋址標識符:
- HomeID(32位元唯一標識符)
- NodeID(8位元值,由控制器分配)
- 傳輸層提供四種幀類型:
- 單播
- 確認
- 多播
- 廣播
- 新的Z-Wave設備需經配對和添加過程,主控制器為新節點分配主ID。
- 拓撲與路由
- Z-Wave網狀網拓撲包括單個主控制器、從節點和控制器相關聯的設備類型和屬性。
- 路由層管理從一個節點到另一個節點的幀傳輸,在需要時建立正確的中繼器列表。
- 路由表相當簡單,只指定鄰居連接到給定節點。
- 使用源路由(source routing)瀏覽網狀網,每個收到幀的跳將數據包轉發給鏈中的下一個節點。
- Z-Wave將路由跳數限制為最多四個。