• 検索結果がありません。

IoTデバイス向けアプリケーション層プロトコルの性能比較計画

N/A
N/A
Protected

Academic year: 2021

シェア "IoTデバイス向けアプリケーション層プロトコルの性能比較計画"

Copied!
4
0
0

読み込み中.... (全文を見る)

全文

(1)Vol.2016-MBL-81 No.4 Vol.2016-ITS-67 No.4 2016/12/7. 情報処理学会研究報告 IPSJ SIG Technical Report. IoT デバイス向けアプリケーション層プロトコルの 性能比較計画 木村 一統1,a). 新井 イスマイル2. 藤川 和利2. 概要:IoT デバイスはその特徴によって様々な通信環境下での使用が考えられており,通信環境と使用す るネットワークプロトコルの組み合わせにより,その通信特性が大きく異る. このため,通信環境に合わ せたネットワークプロトコルの選定が重要となる. IoT デバイス向けのアプリケーション層プロトコルに MQTT(MQ Telemetry Transport) と MQTT-SN(MQTT for Sensor Network) がある. 本研究ではそれら 2 つのプロトコルについて,通信環境や QoS を変化させた場合に,スループットやデバイスの消費電力が どの程度の影響を受けるのかについて性能比較を行う。 キーワード:プロトコル検証,センサーネットワーク,QoS,IoT,MQTT,MQTT-SN. 1. はじめに. ビット. ビット. 2. メッセージタイプ. DUP. 4. 1. ビット. 1. ビット. QoS. RETAIN. 近 年 ,小 型 デ バ イ ス の 性 能 向 上 や 省 電 力 化 ,. MVNO(Mobidle Virtual Network Operator) の登場によ. フラグ. り狭帯域であるが低価格でインターネット通信が行える ようになった. これにより,様々なモノに通信デバイス. 残りの長さ. を組み込み,インターネットに接続しようとする試み,. IoT(Internet of Things) が盛んに唱えられている. IoT で はモノに組み込まれたデバイスにセンサーを取り付け,セ 図 1 MQTT ヘッダ. ンシングをすることにより様々なデータを取得する. 現在 IoT 機器が通信を行う場合,アプリケーション層の プロトコルには HTTP(Hypertext Transfer Protocol) が多 く使われている. しかし,今後の IoT 機器の更なる増加に 伴うスケーリングの問題,IoT 機器に求められる省電力性 を考えた場合,HTTP のヘッダ長の大きさ,複雜性が問題 となる可能性がある. よって,HTTP よりも軽量であり, 単純なプロトコルが期待される. また,IoT に使用される デバイスは組み込み対象の持つ特徴に依る,様々な通信環 境下での使用が考えられており,通信環境と使用するネッ トワークプロトコルの組み合わせにより, その通信特性が 大きく異なる. このため,通信環境に合わせたネットワー クプロトコルを選定することで,スループットやデバイス 1. 2. a). 奈良先端科学技術大学院大学 情報科学研究科 Graduate School of Information Science, Nara Institute of Science and Technology 奈良先端科学技術大学院大学 総合情報基盤センター Information Initiative Center, Nara Institute of Science and Technology [email protected]. c 2016 Information Processing Society of Japan ⃝. の電力効率を向上させることが可能であると考えられる. 本研究では,IoT デバイス向けのアプリケーション層 プロトコルとして注目を集めている MQTT[1] と MQTT-. SN[2],また従来より主なアプリケーション層プロトコル として用いられてきた HTTP について,通信時のスルー プットや消費電力,サーバに掛かる負荷,既存の暗号アル ゴリズムを適用した時の性能低下の度合いを比較する. 本 稿では計画までを行ったのでその内容について報告する.. 2. 既存技術 2.1 Pub/Sub モデル MQTT および MQTT-SN はその通信モデルに Pub/Sub モデルを採用している. Pub/Sub モデルでは,データの受 信者と送信者が直接通信するサーバ・クライアントモデル とは異なり,データの送信元 (パブリッシャ・クライアン ト,以下パブリッシャ) とデータの受信先 (サブスクライ バ・クライアント,以下サブスクライバ) との間に,ブロー. 1.

(2) Vol.2016-MBL-81 No.4 Vol.2016-ITS-67 No.4 2016/12/7. 情報処理学会研究報告 IPSJ SIG Technical Report. 2. Me s. Publisher Topic A. :Yo. nオクテット. メッセージヘッダ. Subscriber Topic A. 可変メッセージ. M. Message:Ho Publisher Topic B. Yo. : ge sa es. sa ge. または4オクテット. 図 3. Message:Ho. Broker. Me ss ag. e:Y o. MQTT-SN ヘッダ. Subscriber Topic B M. Publisher Topic A. es s. e: ag ss. ag. e:. Yo. Subscriber Topic A. Publisher Topic C. 図 2. MQTT アーキテクチャ. MQTT-SN Gateway. 通信方式. QoS 0. 最高 1 回届ける. QoS 1. 最低 1 回届ける. QoS 2. 正確に 1 回届ける. Message:Ho Broker. MQTT-SN Gateway. M. es s. Subscriber Topic B. ag. e:. Yo. 表 1 MQTT と MQTT-SN における QoS. QoS. Subscriber Topic A. e M. Message:Ho Publisher Topic B. Yo. Subscriber Topic A. Publisher Topic C. 図 4. MQTT-SN アーキテクチャ ゲートウェイ分離型. カと呼ばれるサーバを介して通信を行う (以下,パブリッ シャとサブスクライバの両方を表す場合にはクライアント. りも更に,省電力なセンサーデバイスへの適用に特化し. と呼ぶ). MQTT,MQTT-SN では通常の Pub/Sub モデル. たプロトコルとなっている. MQTT-SN では,クライアン. の通信に加え,ブローカがメッセージを保持しておく機能. トとブローカの他に,ゲートウェイを設置し,クライア. を持つ. これによりパブリッシャがブローカに対して送信. ントは MQTT 通信と MQTT-SN 通信を変換するための. したメッセージを,後からブローカに接続したサブスクラ. ゲートウェイを間に挟み,ブローカと通信を行う. また,. イバが受信できるという利点もある.. MQTT-SN ネットワークのアーキテクチャは,ブローカと ゲートウェイを一体とするか否かによってゲートウェイ分. 2.2 MQTT. 離型とゲートウェイ一体型の 2 種類に分けられる. ゲート. MQTT は 1999 年に IBM により設計されたアプリケー. ウェイ分離型 (図 4) では,クライアントとゲートウェイ間. ション層のプロトコル [3] であり,トランスポート層のプロ. にて MQTT-SN による通信を行い,ゲートウェイとブロー. トコルには TCP を用いる. プロトコルヘッダは図 1 のよ. カ間では MQTT による通信を行う. 一方,ゲートウェイ. うになっており,最小のヘッダ長が 2 オクテットと小さい. 一体型 (図 5) では,ゲートウェイとブローカ間の MQTT. ことが特徴である. また,帯域幅が狭いネットワークやレ. による通信は行われない.. イテンシの大きいネットワークといった信頼性の低いネッ トワーク上での使用を目的としている. MQTT では,クラ イアントとブローカ間において,MQTT による通信が行 われる (図 2)。. MQTT では表 1 に示す QoS(Quality of Service) が設定 でき,この設定により到達保証の度合いが変化する.. 2.3 MQTT-SN. MQTT-SN でも MQTT と同様,表 1 に示す QoS が設定 できる. 本研究では,純粋に MQTT と MQTT-SN の比較を行う 目的から,MQTT による通信が行われないゲートウェイ 一体型を採用する.. 3. 関連研究と課題 MQTT を IoT デバイスへ適用した先行研究として粕谷. MQTT-SN は,MQTT とほぼ同等の機能を有している. ら [4] の研究が挙げられる. この研究では建築設備への. が,トランスポート層のプロトコルには UDP を用いる. プ. センサーデバイスの適用を目的として,送信メッセージ. ロトコルヘッダは図 3 のようになっており,MQTT と同. を 10,000 件/分から 1,000,000 件/分まで順次増加させた場. 様に最小のヘッダ長が 2 オクテットと小さいことが特徴で. 合や,QoS の値を変化させた場合のブローカへの負荷検. ある. それに加え,MQTT-SN では,センサー等がスリー. 証を行っている. ブローカを動作させるマシンの構築に,. プ状態に入った場合の動作も定められており,MQTT よ. Cloudn FLAT[5] を用いて実験を行っているが,もっとも. c 2016 Information Processing Society of Japan ⃝. 2.

