CoAP 【Constrained Application Protocol】

概要

CoAP(Constrained Application Protocol)とは、機能や性能が限られた機器でも効率的に通信できるように設計されたアプリケーションプロトコルの一つ。IoTM2Mセンサー装置など非力な端末が用いることを想定している。

インターネットなどのIPネットワークで用いるアプリケーション層プロトコル通信規約)の一つで、仕様を極力簡素化し、CPU性能やメモリ容量の限られた装置でも効率的に動作するよう配慮されている。

伝送効率を考慮して標準ではトランスポート層UDPUser Datagram Protocol)を利用し、セキュリティ確保が必要な状況ではDTLSDatagram TLS)により伝送路を暗号化することもできる。標準のポート番号は5683番で、DTLSを用いる場合は5684番を用いる。

メッセージの先頭は制御情報を記したヘッダ領域で、伝送したい内容は続くペイロード部に記載する。ヘッダの先頭4バイトバージョン(2ビット)、タイプ(2ビット)、トークンの長さ(4ビット)、リクエスト/レスポンスコード(8ビット)、メッセージID(16ビット)で、その後に必要であればトークン(0~8バイト)、オプションが続く。

資源の識別には「coap://」あるいは「coaps://」(DTLS併用の場合)で始まるURIが用いられ、Content-Typeヘッダフィールドで資源の種類(データ形式)を指定できるなど、WebHTTP)に近い仕様となっている。実際、CoAPプロキシというシステムを介することで簡単にWebシステムと相互接続することができる。

2014年にIETFによってRFC 7252として標準化された。IoTに適したプロトコルとして先行するMQTT(Message Queueing Telemetry Transport)がよく知られるが、こちらは「Pub/Subモデル」と呼ばれる配信モデルでデータを伝送する。CoAPはHTTPに近いため、REST APIなどWeb系の技術でIoTシステム構築したい場合などに適している。

(2023.4.7更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる