吴忠躺衫网络科技有限公司

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

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

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

你了解清楚了嘛-TCP、HTTP、MQTT協(xié)議

IOTRouter ? 來源:IOTRouter ? 作者:IOTRouter ? 2024-07-11 11:34 ? 次閱讀

如下參考于成都縱橫智控-https://www.iotrouter.com/news/2009.html 或(蘇州穩(wěn)聯(lián))

物聯(lián)網(wǎng)(IoT)的快速發(fā)展離不開數(shù)據(jù)傳輸技術(shù)的進(jìn)步。在眾多的數(shù)據(jù)傳輸協(xié)議中,TCP、HTTP、和MQTT各有其獨(dú)特的優(yōu)勢和應(yīng)用場景。本文將詳細(xì)解析這三種協(xié)議的特點(diǎn)、應(yīng)用及其相互之間的區(qū)別,以幫助開發(fā)者在不同的物聯(lián)網(wǎng)應(yīng)用中選擇最合適的傳輸協(xié)議。
依據(jù)OSI網(wǎng)絡(luò)分層模型,TCP屬于傳輸層協(xié)議,HTTP和MQTT屬于應(yīng)用層協(xié)議。TCP是HTTP和MQTT的底層協(xié)議。

wKgaomaM8TaAQTxWAACIZqMj3-A546.png

TCP、HTTP、MQTT協(xié)議


TCP:傳輸控制協(xié)議
TCP是一種基于連接的可靠傳輸協(xié)議。這是互聯(lián)網(wǎng)協(xié)議套件的一部分,用于在網(wǎng)絡(luò)中的2個(gè)運(yùn)用中間建立一個(gè)靠譜的數(shù)據(jù)傳輸通道。TCP增強(qiáng)了數(shù)據(jù)分割、重組、流量管理和擁塞控制等業(yè)務(wù),以確保數(shù)據(jù)的穩(wěn)定性和次序傳送。這是一項(xiàng)面對連接的協(xié)議,規(guī)定在傳輸數(shù)據(jù)以前建立一個(gè)連接。TCP適用文件傳送、電子郵箱和網(wǎng)頁瀏覽對傳輸數(shù)據(jù)可靠性要求高的運(yùn)用。建立一個(gè)TCP連接需要三次握手,斷開一個(gè)TCP連接需要四次揮手。TCP協(xié)議可以對上層網(wǎng)絡(luò)提供接口,使上層網(wǎng)絡(luò)數(shù)據(jù)的傳輸建立在“無差別”的網(wǎng)絡(luò)之上。

1.三次握手:是TCP協(xié)議建立連接的過程,確保雙方都已準(zhǔn)備好進(jìn)行數(shù)據(jù)傳輸。以下是三次握手的步驟和示意圖:

步驟 描述 示意圖
1 客戶端發(fā)送SYN:客戶端向服務(wù)器發(fā)送一個(gè)SYN(同步序列編號(hào))請求,以初始化連接。 wKgaomaM8teAHyxvAAASbNi7OaQ807.png
TCP:三次握手
2 服務(wù)器發(fā)送SYN-ACK:服務(wù)器收到SYN請求后,回復(fù)一個(gè)SYN-ACK(同步序列編號(hào)-確認(rèn))包,表示同意建立連接,并告知客戶端已收到其請求。
3 客戶端發(fā)送ACK:客戶端收到SYN-ACK后,再發(fā)送一個(gè)ACK(確認(rèn))包,表示確認(rèn)連接已建立,雙方可以開始數(shù)據(jù)傳輸。

2.四次揮手:是TCP協(xié)議斷開連接的過程,確保雙方都已完成數(shù)據(jù)傳輸并同意斷開連接。以下是四次揮手的步驟及示意圖:

步驟 描述 示意圖
1 客戶端發(fā)送FIN:客戶端向服務(wù)器發(fā)送一個(gè)FIN(終止連接)請求,表示其已經(jīng)完成數(shù)據(jù)發(fā)送,準(zhǔn)備斷開連接。 wKgaomaM8zqAb7mWAAANu8n_nFs314.png
TCP:四次揮手
2 服務(wù)器發(fā)送ACK:服務(wù)器收到FIN請求后,回復(fù)一個(gè)ACK(確認(rèn))包,表示已收到客戶端的斷開請求,但可能還有未完成的數(shù)據(jù)需要發(fā)送。
3 服務(wù)器發(fā)送FIN:服務(wù)器完成數(shù)據(jù)發(fā)送后,向客戶端發(fā)送一個(gè)FIN請求,表示其也準(zhǔn)備斷開連接。
4 客戶端發(fā)送ACK:客戶端收到服務(wù)器的FIN請求后,回復(fù)一個(gè)ACK包,表示確認(rèn)斷開連接,連接正式斷開。

HTTP:超文本傳輸協(xié)議
HTTP用于在Web上傳送超文本(如HTML)和其他資源應(yīng)用層協(xié)議。TCP的穩(wěn)定性和連接性是根據(jù)TCP。HTTP挑選客戶端-服務(wù)器模型,客戶端向服務(wù)器推送HTTP規(guī)定,服務(wù)器回到HTTP回應(yīng),以傳送需要資源。HTTP是一種無狀態(tài)協(xié)議,每個(gè)請求和響應(yīng)都是獨(dú)立的,服務(wù)器不會(huì)儲(chǔ)存客戶端狀態(tài)信息

HTTP 請求/響應(yīng)流程示意圖 HTTP 請求示例
wKgaomaM9AmAcwh_AAAUNdIUEkY951.png
HTTP 請求/響應(yīng)流程示意圖
wKgaomaM9BaABB0GAAAwtc48aeg263.png
HTTP 請求示例

HTTP連接是一種“短連接”,由于HTTP在每個(gè)規(guī)定結(jié)束后都會(huì)主動(dòng)釋放連接。為保持客戶端流程的在線狀態(tài),務(wù)必再次連接到服務(wù)器。一般來說,即便不用獲得所有數(shù)據(jù),客戶端還會(huì)每隔一段時(shí)間向服務(wù)器推送一次“維護(hù)連接”規(guī)定。服務(wù)器接到要求之后回復(fù)客戶端,表明客戶端是“線上”的。假如服務(wù)器長期接受不了客戶端的需求,但認(rèn)為客戶端“撤出”,假如客戶端長期接受不了云服務(wù)器的回應(yīng),卻認(rèn)為網(wǎng)絡(luò)已經(jīng)斷開。

MQTT:遠(yuǎn)程傳輸消息隊(duì)列
MQTT是一種基于公示/定閱的MQTT(publish/subscribe)1999年IBM發(fā)布的TCP/IP協(xié)議中創(chuàng)立了該模式的“輕”通訊協(xié)議。MQTT最大的優(yōu)點(diǎn)是可以為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的信息服務(wù),編號(hào)少,帶寬有限。它作為一種低成本、低帶寬的即時(shí)通信協(xié)議,廣泛用于物聯(lián)網(wǎng)、小型機(jī)器和移動(dòng)應(yīng)用。

wKgZomaM9wSAI_OXAAA8Wmk2LRA867.png

以下是MQTT消息傳輸過程的示意圖:

1.客戶端連接到Broker:

CONNECT 請求:客戶端向MQTT Broker發(fā)起連接請求。
CONNACK 響應(yīng):Broker確認(rèn)連接請求。

2.客戶端發(fā)布消息到主題:

PUBLISH 請求:客戶端將消息發(fā)布到特定主題。
Broker 將消息轉(zhuǎn)發(fā)給訂閱該主題的客戶端。

3.Broker 轉(zhuǎn)發(fā)消息:

PUBLISH 請求:Broker 將消息轉(zhuǎn)發(fā)給所有訂閱了該主題的客戶端。

4.客戶端確認(rèn)消息接收:

PUBACK 響應(yīng):客戶端確認(rèn)接收到消息,適用于QoS 1等級(jí)。

5.客戶端斷開連接:

DISCONNECT 請求:客戶端請求斷開與Broker的連接。
DISCONNECT 響應(yīng):Broker 確認(rèn)斷開連接。

TCP、HTTP與MQTT的對比表格

特性 TCP HTTP MQTT
協(xié)議類型 傳輸層協(xié)議 應(yīng)用層協(xié)議 應(yīng)用層協(xié)議
連接建立 面向連接(三次握手) 無狀態(tài)請求-響應(yīng) 面向連接(連接保持)
數(shù)據(jù)傳輸模式 可靠傳輸,順序保證 請求-響應(yīng) 發(fā)布-訂閱
可靠性 取決于應(yīng)用層實(shí)現(xiàn) 支持QoS等級(jí)確保可靠性
數(shù)據(jù)頭開銷 較大 較大 較小
傳輸效率 較低 中等
適用場景 可靠傳輸需求的場景 Web瀏覽、API通信、RESTful服務(wù) 物聯(lián)網(wǎng)、實(shí)時(shí)數(shù)據(jù)傳輸
典型應(yīng)用 文件傳輸、電子郵件、遠(yuǎn)程登錄 網(wǎng)頁瀏覽、Web API 物聯(lián)網(wǎng)設(shè)備通信、消息傳輸

總結(jié)

TCP、HTTP 和 MQTT 是三種不同層級(jí)和用途的協(xié)議是進(jìn)行設(shè)備互聯(lián)和傳送數(shù)據(jù)的重要組成部分;TCP適用高可靠性傳送,HTTP適用Web服務(wù)與API打開,MQTT是物聯(lián)網(wǎng)設(shè)備通訊的不二之選。了解它們的特點(diǎn)和適用場景有助于在設(shè)計(jì)和實(shí)現(xiàn)網(wǎng)絡(luò)通信時(shí)做出最佳選擇。

審核編輯 黃宇

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

    關(guān)注

    0

    文章

    511

    瀏覽量

    31518
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1378

    瀏覽量

    79300
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    653

    瀏覽量

    22691
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TCP協(xié)議的常見應(yīng)用場景

    在現(xiàn)代通信網(wǎng)絡(luò)中,TCP協(xié)議因其可靠性和穩(wěn)定性而被廣泛應(yīng)用于各種場景。 1. 網(wǎng)頁瀏覽 1.1 HTTP和HTTPS HTTP(超文本傳輸協(xié)議
    的頭像 發(fā)表于 01-22 09:55 ?168次閱讀

    基于MQTT協(xié)議的車云通信設(shè)計(jì)

    Queuing Telemetry Transport)是由OASIS發(fā)布的應(yīng)用層協(xié)議,采用訂閱/發(fā)布的通信模式,下層基于TCP/IP進(jìn)行傳輸。該標(biāo)準(zhǔn)在工業(yè)物聯(lián)網(wǎng)、車聯(lián)網(wǎng)等領(lǐng)域有廣泛應(yīng)用。 MQTT主要有以下
    的頭像 發(fā)表于 01-08 10:24 ?244次閱讀
    基于<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>的車云通信設(shè)計(jì)

    HTTP 協(xié)議的工作原理

    HTTP協(xié)議的工作原理 1. HTTP協(xié)議概述 HTTP是一個(gè)應(yīng)用層協(xié)議,它定義了客戶端與服務(wù)器
    的頭像 發(fā)表于 12-30 09:21 ?332次閱讀

    HTTP 協(xié)議的基本概念

    瀏覽器)和服務(wù)器之間請求和響應(yīng)的格式。 1. HTTP協(xié)議概述 HTTP協(xié)議基于TCP/IP協(xié)議
    的頭像 發(fā)表于 12-29 15:12 ?501次閱讀

    MQTT.fx 連接Onenet 多協(xié)議接入平臺(tái) MQTT協(xié)議(舊版)詳解

    TCP dtu.heclouds.com 183.230.40.40 1811 打開Onenet平臺(tái),多協(xié)議接入 選擇MQTT協(xié)議(舊版),點(diǎn)擊添加產(chǎn)品,輸入
    的頭像 發(fā)表于 09-30 15:20 ?1005次閱讀
    <b class='flag-5'>MQTT</b>.fx 連接Onenet 多<b class='flag-5'>協(xié)議</b>接入平臺(tái) <b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>(舊版)詳解

    物聯(lián)網(wǎng)行業(yè)中MQTT通信協(xié)議詳解以及使用

    ,該協(xié)議構(gòu)建于TCP/IP協(xié)議上,由IBM在1999年發(fā)布。 MQTT最大優(yōu)點(diǎn)在于, 用極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù) 。 作為一種低開銷、低帶寬占用的即
    的頭像 發(fā)表于 09-20 17:08 ?1660次閱讀
    物聯(lián)網(wǎng)行業(yè)中<b class='flag-5'>MQTT</b>通信<b class='flag-5'>協(xié)議</b>詳解以及使用

    功能強(qiáng)大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP的通訊協(xié)議

    功能強(qiáng)大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP的通訊協(xié)議,簡單方便,包含歷史記憶功能,體積小,服務(wù)器調(diào)試最合適
    發(fā)表于 09-05 11:51 ?0次下載

    一文了解TCP/IP協(xié)議

    TCP/IP協(xié)議是現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)通信的基礎(chǔ),是互聯(lián)網(wǎng)及局域網(wǎng)廣泛使用的一套協(xié)議TCP/IP協(xié)議集包括許多
    的頭像 發(fā)表于 08-07 15:38 ?2368次閱讀
    一文<b class='flag-5'>了解</b><b class='flag-5'>TCP</b>/IP<b class='flag-5'>協(xié)議</b>

    基于MQTT協(xié)議云平臺(tái)的Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)

    鋇錸Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)BL100是一款高性能、高性價(jià)比的物聯(lián)網(wǎng)網(wǎng)關(guān),它支持將Modbus協(xié)議(包括Modbus RTU和Modbus TCP)的數(shù)據(jù)轉(zhuǎn)換為MQTT
    的頭像 發(fā)表于 07-29 17:59 ?835次閱讀
    基于<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>云平臺(tái)的Modbus轉(zhuǎn)<b class='flag-5'>MQTT</b>網(wǎng)關(guān)

    PLC協(xié)議、Modbus RTU TCP 、DL T645、IEC101-104、BACnet 轉(zhuǎn)Modbus TCP RTU、OPC UA、MQTT、BACnet IP協(xié)議網(wǎng)關(guān)

    /TP等多種協(xié)議轉(zhuǎn)換為Modbus TCP、OPC UA、MQTT、BACnet IP、華為云IoT、亞馬遜云IoT、阿里云IoT、ThingsBoard、Sparkplug B、鋇錸云等協(xié)議
    的頭像 發(fā)表于 07-24 16:04 ?660次閱讀
    PLC<b class='flag-5'>協(xié)議</b>、Modbus RTU  <b class='flag-5'>TCP</b> 、DL T645、IEC101-104、BACnet 轉(zhuǎn)Modbus <b class='flag-5'>TCP</b> RTU、OPC UA、<b class='flag-5'>MQTT</b>、BACnet IP<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)

    為什么使用MQTT而不是HTTP

    為什么使用MQTT而不是HTTP? 在探討為何在某些場景下選擇MQTT(Message Queuing Telemetry Transport)而非HTTP(Hypertext Tra
    的頭像 發(fā)表于 06-19 14:26 ?528次閱讀
    為什么使用<b class='flag-5'>MQTT</b>而不是<b class='flag-5'>HTTP</b>?

    mqtt協(xié)議tcp協(xié)議區(qū)別

    在數(shù)字化的宇宙中,無數(shù)的信息以電脈沖的形式穿梭于無形的空間之中。它們遵循著既定的規(guī)則——通信協(xié)議,在此背景下,TCPMQTT兩大協(xié)議赫然而立,各具特色。
    的頭像 發(fā)表于 04-30 14:02 ?1133次閱讀

    為什么使用MQTT而不是HTTP

    MQTT協(xié)議通過TCP/IP運(yùn)行,基于無損通信的雙向發(fā)布-訂閱模型,確保MQTT消息高效無損地傳遞。
    發(fā)表于 04-28 11:07 ?1022次閱讀
    為什么使用<b class='flag-5'>MQTT</b>而不是<b class='flag-5'>HTTP</b>?

    mqtt協(xié)議tcp協(xié)議區(qū)別

    MQTT協(xié)議TCP協(xié)議在設(shè)計(jì)和應(yīng)用上存在以下主要區(qū)別: 1. 起源與設(shè)計(jì):MQTT協(xié)議誕生于1
    的頭像 發(fā)表于 04-01 09:15 ?1749次閱讀

    MQTT協(xié)議網(wǎng)關(guān)解決方案設(shè)計(jì)與實(shí)施

    MQTT協(xié)議網(wǎng)關(guān)是一個(gè)中間件,負(fù)責(zé)接收來自不同MQTT客戶端的消息,并將這些消息轉(zhuǎn)發(fā)到MQTT服務(wù)器;同時(shí),也能接收來自MQTT服務(wù)器的消息
    的頭像 發(fā)表于 03-11 14:07 ?560次閱讀
    威尼斯人娱乐城 196| 网上百家乐官网做假| 华侨人百家乐的玩法技巧和规则 | 百家乐官网7scs| 真人百家乐官网试玩账号| 金世豪百家乐的玩法技巧和规则| 大发888娱乐客户端真钱| 网络百家乐官网路子玩| 德州扑克刷分| 百家乐赢的秘诀| 芦溪县| 海王星百家乐技巧| 澳门金莎娱乐城| 百家乐在线娱乐可信吗| 缅甸百家乐官网赌博有假吗| 大发888客户端下载| 百家乐官网网站赌钱吗| 云博投注| 澳门百家乐实战视频| 百家乐官网十佳投庄闲法| 至尊百家乐于波| 百威百家乐官网的玩法技巧和规则 | 网络百家乐破解器| 高档百家乐官网桌| 六合彩全年资料| 百家乐在线娱乐网| 優博百家乐官网客服| 上海博彩生物科技有限公司| 百家乐7scs娱乐平台| 香港百家乐官网娱乐场开户注册 | 百家乐路单破解方法| 百家乐官网网上投注系统| 棋牌室名字| 粤港澳百家乐娱乐场| 真人百家乐官网免费送钱| 鼎龙国际娱乐城| 太阳城线上娱乐城| 百家乐下注稳赢法| 百家乐官网桌小| 皇博线上娱乐| 威尼斯人娱乐城怎么赢|