ホーム >ニュース MQTT 5対MQTT 3

MQTT 5の新機能とバージョン3.1上の利点

バイ Ponlakshmi


MQTT 5

MQTT は、IoT M2M 通信の最も広く使用されている TCP/IP プロトコルになりました。 その広範囲の採用は高める要求をへの高めるために導きましたMQTTの特長仕様、MQTT 5に上昇を与えます。 この新しいバージョンは、特に製造における現代のIoTアプリケーションのニーズを満たすために設計されています システム、物流、スマートホーム、 MQTT 5 の機能がスケーラビリティ、性能および改善する企業 IoT および移動式適用、 信頼性。

MQTT 5の特徴 - 機能概要

MQTT プロトコルが実装にあまり言わないにもかかわらず、MQTT 5 は慎重に設計されている ソリューションプロバイダは、ソリューションをより良く拡張するのに役立ちます。 MQTTバージョン5の新機能は、 次の目的を達成して下さい:


大規模な適用を造る:データ間のフロー制御MQTTの特長 ブローカークライアントは、プロトコルの拡張機能で大きく合理化されています。 フローリング 制御, 共有サブスクリプション、およびセッションハンドリングは大規模構築を支援IoTアプリケーションお問い合わせ


よりよい間違いの報告:MQTTの特長 5 プロトコルは、通信中に起こるエラーに対して強力な戻りコードを追加しました。 ほぼすべて MQTT パケットは、ヘッダの 1 バイトの戻りコードを持っています。 バイトの値は、より優れた実装の失敗の広い範囲を示しています。


よく定義されたM2M コミュニケーション:MQTT 3 は、トピックとメッセージが内部で定義される必要がある方法をサポートしていません。 MQTT 5 は方法を加えました お問い合わせMQTTクライアントコミュニケーション それぞれで。 MQTTリクエストと応答 フローは、エッジデバイスがアプリケーションレイヤーで通信する方法を定義するのに役立ちます。


MQTT を拡張 仕様:MQTT パケットとペイロードにカスタム プロパティを追加できます。 カスタムプロパティは、拡張するのに役立ちます 実装に必要なプロトコル。 すべてのコントロールとデータパケットは、プロパティをサポート PINGREQとPINGRESP。

MQTT 5 対 MQTT 3 - 違い & 利点

MQTT v5.0はMQTT 3と異なる さまざまな側面で、通信プロトコルの進歩と基本的変化を示す セッション、メッセージ送信、サブスクリプション管理の処理 これらの差別化により、より進化した多様なメッセージングプロトコルに貢献 前任者。


以下はMQTT 5の進歩です:


  • 導入事例セッションの有効期限間隔お問い合わせ これにより、クライアントが セッションの最大許容時間を設定し、セッション管理機能を強化します。
  • ザ・オブ・ザ・遅延間隔クライアントが時間を指定できるようにする機能 送信前の遅延最後の意志とテスト メッセージお問い合わせ これにより、メッセージ伝送のタイミングを上回るニュアンス制御が可能になります。
  • MQTT v3.1 とは異なり、MQTT 5 はメッセージの有効期限間隔機能。 これにより、クライアントは、特定の時間制限を設定することにより、メッセージの寿命を管理できます 関連する。
  • ザ・オブ・ザ・ペイロードフォーマットインジケータクライアントがペイロードを指定できるように 構造, 標準化されたデータ解釈の促進 現在、 「コンテンツタイプ」属性の導入により、MQTT から区別する情報明快さが向上 3.1.
  • トピックエイリアスMQTT 5 は通信を合理化します。 クライアントは簡潔に使用できます 代わりにエイリアス 完全なトピック文字列、データオーバーヘッドを最小限に抑えます。
  • ザ・オブ・ザ・応答トピック特徴は構造された要求応答を可能にします モデル。 クライアントは、特定のトピックに関する返信、コミュニケーションの柔軟性を高めることができます。
  • 使用方法非ローカル出版、顧客は受け取るために選ぶことができます 公開メッセージ
  • クライアントは、保持されたメッセージ制御を強化いつ、どのように送信するかを指定することで 保存されたメッセージを更新します。
  • ザ・オブ・ザ・サブスクリプション識別子サーバがサーバーを許可する目的を提供する サブスクリプションを識別します。 また、これらのサブスクリプションを追跡するのに役立ちます。
  • 共有サブスクリプション高められた柔軟性を提供します。 こうして 設立について 追加のシンボルとフィルタリング機能。
  • すべての ACK メッセージのコードを関連付けるMQTT 5 では明確な表示器をのための提供します メッセージ認識または 拒絶反応。 コミュニケーションの透明性とエラー処理を強化します。 以前のバージョンとは対照的です。
  • MQTT 5.0では、接続解除に関するパケットは、クライアントとサーバーの両側から送信できます。 バージョン 3.1 で absent の機能。
  • MQTT 5のユーザープロパティさまざまなプロパティの値を記憶できるようにする キーを使って。
  • MQTTクライアントとサーバーの両方が制限を課す。 これらの制限は、制約を最大に含める パッケージ サイズ (放送するバイト数) & 送信するメッセージの最大 同時に。 クライアントまたはサーバー側の制限が適用されます。
  • サーバのリダイレクト/reference は、転送を容易にする属性です。MQTT パケットブローカー/サーバー間で。

MQTT 5 - 機能の技術的なドリルダウン

セッション調査

クリーン セッション フラグをクリーン スタート フラグに渡します。これは、セッションが始まるべきことを示します。 既存を使わずに セッションとセッションの有効期限間隔は、セッションの期間が保持されるかを指定します。 切断。 切断時、 セッションの有効期限間隔を変更できます。 MQTT v3.1 では、Clean Start を 1 およびセッション Expiry に設定します。 0へのインターバルは同等です クリーンセッションを1に設定する


メッセージの有効期限

メッセージのexpiryは任意部品ですPUBLISH制御パケットお問い合わせ クライアントにサーバーによって配信されるPUBLISHパケットのメッセージ有効期限インターバルは、 受け取られた価値を除く サーバーでメッセージが待ち受けている時間。 公開 Expiry インターバル, 両方に適用します。 オンラインとキュートなメッセージ、 出版物の期間は秒単位です。 有効期限の間隔の設定を許可する メッセージを公開しています。


理由コードと理由文字列

すべての応答パケットに理由コードを含める。コンセプト,フィードバック,PUBRECについて,アクセサリー,PUBCOMPの特長,フィードバック,フォロー,ディスコネクトアウスお問い合わせ いくつかの例。 これは、要求された関数が完了したかどうかを確認するために、インボッカーを許可します 成功する。 理由コードを含むほとんどのパケットは、オプションの理由文字列も許可する必要があります。 お問い合わせ 意図されている 受信機の解析ではなく問題の同一証明のために使用される。


トピック 別名で

MQTT v5のトピックエイリアスを使用すると、より柔軟な方法でパブサブメッセージングモデルを使用できます。 トピック エイリアスは効果的に保存することができます メッセージのネットワークと処理リソースの両方を繰り返し、finiteコレクションに公開 特に大きなボリュームでトピック。 トピック名は、MQTT パケットのサイズを減らすために、小さな整数に省略できます。 オーバーヘッド。 クライアントとサーバー それぞれが受け入れるトピックのエイリアスの最大数を指定します。


サーバーの切断

サーバは、MQTT 5. の理由コードとともに、クライアントに不正なメッセージを送信することができます。 MQTTとは違って 3.1、MQTT 5.0は割り当てます クライアントとサーバーの両方から送信される切断に関するメッセージ。 サーバーが送信できるようにする DISCONNECT がなぜ、なぜなのかを指定する 接続が閉じられます。 サーバに問題が生じた場合は、ただ終了します。 セッション


ペイロード形式とコンテンツタイプ

PUBLISH メッセージを送信すると、別の識別子/値のペアが利用可能です。 これはインジケータです ペイロード形式。 メッセージが公開されると、ペイロード形式(バイナリ、テキスト)とMIMEスタイルのコンテンツタイプができるようにします。 指定する。 メッセージの受信者に転送されます。


要求/応答構成

リクエスト/レスポンスパターンは、MQTT のレスポンス・トピックと相関データ機能を提供します。 応答メッセージ リクエストのパブリッシャーに戻りました。 また、クライアントに構成を取得する能力を与えます サーバーからのお知らせ 応答のトピックを作成する方法。 「事業」の実施を可能にする仕組み 認識」機能である 拡張性、動的、透明。


共有サブスクリプション

標準を使ってMQTTプロトコル, 共有サブスクリプションは メッセージを配信する素晴らしい方法 複数のMQTT加入者。 バージョン5では、共有サブスクリプションのサポートが追加され、ロードバランスの取れたサブスクリプションが可能 消費者。 予約したトピックのルート 名前付き $share と共有名は、共有サブスクリプションのグループ購読者に使用されます。


サブスクリプション識別子

サブスクライブ時、クライアントはサブスクリプション識別子を指定することができます。 うまく作成するか、 サブスクリプションを編集する お問い合わせMQTT サーバー生成と保存 このサブスクリプションとの間のマッピングの関係 サブスクリプション識別子。 許可する SUBSCRIBE で与えられた数値サブスクリプション識別子で、メッセージが配信されると返されます。 これにより、クライアントが サブスクリプションまたはサブスクリプションがメッセージの配信に責任を負いました。


サブスクリプションオプション

サブスクリプションオプションは、主にメッセージゲートウェイアプリケーション用に定義する必要があります。 また、 noLocalオプションを送信しない このクライアントからのメッセージ、およびサブスクリプションで保持されたメッセージを処理する方法のオプション。 お問い合わせ サーバーの動作をカスタマイズします。 MQTT v5 でより多くのサブスクリプションオプションを使用できます。


フロー制御

クライアントとサーバーが、優れた信頼性の高いメッセージの量を選択できるようにMQTT QoSレベルQoS 0を除く 別途受付いたします。 このクォータに滞在するために、送信者はそのようなメッセージを送信することを一時停止します。 これは、信頼できる通信が送信され、メッセージの数が制限されるために使用されます いつでもフライト。


ユーザープロパティ

ほとんどのパケットはユーザープロパティを持つ必要があります。 クライアントアプリケーションは、ユーザーのプロパティを定義します。パブリッシュです。 メッセージを含む。 Server は、PUBLISH および Will プロパティーのユーザープロパティーをユーザーに送信します。 メッセージ受信機。 Server の実装は、ユーザーのプロパティを定義します。コネクタ,サブスクライブ免責事項パケット。 sender はユーザ特性を定義します。コンセプト,フィードバック,PUBRECについて,アクセサリー,PUBCOMPの特長,フィードバック,フォローアウスパケットと 各送信者の実装は一意です。 MQTT はユーザーのプロパティの意味を定義しません。


最高のパケット サイズ

クライアントとサーバーが独立してサポートできる最大パケットサイズを宣言できるようにします。 セッションパートナーでより大きなパケットを送信します。 このプロパティは送信されなければいけません サイズを上げる 受信機の最高のパケットサイズ上の PUBACK パケット。


任意サーバー特徴 可用性

サーバーが許可しない機能のセットを定義し、サーバーに決定する理由を与える クライアントについて マックスMQTTサービスの品質, 利用可能なワイルドカードサブスクリプション、利用可能なサブスクリプション識別子、および 共有サブスクリプション このように指定できる特性の一部です。 機能を使用する サーバー 記載されていないもの クライアントのエラーです。


以前のバージョンでは、サーバーはクライアントがそうでないと宣言することによって機能を実行することを拒否することができます それを使用するために許可される。 クライアントがこれらの機能の1つをどのような方法で活用するとき、この機能はそのようなオプションの動作をすることができます 宣言され、追加 対応するレイソンコード。


ウィル・ディレイ

接続の終了とメッセージの送信の間の時間遅れを可能にします。 お問い合わせ 意志が セッションへの接続が再確立された場合、メッセージは送信されません。 これはマイナーを可能にする 接続の中断 他人に通知することなく発生します。


サーバは生き生き続ける

生き続けるブローカー指向の接続がまだアクティブであり、ブローカーとブローカーの両方の両方の両方が確実に クライアントは、 お問い合わせ これにより、サーバーがクライアントが使用すべき値を維持できるようにします。 これにより、 サーバは最大を定義する クライアントが敬意を払いながら、常に生き生き続ける。


サーバー参照

クライアントは、サーバーの参照を使用して別のサーバーを見つけるためにサーバーをutiliseできます。 サーバがサーバーを 異なるサーバーを指定する コンソールとディスコネクト。 これは、リダイレクトまたはプロビジョニングを実行するために使用することができます。


クライアント識別子の割り当て

ブローカーはクライアント ID を一貫した方法でクライアントに割り当てることができます。 割り当てられた ClientID を返す 状況では、 クライアント サーバでIDを割り当てます。 Server-assigned ClientID が使用できる制限 クリーンセッション=1 接続も持ち上げられます。

MQTT 5は革新を助けます

ほとんどのIoTユースケースでは、MQTT 5の仕様は、その進歩による論理的選択になっています。 セキュリティ、 信頼性、柔軟性、性能。 MQTT 5は、その前任者の制限を克服するだけでなく、 でも、 未来の革新のための接地を置きます。 MQTT 5の採用により、完全なデータ交換を理解し、搭乗するのに役立ちます。 お問い合わせ 今後、あらゆる分野における宇宙ロケットへの採用を期待。


波を逃さない

今すぐMQTT 5を始めよう!

スタートまで30分。