簡易HTTPなCoAP(Constrained Application Protocol)プロトコル

CoAP(Constrained Application Protocol)は現在標準化策定中の、
機械同士の通信であるM2M(machine-to-machine)用プロトコル。

http://wbb.forum.impressrd.jp/files/images/100706/ietf-rep02_fig01_l.jpg

スマートグリッドのベース技術はIPである。
スマートグリッド構想の一部である家庭内センサーネットワーク(ホームネットワーク)のプロトコルとして
HTTPとXMLの利用が考えられていたが、TCPの通信やオーバーヘッドなどから
ネットワークの遅延などが問題となっていた。

そこで簡易的HTTPとしてCoAPというプロトコルが登場している。

特徴はこんなところ。
• 非同期通信のサポート(パケットごとにTransactionIDを持つ)
• パケットヘッダの簡略化(32bit=4byte)
• HTTPと同様の応答マッピング
UDP(User Datagram Protocol)


UDPなのでHTTPと比較して、TCPの3way handshakeや再送制御が無いためレスポンスが非常にシンプル。
またHTTPヘッダは50byte以上あるが、CoAPはなんと4byte。
したがって無線環境や輻輳のおきやすいネットワークにおいてはCoAPを利用するメリットが大きいだろう。

CoAPのヘッダはこちら。

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| T | OC | Code | Transaction ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options (if any) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload (if any) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


ちなみにHTTPとCoAPのシーケンスの比較がこちら。
シーケンス図はネット上で見つけたこの論文から引用させていただいた。

参考:
draft-ietf-core-coap-03 - The Constrained Application Protocol (CoAP)
http://wbb.forum.impressrd.jp/feature/20100730/806

M2M―あらゆるモノを通信で繋ぎ競争力に差をつける!

M2M―あらゆるモノを通信で繋ぎ競争力に差をつける!

スマートグリッド教科書 (インプレス標準教科書シリーズ)

スマートグリッド教科書 (インプレス標準教科書シリーズ)

図解入門よくわかる最新スマートグリッドの基本と仕組み[第2版] (How‐nual Visual Guide Book)ユビキタス技術 ホームネットワークと情報家電ユビキタス技術 センサネットワークビッグデータを征す クラウドの技術 Hadoop&NoSQL