IoT関連の通信プロトコル
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[IoT]]
--[[通信技術]]
* 目次 [#g0a49cb3]
#contents
*概要 [#oba07a39]
IoT関連の通信プロトコル。
-IoT関連の通信プロトコルと言うことで、全体的に、~
非力なデバイスやネットワークが不安定な場所でも~
動作しやすい様にメッセージ通信電文が軽量に設計されている。
-代表的なモノは、[[MQTT>#feb265c9]]と[[AMQP>#ne273685]]の...
-OSSでサーバ(ブローカ)がさっと建てられそうなので、~
クライアントライブラリについても調査する。
*詳細 [#ya47160c]
**MQTT [#feb265c9]
***概要 [#u865d25c]
-シンプル・省電力なメッセージキュープロトコル
--TopicベースでのPub/Sub型データ配信モデル
---1対1、1対N、N対Nのメッセージ配布が可能。
---メッセージの中継を行うブローカと言うサーバが必要になる。
--3つのQoS(Quality of Service)レベルの指定ができる。
---QoS 0 (At most once):~
最高1回(メッセージ配布に失敗しても再送をしない)
---QoS 1 (At least once):~
最低1回(必ずメッセージ配布するが、重複する可能性がある)
---QoS 2 (Exactly once):~
正確に1回(必ずメッセージを配布して、重複も発生しない)
-MQTTブローカ
--自前
---[[Mosquitto]]~
MQTTのリファレンス実装の役割を担う。~
https://mosquitto.org
---mosca~
node.js上で動作するMQTT Broker~
http://mosca.io/~
---[[Node-RED>https://dotnetdevelopmentinfrastructure.oss...
・Node-REDの1ノードとして動作~
・実態はmosca
--サービス
---HiveMQ
---Beebotte
---CloudMQTT
---shiftr.io
---AWS、Google
---[[Azure IoT Hub]]
---%%[[Azure Event Hubs]]%%
-認証(ブローカ)
--anonymous
--パスワード認証
--クライアント証明書
--サービス提供の独自機構
***参考 [#a849aa97]
-MQ Telemetry Transport - Wikipedia~
https://ja.wikipedia.org/wiki/MQ_Telemetry_Transport
-MQTT とはなんだったのか~
https://gist.github.com/voluntas/e0a90f3e22316144ed3a
-obnizから使いやすいMQTTブローカーとライブラリ|IoT-Gym~
https://iot-gym.com/mqtt-brokers-and-libraries-suitable-f...
-slideshare
--動かしながら学ぶMQTT~
https://www.slideshare.net/YokotaEiji/mqtt-61926090
--IoT時代を支えるプロトコルMQTT技術詳解~
https://www.slideshare.net/naotomatsumoto/itrc36-20141126...
**AMQP [#ne273685]
***概要 [#y0dd68d6]
-高機能・高信頼性なワイヤレベルプロトコル。
--ブローカーモデル
---AMQP 0-10 はブローカー指向。
---AMQP 1.0 でプロトコル側からは削除されたので、~
厳密な意味でブローカーではないサーバー/中間を作成できる。
--信頼性、セキュリティ
-MQTTブローカ
--自前
---[[RabbitMQ]]
--サービス
---[[Azure IoT Hub]]
---[[Azure Event Hubs]]
---[[Azure Service Bus>Azureのメッセージング・サービス#a7...
-認証(ブローカ)
--パスワード認証
--クライアント証明書
--サービス提供の独自機構
***参考 [#icd28179]
-Advanced Message Queuing Protocol - Wikipedia~
https://ja.wikipedia.org/wiki/Advanced_Message_Queuing_Pr...
-Azure Service Bus の AMQP 1.0 の概要 | Microsoft Docs~
https://docs.microsoft.com/ja-jp/azure/service-bus-messag...
**CoAP [#y624562c]
***概要 [#pa9a2710]
-制約付きM2Mデバイス用~
例えば、低電力、損失の多いネットワーク
-特殊なInternetアプリケーション・プロトコル。
--UDPまたはUDPアナログをサポートするほとんどのデバイスで...
--マルチキャストサポート、単純で、非常に低いオーバーヘッ...
--Webとの統合を簡素化するためにHTTPに簡単に変換できるよう...
-関連技術に「[[CBOR]]」「[[CWT]]」がある。
***参考 [#qe03b662]
-Constrained Application Protocol - Wikipedia~
https://en.wikipedia.org/wiki/Constrained_Application_Pro...
-“モノ”のインターネットへのつながり方L4以上~
https://www.nic.ad.jp/ja/materials/iw/2016/proceedings/t0...
-RFC 7252 - The Constrained Application Protocol (CoAP)~
https://tools.ietf.org/html/rfc7252
**XMPP [#h20a0b88]
***概要 [#e8096e80]
-メッセンジャーなどでよく使われてきたプロトコル
-長い歴史があり枯れているため安心して利用できる。
-認証を伴った双方向性を持った仕組みが実現できる。
***参考 [#iffb7ba6]
-Extensible Messaging and Presence Protocol - Wikipedia~
https://ja.wikipedia.org/wiki/Extensible_Messaging_and_Pr...
**SNMP [#yb52045b]
***概要 [#jcd38017]
-DARPAモデルに準じた、~
IPネットワーク上のNW機器の監視・制御用プロトコル。
-[[トラフィック管理>監視・パケット解析編#x1059f2e]]などで...
-対象機器(エージェント)の情報をSNMPで管理機器(マネージ...
-プロトコルは、UDPで以下の様なメッセージをやり取りする。
--Get Request : 指定した識別子(OID)の管理情報をSNMPエージ...
--Get Response : Get Requestに対応するレスポンス
--Set Request : SNMPエージェントの制御
--Trap : SNMPエージェントからの状態通知
-管理情報ベース(MIB)という標準規格に基づいて管理情報を...
-利用、応用
--[[RMONという仕組み>監視・パケット解析編#x1059f2e]]で利...
--NW機器ではなく、IoT機器の監視・制御にも応用されている。
***参考 [#ybb51250]
-Simple Network Management Protocol - Wikipedia~
https://ja.wikipedia.org/wiki/Simple_Network_Management_P...
-CodeZine > net-snmpについて
--基礎知識~
https://codezine.jp/article/detail/2830
--環境構築~
https://codezine.jp/article/detail/2839
--機器監視~
https://codezine.jp/article/detail/2865
--Trap設定~
https://codezine.jp/article/detail/2893
--独自監視項目の追加 - 前編~
https://codezine.jp/article/detail/2938
--独自監視項目の追加 - 後編~
https://codezine.jp/article/detail/2991
--v3の設定、パッチについて~
https://codezine.jp/article/detail/3028
-.NETライブラリ
--vallog: SNMPメモ(C#、net-snmp)~
http://valvallow.blogspot.com/2009/09/snmpcnet-snmp.html
--WMI
---C# Programming > SNMPを使う~
http://uchukamen.com/Programming1/SNMP/
--#SNMP Library
---https://docs.sharpsnmp.com~
---https://www.nuget.org/packages/Lextm.SharpSnmpLib/
**[[REST]] API([[WebAPI]]) [#l2bee8d7]
***概要 [#u3d0377d]
[[HTTP]]プロトコルの[[REST]] API([[WebAPI]])
***参考 [#n764d4ad]
-[[HTTP]]
-[[REST]]
-[[WebAPI]]
**[[MQTT>#feb265c9]] vs [[AMQP>#ne273685]] [#tb15f6bf]
***サマリ [#y23916e1]
-MQTT
--シンプル
--省電力
-AMQP
--高機能
--高信頼性
***参考 [#ba7e7bcd]
-MQTTとAMQPと.NET~
https://www.slideshare.net/terurou/mqttamqpnet
-【第5回】プロトコルの選択肢と検討ポイント|IoTアーキテク...
https://www.hulft.com/special-column/iot-architecture_01/...
-通信プロトコルAMQPはIoTに向いているか調査せよ! | 日経ク...
https://xtech.nikkei.com/atcl/nxt/mag/nnw/18/041800005/12...
*参考 [#q2032c6c]
-MQTTとAMQPと.NET~
https://www.slideshare.net/terurou/mqttamqpnet
-IoTでの利用を期待されているプロトコルについて~
http://iot.nifcloud.com/blog/2015/10/09/iot-protocol/
**CodeZine(コードジン) [#h4b501b1]
-IoT時代を支えるプロトコル「MQTT」
--(前編)~
https://codezine.jp/article/detail/8000
--(中編)~
https://codezine.jp/article/detail/8019
--(後編)~
https://codezine.jp/article/detail/8020
----
Tags: [[:通信技術]], [[:.NET開発]], [[:IoT]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[IoT]]
--[[通信技術]]
* 目次 [#g0a49cb3]
#contents
*概要 [#oba07a39]
IoT関連の通信プロトコル。
-IoT関連の通信プロトコルと言うことで、全体的に、~
非力なデバイスやネットワークが不安定な場所でも~
動作しやすい様にメッセージ通信電文が軽量に設計されている。
-代表的なモノは、[[MQTT>#feb265c9]]と[[AMQP>#ne273685]]の...
-OSSでサーバ(ブローカ)がさっと建てられそうなので、~
クライアントライブラリについても調査する。
*詳細 [#ya47160c]
**MQTT [#feb265c9]
***概要 [#u865d25c]
-シンプル・省電力なメッセージキュープロトコル
--TopicベースでのPub/Sub型データ配信モデル
---1対1、1対N、N対Nのメッセージ配布が可能。
---メッセージの中継を行うブローカと言うサーバが必要になる。
--3つのQoS(Quality of Service)レベルの指定ができる。
---QoS 0 (At most once):~
最高1回(メッセージ配布に失敗しても再送をしない)
---QoS 1 (At least once):~
最低1回(必ずメッセージ配布するが、重複する可能性がある)
---QoS 2 (Exactly once):~
正確に1回(必ずメッセージを配布して、重複も発生しない)
-MQTTブローカ
--自前
---[[Mosquitto]]~
MQTTのリファレンス実装の役割を担う。~
https://mosquitto.org
---mosca~
node.js上で動作するMQTT Broker~
http://mosca.io/~
---[[Node-RED>https://dotnetdevelopmentinfrastructure.oss...
・Node-REDの1ノードとして動作~
・実態はmosca
--サービス
---HiveMQ
---Beebotte
---CloudMQTT
---shiftr.io
---AWS、Google
---[[Azure IoT Hub]]
---%%[[Azure Event Hubs]]%%
-認証(ブローカ)
--anonymous
--パスワード認証
--クライアント証明書
--サービス提供の独自機構
***参考 [#a849aa97]
-MQ Telemetry Transport - Wikipedia~
https://ja.wikipedia.org/wiki/MQ_Telemetry_Transport
-MQTT とはなんだったのか~
https://gist.github.com/voluntas/e0a90f3e22316144ed3a
-obnizから使いやすいMQTTブローカーとライブラリ|IoT-Gym~
https://iot-gym.com/mqtt-brokers-and-libraries-suitable-f...
-slideshare
--動かしながら学ぶMQTT~
https://www.slideshare.net/YokotaEiji/mqtt-61926090
--IoT時代を支えるプロトコルMQTT技術詳解~
https://www.slideshare.net/naotomatsumoto/itrc36-20141126...
**AMQP [#ne273685]
***概要 [#y0dd68d6]
-高機能・高信頼性なワイヤレベルプロトコル。
--ブローカーモデル
---AMQP 0-10 はブローカー指向。
---AMQP 1.0 でプロトコル側からは削除されたので、~
厳密な意味でブローカーではないサーバー/中間を作成できる。
--信頼性、セキュリティ
-MQTTブローカ
--自前
---[[RabbitMQ]]
--サービス
---[[Azure IoT Hub]]
---[[Azure Event Hubs]]
---[[Azure Service Bus>Azureのメッセージング・サービス#a7...
-認証(ブローカ)
--パスワード認証
--クライアント証明書
--サービス提供の独自機構
***参考 [#icd28179]
-Advanced Message Queuing Protocol - Wikipedia~
https://ja.wikipedia.org/wiki/Advanced_Message_Queuing_Pr...
-Azure Service Bus の AMQP 1.0 の概要 | Microsoft Docs~
https://docs.microsoft.com/ja-jp/azure/service-bus-messag...
**CoAP [#y624562c]
***概要 [#pa9a2710]
-制約付きM2Mデバイス用~
例えば、低電力、損失の多いネットワーク
-特殊なInternetアプリケーション・プロトコル。
--UDPまたはUDPアナログをサポートするほとんどのデバイスで...
--マルチキャストサポート、単純で、非常に低いオーバーヘッ...
--Webとの統合を簡素化するためにHTTPに簡単に変換できるよう...
-関連技術に「[[CBOR]]」「[[CWT]]」がある。
***参考 [#qe03b662]
-Constrained Application Protocol - Wikipedia~
https://en.wikipedia.org/wiki/Constrained_Application_Pro...
-“モノ”のインターネットへのつながり方L4以上~
https://www.nic.ad.jp/ja/materials/iw/2016/proceedings/t0...
-RFC 7252 - The Constrained Application Protocol (CoAP)~
https://tools.ietf.org/html/rfc7252
**XMPP [#h20a0b88]
***概要 [#e8096e80]
-メッセンジャーなどでよく使われてきたプロトコル
-長い歴史があり枯れているため安心して利用できる。
-認証を伴った双方向性を持った仕組みが実現できる。
***参考 [#iffb7ba6]
-Extensible Messaging and Presence Protocol - Wikipedia~
https://ja.wikipedia.org/wiki/Extensible_Messaging_and_Pr...
**SNMP [#yb52045b]
***概要 [#jcd38017]
-DARPAモデルに準じた、~
IPネットワーク上のNW機器の監視・制御用プロトコル。
-[[トラフィック管理>監視・パケット解析編#x1059f2e]]などで...
-対象機器(エージェント)の情報をSNMPで管理機器(マネージ...
-プロトコルは、UDPで以下の様なメッセージをやり取りする。
--Get Request : 指定した識別子(OID)の管理情報をSNMPエージ...
--Get Response : Get Requestに対応するレスポンス
--Set Request : SNMPエージェントの制御
--Trap : SNMPエージェントからの状態通知
-管理情報ベース(MIB)という標準規格に基づいて管理情報を...
-利用、応用
--[[RMONという仕組み>監視・パケット解析編#x1059f2e]]で利...
--NW機器ではなく、IoT機器の監視・制御にも応用されている。
***参考 [#ybb51250]
-Simple Network Management Protocol - Wikipedia~
https://ja.wikipedia.org/wiki/Simple_Network_Management_P...
-CodeZine > net-snmpについて
--基礎知識~
https://codezine.jp/article/detail/2830
--環境構築~
https://codezine.jp/article/detail/2839
--機器監視~
https://codezine.jp/article/detail/2865
--Trap設定~
https://codezine.jp/article/detail/2893
--独自監視項目の追加 - 前編~
https://codezine.jp/article/detail/2938
--独自監視項目の追加 - 後編~
https://codezine.jp/article/detail/2991
--v3の設定、パッチについて~
https://codezine.jp/article/detail/3028
-.NETライブラリ
--vallog: SNMPメモ(C#、net-snmp)~
http://valvallow.blogspot.com/2009/09/snmpcnet-snmp.html
--WMI
---C# Programming > SNMPを使う~
http://uchukamen.com/Programming1/SNMP/
--#SNMP Library
---https://docs.sharpsnmp.com~
---https://www.nuget.org/packages/Lextm.SharpSnmpLib/
**[[REST]] API([[WebAPI]]) [#l2bee8d7]
***概要 [#u3d0377d]
[[HTTP]]プロトコルの[[REST]] API([[WebAPI]])
***参考 [#n764d4ad]
-[[HTTP]]
-[[REST]]
-[[WebAPI]]
**[[MQTT>#feb265c9]] vs [[AMQP>#ne273685]] [#tb15f6bf]
***サマリ [#y23916e1]
-MQTT
--シンプル
--省電力
-AMQP
--高機能
--高信頼性
***参考 [#ba7e7bcd]
-MQTTとAMQPと.NET~
https://www.slideshare.net/terurou/mqttamqpnet
-【第5回】プロトコルの選択肢と検討ポイント|IoTアーキテク...
https://www.hulft.com/special-column/iot-architecture_01/...
-通信プロトコルAMQPはIoTに向いているか調査せよ! | 日経ク...
https://xtech.nikkei.com/atcl/nxt/mag/nnw/18/041800005/12...
*参考 [#q2032c6c]
-MQTTとAMQPと.NET~
https://www.slideshare.net/terurou/mqttamqpnet
-IoTでの利用を期待されているプロトコルについて~
http://iot.nifcloud.com/blog/2015/10/09/iot-protocol/
**CodeZine(コードジン) [#h4b501b1]
-IoT時代を支えるプロトコル「MQTT」
--(前編)~
https://codezine.jp/article/detail/8000
--(中編)~
https://codezine.jp/article/detail/8019
--(後編)~
https://codezine.jp/article/detail/8020
----
Tags: [[:通信技術]], [[:.NET開発]], [[:IoT]]
ページ名: