关于物联网通信协议(通讯协议)
一、區(qū)分通訊與通信協(xié)議:
1、傳統(tǒng)意義上的“通訊”主要指電話、電報(bào)、電傳。通訊的“訊”指消息(Message),媒體訊息通過通訊網(wǎng)絡(luò)從一端傳遞到另外一端。媒體訊息的內(nèi)容主要是話音、文字、圖片和視頻圖像。其網(wǎng)絡(luò)的構(gòu)成主要由電子設(shè)備系統(tǒng)和無線電系統(tǒng)構(gòu)成,傳輸和處理的信號是模擬的。所以,“通訊”一詞應(yīng)特指采用電報(bào)、電話、網(wǎng)絡(luò)等媒體傳輸系統(tǒng)實(shí)現(xiàn)上述媒體信息傳輸?shù)倪^程。“通訊”重在內(nèi)容形式,因此通訊協(xié)議主要集中在ISO七層協(xié)議中的應(yīng)用層。通訊協(xié)議主要是運(yùn)行在傳統(tǒng)互聯(lián)網(wǎng)TCP/IP協(xié)議之上的設(shè)備通訊協(xié)議,負(fù)責(zé)設(shè)備通過互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)交換及通信。
2、通信”僅指數(shù)據(jù)通信,即通過計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)和數(shù)據(jù)通信系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的端到端傳輸。通信的“信”指的是信息(Information),信息的載體是二進(jìn)制的數(shù)據(jù),數(shù)據(jù)則是可以用來表達(dá)傳統(tǒng)媒體形式的信息,如聲音、圖像、動畫等?!巴ㄐ拧敝卦趥鬏斒侄位蚴褂梅绞?#xff0c;從這個(gè)角度,“通信”的概念包括了信息“傳輸”。因此通信協(xié)議主要集中在ISO七層協(xié)議中的物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和傳輸層。
3、在物聯(lián)網(wǎng)應(yīng)用中,通信技術(shù)包括Wi-Fi、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、GSM、GPRS、3/4/5G網(wǎng)絡(luò)、Ethernet、RS232、RS485、USB等。
4、相關(guān)的通信協(xié)議(協(xié)議棧、技術(shù)標(biāo)準(zhǔn))包括:Wi-Fi(IEEE 802.11b)、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、CDMA/TDMA、TCP/IP、WCDMA、TD-SCDMA、TD-LTE、FDD-LTE、TCP/IP、HTTP等。
5、物聯(lián)網(wǎng)技術(shù)框架體系中所使用到的通訊協(xié)議主要有:AMQP、JMS、REST、HTTP/HTTPS、COAP、DDS、MQTT等。
二、通訊協(xié)議:
1、HTTP協(xié)議簡介
HTTP是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。它于1990年提出,經(jīng)過幾年的使用與發(fā)展,得到不斷地完善和擴(kuò)展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規(guī)范化工作正在進(jìn)行之中,而且HTTP-NG(Next Generation of HTTP)的建議已經(jīng)提出。
2、HTTP協(xié)議特點(diǎn)
【1】支持客戶/服務(wù)器模式
【2】簡單快速
【3】靈活
【4】無連接
【5】無狀態(tài)
3、HTTPS協(xié)議簡介
該協(xié)議使用了HTTP協(xié)議,但HTTPS使用不同于HTTP協(xié)議的默認(rèn)端口及一個(gè)加密、身份驗(yàn)證層(HTTP與TCP之間)。這個(gè)協(xié)議的最初研發(fā)由網(wǎng)景公司進(jìn)行,提供了身份驗(yàn)證與加密通信方法,現(xiàn)在它被廣泛用于互聯(lián)網(wǎng)上安全敏感的通信。
4、客戶端云web服務(wù)器通信時(shí)的步驟如下:
【1】客戶使用https的URL訪問Web服務(wù)器,要求與Web服務(wù)器建立SSL連接。
【2】Web服務(wù)器收到客戶端請求后,會將網(wǎng)站的證書信息(證書中包含公鑰)傳送一份給客戶端。
【3】客戶端的瀏覽器與Web服務(wù)器開始協(xié)商SSL連接的安全等級,也就是信息加密的等級。
【4】客戶端的瀏覽器根據(jù)雙方同意的安全等級,建立會話密鑰,然后利用網(wǎng)站的公鑰將會話密鑰加密,并傳送給網(wǎng)站。
【5】Web服務(wù)器利用自己的私鑰解密出會話密鑰。
【6】Web服務(wù)器利用會話密鑰加密與客戶端之間的通信。
5、WebSerivce/REST協(xié)議簡介
WebService和REST都不是一種協(xié)議,他們是基于HTTP/HTTPS的一種技術(shù)方式或風(fēng)格,之所以放在這里,是因?yàn)樵谖锫?lián)網(wǎng)應(yīng)用服務(wù)對外接口方式常采用WebService和RESTful API。
5.1、WebSerivce介紹
【1】WebService是一種跨編程語言和跨操作系統(tǒng)平臺的遠(yuǎn)程調(diào)用技術(shù)。
【2】XML+XSD(XML Schema),SOAP和WSDL就是構(gòu)成WebService平臺的三大技術(shù)。
【3】XML解決了數(shù)據(jù)表示的問題,但它沒有定義一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,更沒有說怎么去擴(kuò)展這套數(shù)據(jù)類型。XML Schema(XSD)就是專門解決這個(gè)問題的一套標(biāo)準(zhǔn)。它定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,并給出了一種語言來擴(kuò)展這套數(shù)據(jù)類型。WebService平臺就是用XSD來作為其數(shù)據(jù)類型系統(tǒng)的。
【3】SOAP協(xié)議定義了SOAP消息的格式,SOAP協(xié)議是基于HTTP協(xié)議的,SOAP也是基于XML和XSD的,XML是SOAP的數(shù)據(jù)編碼方式。打個(gè)比喻:HTTP就是普通公路,XML就是中間的綠色隔離帶和兩邊的防護(hù)欄,SOAP就是普通公路經(jīng)過加隔離帶和防護(hù)欄改造過的高速公路。公式是:SOAP協(xié)議= HTTP協(xié)議+ XML數(shù)據(jù)格式
【4】WSDL(Web Services Description Language)就是這樣一個(gè)基于XML的語言,用于描述Web?Service及其函數(shù)、參數(shù)和返回值。
5.2、REST介紹
REST是表征狀態(tài)轉(zhuǎn)換,是基于HTTP協(xié)議開發(fā)的一種通信風(fēng)格,目前還不是標(biāo)準(zhǔn)。REST是互聯(lián)網(wǎng)中服務(wù)調(diào)用API封裝風(fēng)格,物聯(lián)網(wǎng)中數(shù)據(jù)采集到物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中,在物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中,可以通過開放REST API的方式,把數(shù)據(jù)服務(wù)開放出去,被互聯(lián)網(wǎng)中其他應(yīng)用所調(diào)用。
6、CoAP?(Constrained Application Protocol)協(xié)議簡介
CoAP協(xié)議簡稱:受限應(yīng)用協(xié)議,應(yīng)用于無線傳感網(wǎng)中協(xié)議。CoAP是簡化了HTTP協(xié)議的RESTful API,CoAP是6LowPAN協(xié)議棧中的應(yīng)用層協(xié)議,適用于:在資源受限的通信的IP網(wǎng)絡(luò)。
【1】報(bào)頭壓縮
【2】方法和URIs
【3】傳輸層使用UDP協(xié)議
【4】支持異步通信
【5】支持資源發(fā)現(xiàn)
【6】支持緩存
7、MQTT?(Message Queuing Telemetry Transport )協(xié)議簡介
【1】簡介
消息隊(duì)列遙測傳輸,由IBM開發(fā)的即時(shí)通訊協(xié)議,相比來說比較適合物聯(lián)網(wǎng)場景的通訊協(xié)議。MQTT協(xié)議采用發(fā)布/訂閱模式,所有的物聯(lián)網(wǎng)終端都通過TCP連接到云端,云端通過主題的方式管理各個(gè)設(shè)備關(guān)注的通訊內(nèi)容,負(fù)責(zé)將設(shè)備與設(shè)備之間消息的轉(zhuǎn)發(fā)。適用于:在低帶寬、不可靠的網(wǎng)絡(luò)下提供基于云平臺的遠(yuǎn)程設(shè)備的數(shù)據(jù)傳輸和監(jiān)控。
【2】使用特點(diǎn)
《1》使用基于代理的發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布;
《2》使用TCP/IP提供網(wǎng)絡(luò)連接;
《3》小型傳輸,開銷很小(固定長度的頭部是2字節(jié)),協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量;
《4》支持QoS,有三種消息發(fā)布服務(wù)質(zhì)量:“至多一次”,“至少一次”,“只有一次”。
【3】應(yīng)用場景
《1》已經(jīng)有PHP,JAVA,Python,C,C#等多個(gè)語言版本的協(xié)議框架;
《2》IBM Bluemix的一個(gè)重要部分是其IoT,Foundation服務(wù),這是一項(xiàng)基于云的MQTT實(shí)例;
《3》移動應(yīng)用程序也早就開始使用MQTT,如Facebook Messenger和com等。
8、DDS(Data Distribution Service for Real-Time Systems)協(xié)議簡介
【1】簡介
面向?qū)崟r(shí)系統(tǒng)的數(shù)據(jù)分布服務(wù),這是大名鼎鼎的OMG組織提出的協(xié)議,其權(quán)威性應(yīng)該能證明該協(xié)議的未來應(yīng)用前景。適用于:分布式高可靠性、實(shí)時(shí)傳輸設(shè)備數(shù)據(jù)通信。目前DDS已經(jīng)廣泛應(yīng)用于國防、民航、工業(yè)控制等領(lǐng)域。
【2】使用特點(diǎn)
《1》以數(shù)據(jù)為中心;
《2》使用無代理的發(fā)布/訂閱消息模式,點(diǎn)對點(diǎn)、點(diǎn)對多、多對多;
《3》提供多大21種QoS服務(wù)質(zhì)量策略。
9、AMQP(Advanced Message Queuing Protocol)協(xié)議簡介
【1】簡介
先進(jìn)消息隊(duì)列協(xié)議,這是OASIS組織提出的,該組織曾提出OSLC(Open Source Lifecyle)標(biāo)準(zhǔn),適用于:業(yè)務(wù)系統(tǒng)例如PLM,ERP,MES等進(jìn)行數(shù)據(jù)交換。
【2】協(xié)議特點(diǎn)
《1》Wire級的協(xié)議,它描述了在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)的格式,以字節(jié)為流;
《2》面向消息、隊(duì)列、路由(包括點(diǎn)對點(diǎn)和發(fā)布/訂閱)、可靠性、安全;
【3】開源協(xié)議包括:
《1》Erlang中的實(shí)現(xiàn)有RabbitMQ
《2》AMQP的開源實(shí)現(xiàn),用C語言編寫OpenAMQ
《3》Apache Qpid
《3》stormMQ
10、XMPP(Extensible Messaging and Presence Protocol)協(xié)議簡介
【1】簡介
可擴(kuò)展通訊和表示協(xié)議,XMPP的前身是Jabber,一個(gè)開源形式組織產(chǎn)生的網(wǎng)絡(luò)即時(shí)通信協(xié)議。XMPP目前被IETF國際標(biāo)準(zhǔn)組織完成了標(biāo)準(zhǔn)化工作。適用于:即時(shí)通信的應(yīng)用程序,還能用在網(wǎng)絡(luò)管理、內(nèi)容供稿、協(xié)同工具、檔案共享、游戲、遠(yuǎn)端系統(tǒng)監(jiān)控等。
【2】協(xié)議特點(diǎn)
《1》客戶機(jī)/服務(wù)器通信模式;
《2》分布式網(wǎng)絡(luò);
《3》簡單的客戶端,將大多數(shù)工作放在服務(wù)器端進(jìn)行;
《4》標(biāo)準(zhǔn)通用標(biāo)記語言的子集XML的數(shù)據(jù)格式。
【3】注意事項(xiàng)
XMPP是基于XML的協(xié)議,由于其開放性和易用性,在互聯(lián)網(wǎng)及時(shí)通訊應(yīng)用中運(yùn)用廣泛。相對HTTP,XMPP在通訊的業(yè)務(wù)流程上是更適合物聯(lián)網(wǎng)系統(tǒng)的,開發(fā)者不用花太多心思去解決設(shè)備通訊時(shí)的業(yè)務(wù)通訊流程,相對開發(fā)成本會更低。但是HTTP協(xié)議中的安全性以及計(jì)算資源消耗的硬傷并沒有得到本質(zhì)的解決。
11、JMS(Java Message Service)協(xié)議簡介
【1】簡介
JAVA消息服務(wù),這是JAVA平臺中著名的消息隊(duì)列協(xié)議。Java消息服務(wù)應(yīng)用程序接口,是一個(gè)Java平臺中關(guān)于面向消息中間件(MOM)的API,用于在兩個(gè)應(yīng)用程序之間,或分布式系統(tǒng)中發(fā)送消息,進(jìn)行異步通信。Java消息服務(wù)是一個(gè)與具體平臺無關(guān)的API,絕大多數(shù)MOM提供商都對JMS提供支持。JMS是一種與廠商無關(guān)的API,用來訪問消息收發(fā)系統(tǒng)消息,它類似于JDBC(Java Database
Connectivity)。
?
轉(zhuǎn)載于:https://www.cnblogs.com/yuhao309/p/9777167.html
總結(jié)
以上是生活随笔為你收集整理的关于物联网通信协议(通讯协议)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联想天逸100双显卡怎么设置 如何为联想
- 下一篇: u盘解密暂停怎么处理 U盘解密停止怎么办