你好,Khabrovites!
物聯網(IoT,Internet of Things)將建立在目前在家庭/辦公室和互聯網中使用的現有網絡基礎設施、技術和協議之上,並將提供更多。
本指南的目的是簡要概述物聯網的網絡和應用協議。
筆記。 你必須有知識
物聯網網絡
物聯網將在現有的 TCP/IP 網絡上運行。
TCP/IP 使用四層模型,每一層都有特定的協議。 厘米。
下圖顯示了當前使用的協議和最有可能用於物聯網的協議的比較。
圖表說明:
-
字體大小表示協議的流行程度。 例如,在左側,IPv4 更大,因為它在現代互聯網上更受歡迎。 但是,右側較小,因為預計 IPv6 在物聯網中更受歡迎。
-
並未顯示所有協議。
-
大多數更改發生在通道(級別 1 和 2)和應用程序級別(級別 4)。
-
網絡層和傳輸層可能保持不變。
鏈路層協議
在數據鏈路層(Data Link),需要將設備相互連接起來。 它們可以很近,例如,在本地網絡(local networks)中,也可以彼此相距很遠:在城市(metropolitan area networks)和全球網絡(wide area networks)中。
目前,在這個層面上,家庭和辦公網絡 (LAN) 使用以太網和 Wi-Fi,移動網絡 (WAN) 使用 3G/4G。 然而,許多物聯網設備都是低功耗的,例如傳感器,並且僅由電池供電。 在這些情況下,以太網不適合,但可以使用低功率 Wi-Fi 和低功率藍牙。
雖然現有的無線技術(Wi-Fi、藍牙、3G/4G)將繼續用於連接這些設備,但也值得關注專門為物聯網應用設計的新技術,這些應用可能會越來越受歡迎。
其中:
-
BLE – 低功耗藍牙
-
LoRaWAN - 遠程廣域網
-
西格福克斯
-
LTE-M
它們在文章中有更詳細的描述。
網絡層
在網絡層(Networking),協議將長期佔據主導地位
傳輸層
在傳輸層(Transport),因特網和萬維網都是以TCP為主。 它用於 HTTP 和許多其他流行的 Internet 協議(SMTP、POP3、IMAP4 等)。
MQTT,我期望成為消息傳遞的主要應用層協議之一,目前使用的是 TCP。
然而,在未來,由於開銷較低,我預計 UDP 會在 IoT 中變得更流行。 可能更普遍
應用層和消息傳遞協議
物聯網協議的重要特徵:
-
速度——每秒傳輸的數據量。
-
延遲是發送消息所需的時間。
-
功耗。
-
安全。
-
軟件的可用性。
目前,在此級別上積極使用兩個主要協議:HTTP 和 MQTT。
HTTP 可能是 Web (WWW) 底層這一級別最著名的協議。 它將繼續對物聯網很重要,因為它用於 REST API——Web 應用程序和服務之間交互的主要機制。 然而,由於高開銷,HTTP 不太可能成為主要的物聯網協議,儘管它仍將在互聯網上廣泛使用。
MQTT(消息隊列遙測傳輸)由於其輕便和易用性已成為物聯網中的主要消息傳遞協議。 見文章
物聯網 HTTP 和 MQTT 的比較
MQTT 正在迅速成為物聯網應用程序的事實標準。 這是因為與 HTTP 相比它的輕便性和速度以及它是一對多協議而不是一對一 (HTTP) 的事實。
如果在開發時可用,許多現代 Web 應用程序會很樂意使用 MQTT 而不是 HTTP。
一個很好的例子是向多個客戶端發送信息,例如火車/公共汽車/飛機的到達和離開。 在這種情況下,像 HTTP 這樣的一對一協議會產生大量開銷,並給 Web 服務器帶來大量負載。 擴展這些 Web 服務器可能很困難。 使用 MQTT,客戶端連接到代理,可以輕鬆添加代理以實現負載平衡。 觀看有關它的視頻教程
其他消息協議
HTTP 不是為 IoT 應用程序設計的,但如前所述,由於其在物聯網中的廣泛使用,它將被廣泛使用一段時間
幾乎所有物聯網平台都支持 HTTP 和 MQTT。
但是,還有其他值得考慮的協議。
通訊協定
-
MQTT -(消息隊列遙測傳輸)。 使用 TCP/IP。 發布-訂閱模型需要一個消息代理。 -
空氣質量計劃 -(高級消息隊列協議)。 使用 TCP/IP。 發布者-訂閱者和點對點模型。 -
行動計劃 -(約束應用程序協議)。 使用 UDP。 專為 IoT 設計,使用 HTTP 中的請求-響應模型。RFC 7252 . -
DDS - (數據分發服務)
在這
然而回過頭來看,在互聯網的早期,後來成為主導的HTTP協議只是眾多協議中的一種。
儘管 HTTP 最初不是為文件和電子郵件傳輸而設計的,但今天它同時用於這兩者。
我預計物聯網中的消息傳遞協議也會發生同樣的事情:大多數服務將使用一種主要協議。
下面是谷歌趨勢圖,顯示了過去幾年 MQTT、COAP 和 AMQP 的受歡迎程度如何變化。
谷歌趨勢概述
平台協議支持
-
Microsoft Azure - MQTT、AMQP、HTTP 和 HTTPS -
AWS - MQTT, HTTPS, MQTT over websockets -
IBM Bluemix - MQTT、HTTPS、MQTT
-
物聯網 — MQTT、HTTPS、MQTT、AMQP
總結
大多數更改發生在通道(級別 1 和 2)和應用程序級別(級別 4)。
網絡層和傳輸層可能保持不變。
在應用層,IoT 組件將使用消息傳遞協議。 雖然我們仍處於 IoT 開發的早期階段,但很可能會脫穎而出一種或兩種消息傳遞協議。
在過去的幾年裡,MQTT 已經成為最流行的,我現在專注於這個網站。
HTTP 也將繼續使用,因為它已經很好地內置到現有的物聯網平台中。
就這樣。 我們邀請您註冊有關該主題的免費演示課程
“用於快速向設備發出命令的聊天機器人” .
閱讀更多:
來源: www.habr.com