目錄
MQTT與TCP的差異
首頁 常見問題 mqtt協定和tcp協定的差別是什麼

mqtt協定和tcp協定的差別是什麼

May 08, 2021 am 11:27 AM
mqtt協定 tcp協議

區別:1、MQTT誕生於1999年網路初期,TCP協定誕生於1974年冷戰期間。 2.TCP是OSI第四層的傳輸層通訊協議,MQTT是基於TCP的應用層協定。 3.TCP的核心思想是分組交換,MQTT的核心思想是簡單且適應物聯網環境等。

mqtt協定和tcp協定的差別是什麼

本教學操作環境:windows7系統、Dell G3電腦。

MQTT與TCP的差異

誕生時間

TCP協定誕生於1974年冷戰期間。

MQTT誕生於1999年網路初期,TCP協定比MQTT協定誕生早了25年。

Ashton提出IoT概念也是在1999年,因此MQTT協定生逢其時。當時MIT Auto-ID Labs的Kevin Ashton為了把寶潔的供應鏈上的RFID標籤和網路連結起來,在1999年第一個提出了IoT這個概念。

協定位置

TCP是OSI第四層的傳輸層協定。

MQTT是基於TCP的七層應用層協定。

mqtt協定和tcp協定的差別是什麼

協定定位

#TCP設計考慮的是連結導向的、可靠的、基於字節流的傳輸層通訊協定。

MQTT則是在低頻寬高延遲不可靠的網路下進行資料相對可靠傳輸的應用層協定。

設計想法

TCP的核心思想是分組交換。

MQTT的核心思想是簡單並適應物聯網環境。

傳輸單位

TCP的傳輸單位是packet,當應用層向TCP層發送用於網間傳輸的、用8位元組表示的資料流,TCP則將資料流分割成適當長度的封包段,最大傳輸段大小(MSS)通常受該電腦連接的網路的資料鏈結層的最大傳送單元(MTU)限制。

MQTT的傳輸單位是訊息,每個訊息位元組上限在MQTT Broker代理伺服器上進行設置,可以設定超過1M大小的訊息上限。這樣,就可以用一則訊息就發送上千條採集的數據,或是比較大的設備陰影檔案。

技術挑戰

TCP需要解決的問題是在IP包傳輸過程中,處理異質網路環境下的網路擁塞、丟包、亂序、重複包等多種問題。

MQTT解決的問題是,在低頻寬高延遲不可靠的網路下和資源有限的硬體環境內,進行相對可靠的資料傳輸。

服務品質

TCP是可靠的串流服務,透過ACK確認和重送機制,能夠保證發送的所有位元組在接收時是完全一樣的,而且位元組順序也是正確的。

MQTT提供三種可選的訊息發布的QoS服務等級。 MQTT客戶端和MQTT代理伺服器透過session機制保證訊息的傳輸可靠性。開發人員可以根據業務需求選擇其中一種。

應用案例

TCP用於許多互聯網應用程序,如WWW、email、FTP、SSH、P2P、串流媒體。 MQTT也是基於TCP的。

MQTT可以用於物聯網資料傳輸、IM聊天軟體等。

更多相關知識,請造訪常見問題欄位!

以上是mqtt協定和tcp協定的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1244
24
Redis在物聯網的應用探索 Redis在物聯網的應用探索 Nov 07, 2023 am 11:36 AM

Redis在物聯網的應用探索在現今物聯網(InternetofThings,IoT)快速發展的時代,海量的設備連結在一起,為我們提供了豐富的資料資源。而隨著物聯網應用越來越廣泛,大規模資料的處理和儲存成為了亟需解決的問題。 Redis作為一種高效能的記憶體資料儲存系統,具有出色的資料處理能力和低延遲的特點,為物聯網應用帶來了許多的優勢。 Redis是一個開

win11怎麼更改tcp協定? win11系統tcp協定更改方法詳情 win11怎麼更改tcp協定? win11系統tcp協定更改方法詳情 Feb 01, 2024 pm 05:30 PM

Windows系統中的傳輸協定之一是TCP協議,它在運行和使用某些功能時是必需的。最近,一些Win11用戶遇到了TCP協議的問題,需要進行修改。然而,很多人不知道如何操作才能成功修改。為了解決這個問題,本期Win11教學將為大家提供詳細的設定方法。如果您需要,請造訪本站以取得完整的步驟。 win11怎麼更改tcp協定:1.先滑鼠右鍵點選右下角的網路圖標,開啟網路和internet設定。 3、然後開啟相關設定下的更多網路介面卡選項。 5.打開後,就能找到tcp協定了,雙擊可以打開它。 7.還能點擊高級以修

Go語言中的TCP協定與非同步IO處理技術 Go語言中的TCP協定與非同步IO處理技術 Jun 02, 2023 am 09:10 AM

隨著網路技術的不斷發展,TCP協定和非同步IO處理技術也愈發重要。作為一門現代化的程式語言,Go語言自然支援TCP協定和非同步IO處理技術,這使得Go語言在開發網路應用中極為方便且有效率。本篇文章將從TCP協定和非同步IO處理技術兩個面向來探討Go語言在網路應用開發的優勢。一、TCP協定TCP協定是一種可靠的、面向連線的網路傳輸協定。它能夠保障網路傳輸的可靠性,

MQTT協定的PHP客戶端程式庫推薦和使用說明 MQTT協定的PHP客戶端程式庫推薦和使用說明 Jul 09, 2023 pm 02:33 PM

MQTT協定的PHP客戶端程式庫推薦和使用說明MQTT(MessageQueuingTelemetryTransport)是一種輕量級的訊息傳輸協議,廣泛應用於物聯網和感測器網路等領域。在PHP開發中,為了方便使用MQTT協定與MQTT伺服器進行通信,我們可以選擇使用一些PHP客戶端程式庫來簡化這個過程。在本文中,將推薦幾個常用的PHP客戶端程式庫,並提供使用說明

如何在Windows 11系統中變更TCP協定設定 如何在Windows 11系統中變更TCP協定設定 Apr 02, 2024 pm 01:43 PM

在Windows11作業系統中,TCP協定作為底層通訊架構的關鍵部分,對系統內眾多功能的穩定運作起著不可或缺的作用。當有使用者意圖根據自身需求對TCP協定進行個人化調整時,可能會面臨操作上的困惑。為此,以下為大家帶來如何在Windows11系統中更改TCP協定設定的詳細操作步驟,一起來看看吧。更改方法1、右鍵點擊右下角工作列中的網路圖標,接著選擇選項清單中的"網路和internet設定"。 2.進入新的介面後,點選右側中的"進階網路設定"選項。 3.隨後點擊"相關設定"中的"更多網路介面卡選項"。 4、之

tcp屬於哪一層的協議 tcp屬於哪一層的協議 Jul 05, 2023 am 10:52 AM

tcp是「傳輸層」的協定。 tcp指的是“傳輸控制協議”,是一種面向連接的、可靠的、基於字節流的傳輸層通信協議,tcp補充了Internet協議,它定義了用於識別Internet上系統的IP地址,主要確保不同節點之間的端對端資料傳輸。

MQTT協議及其在PHP開發的應用介紹 MQTT協議及其在PHP開發的應用介紹 Jul 09, 2023 pm 01:39 PM

MQTT協定及其在PHP開發的應用介紹隨著物聯網的快速發展,各類設備的聯網和資料傳輸變得越來越重要。 MQTT(MessageQueueTelemetryTransport)協議作為一種輕量級的發布/訂閱訊息傳輸協議,被廣泛應用於物聯網領域。本文將介紹MQTT協議的基本原理,並提供在PHP開發中使用MQTT協議的具體範例。一、MQTT協議的基本原理MQ

如何在Go語言中使用TCPF協定進行網路通信 如何在Go語言中使用TCPF協定進行網路通信 Mar 28, 2024 am 08:06 AM

如何在Go語言中使用TCP協定進行網路通訊在Go語言中,我們可以使用net包提供的方法來實作TCP協定進行網路通訊。透過建立TCP連接,我們可以實現客戶端和伺服器之間的資料傳輸。以下將詳細介紹如何在Go語言中使用TCP協定進行網路通信,包括客戶端和伺服器端的實現,以及具體的程式碼範例。 1.TCP客戶端在Go語言中,我們可以透過net包提供的Dial函數來建立