物聯網網絡和消息協議概述

你好,Khabrovites! 俄羅斯第一家在線課程物聯網開發商 XNUMX 月在 OTUS 推出。 該課程的註冊現已開放,我們將繼續與您分享有用的材料。

物聯網網絡和消息協議概述

物聯網(IoT,Internet of Things)將建立在目前在家庭/辦公室和互聯網中使用的現有網絡基礎設施、技術和協議之上,並將提供更多。

本指南的目的是簡要概述物聯網的網絡和應用協議。

筆記。 你必須有知識 網絡技術基礎.

物聯網網絡

物聯網將在現有的 TCP/IP 網絡上運行。

TCP/IP 使用四層模型,每一層都有特定的協議。 厘米。 理解 TCP/IP 4 層模型 (我們理解TCP/IP的四層模型)。

下圖顯示了當前使用的協議和最有可能用於物聯網的協議的比較。

物聯網網絡和消息協議概述

圖表說明:

  1. 字體大小表示協議的流行程度。 例如,在左側,IPv4 更大,因為它在現代互聯網上更受歡迎。 但是,右側較小,因為預計 IPv6 在物聯網中更受歡迎。

  2. 並未顯示所有協議。

  3. 大多數更改發生在通道(級別 1 和 2)和應用程序級別(級別 4)。

  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),協議將長期佔據主導地位 IPv6. 不太可能使用 IPv4,但它可能會在初始階段發揮作用。 大多數家庭物聯網設備,例如智能燈泡,目前都使用 IPv4。

傳輸層 

在傳輸層(Transport),因特網和萬維網都是以TCP為主。 它用於 HTTP 和許多其他流行的 Internet 協議(SMTP、POP3、IMAP4 等)。

MQTT,我期望成為消息傳遞的主要應用層協議之一,目前使用的是 TCP。

然而,在未來,由於開銷較低,我預計 UDP 會在 IoT 中變得更流行。 可能更普遍 MQTT-SN, 在 UDP 上運行。 見比較文章 TCP與UDP .

應用層和消息傳遞協議

物聯網協議的重要特徵:

  • 速度——每秒傳輸的數據量。

  • 延遲是發送消息所需的時間。

  • 功耗。

  • 安全。

  • 軟件的可用性。

目前,在此級別上積極使用兩個主要協議:HTTP 和 MQTT。

HTTP 可能是 Web (WWW) 底層這一級別最著名的協議。 它將繼續對物聯網很重要,因為它用於 REST API——Web 應用程序和服務之間交互的主要機制。 然而,由於高開銷,HTTP 不太可能成為主要的物聯網協議,儘管它仍將在互聯網上廣泛使用。

MQTT(消息隊列遙測傳輸)由於其輕便和易用性已成為物聯網中的主要消息傳遞協議。 見文章 MQTT入門入門 (初學者MQTT入門)。

物聯網 HTTP 和 MQTT 的比較

MQTT 正在迅速成為物聯網應用程序的事實標準。 這是因為與 HTTP 相比它的輕便性和速度以及它是一對多協議而不是一對一 (HTTP) 的事實。

如果在開發時可用,許多現代 Web 應用程序會很樂意使用 MQTT 而不是 HTTP。

一個很好的例子是向多個客戶端發送信息,例如火車/公共汽車/飛機的到達和離開。 在這種情況下,像 HTTP 這樣的一對一協議會產生大量開銷,並給 Web 服務器帶來大量負載。 擴展這些 Web 服務器可能很困難。 使用 MQTT,客戶端連接到代理,可以輕鬆添加代理以實現負載平衡。 觀看有關它的視頻教程 通過 MQTT 重新發布 HTML 數據(航班到達示例) 和文章 用於物聯網的 MQTT 與 HTTP.

其他消息協議

HTTP 不是為 IoT 應用程序設計的,但如前所述,由於其在物聯網中的廣泛使用,它將被廣泛使用一段時間 API.

幾乎所有物聯網平台都支持 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

添加評論