(3) Vol.2016-MBL-81 No.4 Vol.2016-ITS-67 No.4 2016/12/7. 情報処理学会研究報告 IPSJ SIG Technical Report. れておらず,通信プロトコルに MQTT-SN を採用した例 も数少ない. Publisher Topic A. Me s. Yo. : ge sa es. sa ge. :Yo. Subscriber Topic A. M. 1.4 で述べた通り,MQTT-SN はよりセンサーデバイス への適用に特化したプロトコルである. このため,セン サーデバイスへの適用を行う場合,MQTT 以上に効率的. Message:Ho Publisher Topic B. Message:Ho Broker & MQTT-SN Gateway. Me ss ag. e:Y o. な通信が行える可能性がある. 以上より,通信状況やデバ Subscriber Topic B. イスの性能によって,MQTT,MQTT-SN,HTTP のいず れのプロトコルを用いるかを適切に選択することができれ ば,より効率的な通信が可能となると考えられる.. 4. 検証方法 Publisher Topic C. Subscriber Topic A. 本研究では,MQTT,MQTT-SN,HTTP の 3 つのプロ トコルについて,ネットワークの帯域幅と RTT の値を変. 図 5. MQTT-SN アーキテクチャ ゲートウェイ一体型. 化させ,この時の通信速度,パケットの到達数,デバイス の消費電力,ブローカの CPU 使用率を測定する. また,. 廉価なプラン (CPU 0.25 コア: 2GHz 程度を 4 台の仮想. MQTT,MQTT-SN については QoS の値を変化させる測. サーバで共有,メモリ 0.5GB) においても平均 150,000 件/. 定する.. 分のメッセージが送受信でき,実用には十分としている.. HTTP の評価ではサーバ,クライアントの実装にそれぞ. Shinho ら [6] の研究では,有線接続されたネットワーク. れ Python 言語の http.server モジュール,urllib モジュー. と無線接続されたネットワークにおいて,QoS の値を変. ルを使い実装し,サーバとクライアント間のネットワーク. 化させた場合のパブリッシャ・サブスクライバ間のネット. について通信状態を測定する.. ワーク遅延,パケット到達数についてそれぞれ検証を行っ. MQTT と MQTT-SN の通信に用いるブローカは,オープ. ている. この研究では,有線接続,無線接続共に QoS の値. ンソースのブローカである Mosquitto[9] を用いる. MQTT. が上がるにつれ,パブリッシャ・サブスクライバ間の遅延. クライアントはオープンソースのクライアントライブラリ. は大きくなる結果が出ている. また,パケットの到達数に. Paho[10] を用いて実装する. MQTT-SN クライアントは汎. 関しては,QoS の値が上がるにつれ高くなり,QoS 2 の場. 用的な実装・ライブラリが存在していないため自ら実装す. 合がもっとも損失率が高くなる結果が出ている.. る. MQTT と MQTT-SN の評価では,パブリッシャとブ. MQTT 通信を行った場合のデバイスの消費電力に関す. ローカ間,サブスクライバとブローカ間のネットワークに. る先行研究として [7] が挙げられる. この研究では Android. ついてそれぞれ通信状態を測定する. ネットワークの帯域. 端末上で MQTT 通信を行い,その時の消費電力,時間あ. 幅と RTT の値の設定には Dummynet[11] を用いる. また,. たりのメッセージ送受信数を 3G 回線および Wi-Fi 回線に. 通信の暗号化では,MQTT に TLS,MQTT-SN に DTLS. おいて計測するということを QoS の各値について行って. を用いて,クライアントとブローカ間の通信を暗号化する.. いる. この研究では,3G 回線よりも Wi-Fi 回線の方が消 費電力が小さくなるという結果が出ている.. MQTT-SN はトランスポート層に UDP を用いているた め,TCP を用いている MQTT と比較してトランスポート. MQTT と HTTP の 暗 号 化 を 比 較 し た 先 行 研 究 と し. 層でのオーバヘッドが小さくなることが予想される. この. て [8] が挙げられる. MQTT に TLS(Transport Layer Se-. ため,センサーネットワーク等の通信状態が不安定になり. curity) を適用し [7] と同様の観点から評価を行い,また. やすいネットワークにおいて,MQTT よりも高速にパケッ. HTTPS(Hypertext Transfer Protocol Secure) による通信. トを送受信することが可能と考えられる. また,MQTT-SN. と比較を行っている. この研究では,ほどんどの場合にお. はクライアントデバイスがスリープ状態になることも考慮. いて,HTTPS よりも MQTT の方が消費電力が小さく,時. しているため,デバイスのスリープ時間が長いほど電力効. 間あたりの受信メッセージ数も MQTT の方が多いという. 率が向上すると考えられる.. 結果が出ている. 以上のように,MQTT については,上記の通りネット ワークの負荷検証や消費電力の評価がされている. HTTP. 5. おわりに HTTP,MQTT,MQTT-SN について,スループット,. は現在,IoT デバイスの通信や Web 通信で最も多く使用. 消費電力,ブローカにかかる負荷,暗号化した場合の性能. されているプロトコルであり,既に多くの研究で評価がさ. 低下について検証を行う計画である. 先行研究の結果から,. れている.. HTTP よりも MQTT,MQTT-SN の方が,より IoT デバ. しかし,MQTT-SN については未だ定量的な評価が行わ. c 2016 Information Processing Society of Japan ⃝. イスに適用し易いという結果が出ると予測できる. また,. 3.

(4) 情報処理学会研究報告 IPSJ SIG Technical Report. Vol.2016-MBL-81 No.4 Vol.2016-ITS-67 No.4 2016/12/7. センサーデバイスが頻繁にスリープ状態に入る場合や TCP コネクションによるオーバヘッドが無視できないような環 境では MQTT よりも MQTT-SN の方が適用し易いという 結果が出ると予測できる. 今後の課題としては,MQTT-SN の評価を行うにあたっ て,クライアントとゲートウェイを作成する必要があるた め,作成のためのライブラリを実装することが必要となる. 謝辞. 本研究の一部は,JSPS 科研費 16K00147 の助成. によるものである。 参考文献 [1] [2]. [3]. [4]. [5]. [6]. [7]. [8]. [9] [10] [11]. The MQTT protocol, http://mqtt.org,2016 年 11 月 13 日アクセス MQTT for Sensor Network (MQTT-SN) Protocol Specification, http://mqtt.org/new/wp-content/ uploads/2009/06/MQTT-SN_spec_v1.2.pdf,2016 年 11 月 13 日アクセス MQTT,IBM MessageSight のご紹介 - IBM MessageSight for Developers を使って MQTT を体験 する, https://www.ibm.com/developerworks/jp/ websphere/library/connectivity/ms_mqttintro/, 2016 年 11 月 13 日アクセス 粕谷貴司,近藤正芳,茂手木直也,松岡康友,矢野雅,秋 山貴紀,境野哲,貞田洋明,堀越崇,畠山英之. スマート シティのための MQTT プラットフォームの検証,情報科 学技術フォーラム講演論文集 13(4),1-6,2014-08-19 パ ブ リ ッ ク ク ラ ウ ド サ ー ビ ス の ク ラ ウ ド・エ ヌ,http://www.ntt.com/business/services/cloud/ iaas/cloudn.html,2016 年 11 月 13 日アクセス Shinho Lee, Hyeonwoo Kim, Dong-kweon Hong, Hongtaek Ju, Dept. of Computer Engineering Keimyung University Daegu, Republic of Korea. Correlation Analysis of MQTT Loss and Delay According to QoS Level, The International Conference on Information Networking 2013 (ICOIN),714-717,2013 Power Profiling: MQTT on Android, http://stephendnicholas.com/posts/ power-profiling-mqtt-on-android,2016 年 11 月 13 日アクセス Power Profiling: HTTPS Long Polling vs. MQTT with SSL, on Android,http://stephendnicholas.com/ posts/power-profiling-mqtt-vs-https,2016 年 11 月 13 日アクセス Mosquitto,https://mosquitto.org/,2016 年 11 月 13 日アクセス Paho,https://eclipse.org/paho/,2016 年 11 月 13 日アクセス Dummynet,http://info.iet.unipi.it/~luigi/ dummynet/,2016 年 11 月 13 日アクセス. c 2016 Information Processing Society of Japan ⃝. 4.

(5)

参照

関連したドキュメント

Viscous profiles for traveling waves of scalar balance laws: The uniformly hyperbolic case ∗..

(回答受付期間) 2020年 11月 25日(水)~2021年 1月

Under the experimen- tal loading protocol, the analysis of the effect of the ECM properties (Table 2, experimental loading protocol, paramet- ric ECM model) showed that a decrease

The hierarchy arising from finite state transducers classifies streams by a notion of degree that codifies their intrinsic, invariant infinite pattern.. With ‘intrinsic,

Pressure rinse as follows: Empty the remaining contents into application equipment or a mix tank and continue to drain for 10 seconds after the flow begins to drip.. Hold

大正13年 3月20日 大正 4年 3月20日 大正 4年 5月18日 大正10年10月10日 大正10年12月 7日 大正13年 1月 8日 大正13年 6月27日 大正13年 1月 8日 大正14年 7月17日 大正15年

計画断面 計画対象期間 策定期限 計画策定箇所 年間計画 第1~第2年度 毎年 10 月末日 系統運用部 月間計画 翌月,翌々月 毎月 1 日. 中央給電指令所 週間計画

計画断面 計画対象期間 策定期限 計画策定箇所 年間計画 第1~第2年度 毎年 10 月末日 系統運用部 月間計画 翌月,翌々月 毎月 1 日. 中央給電指令所