概述
物聯網中設備、網關、雲以及服務之間的相互通信是按照一定的通信協議進行的。大多數的IP協議應用都使用了TCP或UDP進行傳輸。而在許多物聯網應用中,有幾種消息分發功能是常見的,希望這些功能可以通過不同的應用以可互操作的標準方式來實現。本文盤點整理下目前比較常用到的一些物聯網中的「會話層」協議。
MQTT
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)最初在1999年由IBM推出,2013年OASIS對其進行了標準化,使其成為了一種開放標準。這是一個發布/訂閱,非常簡單和輕量級的消息協議,專為受限設備和低帶寬、高延遲或不可靠的網絡而設計。設計原則是儘量減少網絡帶寬和設備資源需求,同時也要確保可靠性和一定程度的傳送保證。這些原則也使得協議成為連接設備中新興的「機器對機器」(M2M)或「物聯網」行業以及帶寬和電池電量非常重要的移動應用的理想選擇。
另外,還有針對物聯網安全擴展的SMQTT(Secure MQTT)和針對傳感網絡的MQTT-SN(for sensor networks)。
AMQP
AMQP (Advanced Message Queuing Protocol,高級消息隊列協議) 是用於業務消息的開放網際網路協議。AMQP由幾層組成。最低層定義了用於在網絡上的兩個進程之間傳輸消息的高效的二進位對等協議。在此之上,消息傳遞層使用具體的標準編碼來定義抽象消息格式。每個合規的AMQP進程必須能夠以這種標準編碼發送和接收消息。AMQP連接系統,為業務流程提供所需的信息,並可靠地傳輸實現其目標的指令。
CoAP
CoAP (Constrained Application Protocol,受限應用協議)是一個專門的網絡傳輸協議,用於受限的節點和網絡。 節點通常具有少量ROM和RAM的單片機。 該協議專為機器對機器(M2M)應用而設計,如智能能源和樓宇自動化。
XMPP
XMPP (Extensible Messaging and Presence Protocoll,可擴展通訊和表示協議)是一種用於實時通信的開放式XML技術、支持即時消息、在線狀態和協作等廣泛的應用。
DDS
DDS (Data Distribution Service,數據分發服務)是來自對象管理組(OMG)的以數據為中心的連接的中間件協議和API標準。 它將系統的組件集成在一起,提供低延遲的數據連接,極高的可靠性和業務和任務關鍵型物聯網(IoT)應用所需的可擴展架構。
LwM2M
LwM2M (Lightweight M2M,輕量級M2M) 是開放移動聯盟(OMA)的LightweightM2M,是為傳感器網絡和機器對機器(M2M)環境的需求而設計的設備管理協議。 LwM2M協議是為遠程管理M2M設備和相關服務實現而設計的,其特點是基於REST的現代架構設計,定義了一個可擴展的資源和數據模型,並建立在一個稱為約束應用協議(CoAP)的高效安全數據傳輸標準之上。 LwM2M由開放移動聯盟設備管理工作組的一組行業專家制定,並基於IETF的協議和安全標準。
REST/HTTP
REST/HTTP(Representational State Transfer,表述性狀態傳遞)web服務是網際網路上計算機系統之間互操作性的一種方式。
SOAP
SOAP (Simple Object Access Protocol)是在計算機網絡中實現網絡服務時交換結構化信息的協議規範。 它的目的是引導可擴展性,中立性和獨立性。 它使用XML信息集作為其消息格式,依靠應用層協議(通常是超文本傳輸協議HTTP或簡單郵件傳輸協議SMTP)進行消息協商和傳輸。
STOMP
面向簡單文本的消息傳遞協議
1