當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 物聯(lián)網(wǎng)技術(shù)文庫
[導(dǎo)讀] 目前市面上大多數(shù)IoT模組都支持TCP、UDP、CoAP、LwM2M、MQTT等協(xié)議,這里面既有傳輸層的協(xié)議也有應(yīng)用層的協(xié)議,協(xié)議眾多,適用的場景也不同。但是設(shè)計產(chǎn)品時通常只需要運用一種協(xié)議,那

目前市面上大多數(shù)IoT模組都支持TCP、UDP、CoAP、LwM2M、MQTT等協(xié)議,這里面既有傳輸層的協(xié)議也有應(yīng)用層的協(xié)議,協(xié)議眾多,適用的場景也不同。但是設(shè)計產(chǎn)品時通常只需要運用一種協(xié)議,那么怎么來選擇一種符合自己產(chǎn)品的應(yīng)用場景的協(xié)議顯得尤為重要。本文將介紹TCP、UDP、CoAP、LwM2M、MQTT這5個常用的協(xié)議的特點與區(qū)別,為設(shè)計產(chǎn)品時協(xié)議的選擇提供參考。

一、傳輸層協(xié)議TCP與UDP

TCP(傳輸控制協(xié)議,Transport Controll Protocol)、UDP(用戶數(shù)據(jù)報協(xié)議,User Data Protocol)同屬于傳輸層協(xié)議,為上層用戶提供級別的通信可靠性。

1. 傳輸控制協(xié)議(TCP):

TCP(傳輸控制協(xié)議)定義了兩臺計算機之間進行可靠的傳輸而交換的數(shù)據(jù)和確認(rèn)信息的格式,以及計算機為了確保數(shù)據(jù)的正確到達(dá)而采取的措施。協(xié)議規(guī)定了TCP軟件怎樣識別給定計算機上的多個目的進程如何對分組重復(fù)這類差錯進行恢復(fù)。協(xié)議還規(guī)定了兩臺計算機如何初始化一個TCP數(shù)據(jù)流傳輸以及如何結(jié)束這一傳輸。TCP最大的特點就是提供的是面向連接、可靠的字節(jié)流服務(wù)。

2. 用戶數(shù)據(jù)報協(xié)議(UDP):

UDP(用戶數(shù)據(jù)報協(xié)議)是一個簡單的面向數(shù)據(jù)報的傳輸層協(xié)議。提供的是非面向連接的、不可靠的數(shù)據(jù)流傳輸。UDP不提供可靠性,也不提供報文到達(dá)確認(rèn)、排序以及流量控制等功能。它只是把應(yīng)用程序傳給IP層的數(shù)據(jù)報發(fā)送出去,但是并不能保證它們能到達(dá)目的地。因此報文可能會丟失、重復(fù)以及亂序等。但由于UDP在傳輸數(shù)據(jù)報前不用在客戶和服務(wù)器之間建立一個連接,且沒有超時重發(fā)等機制,故而傳輸速度很快

3. TCP與UDP的區(qū)別

TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接

TCP提供可靠的服務(wù)。也就是說,通過TCP連接傳送的數(shù)據(jù),無差錯,不丟失,不重復(fù),且按序到達(dá);UDP盡最大努力交付,即不保證可靠交付

TCP面向字節(jié)流,實際上是TCP把數(shù)據(jù)看成一連串無結(jié)構(gòu)的字節(jié)流;UDP是面向報文的UDP沒有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)擁塞不會使源主機的發(fā)送速率降低(對實時應(yīng)用很有用,如IP電話,實時視頻會議等)

每一條TCP連接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通信

TCP首部開銷20字節(jié);UDP的首部開銷小,只有8個字節(jié) 6、TCP的邏輯通信信道是全雙工的可靠信道,UDP則是不可靠信道

二、那么傳輸層協(xié)議是否適合直接運用到物聯(lián)網(wǎng)設(shè)備終端上?

