MQTTMessage Queuing Telemetry Transport の略で、制約のあるデバイスや低帯域幅、高遅延のネットワーク向けに設計された軽量のメッセージング プロトコルです。これは、小さなコード フットプリントが必要な場合やネットワーク帯域幅が制限されているリモート接続に特に役立ちます。
MQTT 5 はプロトコルの最新バージョンであり、以前のバージョンに比べて多くの改善が施されています。新機能には、理由コード、セッションの有効期限間隔、トピック エイリアス、ユーザー プロパティ、サブスクリプション オプション、リクエスト/レスポンス機能、共有サブスクリプションが含まれます。
これらの新機能を検討し、一般的なブローカーとクライアント SDK が MQTT 5 をサポートする方法と、MQTT 3.1.1 から MQTT 5 に移行する際の重要な考慮事項について説明します。
MQTT 5 の簡単な歴史と進化
MQTT は、衛星ネットワークを介して石油パイプラインを監視するために、IBM のアンディ スタンフォード クラーク博士とアルコム (現ユーロテック) のアーレン ニッパーによって 1990 年代後半に初めて開発されました。初期バージョンの MQTT v3.1 は、軽量で実装が簡単になるように設計されており、多くの IoT デバイスに適しています。
OASIS 標準である MQTT 3.1.1 は 2014 年にリリースされました。これには、プロトコルの明確さと相互運用性を向上させるための小さな変更が含まれていました。限られたリソースでネットワーク上でメッセージを配信するそのシンプルさと効率性により、IoT アプリケーションでの広範な採用につながりました。
ただし、IoT 業界が進化するにつれて、そのアプリケーションのニーズも変化しました。これが、5 年にリリースされた MQTT 2019 の開発につながり、これらの変化するニーズに対応する新機能が導入されました。機能が強化された MQTT 5 は、最新の IoT アプリケーションの複雑な要件をより適切に処理できるようになりました。
MQTT v7 の 5 つの新機能
理由コード: 切断または障害について
以前のバージョンとは異なり、MQTT 5 は次の機能を提供できます。 理由コード すべての確認パケットについて、切断や障害が発生した理由をより深く理解できるようになります。この改善により、トラブルシューティングが容易になり、より正確なエラー処理が可能になります。
たとえば、クライアントがサーバーへの接続に失敗した場合、サーバーは接続が失敗した理由を説明する理由コードを返します。これは、不正なログイン認証情報からサーバーが利用できないことまで、さまざまな問題が原因である可能性があります。
セッションの有効期限間隔: セッションの有効期間の管理
この機能により、クライアントは次の方法を指定できます。 サーバーがセッションを維持する必要がある期間 クライアントが切断された後。以前の MQTT バージョンでは、セッションは切断時にすぐに終了するか、無期限に継続していました。
MQTT 5 では、切断後にセッションを維持する特定の期間を定義できます。これにより、セッションの有効期間の管理がより柔軟になり、サーバー上のリソースが節約されます。
MQTT 5 の導入 トピックのエイリアス メッセージヘッダーのオーバーヘッドを削減します。以前のバージョンでは、すべてのメッセージにトピック名を含める必要があったため、パケット サイズが大きくなってしまいました。
トピック エイリアスを使用すると、短い数値エイリアスをトピックに割り当てることができます。このエイリアスは、後続のメッセージで完全なトピック名の代わりに使用できるため、MQTT ヘッダーのサイズが大幅に削減され、ネットワーク帯域幅が節約されます。
この機能を使用すると、ユーザーは MQTT パケットのヘッダーにカスタム メタデータを含めることができます。これは、メッセージのタイムスタンプ、デバイスの位置、その他のアプリケーション固有のデータなどの追加情報を MQTT メッセージとともに送信する必要があるアプリケーションに特に役立ちます。ユーザー プロパティにより、MQTT メッセージングの柔軟性と制御が向上します。
サブスクリプション オプション: きめ細かなサブスクリプション制御
MQTT 5 ではクライアントが指定できる 購読した各トピックのメッセージをどのように受信したいか。たとえば、クライアントは、特定のサブスクリプションに対して保持されたメッセージを受信するかどうか、またはサブスクリプションと同じ QoS (サービス品質) レベルがある場合でもメッセージを受信するかどうかを指定できるようになりました。
リクエスト/レスポンス: クライアントが指定されたトピックに返信できるようにする
リクエスト/レスポンス機能 クライアントは、サーバーが直接応答を送信するために使用できるトピックを指定できます。
以前のバージョンの MQTT では、クライアントがメッセージに対する応答を送信したい場合は、応答をトピックにパブリッシュする必要があり、応答を受信するには元の送信者がそのトピックにサブスクライブする必要がありました。 MQTT 5 のリクエスト/レスポンス機能を使用すると、クライアントとサーバー間の通信がより効率的かつ簡単になります。
共有サブスクリプション: サブスクライバの負荷分散機能
この機能により、複数のクライアントがサブスクリプションを共有できるようになります。メッセージが共有トピックにパブリッシュされると、サーバーは共有サブスクリプション内のいずれかのクライアントにメッセージを配布し、メッセージの負荷分散を効果的に行います。
この機能は、サービスの複数のインスタンスが実行されており、それらの間でワークロードを均等に分散したいシナリオで特に役立ちます。
MQTT 5.0 でのブローカー SDK とクライアント SDK の現在のサポート
MQTT 5.0 プロトコルは IoT コミュニティで好評を博しており、多くの MQTT ブローカー クライアントのソフトウェア開発キット (SDK) にはそのサポートが追加されています。主要な MQTT ブローカーはすでにプラットフォームに MQTT 5.0 機能を実装しており、ユーザーは新しいプロトコルの利点を活用できます。
クライアント SDK の面では、幅広いユーザー ベースを持つ Paho のようなライブラリに MQTT 5.0 のサポートが追加されました。これは、開発者が IoT アプリケーションで MQTT 5.0 の機能を利用できるようになったということです。 MQTT 5.0 をサポートするクライアント SDK の他の例としては、MQTT.js や MQTTnet があります。
MQTT 3.1.1 から MQTT 5 への移行のチェックリスト
現在 MQTT 3.1.1 を使用している場合は、おそらく MQTT 5 にアップグレードする時期が来ていると思います。移行する際に考慮すべき主な事項をいくつか示します。
MQTT ブローカーの更新
現在のインフラストラクチャを評価し、移行を進めることを決定したら、次のステップは MQTT ブローカーを更新することです。これには、MQTT 5.0 をサポートする最新バージョンの MQTT ブローカーのインストールが含まれます。
ブローカーのアップグレードは、すべての機能に影響を与えるため、慎重に行う必要があります。 MQTT クライアント。新しいブローカーを本番環境に展開する前に、まず非本番環境でテストすることをお勧めします。また、MQTT 5.0 で導入された新機能をサポートするために、ブローカーの構成が必要に応じて更新されていることを確認してください。
クライアントライブラリを更新する
MQTT ブローカーを更新したら、次のステップは MQTT クライアント ライブラリを更新することです。ブローカーの更新と同様に、この更新は最初に非実稼働環境で実行する必要があります。また、新しい MQTT 5.0 機能を処理できるようにアプリケーション コードが更新されていることを確認してください。これにはコードのリファクタリングが必要になる可能性があることを考慮してください。
アドレスセキュリティ
MQTT 5.0 ではいくつかの改善が加えられていますが、セキュリティに関する新しい考慮事項も導入されています。たとえば、新しいユーザー プロパティ機能を使用すると、クライアントはカスタム データをブローカーに送信できるようになりました。
これは強力な機能ですが、正しく使用しないと悪用される可能性があります。したがって、セキュリティの観点からすべての新機能を評価することが重要です。
セキュリティに対処するために実行できる手順には、セキュリティを強化するために新しい強化された認証機能を使用すること、クライアントが送信できるユーザー プロパティを必要なもののみに制限すること、不審なアクティビティを継続的に監視することなどが含まれます。
移行後の監視
最後に、MQTT 5.0 に移行してその機能を実装した後は、システムを継続的に監視することが重要です。監視は、メッセージ配信やクライアント接続などの技術的な側面だけに限定されるべきではありません。
アプリケーションでの新しい MQTT 5.0 機能の使用状況も監視する必要があります。これにより、これらの機能がアプリケーションをどのように強化しているか、またどこをさらに改善できるかについての洞察が得られます。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- :持っている
- :は
- :not
- :どこ
- 1
- 2014
- 2019
- 7
- a
- 活動
- 追加されました
- NEW
- 追加情報
- 住所
- 養子縁組
- 賢い
- 後
- 先んじて
- エイズ
- alive を使用します。
- すべて
- 許可
- ことができます
- 既に
- また
- 間で
- an
- および
- どれか
- 申し込み
- です
- AS
- 側面
- 評価する
- 割り当てられた
- 認証
- 帯域幅
- ベース
- BE
- になる
- き
- さ
- 利点
- より良いです
- の間に
- もたらす
- 広い
- ブローカー
- ブローカー
- by
- 缶
- これ
- 変更
- 変化
- 明瞭
- クライアント
- クライアント
- コード
- コード
- コミュニケーション
- コミュニティ
- 複雑な
- お問合せ
- 接続
- Connections
- 検討
- 検討事項
- 継続します
- 連続的に
- コントロール
- 可能性
- Credentials
- 電流プローブ
- 現在
- カスタム
- データ
- 決定しました
- 定義します
- 配信する
- 配達
- 設計
- 発展した
- 開発者
- 開発
- デバイス
- Devices
- DID
- 直接
- 断線
- 分配します
- 行われ
- dr
- 原因
- 各
- 前
- 簡単に
- 効果的に
- 効率
- 効率的な
- どちら
- 終わった
- 強化された
- 強化
- 確保
- 環境
- 装備
- エラー
- 評価
- さらに
- 均等に
- あらゆる
- 進化
- 進化
- 例
- 例
- 満了
- 説明する
- 説明
- 搾取
- 探る
- 失敗
- 不良解析
- 特徴
- 特徴
- 名
- 柔軟性
- フットプリント
- から
- フロント
- フル
- function
- さらに
- 与える
- 与え
- Go
- 大きい
- 持っていました
- ハンドル
- ハンドリング
- 持ってる
- ヘッダーの
- こちら
- history
- 認定条件
- HTTPS
- IBM
- if
- 直ちに
- 影響
- 実装する
- 実装
- 重要
- 改善します
- 改善
- 改善
- in
- include
- 含まれました
- 産業を変えます
- 情報
- インフラ関連事業
- 初期
- 洞察
- インストールする
- インスタンス
- 相互運用性(インターオペラビリティ)
- に
- 導入
- 紹介します
- 巻き込む
- 関与
- IOT
- IoTデバイス
- 問題
- IT
- ITS
- JPG
- ただ
- 保管
- キー
- より大きい
- 遅く
- 最新の
- 主要な
- ツェッペリン
- レベル
- 活用します
- ライブラリ
- 軽量
- ような
- 限定的
- 場所
- ログイン
- 製
- メイン
- 維持する
- 主要な
- 作成
- 管理する
- 多くの
- 最大幅
- 手段
- メッセージ
- メッセージ
- メッセージング
- かもしれない
- 移行
- 移行中
- 移行
- マイナー
- モダン
- モニター
- モニタリング
- 他には?
- もっと効率的
- ずっと
- の試合に
- 名
- 必要
- 必要
- 必要とされる
- ニーズ
- ネットワーク
- ネットワーク
- 新作
- 新しい特徴
- 次の
- 今
- オアシス
- 発生した
- of
- 提供すること
- 油
- on
- ONE
- の
- オプション
- or
- オリジナル
- その他
- でる
- が
- パケット
- 特定の
- 特に
- 実行する
- 期間
- 視点
- 場所
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 人気
- 強力な
- 正確な
- 前
- 多分
- 生産
- プロパティ
- 財産
- プロトコル
- 提供します
- は、大阪で
- パブリッシュ
- 公表
- 品質
- 範囲
- 理由
- 受け取ります
- 受け
- 減らします
- 縮小
- リリース
- リモート
- 返信
- の提出が必要です
- 要件
- リソース
- 応答
- 保持された
- return
- 圧延
- ランニング
- 同じ
- 衛星
- シナリオ
- SDDK
- SDK
- セキュリティ
- 送信
- トランスミッタ
- サーバ
- サービス
- セッション
- いくつかの
- シェアする
- shared
- ショート
- すべき
- 著しく
- 単純
- サイズ
- サイズ
- 小さい
- So
- ソフトウェア
- ソフトウェア開発
- 一部
- 特定の
- 指定の
- 標準
- スタンド
- 手順
- ステップ
- 簡単な
- 強い
- 購読
- サブスクリプション
- それに続きます
- そのような
- 適当
- サポート
- 支援する
- サポート
- 疑わしい
- 取る
- 技術的
- test
- それ
- アプリ環境に合わせて
- それら
- したがって、
- ボーマン
- 彼ら
- 物事
- この
- 時間
- タイムスタンプ
- 〜へ
- トピック
- 輸送
- 理解する
- アップデイト
- 更新しました
- 更新
- アップグレード
- に
- us
- 使用法
- つかいます
- 中古
- ユーザー
- users
- 活用する
- バージョン
- 欲しいです
- wanted
- ました
- WELL
- いつ
- かどうか
- which
- なぜ
- 広範囲
- 意志
- 貴社
- あなたの
- ゼファーネット