COAP協議格式

2021-09-07 13:41:54 字數 1541 閱讀 7310

和其他tcp ip協議簇中的協議一樣,coap協議總是以「頭」的形式出現在負載之前,而負載和coap頭之間使用單位元組0xff分離。學習coap協議最好的方法便是結合rfc文件,詳細分析coap協議報文格式的每一部分,便是coap協議報文結構示意圖。

3.1 請求

在coap請求中,code被定義為coap請求方法,這些方法有get、post、put和delete,這些方法和http協議非常相似。

3.2 響應

在coap響應中,code被定義為coap響應碼,類似於http 200 ok等等。

coap支援多個option,coap的option的表示方法比較特殊,採用增量的方式描述,細節可參考rfc7252 #3.1

一般情況下option部分包含option delta、option length和option value三部分。

coap中所有的option都採用編號的方式,這些option及編號的定義如下圖所示。

在這些option中,uri-host、uri-port、uri-path和uri-query等和資源「位置」和引數有關。

coap協議中支援多個option,例如

coap採用這樣的方式表示多個option,而每種option都可以在http協議中找到對應項。

coap支援多種**型別,具體可參考rfc7252 #12.3。從下圖的資訊可以發現,coap協議中關於**型別的定義比較簡單,未來應該會根據實際情況擴充套件。

該示例來自於rfc7252。

【流程描述】

coap客戶端通過get方法從server端獲得溫度感測器資料,coap uri如下

coap:

coap請求採用con報文,server接收到con報文必須返回乙個ack報文。coap請求採用0.01 get方法,若操作成功coap server返回2.05 content,相當於http 200 ok。請求和響應的mid必須完全相同,此處為0x7d34。請求響應中的token域為空。coap請求中包含option,該option的型別為uri-path,那麼option delta的值為0+11=11,option value的值為字串形式的「temperature」。coap返回中包含溫度資料,使用字串形式描述,具體值為"22.3"。

【格式描述】

CoAP協議學習筆記 CoAP格式詳解 1

coap是受限制的應用協議 constrained application protocol 的代名詞。在當前由pc機組成的世界,資訊交換是通過tcp和應用層協議http實現的。但是對於小型裝置而言,實現tcp和http協議顯然是乙個過分的要求。為了讓小裝置可以接入網際網路,coap協議被設計出來。...

CoAP協議學習筆記 CoAP格式詳解 1

coap是受限制的應用協議 constrained application protocol 的代名詞。在當前由pc機組成的世界,資訊交換是通過tcp和應用層協議http實現的。但是對於小型裝置而言,實現tcp和http協議顯然是乙個過分的要求。為了讓小裝置可以接入網際網路,coap協議被設計出來。...

CoAP協議學習 CoAP基礎

原連線位址 更多coap文章請參考博文索引 物聯網學習筆記 索引博文 學習coap最簡單的方法便是閱讀協議文件。該協議文件並不是那麼複雜。但如果有乙個coap的簡單介紹就再好不過了。什麼是coap coap是一種應用層協議 它執行於 udp協議之上而不是像http那樣執行於tcp之上。coap協議非...