無線網路基礎網路技術的核心就是使網路中的節點裝置能都互通互聯,這就意味著要解決兩個問題:1. 網路中的節點之間如何通訊2. 網路中的節點之間怎麼建立鏈路無線網路和有線網路的拓撲結構有很大的不同。有線網路的拓撲結構跟節點之間連線的電纜有直接關係,如果所有的節點被連線成一個環,網路的拓撲就是相對穩定的環形結構。無線網路的拓撲結構則會複雜很多,因為所有的節點共享同一無線資源,由於無線訊號的碰撞以及節點物理位置的相對變化都會使無線網路的拓撲結構不斷變化,很難用模型去描述。常見的網路拓撲型別有星型、匯流排型和環型三種,如下圖所示: 環型網路,節點僅與自己相鄰的節點相連。資料報文可以按照順時針或者逆時針的方式在在環型網路的節點間進行傳遞。當收到一個數據報文,節點首先會判斷是否是發給自己的,如果是則接收否則將該報文傳遞給下一個節點。這種網路型別通常是用電纜連線的有線網路,也可以被想象成特殊的無線網路,網路中節點之間的距離都很遠以至於每個節點只能跟相鄰的節點才能直接通訊。 匯流排型網路,所有的節點都共享、搶佔同一個通訊介質。典型的是採用 CSMA 型別的網路。由於使用同一個傳輸介質,碰撞和重傳隨著網路的負荷的增加而增加。對於有線的情況,這樣網路常見是透過乙太網集線器相連的計算機組成的區域網。對於無線的情況,就會變得複雜很多,因為無線通道其實就是一個共享的通訊介質。儘管無線網路的路由可以按照星型、環型或者其他的拓撲結構進行處理,但本質上來說往往是匯流排型的網路。因此在本文中,無線網路的預設的基本拓撲結構是匯流排型。 星型網路,所有的節點都與一箇中心節點進行通訊。中心節點負責監聽所有節點的資料報文並轉發給對應的目的節點。星型網路的在計算機網路中應用十分廣泛。對於有線的情況如乙太網交換機連線的區域網,交換機就是中心節點。對於無線的情況如 Wi-Fi 網路,AP 就是中心節點,所有的資料報文都透過 AP 進行路由和轉發。但是所有的 Wi-Fi 裝置與 AP 通訊必須搶佔同一個無線資源,用的卻是匯流排型網路的協議 CSMA。 Mesh 網路,增加了節點間的互連性,節點之間連線路徑很多,網路的拓撲結構不同於之前的定義的三種情況。對於全連線的 Mesh 網路,每兩個節點都能直接相連。對於部分 Mesh 網路,一些節點與其它所有的節點相連,但是另外一些節點可能只和部分節點相連。下圖是全連線Mesh 網路的示意圖,圖中一共有 5 個節點,每個節點都能與其它節點直接相連。 全連線的網路往往很難實現,除非網路的規模非常小。全連線的網路隨著節點數目的增加很快變得非常複雜。對於有線方式的 Mesh 網路,由於節點之間的連線電纜的數目非常多而複雜,因此幾乎沒有實際應用。實際中,一個 Mesh 網路中只有部分節點具有路由的功能,其它的節點作為終端不具備路由的能力。下圖給出了三種不同的 Mesh 網路的例項,綠色的節點是終端,黃色的節點是路由器,紫色的節點是協調器用來將節點加入網路或者移除網路。星型結構的 Mesh 網路僅有一個路由器和多個終端組成。分類樹 Mesh 網路中由多個能夠相互連線的路由器和掛接在每個路由器下的終端組成。Peer-to-Peer Mesh 網路是完全對等的網路,所有的節點都有路由和終端的功能。有線網路幾乎完全不可能是 Mesh 網路拓撲,而無線網路則很可能是 Mesh 網路拓撲。相對於有線網路,無線網路有兩個重要不同點: 由於無線訊號的傳播性質,無線網路把節點之間的多連線變成現實。而在有線網路裡由於成本太高或者不容易佈線等因素,把網路中每兩個節點都用電纜相連幾乎是不可能的。 無線網路節點之間的無線鏈路往往受到噪聲、干擾的影響,相對於有線網路,無線鏈路具有不可預知性和不確定性 正是因為無線通道給了我們更多的自由度以及無線鏈路的不確定性才導致需要一種拓撲結構複雜、連線鏈路眾多的無線網路 – Mesh 網路。無線 Mesh 網路需要解決的一些難題:無線鏈路的訪問 – 既然所有的節點都共享同一無線鏈路資源,對鏈路的監聽比傳送更重要。如果有兩個以上的節點同時在傳送就會產生報文碰撞,導致沒有節點都能正確接收。因此,無線 Mesh 網路節點的鏈路層必須有很好的碰撞避免機制。路由的發現 – 由於無線環境和網路的拓撲在不停的變化,因此選擇無線 Mesh 網路中節點間的路徑變得非常困難。通常的做法有兩個:提前選擇好整條路徑;或者每前進一步都重新選擇下一步的路由。通常是這兩個做法相結合,首先是每一步都選擇路由,在整條路徑建立完畢,就可以按照建立好的路徑進行傳輸資料。應對環境的變化 – 在無線特別是移動的環境中,節點間的無線鏈路可能不斷的消失或者重新出現。無線 Mesh 網路需要大量的路由的維護工作。低功耗 – 由於採用無線的方式,節點往往沒有電源線,只能採用電池供電,因此需要有效的措施降低功耗。通常採用的電源管理的方法是在節點不工作的時候進入睡眠或者待機狀態。這個方式聽起來很好,但是節點在睡眠的時候無法接收也無法傳送,需要解決節點睡醒的時間同步等問題 比較準則我們從可靠性、可裁剪性、吞吐量、功耗、安全性、以及成本去比較目前業內幾種不同的Mesh 網路的綜合性能。可靠性 – 報文能夠在規定時間內到達目的節點的機率。如果,所有的報文都能在規定的時間內到達目的節點,則是非常可靠的網路。在實時性的要求不苛刻的情況下,報文能否到達目的節點可以作為可靠性的度量依據。下面列出了評估無線 mesh 網路的幾個因素:頻率靈活度 – 對網路周圍潛在的頻率干擾的檢測和避免的能力。 報文丟失 – 報文在節點之間向前傳遞的過程中是否會有丟失的可能。網路可以透過重建路由選擇別的路徑的方式去儘可能的避免報文的丟失,並且能夠丟棄透過不同路徑接收到的重複報文。自愈性 – 用來描述網路根據節點的位置變化和無線通道的不穩定因素去動態改變路由的能力,在路由變化同時能夠防止報文的丟失。節點故障 – 網路中的一些節點出現故障會對網路造成怎麼樣的影響,怎樣去恢復網路的功能。 功耗 – 無線感測網路會經常被客戶問到的一個問題就是用裝置用電池供電能夠工作多久?裝置的功耗越低,系統的維護成本也就越低。Mesh 網路中的裝置型別可能有三種:終端、路由器和協調器,裝置的型別不同對功耗的要求也有所不同。一般來說會要求終端裝置有最低的低功耗,這是因為這些裝置最有可能遠離市電。其次是路由器,對於採用電池供電或者能休眠的路由器來說會增加網路拓撲的不確定性。對功耗要求最低的是協調器,這些裝置通常採用固定電源而不是電池供電。對於能休眠的節點需要計算平均功耗,需要關注醒來的頻率和醒來的時間,以及射頻發射的時間和接受的時間。因為,裝置在射頻發射時往往消耗的功耗最大,因此有效降低射頻發射時間至關重要。 可裁剪性 – 能有效支援多大規模的網路。幾乎業內流行的 mesh 網路技術都支援上萬節點的網路,也有例外如 Z-Wave 僅支援 232 個節點。但實際應用中的網路規模要小的多,這是因為網路的規模跟實際應用和網路的穩定性有很大的關係。如果一張 mesh 網路不會遇到路由失效的問題,路由表項不需要去維護而且很有效率,也幾乎不會發生錯誤重傳的問題,這樣的穩定網路規模可以很大。可裁剪性還需要依賴網路傳輸的資料型別和資料量,可以分為 3 種資料型別:少量資料、突發資料和流資料。少量資料是指週期很長、資料量不大的週期性資料。流資料是指不間斷的固定流量的資料。如果 mesh 網路僅傳輸少量資料那麼網路規模可以很大,而且對於節點能夠休眠的網路也很容易處理。但是對於需要傳輸流資料的 mesh 網路,網路規模相對要小而且很難對節點的應用休眠機制。 吞吐量 – 這裡不去考慮網路裁剪性等特性,僅考慮網路的處理資料的能力。對於不同的應用需求其衡量標準也有所不同。例如對於實時、大資料量的應用和允許非實時、小資料量的應用的衡量標準應該有所不同。網路的吞吐量需要在 5 個方面進行折中考慮:資料速率、延時、包大小、分片機制和網路規模。 安全性 – 我們更多的考慮應用中的實際威脅,然而安全性更容易用一些傳統的引數去評估。首先是加密,用來保護資訊本身,現在流行的加密演算法是密匙最小長度為 128-bit 的 AES128。然後是認證,怎麼去驗證偽造的節點,典型的手段是透過金鑰的交換和數字證書。最後是授權,就是透過金鑰和數字證書的認證的結果決定是否給予許可權。另外,還有其它與認證和授權相關的引數。 成本 – 成本包括幾個方面:裝置成本、安裝成本和整個網路的運營、維護成本。其中維護成本很難去衡量,最容易衡量的是每個節點裝置的購買價格。對於支援休眠採用電池供電的裝置來說,情況會有些複雜。比如,有些 Mesh 網路不支援路由器休眠僅支援終端休眠,需要透過部署不能休眠的路由器等裝置來支援終端裝置的休眠;另外一些 Mesh 網路的終端具備路由的功能而且能夠睡眠。即使所有終端、路由器等裝置的價格相同,不支援路由器休眠的網路所需的裝置數量要遠大於支援路由器休眠的網路。因此,整個網路的裝置成本不能單看每個終端裝置的成本。 幾種 Mesh 網路簡介點對多點其實是一個簡單的星型網路而不是一個真正的 Mesh 網路,但經常被看作最簡單的 mesh 網路。這種網路的空口調製方式常見是跳頻擴頻和直接序列擴頻方式如 802.15.4。需要指定網路的PAN ID、路由和安全策略。終端節點都和中心路由節點進行通訊,終端節點之間不直接通訊。終端節點可以睡眠而中心路由節點不能睡眠。典型的網路結構如下圖所示,所有的節點都在相同的物理通道或者相同的跳頻通道。網路的頻寬和吞吐量的瓶頸在於中心節點的併發能力。對於大資料量或者節點數目很多的網路,空口報文碰撞會很顯著,需要採用一定的分時、輪詢的機制來避免碰撞的發生。 優點:最大的點對多點的網路是簡單。由於沒有多跳和中級的問題,空口報文碰撞避免也可以用很多的方法解決,因此網路傳輸的相對確定性好。由於沒有路由發現和路由的維護開銷,物理頻寬可以達到很高的利用率。理解和管理起來很容易。對於特定的應用,由於協議很簡單,裝置成本很低。缺點:網路的覆蓋範圍十分有限,網路的規模小。網路的抗干擾能力和自愈能力差。如果某個終端節點受到遮擋或者受到外界干擾不在中心路由節點有效空口覆蓋範圍之內,網路沒有辦法透過尋找新的路由等方式進行自我修復。 ZigBee 2007ZigBee 的物理層和鏈路層是基於 802.15.4 標準,用的是 2.4GHz 的 DSSS 除錯方式。網路有3 種裝置組成:可以休眠的終端、不能休眠的路由器以及一個用於啟動和控制網路的協調器組成。ZigBee 標準有三個不同的版本:2004,2006 和 2007。其中 ZigBee 2004 不再使用,並且 ZigBee 2006 有很多的侷限性。ZigBee 2007 引入了很多關鍵特性如:頻率跳變、訊息分片、金鑰的管理等。網路的路由結構是之前提到的分簇樹型,路由的發現和維護工作由每簇的簇頭節點(路由器)來實現。終端節點之間不能直接通訊,必須透過路由器中轉。網路的路由維護開銷小,但是網路中需要大量的路由器。在路由器之間建立路由,路由協議採用 AODV 演算法。ZigBee 網路由三種典型的裝置組成。每個網路需要一個 ZigBee 協調器(ZC – ZigbeeCoordinator)用來初始化整張網路。網路初始化完畢之後,協調器就轉變一個路由器。ZigBee 路由器(ZR – ZigBee Router)是網路的可選元件,沒有路由器的 ZigBee 網路就完全變成之前提到的點對多點的網路。路由器負責路由維護和資料報文的轉發工作。最後是ZigBee 終端(ZED – ZigBee End Device),終端不參與路由不負責報文轉發,沒有任何的組網責任。ZigBee 網路的組網示意圖如下: 優點:由於終端節點沒有任何的組網責任,功耗可以很低。分簇樹型的網路結構的大大節點間路由的數量,因此路由的效率很高。ZigBee 2007 允許按照一定的跳頻規則,在需要的時候能夠從有干擾的通道切換到別的通道。由於支援報文的分片,因此能夠傳輸長度很長的資料報文。支援分散式的密匙,網路的安全性很好。最後,網路的規模可以很大。缺點:網路中的路由器和協調器不能休眠,功耗是一個很大的問題。由於採用的是簇樹型的網路結構,如果網路拓撲結構發生改變,就會影響很多節點間的通訊鏈路,新路由的發現和維護期間網路幾乎癱瘓。由於節點間的路由鏈路利用率不高,網路的吞吐量不高,大資料量時報文的碰撞明顯,會有潛在的資料的丟失。最後,協調器需要啟動和管理整個網路,如果協調器不能工作,則就不能增加新的節點甚至網路癱瘓。 Wireless HARTWireless HART 是由 Dust Networks 建立的採用時間同步的 Mesh 網路協議(TSMP – TimeSynchronized Mesh Protocol)。與其它的網路協議不同,該系統基於時間片鏈路層採用時分的方式。整個網路的所有節點都是路由器並且所有節點都能睡眠,是一個低功耗的網路。節點的睡醒機制需要在時間片上嚴格同步,網路需要一個閘道器來負責整個網路的時間同步。和ZigBee 一樣,該協議基於 802.15.4 DSSS,但是增加了一個更精確的跳頻演算法。安全策略包括加密和授權。 下圖是 Wireless HART 網路的典型的網路拓撲結構,所有的節點都是路由器。路由根據在不同時間片內和不同的跳頻通道能看到的不同節點動態改變。兩個節點之間會動態協商一個時間片進行通訊,因此就會降低報文碰撞的可能性。當節點睡眠的時候,會在屬於自己的時間片內醒來去監聽有沒有傳輸的任務。節點的時鐘由閘道器保持同步。優點:每個節點都有路由的能力而且功耗非常低,大部分時間都處在監聽狀態。報文的傳輸都在分配好的時間片內完成,採用跳頻技術降低了衝突的發生,因此會大大降低報文的碰撞和重傳。每個訊息都有 ACK,通訊的可靠性高。網路的規模可以達到 1000 個節點左右。安全策略包括加密和授權。缺點:由於採用時間分片的方式,傳輸延時很長和確定性。需要很長的時間進行網路的初始化,所有的節點都必須協商自己的時間片。由於劃分了時間片,可用的 802.15.4 的物理頻寬被切分,因此網路的吞吐量很低,尤其在網路中有突發資料流量的情況下。一個上電的閘道器必須要時刻都能正常工作,如果閘道器不能工作那麼整個網路在一個時間片週期之後便會癱瘓。最後,和其它的 Mesh 網路相比裝置成本非常昂貴。 6LoWPAN6LoWPAN 是低功耗無線個人區域網的 IPv6 版本的縮寫。目前這只是一個基於 IETF RCF4944 的提案,也是基於 802.15.4 的晶片和射頻。和傳統的 IPv6 不同,6LoWPAN 的最大傳輸報文大小隻有 128 位元組而不是 IPv6 標準的 1280 位元組,以便能用在記憶體有限的低廉裝置中。到今天為止,還只是一個點對多點的系統,但基於 Mesh 路由的草案正在討論之中。 下圖是 6LoWPAN 組網的拓撲圖,這樣到現在為止還是點對多點的結構。與別的網路拓撲圖不同,這張圖顯示的是從宿主計算機到終端裝置的端到端的基於 IP 的連線。終端裝置的 IP 地址由網路遠端的宿主計算機分配。圖中終端裝置的閘道器提供在資料鏈路層的協議轉換和報文的拆裝。 優點:可以支援現有的廣泛流行的 TCP/IP 協議,能夠利用 IETF 現有的協議組、QoS 和網路安全相關的架構。因此,能夠無縫地路由 Internet IP 報文。缺點:系統非常新目前只是一個草案。因為目前還在公眾評審階段,將來可能會有很多的變化。事實上,Mesh 路由工作組目前正處在組建階段,因此該協議被廣泛應用前還有很長一段路要走。因此,能與 Internet 互聯目前只是個構思,還沒有證明其可能性。由於該協議還不成熟,目前還沒有相關的產品問世,估計產品的價格不會便宜。 DigiMesh和 Wireless HART 很相似,DigiMesh 也是為低功耗的感測器網路所設計的,每個節點都具備路由功能且都可以用電池供電。DigiMesh 可以工作在多個頻段如 2.4GHz DSSS 和 900MHzFHSS。該協議在 2.4GHz DSSS 頻段工作時並不完全遵循 802.15.4 的物理層和資料鏈路層的標準。路由協議採用類似 AODV 演算法,路由表在需要時才被建立,網路的拓撲結構是 Peerto-Peer mesh 而不是 ZigBee 網路的分簇樹結構。所有的節點的地位都是平等的,每個節點都可以具備路由的能力並且都可以睡眠。碰撞避免採用的是時間同步的 CSMA 演算法。有安全策略。DigiMesh 的網路拓撲結構如下圖所示,為典型的 Ad Hoc 網路結構。DigiMesh 的路由只有在需要時才去建立,而不像 ZigBee 網路中的路由器之間的路由是時刻被維護的。DigiMesh網路中不是使用的路由不會佔據路由表項,路由在每次使用時都會進行更新。DigiMesh 為了支援休眠節點之間的睡醒時間片必須進行同步,節點間的時間同步有專門的節點向全網廣播同步報文來實現。為了實現自治的目的,負責時間同步的節點並不是協調器或者閘道器來完成,由提名機制在網路節點中選舉產生。 優點:每個節點都具備路由能力並且都可以休眠。每個報文的轉發都採用 ACK 應答的方式保證系統的可靠性。路由僅在需要時才去建立,因此係統不會被沒有必要的路由發現工作佔據太多的頻寬。支援頻率的跳變和安全機制加密和鑑權。支援報文分片。缺點:低功耗就意味著響應時間慢和不確定性。雖然系統的瞬時吞吐量不受時間片的限制,但是會影響路由的發現。網路規模最多能支援 500 個節點左右的網路,對於傳輸的資料量小資料流變化小的網路支援的規模會大一些。 Z-WaveZ-Wave 是針對家居自動化應用定製的 Mesh 網路協議,射頻採用 FSK 調製方式,波特率為9.6Kbps 或者 40kbps,發射功率最大為 0dBm,工作頻率為 868.42MHz 或 908.42MHz,鏈路層有碰撞避免機制。Z-Wave 網路節點數目最多為 232 個,每個控制節點都有唯一的 4 位元組網路地址,Z-Wave 網路會為每個組網裝置動態分配 1 位元組的節點地址。裝置型別大致分為控制節點和受控節點兩種,支援休眠節點和可移動節點。對休眠的支援採用非同步模式,節點間不需要同步時間片。支援單播、多播和廣播,其中單播是可靠的而多播和廣播是不可靠的。Z-Wave 網路拓下圖所示的 Ad Hoc 網路。Z-Wave 網路中控制節點擁有全網的拓撲結構並計算路由,受控節點不能自己計算路由但具有報文轉發的能力。Z-Wave 採用“源路由”的路由方式,控制節點在傳送命令時根據全網路由表計算出一條最佳路徑,並將路由資訊內嵌在命令報文中一起傳送。Z-Wave 網路有可以有多個控制節點但只能有一個主控節點,只有主控節點有新增和刪除網路裝置、分配網路地址的權利。 優點:每個節點有轉發功能,支援休眠和移動的控制節點。報文的轉發採用 ACK 應答的方式保證系統的可靠性。休眠為非同步模式,休眠節點不需要進行時間片同步。缺點:網路規模很小,最大支援 232 個節點的網路。應用領域狹窄,主要針對家居自動化應用,報文長度很短用來發送命令資訊。工作方式簡單,控制節點和受控節點之間主要以應答模式為主。網路需要一個主控節點作為網路的中心節點,負責網路節點的地址分配和網路拓撲結構。如果主控節點不能工作,網路就會癱瘓需要重新初始化網路才能正常工作,而網路初始化需要相當長時間。另外雖然支援可移動的控制節點,這裡移動其實是便攜的意思與移動自組網是完全不同的概念。 WaveMeshWaveMesh 是為低功耗、低成本的 MANET(Mobile Ad-Hoc Network 移動自組網路)所設計的 Peer-to-Peer Mesh 網路協議。與其它的 Mesh 網路協議不同,WaveMesh 是唯一能夠有效支援節點快速移動的網路,資料流能夠在節點移動過程中無縫地在不同的路徑之間切換。WaveMesh 物理層可以採用不同調制方式和不同頻段,鏈路層採用先進的碰撞避免演算法,能夠自動通道跳變和速率自適應,網路層採用私有路由協議 OLDM(On-demand Light-weightDynamic Multipath)。WaveMesh 是一個完全分散式的網路,所有節點的地位都是平等的,沒有中心節點,所有節點都夠休眠,都具備路由能力。WaveMesh 網路拓撲結構如下圖所示,路由協議 OLDM 是多徑路由協議,每個節點都會維護到其它節點儘可能多的路由,網路節點間的路由數量要遠遠大於其它的 Mesh 網路。節點能夠實時感知拓撲結構的變化,在現有路由失效之前主動發現的新路由,能夠支援快速移動的網路。對休眠的支援有兩種模式:同步模式和非同步模式,兩種模式可以靈活切換以適應不同的應用需求。支援上萬節點的超大規模網路,不需要網路初始化過程,即插即用。網路層和物理層有智慧的並行機制,網路吞吐量比其它網路高很多倍。支援單播、多播和廣播,其中單播是可靠的而多播和廣播是不可靠的。 優點:支援快速移動的網路,完全分散式的 Mesh 網路,每個節點都具備路由能力並且都可以休眠。節點能感知網路拓撲結構並計算路由,採用私有的 OLDM 多徑路由協議和並行機制保證了路由的健壯性和高吞吐量。報文的轉發採用 ACK 應答的方式保證了可靠性。組網速度快,不需要進行網路初始化,網路規模大,支援頻率跳變、速率自適應和安全機制。休眠節點可以工作在同步模式或者非同步模式,並且在兩種模式下靈活轉換,採用特有的 MAC 層全網喚醒技術進行時間片的同步。另外產品價格低廉、應用領域非常廣泛。 缺點:低功耗就意味著響應時間慢和不確定性。 節點休眠技術簡介一些應用要求無線 Mesh 網路節點使用電池供電能正常工作很多年,對節點的功耗要求十分苛刻。上述的 Wireless HART、DigiMesh 和 WaveMesh 網路全部節點都可以休眠並且都具備路由功能。Z-wave 網路也能支援部分節點休眠並且具有報文轉發能力。ZigBee 網路的終端節點也具備休眠的能力但不具備報文轉發和路由的能力。在這裡對不同的 Mesh 網路所採用的休眠技術進行簡單介紹。ZigBee 2007終端裝置是 ZigBee 網路中唯一能都休眠的裝置,由於終端裝置在休眠的時候不能接收到無線訊號,因此需要路由器或者協調器為終端裝置快取資料報文。當終端裝置加入網路時,必須要選擇一個路由器或者協調器作為父節點組成父子關係。當終端裝置醒來時會主動向自己的父節點詢問是否快取了屬於自己的資料報文,父節點在收到請求後會向終端節點返回 MAC 層的ACK 報文告訴終端是否有快取報文。當終端節點被告知沒有快取的資料報文時,終端可以再次進入休眠或者待機模式。如果有快取的資料報文,則終端繼續處於工作模式接收和處理屬於自己的報文。這種終端輪訓的機制可以使終端在沒有資料傳輸的情況下有效地減少功耗。終端裝置只能與自己的父節點進行通訊,無論是單播還是廣播報文終端都轉發給其父節點,有父節點代表終端進行路由查詢和報文的轉發。由於父節點的記憶體空間有限,快取報文和路由資訊很有可能會耗盡父節點的記憶體。ZigBee 引入超時機制,如果超時發生父節點會刪除快取的報文甚至刪除與子節點的父子關係,不同型別的報文可以有不同的超時時間。從這個角度來看,ZigBee 協議的 MAC 層並不能保證可靠性。 ZIGBEE 3.0特性:支援多種網路拓撲,比如點對點,點對多點,自組網;低工作佔空比能力,提供長電池供電的可能;低延遲;採用DSSS擴頻技術;每個網路最高可支援65,000節點128-bit AES 加密碰撞避免,重試和應答確認 ZigBee標準體系內各種標準的統一,拉開了ZigBee聯盟統一ZigBee標準的序幕。簡單說,ZigBee聯盟將不再針對家庭自動化、智慧建築、能源管理等細分領域,在ZigBee標準的基礎上發展不同的標準,而是全部統一為ZigBee3.0,如此以來,為基於ZigBee標準的家庭自動化、智慧照明等裝置互聯互通奠定基礎。一是網路層的標準化,基於IEEE 802.15.4標準,工作頻率為2.4 GHz(全球通用頻率),使用ZigBee PRO網路;二是應用層的標準化,定義網路和裝置執行之間的一切連線方式,使不同供應商的裝置可以無縫協作。 ZigBee 3.0軟體棧集成了一個“基礎裝置”,它為配置節點加入到網路提供一致的行為。它提供了一套通用的配置方法,包括Touchlink,一種透過鄰近節點的配置入網的方法。 ZigBee 3.0增強了網路的安全特性,有兩種安全的方法來生成網路: 集中式安全入網:這種方法採用協調器/信任中心來生成網路,管理網路資源和連線金鑰。 分散式安全入網:這種方法沒有協調器/信任中心,它透過路由節點為其它節點提供入網金鑰。 Zigbee 3.0支援越來越多和越大的網路, ZigBee網路有強大的自愈能力能應對各種場景的變化。ZigBee具有向前相容能力, ZLL 1.0和ZHA 1.2已經支援ZigBee 3.0。ZigBee smart energy在功能上相容zigBee 3.0,但它有額外的安全要求僅在這個profile中處理。Wireless HART (SmartMesh WireLess HART )Wireless HART 使用分時多重進接(TDMA)技術來協調裝置間的通訊,TDMA 資料鏈路層指定了在裝置之間建立鏈路連線並進行通訊的時間片和通道頻率。採用“超級幀”週期性地對裝置間的鏈路資訊進行管理和廣播。可以允許多個不同週期的“超級幀”同時存在,以滿足週期性和非週期性的傳輸需要。節點間的鏈路可以被某個實時性要求高的應用專用,也可以被很多應用共享物理頻寬。時間被劃分為 10ms 為單位的時間片,所有節點的時間片完全同步的。時間片是進行資料傳輸的基本間隔單位,可以在一個時間片進行多次資料交換。資料收發必須在一個 時間片內結束,如果一塊資料不能在一個時間片內傳送完畢,則需要被分片以便在多個時間片分別傳輸。節點在不同的時間內可以處於不同的狀態:傳送、接收和空閒,在空閒狀態的時間片內節點可以休眠。由資料鏈路協議資料單元(DLPDU)和帶有時間資訊的 ACK 報文連續進行全網 TDMA 的時間片的同步。最開始,節點剛加入網路並不知道當前時間,可以透過接收到 DLPDU 報文的時間計算出下一時間片的起始時間。當節點再接收到 DLPDU 報文時會比較自己與傳送節點的時間差,接收節點會在相應的 ACK 報文中新增時間調整資訊。接收到 ACK 報文的節點需要根據報文中的時間資訊調整時間片。網路的每個節點都需要指定一個節點作為時間源獲得時間同步資訊。在時間片同步失效的情況下,節點採用過取樣的方法把將時間片長度縮短為正常值的 1/2-1/10 以減小重新同步的時間。 DigiMeshDigiMesh 網路是週期性的休眠網路,所有節點按照同步的方式在同一時刻進行睡眠和醒來。由睡眠協調器節點向全網廣播同步報文實現時間片的同步,睡眠協調器在每個醒來時間片開始時刻傳送一個同步報文,收到同步報文的節點對該報文進行中繼實現全網廣播。為了實現網路的自治目的,睡眠協調器由網路中的普通節點採用“提名和選擇”的方式產生。DigiMesh 支援三種休眠模式,正常模式、週期睡眠模式和睡眠支援模式,其中正常模式和睡眠支援模式並不能睡眠,而且正常模式節點不能和週期睡眠模式、睡眠支援模式節點混合組網。同步報文包含本次睡醒週期的醒、睡時間長度,因此 DigiMesh 的睡醒時間片可以變化。新上電的節點會一直不停監聽網路直到接收到一個同步報文,實現與網路的同步。同步失效節點會主動減少在醒來時間片內傳送報文並且增加醒來時間片的長度,還可以主動傳送報文請求同步報文,但這樣做會大大降低電池的續航能力。另外,改變睡醒時間片的引數會大大增加節點同步失敗的可能,對於最壞情況節點可以需要很長的時間才能重新同步。Z-WaveZ-Wave 在 ZDN5.0 版本後開始支援特定型別的休眠節點,但不是全部的節點都能休眠,休眠節點的時間片是非同步模式。節點的睡醒時間點不需要進行同步,但節點的時間片是固定的長度,間隔為 250ms 或者 1s。對休眠節點的喚醒採用延長物理層報文特殊前導訊號的方式,休眠節點會在休眠週期結束之後自動醒來很短暫的時間間隙監聽網路,如果檢測到特殊的前導報文則會推遲睡眠進行報文的接收和處理。喚醒休眠節點的特殊前導稱之為 beam,其持續時間需要大於或者等於休眠節點的休眠週期。Beam 的結構如下圖所示: Beam 方式喚醒的最壞情況發生在接收節點醒來剛好收到第一個 beam 的分片,接收節點就必須等待很長的時間直到 beam 結束。為了減少接收節點不必要的等待時間達到節電的目的,每個 beam 分片都攜帶者剩餘 beam 分片數目,接收節點可以重新進入短暫的休眠並在 beam結束前重新醒來接收之後的報文。這就要求 Z-Wave 節點有高精度的時鐘並且對晶片物理層的能力有較高的要求。由於 Beam 的持續時間是固定的,休眠節點間的睡醒時間片同步的越好Beam 喚醒所帶來的系統時延就越大。WaveMeshWaveMesh 網路節點的休眠有同步和非同步兩種模式,不同模式有各自的適用場景,而且兩種模式可以隨時轉換。WaveMesh 支援不休眠節點和休眠節點混合組網。同步模式下,網路中節點的睡醒時間片是嚴格同步的,時間片的同步由閘道器或者指定節點向全網廣播同步報文實現。同步報文在醒來時間片的結束時而不是在開始時進行傳送,同步報文指定點本次休眠時間片的長度而不指定下次醒來時間片的長度。WaveMesh 網路不去假設和預測當前網路的負荷,網路中若沒有資料傳輸時便可以立即進入休眠而不需要等待某個預定的時間片結束,也不去限制網路中資料傳輸必須在某個時間點結束。同步模式下節點休眠時間片和醒來時間片的長度是動態變化的。非同步模式下節點睡醒週期是固定的,但節點睡醒的時間點不需要進行同步,節點的睡醒週期長度可以根據需要設定。WaveMesh 網路採用特殊的 MAC 全網非同步喚醒技術,對整個網路每個節點的時間片進行同步,從非同步模式轉變成同步模式。全網非同步喚醒技術最大的特點是喚醒速度快,喚醒所用的時間幾乎是確定的,和網路節點密度以及網路的規模沒有太大關係。對於單播來說,僅需要對於單點進行喚醒, WaveMesh 採用重複傳送短喚醒報文的方式。與 ZWave 的 Beam 喚醒方法相比,WaveMesh 降低了對射頻晶片物理層的要求同時大大縮短了喚醒時間。當不同節點的時間片同步的很好時,喚醒帶來的時延就可以忽略。同、非同步模式對於節點來說沒有本質的區別,都是按照時間片進行週期性睡醒。新上電的節點預設為非同步模式。非同步模式下的節點在接收到同步報文時會自動校準自己的時間片變成同步模式,這種同步方式速度慢並且有不確性,在必要時可以採用全網非同步喚醒機制實現網路所有節點的快速同步。為了降低功耗,同步模式節點如果在接收時間同步報文超時會自動切換為非同步模式。 SmartMesh IPADI公司的SmartMesh® IP產品為無線晶片和預認證的PCB模組,集成了立即可部署的無線mesh網路軟體。它們面向IP相容性而構建且基於6LoWPAN和802.15.4e標準。SmartMesh IP產品線支援低功耗,即使在惡劣和不斷變化的RF環境中,也能提供99.999%以上的資料可靠性。(參考連結:https://www.cnblogs.com/leime/p/9435239.html)其本質協議還是WirelessHart技術。
SmartMesh IP 網路拓撲結構
SmartMesh IP 網路由高度可擴充套件的自成形多躍點無線節點網格和網路管理器構成,無線節點稱為智慧微塵,用於收集和中繼資料;網路管理器用於監控和管理網路效能和安全,並與主機應用程式交換資料。
圖4 網路拓撲結構
除了常見的“網格模式”外,SmartMesh IP 還支援一種稱為閃爍模式的超低功耗漫遊節點功能。
SmartMesh IP 智慧微塵
SmartMesh IP 智慧微塵是 SmartMesh IP 網路中的無線節點。它們連線到感測器/致動器並路由來自其他智慧微塵的資料,同時保持低功耗。
每個智慧微塵都可以傳送和接收訊息(支援雙向資料)。每個智慧微塵可以有不同的資料報告速率,網路管理器會自動協調各個成對通訊以便高效地路由流量。
每個智慧微塵可以有不同的供電能力(例如線路電源、電池電源或能量收集電源)。網路管理器會相應地對流量進行負載平衡以便將時間延長至網路的第一次電池更換。
SmartMesh IP 網路管理器
SmartMesh IP 網路管理器針對網狀網路執行兩種主要功能。首先,它們充當接入點微塵,將無線網狀網路連線到客戶主機應用。其次,網路管理器運行復雜的網路管理演算法以保持網路的效能。
SmartMesh IP 網路管理器具有兩種版本:EManager(支援多達 100 個智慧微塵,可以運行於嵌入式裝置上)、VManager(支援多達 50,000 個智慧微塵,運行於 x86 虛擬機器 (VM) 上執行)
藍芽Mesh
藍芽mesh並非無線通訊技術,而是一種網路技術。藍芽mesh網路依賴於低功耗藍芽。低功耗藍芽技術是藍芽mesh使用的無線通訊協議棧。
中繼功能:可中繼資訊,擴充套件藍芽網狀網路的範圍和規模,屬於選項功能
低功耗功能:休眠和輪詢(polling)朋友節點訊息,輪詢間隔時間可從毫秒到4天
朋友功能:可執行訊息快取(cache)的附加功能,以支援低功耗節點
代理功能:可啟用藍芽網狀網路和GATT裝置之間的訊息代理功能
低功耗節點和Friend節點
在藍芽Mesh網路中,低功耗節點可以透過減少射頻收發機(RF transceiver)開啟的佔空比來達到低功耗的目的,這些低功耗節點只有在需要進行訊息收發的時候才會開啟射頻收發器,其他時間都處於休眠狀態。
在藍芽Mesh網路中還有一類節點是專門為低功耗節點服務的,其具有Friend特性,也可以稱為Friend節點。Friend節點與低功耗節點可以建立Friendship關係。建立此種關係之後,Friend節點可以暫存發往低功耗節點的資訊,待低功耗節點退出休眠模式之後,再從Friend節點取回相關資訊。
在實際應用中,Friend節點可以是燈泡、機頂盒、路由器,這些裝置都是透過市電供電的,對於功耗不是很敏感;低功耗節點可以是由電池供電的裝置,如感測器等。
基於低功耗藍芽mesh模組SKB369,功耗極低!
Thread 協議
現在,三星、Nest、ARM又聯手推出了一種新的協議Thread。不知道Thread會加速行業統一標準形成,還是讓原本已經夠亂的通訊協議更加“剪不斷、理還亂”。
現在比較常用的網路協議有WiFi、藍芽、ZigBee、Z-Wave,不過都有不足:
不少大公司都在呼籲、倡導建立一個新的或者統一的新標準,這其中就包括了半導體生產商Freescale(飛思卡爾)、混合訊號器生產商 Silicon Labs。
這次三星、ARM、Nest三家公司,強強聯手,推出Thread,改進了上述協議中的不足,透過6LoWPAN技術支援 IPv6 。Thread可支援250個以上裝置同時聯網,能夠覆蓋到家中所有的燈泡、開關、感測器和智慧裝置。優化了功耗,超低能耗,裝置可以執行數年。此外,Thread是基於ZigBee的,也就是說原有的ZigBee裝置只需更新軟體即可相容Thread。綜合來看,Thread很可能像Homekit、高通的 開源框架AllJoyn一樣,是一種在頂層工作的頂層架構。
無線網路基礎網路技術的核心就是使網路中的節點裝置能都互通互聯,這就意味著要解決兩個問題:1. 網路中的節點之間如何通訊2. 網路中的節點之間怎麼建立鏈路無線網路和有線網路的拓撲結構有很大的不同。有線網路的拓撲結構跟節點之間連線的電纜有直接關係,如果所有的節點被連線成一個環,網路的拓撲就是相對穩定的環形結構。無線網路的拓撲結構則會複雜很多,因為所有的節點共享同一無線資源,由於無線訊號的碰撞以及節點物理位置的相對變化都會使無線網路的拓撲結構不斷變化,很難用模型去描述。常見的網路拓撲型別有星型、匯流排型和環型三種,如下圖所示: 環型網路,節點僅與自己相鄰的節點相連。資料報文可以按照順時針或者逆時針的方式在在環型網路的節點間進行傳遞。當收到一個數據報文,節點首先會判斷是否是發給自己的,如果是則接收否則將該報文傳遞給下一個節點。這種網路型別通常是用電纜連線的有線網路,也可以被想象成特殊的無線網路,網路中節點之間的距離都很遠以至於每個節點只能跟相鄰的節點才能直接通訊。 匯流排型網路,所有的節點都共享、搶佔同一個通訊介質。典型的是採用 CSMA 型別的網路。由於使用同一個傳輸介質,碰撞和重傳隨著網路的負荷的增加而增加。對於有線的情況,這樣網路常見是透過乙太網集線器相連的計算機組成的區域網。對於無線的情況,就會變得複雜很多,因為無線通道其實就是一個共享的通訊介質。儘管無線網路的路由可以按照星型、環型或者其他的拓撲結構進行處理,但本質上來說往往是匯流排型的網路。因此在本文中,無線網路的預設的基本拓撲結構是匯流排型。 星型網路,所有的節點都與一箇中心節點進行通訊。中心節點負責監聽所有節點的資料報文並轉發給對應的目的節點。星型網路的在計算機網路中應用十分廣泛。對於有線的情況如乙太網交換機連線的區域網,交換機就是中心節點。對於無線的情況如 Wi-Fi 網路,AP 就是中心節點,所有的資料報文都透過 AP 進行路由和轉發。但是所有的 Wi-Fi 裝置與 AP 通訊必須搶佔同一個無線資源,用的卻是匯流排型網路的協議 CSMA。 Mesh 網路,增加了節點間的互連性,節點之間連線路徑很多,網路的拓撲結構不同於之前的定義的三種情況。對於全連線的 Mesh 網路,每兩個節點都能直接相連。對於部分 Mesh 網路,一些節點與其它所有的節點相連,但是另外一些節點可能只和部分節點相連。下圖是全連線Mesh 網路的示意圖,圖中一共有 5 個節點,每個節點都能與其它節點直接相連。 全連線的網路往往很難實現,除非網路的規模非常小。全連線的網路隨著節點數目的增加很快變得非常複雜。對於有線方式的 Mesh 網路,由於節點之間的連線電纜的數目非常多而複雜,因此幾乎沒有實際應用。實際中,一個 Mesh 網路中只有部分節點具有路由的功能,其它的節點作為終端不具備路由的能力。下圖給出了三種不同的 Mesh 網路的例項,綠色的節點是終端,黃色的節點是路由器,紫色的節點是協調器用來將節點加入網路或者移除網路。星型結構的 Mesh 網路僅有一個路由器和多個終端組成。分類樹 Mesh 網路中由多個能夠相互連線的路由器和掛接在每個路由器下的終端組成。Peer-to-Peer Mesh 網路是完全對等的網路,所有的節點都有路由和終端的功能。有線網路幾乎完全不可能是 Mesh 網路拓撲,而無線網路則很可能是 Mesh 網路拓撲。相對於有線網路,無線網路有兩個重要不同點: 由於無線訊號的傳播性質,無線網路把節點之間的多連線變成現實。而在有線網路裡由於成本太高或者不容易佈線等因素,把網路中每兩個節點都用電纜相連幾乎是不可能的。 無線網路節點之間的無線鏈路往往受到噪聲、干擾的影響,相對於有線網路,無線鏈路具有不可預知性和不確定性 正是因為無線通道給了我們更多的自由度以及無線鏈路的不確定性才導致需要一種拓撲結構複雜、連線鏈路眾多的無線網路 – Mesh 網路。無線 Mesh 網路需要解決的一些難題:無線鏈路的訪問 – 既然所有的節點都共享同一無線鏈路資源,對鏈路的監聽比傳送更重要。如果有兩個以上的節點同時在傳送就會產生報文碰撞,導致沒有節點都能正確接收。因此,無線 Mesh 網路節點的鏈路層必須有很好的碰撞避免機制。路由的發現 – 由於無線環境和網路的拓撲在不停的變化,因此選擇無線 Mesh 網路中節點間的路徑變得非常困難。通常的做法有兩個:提前選擇好整條路徑;或者每前進一步都重新選擇下一步的路由。通常是這兩個做法相結合,首先是每一步都選擇路由,在整條路徑建立完畢,就可以按照建立好的路徑進行傳輸資料。應對環境的變化 – 在無線特別是移動的環境中,節點間的無線鏈路可能不斷的消失或者重新出現。無線 Mesh 網路需要大量的路由的維護工作。低功耗 – 由於採用無線的方式,節點往往沒有電源線,只能採用電池供電,因此需要有效的措施降低功耗。通常採用的電源管理的方法是在節點不工作的時候進入睡眠或者待機狀態。這個方式聽起來很好,但是節點在睡眠的時候無法接收也無法傳送,需要解決節點睡醒的時間同步等問題 比較準則我們從可靠性、可裁剪性、吞吐量、功耗、安全性、以及成本去比較目前業內幾種不同的Mesh 網路的綜合性能。可靠性 – 報文能夠在規定時間內到達目的節點的機率。如果,所有的報文都能在規定的時間內到達目的節點,則是非常可靠的網路。在實時性的要求不苛刻的情況下,報文能否到達目的節點可以作為可靠性的度量依據。下面列出了評估無線 mesh 網路的幾個因素:頻率靈活度 – 對網路周圍潛在的頻率干擾的檢測和避免的能力。 報文丟失 – 報文在節點之間向前傳遞的過程中是否會有丟失的可能。網路可以透過重建路由選擇別的路徑的方式去儘可能的避免報文的丟失,並且能夠丟棄透過不同路徑接收到的重複報文。自愈性 – 用來描述網路根據節點的位置變化和無線通道的不穩定因素去動態改變路由的能力,在路由變化同時能夠防止報文的丟失。節點故障 – 網路中的一些節點出現故障會對網路造成怎麼樣的影響,怎樣去恢復網路的功能。 功耗 – 無線感測網路會經常被客戶問到的一個問題就是用裝置用電池供電能夠工作多久?裝置的功耗越低,系統的維護成本也就越低。Mesh 網路中的裝置型別可能有三種:終端、路由器和協調器,裝置的型別不同對功耗的要求也有所不同。一般來說會要求終端裝置有最低的低功耗,這是因為這些裝置最有可能遠離市電。其次是路由器,對於採用電池供電或者能休眠的路由器來說會增加網路拓撲的不確定性。對功耗要求最低的是協調器,這些裝置通常採用固定電源而不是電池供電。對於能休眠的節點需要計算平均功耗,需要關注醒來的頻率和醒來的時間,以及射頻發射的時間和接受的時間。因為,裝置在射頻發射時往往消耗的功耗最大,因此有效降低射頻發射時間至關重要。 可裁剪性 – 能有效支援多大規模的網路。幾乎業內流行的 mesh 網路技術都支援上萬節點的網路,也有例外如 Z-Wave 僅支援 232 個節點。但實際應用中的網路規模要小的多,這是因為網路的規模跟實際應用和網路的穩定性有很大的關係。如果一張 mesh 網路不會遇到路由失效的問題,路由表項不需要去維護而且很有效率,也幾乎不會發生錯誤重傳的問題,這樣的穩定網路規模可以很大。可裁剪性還需要依賴網路傳輸的資料型別和資料量,可以分為 3 種資料型別:少量資料、突發資料和流資料。少量資料是指週期很長、資料量不大的週期性資料。流資料是指不間斷的固定流量的資料。如果 mesh 網路僅傳輸少量資料那麼網路規模可以很大,而且對於節點能夠休眠的網路也很容易處理。但是對於需要傳輸流資料的 mesh 網路,網路規模相對要小而且很難對節點的應用休眠機制。 吞吐量 – 這裡不去考慮網路裁剪性等特性,僅考慮網路的處理資料的能力。對於不同的應用需求其衡量標準也有所不同。例如對於實時、大資料量的應用和允許非實時、小資料量的應用的衡量標準應該有所不同。網路的吞吐量需要在 5 個方面進行折中考慮:資料速率、延時、包大小、分片機制和網路規模。 安全性 – 我們更多的考慮應用中的實際威脅,然而安全性更容易用一些傳統的引數去評估。首先是加密,用來保護資訊本身,現在流行的加密演算法是密匙最小長度為 128-bit 的 AES128。然後是認證,怎麼去驗證偽造的節點,典型的手段是透過金鑰的交換和數字證書。最後是授權,就是透過金鑰和數字證書的認證的結果決定是否給予許可權。另外,還有其它與認證和授權相關的引數。 成本 – 成本包括幾個方面:裝置成本、安裝成本和整個網路的運營、維護成本。其中維護成本很難去衡量,最容易衡量的是每個節點裝置的購買價格。對於支援休眠採用電池供電的裝置來說,情況會有些複雜。比如,有些 Mesh 網路不支援路由器休眠僅支援終端休眠,需要透過部署不能休眠的路由器等裝置來支援終端裝置的休眠;另外一些 Mesh 網路的終端具備路由的功能而且能夠睡眠。即使所有終端、路由器等裝置的價格相同,不支援路由器休眠的網路所需的裝置數量要遠大於支援路由器休眠的網路。因此,整個網路的裝置成本不能單看每個終端裝置的成本。 幾種 Mesh 網路簡介點對多點其實是一個簡單的星型網路而不是一個真正的 Mesh 網路,但經常被看作最簡單的 mesh 網路。這種網路的空口調製方式常見是跳頻擴頻和直接序列擴頻方式如 802.15.4。需要指定網路的PAN ID、路由和安全策略。終端節點都和中心路由節點進行通訊,終端節點之間不直接通訊。終端節點可以睡眠而中心路由節點不能睡眠。典型的網路結構如下圖所示,所有的節點都在相同的物理通道或者相同的跳頻通道。網路的頻寬和吞吐量的瓶頸在於中心節點的併發能力。對於大資料量或者節點數目很多的網路,空口報文碰撞會很顯著,需要採用一定的分時、輪詢的機制來避免碰撞的發生。 優點:最大的點對多點的網路是簡單。由於沒有多跳和中級的問題,空口報文碰撞避免也可以用很多的方法解決,因此網路傳輸的相對確定性好。由於沒有路由發現和路由的維護開銷,物理頻寬可以達到很高的利用率。理解和管理起來很容易。對於特定的應用,由於協議很簡單,裝置成本很低。缺點:網路的覆蓋範圍十分有限,網路的規模小。網路的抗干擾能力和自愈能力差。如果某個終端節點受到遮擋或者受到外界干擾不在中心路由節點有效空口覆蓋範圍之內,網路沒有辦法透過尋找新的路由等方式進行自我修復。 ZigBee 2007ZigBee 的物理層和鏈路層是基於 802.15.4 標準,用的是 2.4GHz 的 DSSS 除錯方式。網路有3 種裝置組成:可以休眠的終端、不能休眠的路由器以及一個用於啟動和控制網路的協調器組成。ZigBee 標準有三個不同的版本:2004,2006 和 2007。其中 ZigBee 2004 不再使用,並且 ZigBee 2006 有很多的侷限性。ZigBee 2007 引入了很多關鍵特性如:頻率跳變、訊息分片、金鑰的管理等。網路的路由結構是之前提到的分簇樹型,路由的發現和維護工作由每簇的簇頭節點(路由器)來實現。終端節點之間不能直接通訊,必須透過路由器中轉。網路的路由維護開銷小,但是網路中需要大量的路由器。在路由器之間建立路由,路由協議採用 AODV 演算法。ZigBee 網路由三種典型的裝置組成。每個網路需要一個 ZigBee 協調器(ZC – ZigbeeCoordinator)用來初始化整張網路。網路初始化完畢之後,協調器就轉變一個路由器。ZigBee 路由器(ZR – ZigBee Router)是網路的可選元件,沒有路由器的 ZigBee 網路就完全變成之前提到的點對多點的網路。路由器負責路由維護和資料報文的轉發工作。最後是ZigBee 終端(ZED – ZigBee End Device),終端不參與路由不負責報文轉發,沒有任何的組網責任。ZigBee 網路的組網示意圖如下: 優點:由於終端節點沒有任何的組網責任,功耗可以很低。分簇樹型的網路結構的大大節點間路由的數量,因此路由的效率很高。ZigBee 2007 允許按照一定的跳頻規則,在需要的時候能夠從有干擾的通道切換到別的通道。由於支援報文的分片,因此能夠傳輸長度很長的資料報文。支援分散式的密匙,網路的安全性很好。最後,網路的規模可以很大。缺點:網路中的路由器和協調器不能休眠,功耗是一個很大的問題。由於採用的是簇樹型的網路結構,如果網路拓撲結構發生改變,就會影響很多節點間的通訊鏈路,新路由的發現和維護期間網路幾乎癱瘓。由於節點間的路由鏈路利用率不高,網路的吞吐量不高,大資料量時報文的碰撞明顯,會有潛在的資料的丟失。最後,協調器需要啟動和管理整個網路,如果協調器不能工作,則就不能增加新的節點甚至網路癱瘓。 Wireless HARTWireless HART 是由 Dust Networks 建立的採用時間同步的 Mesh 網路協議(TSMP – TimeSynchronized Mesh Protocol)。與其它的網路協議不同,該系統基於時間片鏈路層採用時分的方式。整個網路的所有節點都是路由器並且所有節點都能睡眠,是一個低功耗的網路。節點的睡醒機制需要在時間片上嚴格同步,網路需要一個閘道器來負責整個網路的時間同步。和ZigBee 一樣,該協議基於 802.15.4 DSSS,但是增加了一個更精確的跳頻演算法。安全策略包括加密和授權。 下圖是 Wireless HART 網路的典型的網路拓撲結構,所有的節點都是路由器。路由根據在不同時間片內和不同的跳頻通道能看到的不同節點動態改變。兩個節點之間會動態協商一個時間片進行通訊,因此就會降低報文碰撞的可能性。當節點睡眠的時候,會在屬於自己的時間片內醒來去監聽有沒有傳輸的任務。節點的時鐘由閘道器保持同步。優點:每個節點都有路由的能力而且功耗非常低,大部分時間都處在監聽狀態。報文的傳輸都在分配好的時間片內完成,採用跳頻技術降低了衝突的發生,因此會大大降低報文的碰撞和重傳。每個訊息都有 ACK,通訊的可靠性高。網路的規模可以達到 1000 個節點左右。安全策略包括加密和授權。缺點:由於採用時間分片的方式,傳輸延時很長和確定性。需要很長的時間進行網路的初始化,所有的節點都必須協商自己的時間片。由於劃分了時間片,可用的 802.15.4 的物理頻寬被切分,因此網路的吞吐量很低,尤其在網路中有突發資料流量的情況下。一個上電的閘道器必須要時刻都能正常工作,如果閘道器不能工作那麼整個網路在一個時間片週期之後便會癱瘓。最後,和其它的 Mesh 網路相比裝置成本非常昂貴。 6LoWPAN6LoWPAN 是低功耗無線個人區域網的 IPv6 版本的縮寫。目前這只是一個基於 IETF RCF4944 的提案,也是基於 802.15.4 的晶片和射頻。和傳統的 IPv6 不同,6LoWPAN 的最大傳輸報文大小隻有 128 位元組而不是 IPv6 標準的 1280 位元組,以便能用在記憶體有限的低廉裝置中。到今天為止,還只是一個點對多點的系統,但基於 Mesh 路由的草案正在討論之中。 下圖是 6LoWPAN 組網的拓撲圖,這樣到現在為止還是點對多點的結構。與別的網路拓撲圖不同,這張圖顯示的是從宿主計算機到終端裝置的端到端的基於 IP 的連線。終端裝置的 IP 地址由網路遠端的宿主計算機分配。圖中終端裝置的閘道器提供在資料鏈路層的協議轉換和報文的拆裝。 優點:可以支援現有的廣泛流行的 TCP/IP 協議,能夠利用 IETF 現有的協議組、QoS 和網路安全相關的架構。因此,能夠無縫地路由 Internet IP 報文。缺點:系統非常新目前只是一個草案。因為目前還在公眾評審階段,將來可能會有很多的變化。事實上,Mesh 路由工作組目前正處在組建階段,因此該協議被廣泛應用前還有很長一段路要走。因此,能與 Internet 互聯目前只是個構思,還沒有證明其可能性。由於該協議還不成熟,目前還沒有相關的產品問世,估計產品的價格不會便宜。 DigiMesh和 Wireless HART 很相似,DigiMesh 也是為低功耗的感測器網路所設計的,每個節點都具備路由功能且都可以用電池供電。DigiMesh 可以工作在多個頻段如 2.4GHz DSSS 和 900MHzFHSS。該協議在 2.4GHz DSSS 頻段工作時並不完全遵循 802.15.4 的物理層和資料鏈路層的標準。路由協議採用類似 AODV 演算法,路由表在需要時才被建立,網路的拓撲結構是 Peerto-Peer mesh 而不是 ZigBee 網路的分簇樹結構。所有的節點的地位都是平等的,每個節點都可以具備路由的能力並且都可以睡眠。碰撞避免採用的是時間同步的 CSMA 演算法。有安全策略。DigiMesh 的網路拓撲結構如下圖所示,為典型的 Ad Hoc 網路結構。DigiMesh 的路由只有在需要時才去建立,而不像 ZigBee 網路中的路由器之間的路由是時刻被維護的。DigiMesh網路中不是使用的路由不會佔據路由表項,路由在每次使用時都會進行更新。DigiMesh 為了支援休眠節點之間的睡醒時間片必須進行同步,節點間的時間同步有專門的節點向全網廣播同步報文來實現。為了實現自治的目的,負責時間同步的節點並不是協調器或者閘道器來完成,由提名機制在網路節點中選舉產生。 優點:每個節點都具備路由能力並且都可以休眠。每個報文的轉發都採用 ACK 應答的方式保證系統的可靠性。路由僅在需要時才去建立,因此係統不會被沒有必要的路由發現工作佔據太多的頻寬。支援頻率的跳變和安全機制加密和鑑權。支援報文分片。缺點:低功耗就意味著響應時間慢和不確定性。雖然系統的瞬時吞吐量不受時間片的限制,但是會影響路由的發現。網路規模最多能支援 500 個節點左右的網路,對於傳輸的資料量小資料流變化小的網路支援的規模會大一些。 Z-WaveZ-Wave 是針對家居自動化應用定製的 Mesh 網路協議,射頻採用 FSK 調製方式,波特率為9.6Kbps 或者 40kbps,發射功率最大為 0dBm,工作頻率為 868.42MHz 或 908.42MHz,鏈路層有碰撞避免機制。Z-Wave 網路節點數目最多為 232 個,每個控制節點都有唯一的 4 位元組網路地址,Z-Wave 網路會為每個組網裝置動態分配 1 位元組的節點地址。裝置型別大致分為控制節點和受控節點兩種,支援休眠節點和可移動節點。對休眠的支援採用非同步模式,節點間不需要同步時間片。支援單播、多播和廣播,其中單播是可靠的而多播和廣播是不可靠的。Z-Wave 網路拓下圖所示的 Ad Hoc 網路。Z-Wave 網路中控制節點擁有全網的拓撲結構並計算路由,受控節點不能自己計算路由但具有報文轉發的能力。Z-Wave 採用“源路由”的路由方式,控制節點在傳送命令時根據全網路由表計算出一條最佳路徑,並將路由資訊內嵌在命令報文中一起傳送。Z-Wave 網路有可以有多個控制節點但只能有一個主控節點,只有主控節點有新增和刪除網路裝置、分配網路地址的權利。 優點:每個節點有轉發功能,支援休眠和移動的控制節點。報文的轉發採用 ACK 應答的方式保證系統的可靠性。休眠為非同步模式,休眠節點不需要進行時間片同步。缺點:網路規模很小,最大支援 232 個節點的網路。應用領域狹窄,主要針對家居自動化應用,報文長度很短用來發送命令資訊。工作方式簡單,控制節點和受控節點之間主要以應答模式為主。網路需要一個主控節點作為網路的中心節點,負責網路節點的地址分配和網路拓撲結構。如果主控節點不能工作,網路就會癱瘓需要重新初始化網路才能正常工作,而網路初始化需要相當長時間。另外雖然支援可移動的控制節點,這裡移動其實是便攜的意思與移動自組網是完全不同的概念。 WaveMeshWaveMesh 是為低功耗、低成本的 MANET(Mobile Ad-Hoc Network 移動自組網路)所設計的 Peer-to-Peer Mesh 網路協議。與其它的 Mesh 網路協議不同,WaveMesh 是唯一能夠有效支援節點快速移動的網路,資料流能夠在節點移動過程中無縫地在不同的路徑之間切換。WaveMesh 物理層可以採用不同調制方式和不同頻段,鏈路層採用先進的碰撞避免演算法,能夠自動通道跳變和速率自適應,網路層採用私有路由協議 OLDM(On-demand Light-weightDynamic Multipath)。WaveMesh 是一個完全分散式的網路,所有節點的地位都是平等的,沒有中心節點,所有節點都夠休眠,都具備路由能力。WaveMesh 網路拓撲結構如下圖所示,路由協議 OLDM 是多徑路由協議,每個節點都會維護到其它節點儘可能多的路由,網路節點間的路由數量要遠遠大於其它的 Mesh 網路。節點能夠實時感知拓撲結構的變化,在現有路由失效之前主動發現的新路由,能夠支援快速移動的網路。對休眠的支援有兩種模式:同步模式和非同步模式,兩種模式可以靈活切換以適應不同的應用需求。支援上萬節點的超大規模網路,不需要網路初始化過程,即插即用。網路層和物理層有智慧的並行機制,網路吞吐量比其它網路高很多倍。支援單播、多播和廣播,其中單播是可靠的而多播和廣播是不可靠的。 優點:支援快速移動的網路,完全分散式的 Mesh 網路,每個節點都具備路由能力並且都可以休眠。節點能感知網路拓撲結構並計算路由,採用私有的 OLDM 多徑路由協議和並行機制保證了路由的健壯性和高吞吐量。報文的轉發採用 ACK 應答的方式保證了可靠性。組網速度快,不需要進行網路初始化,網路規模大,支援頻率跳變、速率自適應和安全機制。休眠節點可以工作在同步模式或者非同步模式,並且在兩種模式下靈活轉換,採用特有的 MAC 層全網喚醒技術進行時間片的同步。另外產品價格低廉、應用領域非常廣泛。 缺點:低功耗就意味著響應時間慢和不確定性。 節點休眠技術簡介一些應用要求無線 Mesh 網路節點使用電池供電能正常工作很多年,對節點的功耗要求十分苛刻。上述的 Wireless HART、DigiMesh 和 WaveMesh 網路全部節點都可以休眠並且都具備路由功能。Z-wave 網路也能支援部分節點休眠並且具有報文轉發能力。ZigBee 網路的終端節點也具備休眠的能力但不具備報文轉發和路由的能力。在這裡對不同的 Mesh 網路所採用的休眠技術進行簡單介紹。ZigBee 2007終端裝置是 ZigBee 網路中唯一能都休眠的裝置,由於終端裝置在休眠的時候不能接收到無線訊號,因此需要路由器或者協調器為終端裝置快取資料報文。當終端裝置加入網路時,必須要選擇一個路由器或者協調器作為父節點組成父子關係。當終端裝置醒來時會主動向自己的父節點詢問是否快取了屬於自己的資料報文,父節點在收到請求後會向終端節點返回 MAC 層的ACK 報文告訴終端是否有快取報文。當終端節點被告知沒有快取的資料報文時,終端可以再次進入休眠或者待機模式。如果有快取的資料報文,則終端繼續處於工作模式接收和處理屬於自己的報文。這種終端輪訓的機制可以使終端在沒有資料傳輸的情況下有效地減少功耗。終端裝置只能與自己的父節點進行通訊,無論是單播還是廣播報文終端都轉發給其父節點,有父節點代表終端進行路由查詢和報文的轉發。由於父節點的記憶體空間有限,快取報文和路由資訊很有可能會耗盡父節點的記憶體。ZigBee 引入超時機制,如果超時發生父節點會刪除快取的報文甚至刪除與子節點的父子關係,不同型別的報文可以有不同的超時時間。從這個角度來看,ZigBee 協議的 MAC 層並不能保證可靠性。 ZIGBEE 3.0特性:支援多種網路拓撲,比如點對點,點對多點,自組網;低工作佔空比能力,提供長電池供電的可能;低延遲;採用DSSS擴頻技術;每個網路最高可支援65,000節點128-bit AES 加密碰撞避免,重試和應答確認 ZigBee標準體系內各種標準的統一,拉開了ZigBee聯盟統一ZigBee標準的序幕。簡單說,ZigBee聯盟將不再針對家庭自動化、智慧建築、能源管理等細分領域,在ZigBee標準的基礎上發展不同的標準,而是全部統一為ZigBee3.0,如此以來,為基於ZigBee標準的家庭自動化、智慧照明等裝置互聯互通奠定基礎。一是網路層的標準化,基於IEEE 802.15.4標準,工作頻率為2.4 GHz(全球通用頻率),使用ZigBee PRO網路;二是應用層的標準化,定義網路和裝置執行之間的一切連線方式,使不同供應商的裝置可以無縫協作。 ZigBee 3.0軟體棧集成了一個“基礎裝置”,它為配置節點加入到網路提供一致的行為。它提供了一套通用的配置方法,包括Touchlink,一種透過鄰近節點的配置入網的方法。 ZigBee 3.0增強了網路的安全特性,有兩種安全的方法來生成網路: 集中式安全入網:這種方法採用協調器/信任中心來生成網路,管理網路資源和連線金鑰。 分散式安全入網:這種方法沒有協調器/信任中心,它透過路由節點為其它節點提供入網金鑰。 Zigbee 3.0支援越來越多和越大的網路, ZigBee網路有強大的自愈能力能應對各種場景的變化。ZigBee具有向前相容能力, ZLL 1.0和ZHA 1.2已經支援ZigBee 3.0。ZigBee smart energy在功能上相容zigBee 3.0,但它有額外的安全要求僅在這個profile中處理。Wireless HART (SmartMesh WireLess HART )Wireless HART 使用分時多重進接(TDMA)技術來協調裝置間的通訊,TDMA 資料鏈路層指定了在裝置之間建立鏈路連線並進行通訊的時間片和通道頻率。採用“超級幀”週期性地對裝置間的鏈路資訊進行管理和廣播。可以允許多個不同週期的“超級幀”同時存在,以滿足週期性和非週期性的傳輸需要。節點間的鏈路可以被某個實時性要求高的應用專用,也可以被很多應用共享物理頻寬。時間被劃分為 10ms 為單位的時間片,所有節點的時間片完全同步的。時間片是進行資料傳輸的基本間隔單位,可以在一個時間片進行多次資料交換。資料收發必須在一個 時間片內結束,如果一塊資料不能在一個時間片內傳送完畢,則需要被分片以便在多個時間片分別傳輸。節點在不同的時間內可以處於不同的狀態:傳送、接收和空閒,在空閒狀態的時間片內節點可以休眠。由資料鏈路協議資料單元(DLPDU)和帶有時間資訊的 ACK 報文連續進行全網 TDMA 的時間片的同步。最開始,節點剛加入網路並不知道當前時間,可以透過接收到 DLPDU 報文的時間計算出下一時間片的起始時間。當節點再接收到 DLPDU 報文時會比較自己與傳送節點的時間差,接收節點會在相應的 ACK 報文中新增時間調整資訊。接收到 ACK 報文的節點需要根據報文中的時間資訊調整時間片。網路的每個節點都需要指定一個節點作為時間源獲得時間同步資訊。在時間片同步失效的情況下,節點採用過取樣的方法把將時間片長度縮短為正常值的 1/2-1/10 以減小重新同步的時間。 DigiMeshDigiMesh 網路是週期性的休眠網路,所有節點按照同步的方式在同一時刻進行睡眠和醒來。由睡眠協調器節點向全網廣播同步報文實現時間片的同步,睡眠協調器在每個醒來時間片開始時刻傳送一個同步報文,收到同步報文的節點對該報文進行中繼實現全網廣播。為了實現網路的自治目的,睡眠協調器由網路中的普通節點採用“提名和選擇”的方式產生。DigiMesh 支援三種休眠模式,正常模式、週期睡眠模式和睡眠支援模式,其中正常模式和睡眠支援模式並不能睡眠,而且正常模式節點不能和週期睡眠模式、睡眠支援模式節點混合組網。同步報文包含本次睡醒週期的醒、睡時間長度,因此 DigiMesh 的睡醒時間片可以變化。新上電的節點會一直不停監聽網路直到接收到一個同步報文,實現與網路的同步。同步失效節點會主動減少在醒來時間片內傳送報文並且增加醒來時間片的長度,還可以主動傳送報文請求同步報文,但這樣做會大大降低電池的續航能力。另外,改變睡醒時間片的引數會大大增加節點同步失敗的可能,對於最壞情況節點可以需要很長的時間才能重新同步。Z-WaveZ-Wave 在 ZDN5.0 版本後開始支援特定型別的休眠節點,但不是全部的節點都能休眠,休眠節點的時間片是非同步模式。節點的睡醒時間點不需要進行同步,但節點的時間片是固定的長度,間隔為 250ms 或者 1s。對休眠節點的喚醒採用延長物理層報文特殊前導訊號的方式,休眠節點會在休眠週期結束之後自動醒來很短暫的時間間隙監聽網路,如果檢測到特殊的前導報文則會推遲睡眠進行報文的接收和處理。喚醒休眠節點的特殊前導稱之為 beam,其持續時間需要大於或者等於休眠節點的休眠週期。Beam 的結構如下圖所示: Beam 方式喚醒的最壞情況發生在接收節點醒來剛好收到第一個 beam 的分片,接收節點就必須等待很長的時間直到 beam 結束。為了減少接收節點不必要的等待時間達到節電的目的,每個 beam 分片都攜帶者剩餘 beam 分片數目,接收節點可以重新進入短暫的休眠並在 beam結束前重新醒來接收之後的報文。這就要求 Z-Wave 節點有高精度的時鐘並且對晶片物理層的能力有較高的要求。由於 Beam 的持續時間是固定的,休眠節點間的睡醒時間片同步的越好Beam 喚醒所帶來的系統時延就越大。WaveMeshWaveMesh 網路節點的休眠有同步和非同步兩種模式,不同模式有各自的適用場景,而且兩種模式可以隨時轉換。WaveMesh 支援不休眠節點和休眠節點混合組網。同步模式下,網路中節點的睡醒時間片是嚴格同步的,時間片的同步由閘道器或者指定節點向全網廣播同步報文實現。同步報文在醒來時間片的結束時而不是在開始時進行傳送,同步報文指定點本次休眠時間片的長度而不指定下次醒來時間片的長度。WaveMesh 網路不去假設和預測當前網路的負荷,網路中若沒有資料傳輸時便可以立即進入休眠而不需要等待某個預定的時間片結束,也不去限制網路中資料傳輸必須在某個時間點結束。同步模式下節點休眠時間片和醒來時間片的長度是動態變化的。非同步模式下節點睡醒週期是固定的,但節點睡醒的時間點不需要進行同步,節點的睡醒週期長度可以根據需要設定。WaveMesh 網路採用特殊的 MAC 全網非同步喚醒技術,對整個網路每個節點的時間片進行同步,從非同步模式轉變成同步模式。全網非同步喚醒技術最大的特點是喚醒速度快,喚醒所用的時間幾乎是確定的,和網路節點密度以及網路的規模沒有太大關係。對於單播來說,僅需要對於單點進行喚醒, WaveMesh 採用重複傳送短喚醒報文的方式。與 ZWave 的 Beam 喚醒方法相比,WaveMesh 降低了對射頻晶片物理層的要求同時大大縮短了喚醒時間。當不同節點的時間片同步的很好時,喚醒帶來的時延就可以忽略。同、非同步模式對於節點來說沒有本質的區別,都是按照時間片進行週期性睡醒。新上電的節點預設為非同步模式。非同步模式下的節點在接收到同步報文時會自動校準自己的時間片變成同步模式,這種同步方式速度慢並且有不確性,在必要時可以採用全網非同步喚醒機制實現網路所有節點的快速同步。為了降低功耗,同步模式節點如果在接收時間同步報文超時會自動切換為非同步模式。 SmartMesh IPADI公司的SmartMesh® IP產品為無線晶片和預認證的PCB模組,集成了立即可部署的無線mesh網路軟體。它們面向IP相容性而構建且基於6LoWPAN和802.15.4e標準。SmartMesh IP產品線支援低功耗,即使在惡劣和不斷變化的RF環境中,也能提供99.999%以上的資料可靠性。(參考連結:https://www.cnblogs.com/leime/p/9435239.html)其本質協議還是WirelessHart技術。
SmartMesh IP 網路拓撲結構
SmartMesh IP 網路由高度可擴充套件的自成形多躍點無線節點網格和網路管理器構成,無線節點稱為智慧微塵,用於收集和中繼資料;網路管理器用於監控和管理網路效能和安全,並與主機應用程式交換資料。
圖4 網路拓撲結構
除了常見的“網格模式”外,SmartMesh IP 還支援一種稱為閃爍模式的超低功耗漫遊節點功能。
SmartMesh IP 智慧微塵
SmartMesh IP 智慧微塵是 SmartMesh IP 網路中的無線節點。它們連線到感測器/致動器並路由來自其他智慧微塵的資料,同時保持低功耗。
每個智慧微塵都可以傳送和接收訊息(支援雙向資料)。每個智慧微塵可以有不同的資料報告速率,網路管理器會自動協調各個成對通訊以便高效地路由流量。
每個智慧微塵可以有不同的供電能力(例如線路電源、電池電源或能量收集電源)。網路管理器會相應地對流量進行負載平衡以便將時間延長至網路的第一次電池更換。
SmartMesh IP 網路管理器
SmartMesh IP 網路管理器針對網狀網路執行兩種主要功能。首先,它們充當接入點微塵,將無線網狀網路連線到客戶主機應用。其次,網路管理器運行復雜的網路管理演算法以保持網路的效能。
SmartMesh IP 網路管理器具有兩種版本:EManager(支援多達 100 個智慧微塵,可以運行於嵌入式裝置上)、VManager(支援多達 50,000 個智慧微塵,運行於 x86 虛擬機器 (VM) 上執行)
藍芽Mesh
藍芽mesh並非無線通訊技術,而是一種網路技術。藍芽mesh網路依賴於低功耗藍芽。低功耗藍芽技術是藍芽mesh使用的無線通訊協議棧。
藍芽Mesh採用ble低功耗藍芽廣播的方式就行資訊傳送和接受,將資訊從網路當中的某一個節點轉發至目的節點,在藍芽mesh組網中,這種廣播模式也稱為網路泛洪。採用網路泛洪的方式,透過可控的泛洪訊息傳遞,不需要建立和管理複雜的路由表、路由發現表等,節省了維護網路執行的儲存器空間的開銷。同時,網路泛洪訊息傳播的本質是多路徑(Multi path)的,確保了資訊可以透過多條路徑傳遞到目的節點,因此網路中任何一個單點的故障也不會對網路傳輸造成致命性的影響,這使得網路高度可靠。 特點單播、組播和廣播:藍芽網狀網路支援單播、廣播和組播,以支援單一節點、組或整個網路的通訊需要;多路徑:藍芽網狀網路透過繼電功能來發送有管理廣播資訊,以提供多路徑傳送訊息管理資訊氾濫的問題;訊息存活時間(TTL):TTL用於所有藍芽網狀網路訊息,以控制訊息將被中繼時的彈跳(hop)數;訊息快取:訊息快取由所有節點執行,用於防止最新接收的訊息再次被傳輸;中繼具選擇功能:不是所有的節點都需要執行中繼功能。 網路拓撲中繼功能:可中繼資訊,擴充套件藍芽網狀網路的範圍和規模,屬於選項功能
低功耗功能:休眠和輪詢(polling)朋友節點訊息,輪詢間隔時間可從毫秒到4天
朋友功能:可執行訊息快取(cache)的附加功能,以支援低功耗節點
代理功能:可啟用藍芽網狀網路和GATT裝置之間的訊息代理功能
低功耗節點和Friend節點
在藍芽Mesh網路中,低功耗節點可以透過減少射頻收發機(RF transceiver)開啟的佔空比來達到低功耗的目的,這些低功耗節點只有在需要進行訊息收發的時候才會開啟射頻收發器,其他時間都處於休眠狀態。
在藍芽Mesh網路中還有一類節點是專門為低功耗節點服務的,其具有Friend特性,也可以稱為Friend節點。Friend節點與低功耗節點可以建立Friendship關係。建立此種關係之後,Friend節點可以暫存發往低功耗節點的資訊,待低功耗節點退出休眠模式之後,再從Friend節點取回相關資訊。
在實際應用中,Friend節點可以是燈泡、機頂盒、路由器,這些裝置都是透過市電供電的,對於功耗不是很敏感;低功耗節點可以是由電池供電的裝置,如感測器等。
基於低功耗藍芽mesh模組SKB369,功耗極低!
Thread 協議
現在,三星、Nest、ARM又聯手推出了一種新的協議Thread。不知道Thread會加速行業統一標準形成,還是讓原本已經夠亂的通訊協議更加“剪不斷、理還亂”。
現在比較常用的網路協議有WiFi、藍芽、ZigBee、Z-Wave,不過都有不足:
WiFi的功耗比較大,適合傳輸大量的資料;藍芽功耗比較低,但現在還存在藍芽2.0與藍芽4.0並存的混亂局面,且不支援IPv6(藍芽版本4.1以下);ZigBee佈線比較複雜,更適合商用;Z-Wave由丹麥公司Zensys主導,暫時還沒有ZigBee聯盟強大。不少大公司都在呼籲、倡導建立一個新的或者統一的新標準,這其中就包括了半導體生產商Freescale(飛思卡爾)、混合訊號器生產商 Silicon Labs。
這次三星、ARM、Nest三家公司,強強聯手,推出Thread,改進了上述協議中的不足,透過6LoWPAN技術支援 IPv6 。Thread可支援250個以上裝置同時聯網,能夠覆蓋到家中所有的燈泡、開關、感測器和智慧裝置。優化了功耗,超低能耗,裝置可以執行數年。此外,Thread是基於ZigBee的,也就是說原有的ZigBee裝置只需更新軟體即可相容Thread。綜合來看,Thread很可能像Homekit、高通的 開源框架AllJoyn一樣,是一種在頂層工作的頂層架構。
比較結果採用在本文之前描述的比較準則對幾種不同 mesh 網路做出儘可能準確的比較結果。 比較範疇 點對多點ZigBee 2007 Pro(1.0協議)Zigbee 2016 (3.0協議)Wireless HART6LoWPANDigiMeshZ-WaveWaveMeshSmartMesh IP藍芽MeshThread可靠性-跳頻機制-丟包率-自適應性★★★★★ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★電源管理-休眠策略-節點功耗★★★★ ★★★N/A★★★★★★★★★★★★★★★★★★可裁剪性-網路規模-路由開銷-覆蓋範圍★★★★★ ★★★N/A★★★★★★★★★★★★★★★★★★吞吐量-資料速率-並行機制-延時★★★★★★ ★N/A★★★★★★★★★★★★★★安全-加密-認證-授權★★★★★★★ ★★★★★★★★★★★★★★★★★★★★★★★★★★★成本-晶片成本-維護成本★★★★★★★ ★★★★★★★★★★★★★★★★★★★★ 最終選擇比較對於可靠性來說,點對多點和 Z-Wave 系統的弱點來自於中心節點,中心節點壞掉整個網路癱瘓。有些系統定義了頻率跳變,在 ZigBee 2007 之前的版本沒有頻率跳錶機制,在 2007 版本引入了頻率跳變和報文分片機制。對於 Wireless HART 和 WaveMesh 網路從設計的角度來說,網路不會丟棄任何報文,因此可靠性比較高。而 ZigBee 和 DigiMesh 網路的報文有被丟棄的可能。對 6LoWPAN 可靠性的評估是基於現有的 TCP/IP 協議族。對於電源管理能力,Wireless HART、DigiMesh 和 WaveMesh 都能支援全部節點包括路由節點在內都能進行休眠,相比較之下 WaveMesh 的休眠技術比較靈活。ZigBee 和 Z-Wave只能支援部分節點休眠:ZigBee 的終端裝置可以休眠;Z-Wave 網路中感測器類裝置可以休眠。對點對多點系統的評估參考了 Wi-Fi 和 Bluetooth 網路的電池的續航能力。 可裁剪性主要評估網路能支援多大的規模而且還能夠有效低工作。ZigBee 2007 Pro 的分類樹網路拓撲可以支援幾萬節點規模的網路,路由僅在路由器之間建立,路由的維護開銷小。WaveMesh 採用完全分散式的 peer-to-peer Mesh 拓撲結構可以支援幾萬點的網路規模,並且採用私有 OLDM 路由協議,路由開銷很小。對於 Wireless HART 和 DigiMesh 網路可以支援幾百點的規模,網路規模再變大網路效能就會迅速降低。Z-Wave 只能支援最多 232 節點的網路規模。點與多點網路顯然在這方面是最差的,所有節點必須在中心節點的無線訊號覆蓋範圍之內。 吞吐量用來評估網路處理資料的能力。點對多點的系統網路拓撲十分簡單,具有確定的時延和高吞吐量。WaveMesh 網路在物理層和網路層有高度並行的機制,吞吐量比其它的 Mesh 網路高出很多倍甚至遠遠大於點對多點網路。WaveMesh 網路支援節點休眠,儘管休眠在一定程度上帶會來延時,但有特殊的全網喚醒機制能在必要時可以在很短時間內喚醒全網。Wireless HART、DigiMesh 和 Z-Wave 系統為了支援節點休眠卻犧牲了網路的吞吐量並且增加了傳輸時延。對於 ZigBee 來說由於路由器不能休眠,路由器之間的鏈路相對穩定減少了系統的處理延時,但是 ZigBee 分簇樹狀網路拓撲結構路由器之間物理頻寬要在很多終端節點間共享,這就大大降低了網路的吞吐量。對於安全性,上述的幾種 mesh 網路都是加密、認證和授權機制,基於 AES-128bits 的加密演算法。ZigBee 和 6LoWPAN 系統的安全性比較靈活、協議詳細並且易於實現。對於成本,主要從硬體成本如晶片的價格和軟體成本如開發和維護費用兩個角度來考慮。點對多點和 WaveMesh 系統晶片選擇非常靈活,市場上的晶片資源比較豐富;另外這兩個系統的軟體實現也相對簡單一些,維護成本也最低。ZigBee、DigiMesh 和 Z-Wave 協議規定了物理層需要選擇特定的晶片,成本稍高一些。而 Wireless HART 的晶片供貨商少,其價格是別的網路的 10 倍左右。對 6LoWPAN 成本估計主要根據 TCP/IP 協議棧的複雜度對記憶體容量和處理器能力的要求等。 總結我們介紹了幾種不同拓撲結構的無線網路基礎並給出 Mesh 網路的評估方法,之後就幾種不同的 Mesh 網路做了介紹,並根據我們給出評估方法對這幾種 Mesh 網路進行了比較客觀的比較。由於很難有統一的尺度去衡量不同的 Mesh 網路,不同的網路也有自己獨特的優勢。實際應用中只能根據自己的實際需要多種因素綜合考慮,選擇能滿足需要的最佳網路。不能否認,在不同的評估準則之間會有一個灰色地帶,比如功耗、可靠性和吞吐量之間的權衡。隨著市場和技術的發展,將來的比較結果可能會和本文中現在所得出的比較結果迥然不同。