物聯網架構各個層次通訊協議


物聯網架構各個層次通訊協議


如上圖所示,本文從以下幾個維度對物聯網常見的幾種協議進行闡述。

一、按網絡四層協議分類:

NB-IoT,LORA,WIFI,藍牙,zigbee,4G都是需要硬件支撐的。

MQTT,COAP,HTTP都是應用層協議,需要連接服務器,現在有很多物聯網平臺,比如阿里雲,騰訊雲,華為雲等等。

所以(MQTT,COAP,HTTP)是居於(NB-IoT,LORA,WIFI,藍牙,zigbee,4G)的上層協議物理層中。

二、按需要網關來分類:

不需要網關:NB-IoT,2G/4G/5G(芯片可以直接跟運營商:移動,聯通,電信等運營商網絡通信。)

需要網關:LORA,WIFI,zigbee(不能直接連上電信運營商,需要通過一個網關中轉才能連接網絡。)

藍牙設備之間可以通信。

三、NB-IoT,4G對比:

NB-IoT低功耗,傳輸小數據,傳輸速度底,芯片模組和套餐便宜。目前NB基站還較少,不過華為在大力推這個通信方式,相信以後會普及。

2G/4G/5G:傳輸速度快和可以傳輸大的數據,但是功耗高,價格貴

WIFI和zigbee對比:

wifi 功耗高,傳輸速率大11-54Mbps,功耗高10-50mA,距離短20-50m。一個路由只能加入較少設備。

zigbee功耗低,傳輸數據慢100Kbps,功耗20mA,可以中繼,距離遠幾百到幾千米。一個zigbee網關可以加入成千上萬的zigbee設備。


物聯網架構各個層次通訊協議

四、應用層協議:MQTT和COAP對比

1、MQTT

mqtt 是一個基於客戶端-服務器的消息發佈/訂閱傳輸協議。MQTT協議是輕量、簡單、開放和易於實現的,這些特點使它適用範圍非常廣泛。

是非常輕量化的通信協議,開銷很小(固定頭部2字節),是訂閱/發佈通信方式,可以一對多,多對一。是TCP通信協議。有三種方式,至多一次:最多一次:保證盡力交付,

至少一次:保證消息至少傳送一次。但是消息也可以不止一次傳遞。

只有一次:保證每個消息只被對方接收一次。

在很多情況下,包括受限的環境中,如:機器與機器(M2M)通信和物聯網(IoT)、衛星鏈路通信傳感器、偶爾撥號的醫療設備、智能家居、及一些小型化設備中已廣泛使用。

2、coap

2.1、COAP協議網絡傳輸層由TCP改為UDP。

2.2、基於REST,server的資源地址和互聯網一樣也有類似url的格式,客戶端同樣有POST,GET,PUT,DELETE方法來訪問server,對HTTP做了簡化。

2.3、COAP是二進制格式的,HTTP是文本格式的,COAP比HTTP更加緊湊。

2.4、輕量化,COAP最小長度僅僅4B,一個HTTP的頭都幾十個B了

2.5、支持可靠傳輸,數據重傳,塊傳輸。 確保數據可靠到達。

2.6、支持IP多播, 即可以同時向多個設備發送請求。

2.7、非長連接通信,適用於低功耗物聯網場景。

3、DDS(Data Distribution Service for Real-Time Systems),面向實時系統的數據分佈服務,這是大名鼎鼎的OMG組織提出的協議,其權威性應該能證明該協議的未來應用前景。

適用範圍:分佈式高可靠性、實時傳輸設備數據通信。目前DDS已經廣泛應用於國防、民航、工業控制等領域。

特點:

• 以數據為中心

• 使用無代理的發佈/訂閱消息模式,點對點、點對多、多對多

• 提供多大21種QoS服務質量策略

協議主要實現:

• OpenDDS 是一個開源的 C++ 實現

• OpenSplice DDS

4、XMPP

XMPP是基於XML的協議,由於其開放性和易用性,在互聯網及時通訊應用中運用廣泛。相對HTTP,XMPP在通訊的業務流程上是更適合物聯網系統的,開發者不用花太多心思去解決設備通訊時的業務通訊流程,相對開發成本會更低。但是HTTP協議中的安全性以及計算資源消耗的硬傷並沒有得到本質的解決。在設計時都是根據互聯網應用場景設計的,但是個協議的通病就是根本無法適用物聯網設備的多樣性,無法適用很多物聯網設備對低功耗、低成本的需求,難以在極低資源的物聯網設備中運用。

5、HTTP協議是典型的CS通訊模式,由客戶端主動發起連接,向服務器請求XML或JSON數據。該協議最早是為了適用web瀏覽器的上網瀏覽場景和設計的,目前在PC、手機、pad等終端上都應用廣泛。

缺點是:

1、開銷大,消息頭大

2、HTTP通信方式問題,HTTP的請求/應答方式的會話都是客戶端發起的

3、安全性差


物聯網架構各個層次通訊協議


分享到:


相關文章: