MQTTプロトコルとTCPプロトコルの違いは何ですか

青灯夜游
リリース: 2023-01-13 00:36:06
オリジナル
21937 人が閲覧しました

相違点: 1. MQTT は 1999 年のインターネット初期に誕生し、TCP プロトコルは冷戦中の 1974 年に誕生しました。 2. TCPはOSIの第4層のトランスポート層の通信プロトコルであり、MQTTはTCPをベースにしたアプリケーション層のプロトコルです。 3. TCP の中心的な考え方はパケット交換であり、MQTT の中心的な考え方はシンプルさとモノのインターネット環境への適応性です。

MQTTプロトコルとTCPプロトコルの違いは何ですか

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

MQTT と TCP の違い

誕生時期

TCP プロトコルは冷戦中の 1974 年に誕生しました。 。

MQTT は 1999 年のインターネット初期に誕生し、TCP プロトコルは MQTT プロトコルより 25 年前に誕生しました。

アシュトンは 1999 年に IoT の概念を提案したため、MQTT プロトコルは適切なタイミングで誕生しました。当時、MIT Auto-ID Labs の Kevin Ashton は、P&G のサプライチェーン内の RFID タグをインターネットに接続するために 1999 年に初めて IoT の概念を提案しました。

プロトコルの場所

TCP は、OSI の第 4 層のトランスポート層プロトコルです。

MQTT は、TCP に基づく 7 層のアプリケーション層プロトコルです。

MQTTプロトコルとTCPプロトコルの違いは何ですか

#プロトコルの位置付け

TCP 設計では、コネクション指向で信頼性の高いバイトベースのトランスポート層通信を考慮しています。ストリームのプロトコル。

MQTT は、低帯域幅、高遅延、信頼性の低いネットワーク下で比較的信頼性の高いデータ送信を実現するアプリケーション層プロトコルです。

設計アイデア

TCP の核となるアイデアはパケット交換です。

MQTT の核となる考え方は、シンプルであり、モノのインターネット環境に適応できることです。

伝送単位

TCPの伝送単位はパケットであり、アプリケーション層がネットワーク間で8ビットバイトで表されるデータストリームをTCP層に送信する場合送信では、TCP はデータ ストリームを適切な長さのメッセージ セグメントに分割します。最大送信セグメント サイズ (MSS) は通常、コンピュータが接続されているネットワークのデータ リンク層の最大送信単位 (MTU) によって制限されます。

MQTT の送信単位はメッセージであり、各メッセージのバイト数の上限は MQTT Broker プロキシ サーバーで設定されており、メッセージ サイズの上限は 1M を超えるように設定できます。この方法では、収集した何千ものデータや比較的大きなデバイス シャドウ ファイルを 1 つのメッセージで送信できます。

技術的課題

TCP が解決する必要がある問題は、異種ネットワーク環境での送信中のネットワーク輻輳、パケット損失、無秩序、および重複に対処することです。 IP パケット、パッケージおよびその他の問題。

MQTT が解決する問題は、低帯域幅、高遅延、信頼性の低いネットワーク、およびリソースが限られたハードウェア環境下での比較的信頼性の高いデータ送信です。

サービス品質

TCP は信頼性の高いストリーミング サービスであり、ACK 確認および再送信メカニズムを通じて、送信されたすべてのバイトが受信時に正確に同じであることを保証できます。 、バイト順序も正しいです。

MQTT は、メッセージ パブリッシュに 3 つのオプションの QoS サービス レベルを提供します。 MQTT クライアントと MQTT プロキシ サーバーは、セッション メカニズムを介したメッセージ送信の信頼性を保証します。開発者は、ビジネス ニーズに基づいてそれらの 1 つを選択できます。

アプリケーション ケース

TCP は、WWW、電子メール、FTP、SSH、P2P、ストリーミング メディアなど、多くのインターネット アプリケーションで使用されます。 MQTT も TCP に基づいています。

MQTT は IoT データ送信や IM チャット ソフトウェアなどに使用できます。

さらに関連する知識については、

FAQ 列をご覧ください。

以上がMQTTプロトコルとTCPプロトコルの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート