天天看點

CoAP協定調研CoAP協定調研

CoAP協定調研

CoAP協定概述

CoAP協定(the Constrained Application Protocol )全稱為受限應用協定,是一種應用于嵌入式裝置之間通信的類HTTP協定。

由于嵌入式裝置的計算能力非常有限,應用于PC機的正常HTTP協定體量顯然過大。是以,CoAP協定被設計出來用于讓小裝置也能接入網際網路。

CoAP是一種應用層協定,它運作于UDP協定之上而不是像HTTP那樣運作于TCP之上。CoAP協定非常小巧,最小的資料包僅為4位元組。

CoAP協定體

和其他TCP IP協定簇中的協定一樣,CoAP協定總是以“頭”的形式出現在負載之前,而負載和CoAP頭之間使用單位元組0xFF分離。

具體的分析可以參考這篇文章。

整個CoAP協定的形式與HTTP協定的格式非常類似,但是由于本身設計長度的限制,每個字段被設計為以bit為機關,而不是HTTP的byte。

下面幾張圖展示了CoAP協定的基本格式:

CoAP協定調研CoAP協定調研

code字段可以被了解為HTTP協定中的請求方法或狀态碼,分為前3位和後5位,通常記為

c.dd

的形式。

code 方法名

0.01

GET

0.02

POST

0.02

PUT

0.03

DELETE

1.xx

類似HTTP 1xx的狀态碼

2.xx

類似HTTP 2xx的狀态碼

3.xx

類似HTTP 3xx的狀态碼

4.xx

類似HTTP 4xx的狀态碼

5.xx

類似HTTP 5xx的狀态碼

option字段類似HTTP請求中的請求頭,格式如下圖:

CoAP協定調研CoAP協定調研

Option Delta代表選項編号的增量,從0開始,每次增加Option Delta就是目前頭的編号,每個編号代表的請求頭對應如下圖:

CoAP協定調研CoAP協定調研