MQ Telemetry Transport (MQTT) V3.1 プロトコル仕様

MQTT (MQ Telemetry Transport) プロトコルは軽量のパブリッシュ/サブスクライブ型プロトコルです。このプロトコルはリモートのセンサーや制御機器で使用されるもので、帯域幅が限られ、信頼性が低く、途切れがちな通信経路を介して TCP/IP で通信を行います。このプロトコルの仕様はまだ標準化されていません。このプロトコルはロイヤリティー・フリーのライセンスで公開されています。

Dave Locke, Senior Inventor, Pervasive and Advanced Messaging Technologies, IBM China

高度なパーベイシブ・メッセージング技術に携わっている Senior Inventor です。



2014年 3月 10日 (初版 2012年 2月 15日)

概要

MQTT (MQ Telemetry Transport) はブローカー・ベースの軽量なパブリッシュ/サブスクライブ型メッセージ・プロトコルです。MQTT はオープンで単純、軽量であるように、そして容易に実装できるように設計されています。こうした特徴から、以下のような制約された環境で使用するのに理想的です (ただし、必ずしもこれらの環境での使用に限定されるわけではありません)。

  • ネットワークのコストが高い、帯域幅が狭い、または信頼性が低い環境
  • プロセッサーやメモリーのリソースが限られている組み込み機器で実行される環境

このプロトコルには以下のような特徴があります。

  • パブリッシュ/サブスクライブ型のメッセージ・パターンにより、1 対多でメッセージを配布することができ、またアプリケーション同士を分離することができます。
  • メッセージ・トランスポートはペイロードの内容に関知しません。
  • 基本的なネットワーク接続に TCP/IP を使用します。
  • メッセージを送達する際のサービス品質には以下の 3 種類があります。
    • 「At most once (最高 1 回)」: メッセージは基礎となる TCP/IP ネットワークのベストエフォートに従って送達されます。メッセージの消失や重複が起こる可能性があります。このレベルはアンビエント・センサーのデータなどに利用することができます (アンビエント・センサーでは、あるデータが失われても、すぐに次のデータが公開されます)。
    • 「At least once (最低 1 回)」: メッセージは必ず到着することが保証されますが、メッセージが重複して到着する可能性があります。
    • 「Exactly once (正確に 1 回)」: メッセージは必ず 1 回のみ到着することが保証されます。このレベルは課金システムなどに利用することができます (課金システムではメッセージの重複や消失は誤課金につながります)。
  • トランスポートのオーバーヘッドが小さく (固定長ヘッダーは 2 バイトにすぎません)、プロトコル交換が最低限に抑えられているため、ネットワーク・トラフィックを減らすことができます。
  • 異常な切断が発生した場合、「Last Will and Testament (遺言)」機能によって、異常切断の発生をプロトコル利用者に通知するメカニズムがあります。

MQ Telemetry Transport V3.1 (プロトコル仕様)

このプロトコルの詳細については、以下のリンクからプロトコルの仕様書をダウンロードしてください。

参考文献

学ぶために

製品や技術を入手するために

  • 皆さんの目的に最適な方法で IBM 製品を評価してください。製品の試用版をダウンロードする方法、オンラインで製品を試す方法、クラウド環境で製品を使う方法、あるいは SOA Sandbox で数時間を費やし、サービス指向アーキテクチャーの効率的な実装方法を学ぶ方法などがあります。

議論するために

  • My developerWorks コミュニティーに加わってください。開発者向けのブログ、フォーラム、グループ、ウィキなど利用しながら、他の developerWorks ユーザーとやり取りしてください。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=WebSphere
ArticleID=793078
ArticleTitle=MQ Telemetry Transport (MQTT) V3.1 プロトコル仕様
publish-date=03102014