エンベデッドシステムスペシャリスト 2021年 午前2 問05
問題文
IoTに活用される機器間の情報のやり取りに用いられ、パブリッシュ/サブスクライブ(Publish/Subscribe)型のモデルを採用し、アプリケーション層のプロトコルヘッダが最小で2バイトである軽量プロトコルはどれか。
選択肢
ア:CoAP
イ:HTTP
ウ:MQTT(正解)
エ:ZigBee
🔒 解説は解答すると表示されます
MQTTの特徴【午前2解説】
正解の理由
正解は、選択肢のウ「MQTT」です。
MQTTは、IoT機器などの間でメッセージをやり取りするための軽量なアプリケーション層プロトコルです。パブリッシュ/サブスクライブ型のモデルを採用しており、アプリケーション層のプロトコルヘッダは最小で2バイトです。
パブリッシュ側はトピックにメッセージを送信し、サブスクライブ側は関心のあるトピックを購読します。両者の間でメッセージを仲介するブローカを介して通信するため、送信側と受信側が直接接続する必要がありません。
解法ステップ
- 「パブリッシュ/サブスクライブ型」に注目します。これは、送信側と受信側がトピックを介してメッセージをやり取りする方式です。
- 「IoT向け」「軽量」「ヘッダが最小2バイト」という条件を確認します。
- これらの特徴をもつプロトコルとして、MQTTを選びます。
選択肢別の誤答解説
-
ア:CoAP
IoT機器向けの軽量なアプリケーション層プロトコルですが、主に要求/応答型で利用されます。問題文のパブリッシュ/サブスクライブ型という特徴には合いません。 -
イ:HTTP
Webで広く使われる要求/応答型のプロトコルです。ヘッダが比較的大きくなりやすく、最小2バイトの軽量プロトコルという条件にも合いません。 -
ウ:MQTT
パブリッシュ/サブスクライブ型を採用した、IoTなどで使われる軽量なアプリケーション層プロトコルです。問題文の条件に一致します。 -
エ:ZigBee
低消費電力の無線通信に使われる規格です。MQTTのようなアプリケーション層のメッセージングプロトコルとは、役割が異なります。
よくある誤解
-
IoT向けの軽量プロトコルなら、すべてMQTTだと考える
CoAPもIoT向けの軽量プロトコルです。通信モデルなど、問題文に示された特徴まで確認して区別します。 -
パブリッシュ/サブスクライブ型を、送信側と受信側の直接通信だと考える
MQTTでは通常、ブローカがメッセージを仲介します。送信側と受信側はトピックを通じて連携します。 -
ZigBeeをMQTTと同じ種類のプロトコルだと考える
ZigBeeは無線通信に関する規格であり、MQTTとは通信階層や役割が異なります。
補足コラム
MQTTでは、パブリッシャがトピックを指定してメッセージをブローカに送ります。ブローカは、そのトピックを購読しているサブスクライバにメッセージを配信します。この仕組みにより、通信帯域や処理能力に制約のある機器でも、比較的効率よく情報をやり取りできます。
FAQ
Q. MQTTのヘッダが常に2バイトということですか?
A. いいえ。固定ヘッダの最小サイズが2バイトです。送信するメッセージや制御パケットによって、追加の情報が付く場合があります。
A. いいえ。固定ヘッダの最小サイズが2バイトです。送信するメッセージや制御パケットによって、追加の情報が付く場合があります。
Q. MQTTとCoAPは、どちらもIoTで使われますか?
A. はい。どちらもIoTで利用されますが、MQTTはパブリッシュ/サブスクライブ型、CoAPは主に要求/応答型として使われます。
A. はい。どちらもIoTで利用されますが、MQTTはパブリッシュ/サブスクライブ型、CoAPは主に要求/応答型として使われます。
関連キーワード: MQTT、パブリッシュ/サブスクライブ、ブローカ、トピック、CoAP

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

