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