傳輸層,顧名思義,他只負(fù)責(zé)傳輸數(shù)據(jù),就好比是一輛運貨的貨車,但是想讓貨物完好無損地運到目的地,那就還需要做打包、裝車、驗貨、入庫、簽回單等工作,這就需要做更多地工作,這些工作也就是應(yīng)用層協(xié)議要做的工作。所以物聯(lián)網(wǎng)設(shè)備終端要想對數(shù)據(jù)進行穩(wěn)定、可靠地交互,就需要使用應(yīng)用層的協(xié)議,而不能直接使用傳輸層的協(xié)議。以下將介紹MQTT、CoAP、LwM2M三種適合在物聯(lián)網(wǎng)設(shè)備終端上運用的應(yīng)用層協(xié)議。

三、應(yīng)用層協(xié)議MQTT 與CoAP

1. MQTT概述

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發(fā)的一個即時通訊協(xié)議,有可能成為物聯(lián)網(wǎng)的重要組成部分。該協(xié)議支持所有平臺,幾乎可以把所有聯(lián)網(wǎng)物品和外部連接起來,被用來當(dāng)做傳感器和制動器(比如通過Twitter讓房屋聯(lián)網(wǎng))的通信協(xié)議。

2. MQTT協(xié)議特點

MQTT協(xié)議是為大量計算能力有限,且工作在低帶寬、不可靠的網(wǎng)絡(luò)的遠(yuǎn)程傳感器和控制設(shè)備通訊而設(shè)計的協(xié)議,它具有以下主要的幾項特性:

使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合;

對負(fù)載內(nèi)容屏蔽的消息傳輸;

使用TCP/IP 提供網(wǎng)絡(luò)連接;

有三種消息發(fā)布服務(wù)質(zhì)量:

“至多一次”,消息發(fā)布完全依賴底層 TCP/IP 網(wǎng)絡(luò)。會發(fā)生消息丟失或重復(fù)。這一級別可用于如下情況,環(huán)境傳感器數(shù)據(jù),丟失一次讀記錄無所謂,因為不久后還會有第二次發(fā)送。“至少一次”,確保消息到達(dá),但消息重復(fù)可能會發(fā)生?!爸挥幸淮巍?,確保消息到達(dá)一次。這一級別可用于如下情況,在計費系統(tǒng)中,消息重復(fù)或丟失會導(dǎo)致不正確的結(jié)果。小型傳輸,開銷很小(固定長度的頭部是 2 字節(jié)),協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量。

3. CoAP概述

由于物聯(lián)網(wǎng)中的很多設(shè)備都是資源受限型的,即只有少量的內(nèi)存空間和有限的計算能力,所以傳統(tǒng)的HTTP協(xié)議應(yīng)用在物聯(lián)網(wǎng)上就顯得過于龐大而不適用。IETF的CoRE工作組提出了一種基于REST架構(gòu)的CoAP協(xié)議。CoAP是工作在UDP協(xié)議族,采用的是二進制格式,相比起HTTP采用的文本格式,CoAP比HTTP更加緊湊。

4. CoAP協(xié)議特點

消息模型,以消息為數(shù)據(jù)通信載體,通過交換網(wǎng)絡(luò)消息來實現(xiàn)設(shè)備間數(shù)據(jù)通信

對云端設(shè)備資源操作都是通過請求與響應(yīng)機制來完成,類似HTTP,設(shè)備端可通過4個請求方法(GET, PUT, POST, DELETE)對服務(wù)器端資源進行操作。

協(xié)議包輕量級,最小長度僅為4B。

支持可靠傳輸,數(shù)據(jù)重傳,塊傳輸,確保數(shù)據(jù)可靠到達(dá)。

支持IP多播, 即可以同時向多個設(shè)備發(fā)送請求

非長連接通信,適用于低功耗物聯(lián)網(wǎng)場景

5. MQTT與CoAP的區(qū)別

四、那么MQTT和CoAP哪個更適合用于物聯(lián)網(wǎng)設(shè)備上呢?

MQTT和CoAP其實都比較適用于物聯(lián)網(wǎng)設(shè)備上,但是還是要根據(jù)實際場景來選擇使用。比如設(shè)備運行在一個不需要考慮功耗,但是需要實時被控制的場景,例如充電樁、快遞柜等場景,則使用MQTT協(xié)議比較合適。如果設(shè)備通常只有上報數(shù)據(jù),且對功耗很敏感的場景,例如水表、燃?xì)獗淼葓鼍?,則使用CoAP協(xié)議比較合適。

隨著物聯(lián)網(wǎng)興起,萬物互聯(lián)的時代終將到來。但鑒于成本和性能的考慮,設(shè)備的資源往往受限,那么就需要一種專門為資源受限的物聯(lián)網(wǎng)設(shè)備設(shè)計的協(xié)議來滿足萬物互聯(lián)的需求,這就是LwM2M協(xié)議。

1. LwM2M概述:

OMA是一家國際組織,最初定義了一套 OMA-DM的協(xié)議,用來遠(yuǎn)程管理移動終端設(shè)備,比如手機開戶,版本升級,等等。OMA-DM有著非常廣泛的應(yīng)用,很多運營商比如Verizon Wireless, Sprint都有自己的OMA-DM服務(wù)并要求手機/模塊入網(wǎng)的時候通過自定義的OMA-DM入網(wǎng)測試。因為物聯(lián)網(wǎng)的興起,OMA在傳統(tǒng)的OMA-DM協(xié)議基礎(chǔ)之上,提出了LwM2M協(xié)議。2013年底,OMA發(fā)布了LwM2M規(guī)范。

OMA Lightweight M2M 主要動機是定義一組輕量級的協(xié)議適用于各種物聯(lián)網(wǎng)設(shè)備,因為M2M設(shè)備通常是資源非常有限的嵌入式終端,無UI,計算能力和網(wǎng)絡(luò)通信能力都有限。同時也因為物聯(lián)網(wǎng)終端的巨大數(shù)量,節(jié)約網(wǎng)絡(luò)資源變得很重要。

2. LwM2M 協(xié)議邏輯實體與邏輯接口

LwM2M 定義了三個邏輯實體:

LwM2M Server 服務(wù)器

LwM2M client 客戶端 負(fù)責(zé)執(zhí)行服務(wù)器的命令和上報執(zhí)行結(jié)果

LwM2M 引導(dǎo)服務(wù)器 Bootstrap server 負(fù)責(zé)配置LwM2M客戶端.

在這三個邏輯實體之間有4個邏輯接口:

Device Discovery and Registration:這個接口讓客戶端注冊到服務(wù)器并通知服務(wù)器客戶端所支持的能力(簡單說就是支持哪些資源Resource和對象Object

Bootstrap:Bootstrap server:通過這個接口來配置Clinet - 比如說LwM2M server的URL地址 Device Management and Service Enablement:這個就是最主要的業(yè)務(wù)接口了。LwM2M Server 發(fā)送指令給 Client 并收到回應(yīng).

InformaTIon ReporTIng:這個接口是 LwM2M Client 來上報其資源信息的,比如傳感器溫度。上報方式可以是事件觸發(fā),也可以是周期性的。

3. LwM2M 協(xié)議棧

LwM2M Objects: 每個對象對應(yīng)客戶端的某個特定功能實體. LwM2M 規(guī)范定義了一下標(biāo)準(zhǔn)Objects,比如

urn:oma:lwm2m:oma:2;?(LwM2M?Server?Object)??

urn:oma:lwm2m:oma:3;?(LwM2M?Access?Control?Object)?

每個object下可以有很多resource. 比如Firmware object可以有Firmware版本號,size等resource.

Vendor可以自己定義object:

LwM2M Protocol:定義了一些邏輯操作,比如Read, Write, Execute, Create or Delete.

CoAP:是IETF 定義的Constrained ApplicaTIon Protocol 用來做LwM2M的傳輸層,下層可以是 UDP 或SMS .UDP 是必須支持的,SMS是可選的。CoAP有自己的消息頭,重傳機制等。

DTLS: 是用來保證客戶端和服務(wù)器間的安全性的。

4. LwM2M與CoAP的關(guān)系

LwM2M的消息沒有對稱的反饋消息,由于LwM2M承載在CoAP協(xié)議上,使用CoAP的get、post、put、delete方式,對于相應(yīng)消息成功或失敗的反饋是通過CoAP協(xié)議本身的交互來實現(xiàn)的。LwM2M載荷支持四種格式 plain text、Opaque、TLV、JSON,這四種協(xié)議要求服務(wù)器端必須都要支持,而在客戶端必須支持TLV格式。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