使用傳感器和連接的嵌入式系統對開發(fā)人員來說并不陌生。但是,將這些元素與多種其他 Internet 技術結合使用是可行的。互聯網協議 (IP) 并不新鮮,但物聯網 (IoT) 的專用 IP 卻是,它們用于幫助塑造系統功能。TCP/IP 套接字之上有多個 IP 應用層協議。每一種都有其優(yōu)點和限制。了解它們有助于開發(fā)人員為產品做出最佳設計選擇。帶寬要求、實時性能和內存占用是選擇物聯網協議時的一些主要標準。許多物聯網項目是由首席信息官 (CIO) 和 IT 部門推動的,他們推動開發(fā)人員使用他們開發(fā)的技術和協議了解物聯網設備。盡管如此,物聯網設備往往更接近運營技術(OT),將IT技術推入OT領域往往不是最優(yōu)選擇。
開發(fā)人員需要了解物聯網設備有比 IT 技術更好的協議選項。
IP有多種類別:
消費者與工業(yè)
網頁服務
物聯網服務
發(fā)布/訂閱
請求/響應
在設計新系統時必須考慮這些類別。讓我們看看物聯網的 IP 并定義選擇標準。
互聯網
互聯網是用于將 IP 數據包從源路由到目的地的所有網絡設備的總和。相比之下,萬維網是在互聯網上運行的應用系統。Web 是為人們交換信息而構建的工具,在過去的 20 年中,Web 得到了發(fā)展和完善,因此普通的非技術人員可以輕松高效地使用 Internet。例如,互聯網的人機界面現在包括電子郵件、搜索引擎、瀏覽器、移動應用程序、Facebook 和 Twitter,以及其他流行的社交媒體。
相比之下,在物聯網中,這個想法是讓電子設備通過互聯網交換信息。但這些設備還沒有與瀏覽器和社交媒體相當的機器來促進交流。由于物聯網設備協同工作所需的速度、規(guī)模和功能,物聯網也不同于網絡。這些要求遠遠超出了人們需要或使用的范圍。我們正處于為這些系統開發(fā)新工具和服務的初期,這也是難以確定物聯網定義的原因之一。許多關于它可以、可能或應該是什么的愿景相互碰撞。
TCP/IP 協議棧
TCP/IP 協議棧是 Internet 和 Web 的核心。它可以使用七層開放系統互連 (OSI) 參考模型來表示,如下圖所示(圖 1)。前三層組合在一起,簡化了模型。
【圖1 | 七層 OSI 參考模型。]
以下是從嵌入式系統集成角度對重要 OSI 層的快速描述:
1. 物理層和數據鏈路層
嵌入式系統最常用的物理層協議有:
以太網(10 Mbps、100 Mbps、1 Gbps)
無線網絡 (802.11b/g/n)
串行點對點協議 (PPP)
GSM、3G、4G、LTE
2.網絡層
這就是互聯網生活的地方?;ヂ摼W——inter-network 的縮寫——之所以這樣命名,是因為它提供了網絡之間、物理層之間的連接。這是我們找到無處不在的IP地址的地方。
3.傳輸層
在 IP 之上,我們有傳輸控制協議 (TCP) 和用戶數據報協議 (UDP),這兩個傳輸協議。由于 TCP 用于我們與 Web 的大多數人類交互(電子郵件、Web 瀏覽等),因此人們普遍認為 TCP 應該是傳輸層使用的唯一協議。TCP 提供了邏輯連接、已傳輸數據包確認、丟失數據包重傳和流量控制的概念——所有這些都是很棒的東西。但是對于嵌入式系統,TCP 可能是多余的。因此,UDP,即使長期以來被歸類為域名服務器 (DNS) 和動態(tài)主機配置協議 (DHCP) 等網絡服務,現在也在傳感器采集和遠程控制領域找到了自己的位置。如果您需要某種類型的數據管理,
對于語音和視頻等實時數據應用,UDP 也比 TCP 更適合。原因是 TCP 的數據包確認和重傳功能對于這些應用程序來說是無用的開銷。如果一段數據(例如一段語音)沒有及時到達其目的地,則重新傳輸數據包是沒有意義的,因為它會亂序到達并混淆消息。
TCP 有時比 UDP 更受歡迎,因為它提供了持久連接。要使用 UDP 啟用相同功能,您必須在 UDP 之上的協議層中實現此功能。
當您決定如何將數據從“事物”本地網絡移動到 IP 網絡時,您有多種選擇。因為使用的技術是熟悉的并且可以從廣泛的來源獲得,所以您可以通過網關鏈接兩個網絡,或者您可以將此功能構建到“事物”本身中。許多微控制器 (MCU) 現在都具有片上以太網控制器,這使得這項任務變得更容易。
物聯網協議
使用現有的 Web 技術構建物聯網系統是可能的,即使它不如新協議高效。超文本傳輸協議/安全 (HTTP/S) 和 WebSockets 以及有效負載中的可擴展標記語言 (XML) 或 JavaScript 對象表示法 (JSON) 是通用標準。當使用標準 Web 瀏覽器(HTTP 客戶端)時,JSON 為 Web 開發(fā)人員提供了一個抽象層,通過保持兩個 HTTP 連接打開,創(chuàng)建一個有狀態(tài)的 Web 應用程序,該應用程序具有到 Web 服務器(HTTP 服務器)的持久雙工連接。
HTTP
HTTP 是用于 Web 的客戶端-服務器模型的基礎。在 IoT 設備中實現 HTTP 的最安全方法是僅包含客戶端,而不包含服務器。換句話說,當物聯網設備可以發(fā)起與 Web 服務器的連接但無法接收連接請求時,會更安全;我們不想讓外部機器訪問安裝 IoT 設備的本地網絡。
網絡套接字
WebSocket 是一種通過單個 TCP 連接提供全雙工通信的協議,通過該 TCP 連接可以在客戶端和服務器之間發(fā)送消息。它是超文本標記語言 5 (HTML5) 規(guī)范的一部分。WebSocket 標準簡化了雙向 Web 通信和連接管理的大部分復雜性。
XMPP
可擴展消息傳遞和存在協議 (XMPP) 是現有 Web 技術在物聯網領域找到新用途的一個很好的例子。
XMPP 起源于即時消息和狀態(tài)信息,并已擴展到語音和視頻呼叫、協作、輕量級中間件、內容聯合和 XML 數據的通用路由。它是洗衣機、烘干機、冰箱等消費類白色家電大規(guī)模管理的有力競爭者。
XMPP 的優(yōu)勢在于其尋址、安全性和可擴展性。這使其成為面向消費者的物聯網應用的理想選擇。
HTTP、WebSocket 和 XMPP 是為物聯網服務的技術示例。其他團體也在努力為物聯網給我們帶來的新挑戰(zhàn)開發(fā)解決方案。
想要的通用協議
許多物聯網專家將物聯網設備稱為受限系統,因為他們認為物聯網設備應該盡可能便宜,并在運行通信堆棧的同時使用可用的最小 MCU。
目前,使互聯網適應物聯網是許多全球標準化機構的主要優(yōu)先事項之一。表 1 包含當前活動的簡短摘要。
[表 1 | 受約束的系統標準化工作。]
如果您的系統不需要 TCP 的功能并且可以使用更有限的 UDP 功能運行,那么刪除 TCP 模塊會顯著有助于減少產品的總代碼占用空間的大小。這就是用于無線傳感器網絡 (WSN) 的低功耗無線個人區(qū)域網絡 (6LoWPAN) 的 IP 版本 6 (IPv6) 和受限應用協議 (CoAP) 輕型互聯網協議為物聯網世界帶來的內容。
輔酶AP
盡管 Web 基礎架構可用于 IoT 設備,但它對于大多數 IoT 應用程序來說太重了。2013 年 7 月,互聯網工程任務組 (IETF) 發(fā)布了用于低功耗和有損節(jié)點和網絡 (LLN) 的 CoAP。CoAP 與 HTTP 一樣,是一種 RESTful(通過統一的應用程序編程接口 (API) 操作資源和資源標識符的能力)協議。
CoAP 在語義上與 HTTP 一致,甚至具有與 HTTP 的一對一映射。網絡設備受到具有少量閃存和 RAM 的小型 MCU 的限制,而本地網絡的限制是由于高數據包錯誤率和低吞吐量(數十 kbps)。CoAP 對于使用電池或能量收集的設備來說是一個很好的協議。
CoAP的特點:
因為 CoAP 使用 UDP,所以一些 TCP 功能直接在 CoAP 中復制。例如,CoAP 區(qū)分可確認(需要確認)和不可確認消息。
請求和響應通過 CoAP 消息異步交換(與使用現有 TCP 連接的 HTTP 不同)。
所有的標頭、方法和狀態(tài)碼都是二進制編碼的,這減少了協議開銷。但是,這需要使用協議分析器來解決網絡問題。
與 HTTP 不同,緩存 CoAP 響應的能力不取決于請求方法,而是響應代碼。
CoAP 完全解決了對表現出類似于永久連接的行為的極輕協議的需求。它對 HTTP 語義熟悉,并且是 RESTful。如果你有網絡背景,使用 CoAP 相對容易。
MQTT
消息隊列遙測傳輸 (MQTT) 是一種開源協議,專為受限設備和低帶寬、高延遲或不可靠的網絡而開發(fā)和優(yōu)化。它是一種發(fā)布/訂閱消息傳輸,非常輕量級,非常適合以最小帶寬將小型設備連接到網絡。MQTT 具有帶寬效率、與數據無關,并且具有持續(xù)的會話感知能力,因為它使用 TCP。它旨在最大限度地減少設備資源需求,同時還試圖確??煽啃院鸵欢ǔ潭鹊姆盏燃壗桓侗WC。
MQTT 針對需要從 Internet 上的后端服務器監(jiān)視或控制的小型設備的大型網絡。它不是為設備到設備的傳輸而設計的,也不是為將數據“多播”到許多接收器而設計的。MQTT 很簡單,提供的控制選項很少。使用 MQTT 的應用程序通常很慢,因為在這種情況下“實時”的定義通常以秒為單位。
MQTT 與 CoAP
MQTT 發(fā)布/訂閱的擴展性很好,這種架構的優(yōu)勢已經得到體現。在最新的 IETF 征求意見 (RFC) 中,CoAP 引入了對發(fā)布/訂閱的支持。
CoAP 的輕負載非常適合無線傳感器網絡。用于傳感器網絡的 MQTT (MQTT-SN) 采用了該想法并對其進行了復制。
兩個主要的專用物聯網協議相互借鑒。這兩種協議會保持主流嗎?我們相信,至少 5 到 10 年。
潛在物聯網協議的比較
思科是互聯網的核心;它的IP設備無處不在。思科積極參與物聯網的發(fā)展,并看到了連接物理對象、從我們的環(huán)境中獲取數據并處理這些數據以提高我們的生活水平的潛力(表 2)。
[表 2 | 思科在物聯網標準方面的工作。]
表 2 所示的特定于 Internet 的 IoT 協議的開發(fā)旨在滿足內存量小設備以及低帶寬和高延遲網絡的需求。圖 2 提供了這些協議為物聯網帶來的性能優(yōu)勢的另一個很好的總結。
【圖2 | Web 和 IoT 協議的比較。資料來源:Zach Shelby,Micro:bit 基金會。]
選擇正確的物聯網協議
連接傳感器和對象開辟了一個全新的可能用例世界——正是這些用例將決定何時為正確的應用程序使用正確的協議。
這些協議中的每一個的高層定位都是相似的。除了 HTTP,所有提到的協議都被定位為支持數百萬設備的實時發(fā)布/訂閱物聯網協議。根據您如何定義“實時”(秒、毫秒或微秒)和“事物”(WSN 節(jié)點、多媒體設備、個人可穿戴設備、醫(yī)療掃描儀、引擎控制等),您的產品的協議選擇至關重要。從根本上說,這些協議非常不同。
今天,Web 運行在數百種協議上。物聯網將支持數百個。在設計系統時,您需要做的是非常精確地定義系統要求并選擇正確的協議集來解決它們?;ヂ摼W協議是載體;它可以為 IoT 封裝與今天為 Web 封裝的協議一樣多的協議。
許多行業(yè)專家都在要求協議標準化 但是,如果網絡有這么多協議,為什么物聯網沒有那么多呢?您選擇滿足您要求的協議。唯一的區(qū)別是物聯網協議還很年輕,必須證明它們的可靠性。請記住,當互聯網成為現實時,IP 版本 4 (IPv4) 使之成為可能。我們現在正在大規(guī)模部署 IPv6,而物聯網是電信運營商一直在等待證明所需投資的殺手級應用。
審核編輯:郭婷
-
傳感器
+關注
關注
2552文章
51320瀏覽量
755323 -
Web
+關注
關注
2文章
1266瀏覽量
69577 -
物聯網
+關注
關注
2911文章
44845瀏覽量
375296
發(fā)布評論請先 登錄
相關推薦
評論