在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

物聯(lián)網(wǎng)應(yīng)用層協(xié)議選擇和分析--MQTT、CoAP 、HTTP、XMPP、SoAP

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:未知 ? 作者:李倩 ? 2018-09-12 17:22 ? 次閱讀

MQTT協(xié)議

MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸)最早是IBM開發(fā)的一個(gè)即時(shí)通訊協(xié)議,MQTT協(xié)議是為大量計(jì)算能力有限且工作在低帶寬、不可靠網(wǎng)絡(luò)的遠(yuǎn)程傳感器和控制設(shè)備通訊而設(shè)計(jì)的一種協(xié)議。

MQTT協(xié)議的優(yōu)勢(shì)是可以支持所有平臺(tái),它幾乎可以把所有的聯(lián)網(wǎng)物品和互聯(lián)網(wǎng)連接起來。

它具有以下主要的幾項(xiàng)特性:

1、使用發(fā)布/訂閱消息模式,提供一對(duì)多的消息發(fā)布和應(yīng)用程序之間的解耦;

2、消息傳輸不需要知道負(fù)載內(nèi)容;

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

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

QoS 0:“最多一次”,消息發(fā)布完全依賴底層 TCP/IP 網(wǎng)絡(luò)。分發(fā)的消息可能丟失或重復(fù)。例如,這個(gè)等級(jí)可用于環(huán)境傳感器數(shù)據(jù),單次的數(shù)據(jù)丟失沒關(guān)系,因?yàn)椴痪煤筮€會(huì)有第二次發(fā)送。

QoS 1:“至少一次”,確保消息可以到達(dá),但消息可能會(huì)重復(fù)。

QoS 2:“只有一次”,確保消息只到達(dá)一次。例如,這個(gè)等級(jí)可用在一個(gè)計(jì)費(fèi)系統(tǒng)中,這里如果消息重復(fù)或丟失會(huì)導(dǎo)致不正確的收費(fèi)。

5、小型傳輸,開銷很小(固定長(zhǎng)度的頭部是 2 字節(jié)),協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量;

6、使用 Last Will 和 Testament 特性通知有關(guān)各方客戶端異常中斷的機(jī)制;

在MQTT協(xié)議中,一個(gè)MQTT數(shù)據(jù)包由:固定頭(Fixed header)、 可變頭(Variable header)、 消息體(payload)三部分構(gòu)成。MQTT的傳輸格式非常精小,最小的數(shù)據(jù)包只有2個(gè)bit,且無應(yīng)用消息頭。

下圖是MQTT為可靠傳遞消息的三種消息發(fā)布服務(wù)質(zhì)量

發(fā)布/訂閱模型允許MQTT客戶端以一對(duì)一、一對(duì)多和多對(duì)一方式進(jìn)行通訊。

下圖是MQTT的發(fā)布/訂閱消息模式

CoAP協(xié)議

CoAP是受限制的應(yīng)用協(xié)議(Constrained Application Protocol)的代名詞。由于目前物聯(lián)網(wǎng)中的很多設(shè)備都是資源受限型的,所以只有少量的內(nèi)存空間和有限的計(jì)算能力,傳統(tǒng)的HTTP協(xié)議在物聯(lián)網(wǎng)應(yīng)用中就會(huì)顯得過于龐大而不適用。因此,IETF的CoRE工作組提出了一種基于REST架構(gòu)、傳輸層為UDP、網(wǎng)絡(luò)層為6LowPAN(面向低功耗無線局域網(wǎng)的IPv6)的CoAP協(xié)議。

CoAP采用與HTTP協(xié)議相同的請(qǐng)求響應(yīng)工作模式。CoAP協(xié)議共有4中不同的消息類型。

CON——需要被確認(rèn)的請(qǐng)求,如果CON請(qǐng)求被發(fā)送,那么對(duì)方必須做出響應(yīng)。NON——不需要被確認(rèn)的請(qǐng)求,如果NON請(qǐng)求被發(fā)送,那么對(duì)方不必做出回應(yīng)。ACK——應(yīng)答消息,接受到CON消息的響應(yīng)。RST——復(fù)位消息,當(dāng)接收者接受到的消息包含一個(gè)錯(cuò)誤,接受者解析消息或者不再關(guān)心發(fā)送者發(fā)送的內(nèi)容,那么復(fù)位消息將會(huì)被發(fā)送。

CoAP消息格式使用簡(jiǎn)單的二進(jìn)制格式,最小為4個(gè)字節(jié)。

一個(gè)消息=固定長(zhǎng)度的頭部header + 可選個(gè)數(shù)的option + 負(fù)載payload。Payload的長(zhǎng)度根據(jù)數(shù)據(jù)報(bào)長(zhǎng)度來計(jì)算。

主要是一對(duì)一的協(xié)議

舉個(gè)例子:

比如某個(gè)設(shè)備需要從服務(wù)器端查詢當(dāng)前溫度信息。

a.請(qǐng)求消息(CON): GET /temperature , 請(qǐng)求內(nèi)容會(huì)被包在CON消息里面

b.響應(yīng)消息 (ACK): 2.05 Content “22.5 C” ,響應(yīng)內(nèi)容會(huì)被放在ACK消息里面

CoAP與MQTT的區(qū)別

MQTT和CoAP都是行之有效的物聯(lián)網(wǎng)協(xié)議,但兩者還是有很大區(qū)別的,比如MQTT協(xié)議是基于TCP,而CoAP協(xié)議是基于UDP。從應(yīng)用方向來分析,主要區(qū)別有以下幾點(diǎn):

1、MQTT協(xié)議不支持帶有類型或者其它幫助Clients理解的標(biāo)簽信息,也就是說所有MQTT Clients必須要知道消息格式。而CoAP協(xié)議則相反,因?yàn)镃oAP內(nèi)置發(fā)現(xiàn)支持和內(nèi)容協(xié)商,這樣便能允許設(shè)備相互窺測(cè)以找到數(shù)據(jù)交換的方式。

2、MQTT是長(zhǎng)連接而CoAP是無連接。MQTT Clients與Broker之間保持TCP長(zhǎng)連接,這種情形在NAT環(huán)境中也不會(huì)產(chǎn)生問題。如果在NAT環(huán)境下使用CoAP的話,那就需要采取一些NAT穿透性手段。

3、MQTT是多個(gè)客戶端通過中央代理進(jìn)行消息傳遞的多對(duì)多協(xié)議。它主要通過讓客戶端發(fā)布消息、代理決定消息路由和復(fù)制來解耦消費(fèi)者和生產(chǎn)者。MQTT就是相當(dāng)于消息傳遞的實(shí)時(shí)通訊總線。CoAP基本上就是一個(gè)在Server和Client之間傳遞狀態(tài)信息的單對(duì)單協(xié)議。

HTTP協(xié)議

http的全稱是HyperText Transfer Protocol,超文本傳輸協(xié)議,這個(gè)協(xié)議的提出就是為了提供和接收HTML界面,通過這個(gè)協(xié)議在互聯(lián)網(wǎng)上面?zhèn)鞒鰓eb的界面信息。

HTTP協(xié)議的兩個(gè)過程,Request和Response,兩個(gè)都有各自的語言格式,我們看下是什么。

請(qǐng)求報(bào)文格式:(注意這里有個(gè)換行)

響應(yīng)報(bào)文格式:(注意這里有個(gè)換行)

方法method:

這個(gè)很重要,比如說GET和POST方法,這兩個(gè)是很常用的,GET就是獲取什么內(nèi)容,而POST就是向服務(wù)器發(fā)送什么數(shù)據(jù)。當(dāng)然還有其他的,比如HTTP 1.1中還有:DELETE、PUT、CONNECT、HEAD、OPTIONS、TRACE等一共8個(gè)方法(HTTP Method歷史:HTTP 0.9 只有GET方法;HTTP 1.0 有GET、POST、HEAD三個(gè)方法)。

請(qǐng)求URL:

這里填寫的URL是不包含IP地址或者域名的,是主機(jī)本地文件對(duì)應(yīng)的目錄地址,所以我們一般看到的就是“/”。

版本version:

格式是HTTP/.這樣的格式,比如說HTTP/1.1.這個(gè)版本代表的就是我們使用的HTTP協(xié)議的版本,現(xiàn)在使用的一般是HTTP/1.1

狀態(tài)碼status:

狀態(tài)碼是三個(gè)數(shù)字,代表的是請(qǐng)求過程中所發(fā)生的情況,比如說200代表的是成功,404代表的是找不到文件。

原因短語reason-phrase:

是狀態(tài)碼的可讀版本,狀態(tài)碼就是一個(gè)數(shù)字,如果你事先不知道這個(gè)數(shù)字什么意思,可以先查看一下原因短語。

首部header:

注意這里的header我們不是叫做頭,而是叫做首部。可能有零個(gè)首部也可能有多個(gè)首部,每個(gè)首部包含一個(gè)名字后面跟著一個(gè)冒號(hào),然后是一個(gè)可選的空格,接著是一個(gè)值,然后換行。

實(shí)體的主體部分entity-body:

實(shí)體的主體部分包含一個(gè)任意數(shù)據(jù)組成的數(shù)據(jù)塊,并不是所有的報(bào)文都包含實(shí)體的主體部分,有時(shí)候只是一個(gè)空行加換行就結(jié)束了。

下面我們舉個(gè)簡(jiǎn)單的例子:

請(qǐng)求報(bào)文:

GET /index.html HTTP/1.1

Accept: text/*

Host:www.myweb.com

響應(yīng)報(bào)文:

HTTP/1.1 200 OK

Content-type: text/plain

Content-length: 3

HTTP與CoAP的區(qū)別

CoAP是6LowPAN協(xié)議棧中的應(yīng)用層協(xié)議,基于REST(表述性狀態(tài)傳遞)架構(gòu)風(fēng)格,支持與REST進(jìn)行交互。通常用戶可以像使用HTTP協(xié)議一樣用CoAP協(xié)議來訪問物聯(lián)網(wǎng)設(shè)備。而且CoAP消息格式使用簡(jiǎn)單的二進(jìn)制格式,最小為4個(gè)字節(jié)。HTTP使用報(bào)文格式對(duì)于嵌入式設(shè)備來說需要傳輸數(shù)據(jù)太多,太重,不夠靈活。

XMPP協(xié)議

XMPP(可擴(kuò)展通訊和表示協(xié)議)是一種基于可擴(kuò)展標(biāo)記語言(XML)的協(xié)議,

它繼承了在XML環(huán)境中靈活的發(fā)展性。可用于服務(wù)類實(shí)時(shí)通訊、表示和需求響應(yīng)服務(wù)中的XML數(shù)據(jù)元流式傳輸。XMPP以Jabber協(xié)議為基礎(chǔ),而Jabber是即時(shí)通訊中常用的開放式協(xié)議。

基本網(wǎng)絡(luò)結(jié)構(gòu)

XMPP中定義了三個(gè)角色,客戶端,服務(wù)器,網(wǎng)關(guān)。通信能夠在這三者的任意兩個(gè)之間雙向發(fā)生。

服務(wù)器同時(shí)承擔(dān)了客戶端信息記錄,連接管理和信息的路由功能。網(wǎng)關(guān)承擔(dān)著與異構(gòu)即時(shí)通信系統(tǒng)

的互聯(lián)互通,異構(gòu)系統(tǒng)可以包括SMS(短信),MSN,ICQ等。基本的網(wǎng)絡(luò)形式是單客戶端通過

TCP/IP連接到單服務(wù)器,然后在之上傳輸XML。

功能

傳輸?shù)氖桥c即時(shí)通訊相關(guān)的指令。在以前這些命令要么用2進(jìn)制的形式發(fā)送(比如QQ),

要么用純文本指令加空格加參數(shù)加換行符的方式發(fā)送(比如MSN)。而XMPP傳輸?shù)募磿r(shí)通訊指令

的邏輯與以往相仿,只是協(xié)議的形式變成了XML格式的純文本。

舉個(gè)例子看看所謂的XML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)流是什么樣子的?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2927

    文章

    45964

    瀏覽量

    388844
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    672

    瀏覽量

    23518

原文標(biāo)題:物聯(lián)網(wǎng)應(yīng)用層協(xié)議選擇和分析--MQTT、CoAP 、HTTP、XMPP、SoAP

文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么是HTTP協(xié)議HTTP協(xié)議的基本特點(diǎn)和發(fā)展歷程

    上期文章小編給大家介紹了一些關(guān)于MQTT協(xié)議的基礎(chǔ)知識(shí),今天我們來了解另一個(gè)應(yīng)用層協(xié)議——HTTP協(xié)議
    發(fā)表于 08-04 09:52 ?2149次閱讀
    什么是<b class='flag-5'>HTTP</b><b class='flag-5'>協(xié)議</b>?<b class='flag-5'>HTTP</b><b class='flag-5'>協(xié)議</b>的基本特點(diǎn)和發(fā)展歷程

    聯(lián)網(wǎng)傳輸協(xié)議MQTT到底是個(gè)什么?

    MQTT是什么?MQTT是一個(gè)聯(lián)網(wǎng)傳輸協(xié)議,它被設(shè)計(jì)用于輕量級(jí)的發(fā)布/訂閱式消息傳輸,旨在為低帶寬和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中的
    發(fā)表于 01-08 11:27

    工業(yè)無線MQTT聯(lián)網(wǎng)網(wǎng)關(guān)

    通信)和非常少的開銷(較之 HTTP協(xié)議)。 在 3G 網(wǎng)絡(luò)中,MQTT 的吞吐量速度是使用 HTTP 的表述性狀態(tài)轉(zhuǎn)移 (REST) 的 93 倍。工業(yè)無線
    發(fā)表于 02-07 14:00

    另一個(gè)角度看聯(lián)網(wǎng)協(xié)議

    MCU集成了以太網(wǎng)控制器,簡(jiǎn)化了聯(lián)網(wǎng)的工作。聯(lián)網(wǎng)協(xié)議棧你可以使用熟悉的Web技術(shù)來構(gòu)建物聯(lián)網(wǎng)系統(tǒng)嗎?答案是肯定,但沒有使用新的
    發(fā)表于 10-12 10:09

    【直播預(yù)熱】Harmony MQTT/CoAP應(yīng)用指南——火熱報(bào)名中

    (Hi3861V100) HarmonyOS聯(lián)網(wǎng)應(yīng)用開發(fā)實(shí)戰(zhàn)分享系列課程的第五課,也是此系列課程的最后一課,將為各位開發(fā)者詳細(xì)講解鴻蒙MQTT/CoAP應(yīng)用。 講師簡(jiǎn)介許思維——江蘇
    發(fā)表于 12-09 17:18

    【HarmonyOS HiSpark AI Camera試用連載 】萌新闖關(guān)之聯(lián)網(wǎng)COAP協(xié)議梳理二

    名的消息協(xié)議MQTTXMPP,以及本文 要介紹的COAP協(xié)議.對(duì)于那些
    發(fā)表于 12-15 20:21

    聯(lián)網(wǎng)的基石-MQTT協(xié)議初識(shí)

    1、聯(lián)網(wǎng)的基石-mqtt協(xié)議初識(shí)隨著 5G 時(shí)代的來臨,萬互聯(lián)的偉大構(gòu)想正在成為現(xiàn)實(shí)。聯(lián)網(wǎng)
    發(fā)表于 09-08 16:03

    基于STM32平臺(tái)的CoAP Server方案

    小型設(shè)備而言,實(shí)現(xiàn)TCP和HTTP協(xié)議顯然是一個(gè)過分的要求。為了讓小設(shè)備可以接入互聯(lián)網(wǎng)CoAP協(xié)議被設(shè)計(jì)出來。
    發(fā)表于 11-29 19:32 ?1598次閱讀
     基于STM32平臺(tái)的<b class='flag-5'>CoAP</b> Server方案

    聯(lián)網(wǎng)硬件接入之通信協(xié)議MQTT,CoAP,LwM2M協(xié)議)的詳細(xì)資料概述

    本文檔的作用內(nèi)容詳細(xì)技術(shù)的是聯(lián)網(wǎng)硬件接入之通信協(xié)議MQTT,CoAP,LwM2M協(xié)議)的詳細(xì)
    發(fā)表于 09-11 16:25 ?20次下載
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>硬件接入之通信<b class='flag-5'>協(xié)議</b>(<b class='flag-5'>MQTT</b>,<b class='flag-5'>CoAP</b>,LwM2M<b class='flag-5'>協(xié)議</b>)的詳細(xì)資料概述

    聯(lián)網(wǎng)硬件接入之通信協(xié)議MQTT,CoAP,LwM2M協(xié)議)的詳細(xì)資料概述

    本文檔的作用內(nèi)容詳細(xì)技術(shù)的是聯(lián)網(wǎng)硬件接入之通信協(xié)議MQTT,CoAP,LwM2M協(xié)議)的詳細(xì)
    發(fā)表于 09-11 16:25 ?295次下載
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>硬件接入之通信<b class='flag-5'>協(xié)議</b>(<b class='flag-5'>MQTT</b>,<b class='flag-5'>CoAP</b>,LwM2M<b class='flag-5'>協(xié)議</b>)的詳細(xì)資料概述

    基于聯(lián)網(wǎng)應(yīng)用層協(xié)議的隱蔽信道模型

    針對(duì)傳統(tǒng)網(wǎng)絡(luò)隱蔽信道的載體局限于互聯(lián)網(wǎng)協(xié)議的問題,在研究聯(lián)網(wǎng)應(yīng)用層消息隊(duì)列遙測(cè)傳輸(MQTT
    發(fā)表于 06-02 15:36 ?10次下載

    聯(lián)網(wǎng)應(yīng)用中,為什么MQTT干掉了HTTP

    HTTP作為當(dāng)下使用最為廣泛的協(xié)議之一,但隨著聯(lián)網(wǎng)行業(yè)的發(fā)展,MQTT在過去的幾年也受到了大量
    的頭像 發(fā)表于 04-27 09:33 ?926次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>應(yīng)用中,為什么<b class='flag-5'>MQTT</b>干掉了<b class='flag-5'>HTTP</b>?

    聯(lián)網(wǎng)的技術(shù)架構(gòu)及應(yīng)用層是什么?

    聯(lián)網(wǎng)的技術(shù)架構(gòu)包括感知、網(wǎng)絡(luò)、平臺(tái)應(yīng)用層應(yīng)用層
    的頭像 發(fā)表于 07-15 08:56 ?4132次閱讀

    “不會(huì)過時(shí)”的協(xié)議CoAP與其他協(xié)議相比有何不同?

    什么是CoAP協(xié)議CoAP(ConstrainedApplicationProtocol,受限應(yīng)用協(xié)議)是一種專為
    的頭像 發(fā)表于 10-20 08:21 ?1031次閱讀
    “不會(huì)過時(shí)”的<b class='flag-5'>協(xié)議</b>?<b class='flag-5'>CoAP</b>與其他<b class='flag-5'>協(xié)議</b>相比有何不同?

    MQTT聯(lián)網(wǎng)網(wǎng)關(guān)是什么

    Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸)是一種輕量級(jí)的發(fā)布/訂閱模式的消息傳輸協(xié)議,特別適合于低帶寬、不穩(wěn)定網(wǎng)絡(luò)環(huán)境中的聯(lián)網(wǎng)設(shè)備。 MQTT
    的頭像 發(fā)表于 07-18 14:17 ?846次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>網(wǎng)關(guān)是什么
    主站蜘蛛池模板: 免费观看欧美一级片 | 欧美色视频超清在线观看 | 欧美日韩国产一区二区三区不卡 | 国产色网| 欧美性极品xxxxx | 日产精品卡二卡三卡四卡乱码视频 | 天天看片国产 | 欧美一级色 | 免费人成在线观看视频色 | 久久久噜噜噜久久久 | 免费一级片在线观看 | 九九热免费在线观看 | 色视频免费观看 | 成熟女性毛茸茸xx免费视频 | 女人扒开腿让男人桶到爽 | 色激情综合 | 99热这里只有精品一区二区三区 | 一级毛片aa | 美女被网站免费看九色视频 | 免费看欧美一级特黄a大片 免费看欧美一级特黄a大片一 | 亚洲国产一区二区三区a毛片 | 开心激情播播网 | 日本高清视频色 | 青草视频久久 | 午夜在线视频观看版 | 色综合天天射 | 美女视频黄又黄又免费高清 | 免费一级毛片正在播放 | 色综合天天综合网国产国产人 | 人人插视频 | 一二三四日本视频社区 | 亚欧美视频 | 国产精品久久久久久久牛牛 | 特黄特色三级在线观看 | 国产视频黄色 | 国产香蕉视频在线 | 国产伦精品一区二区三区女 | 国产成人啪午夜精品网站 | 日本午夜影院 | 欧美精品一区视频 | 色www免费视频|