【物联网】CoAP协议总结
【物联网】CoAP协议总结
- 一、概述
- 二、CoAP报文结构
- 1.报头
- 2.可选字段
- 3.数据
- 参数详解
- 三、CoAP逻辑分层
- 四、CoAP传输模型
- 4.1 CoAP Message模型
- 1. CoAP可靠消息传输
- 2.CoAP非可靠消息传输
- 4.2 CoAP资源请求/响应模型
- 1.同步可靠响应模式
- 2.异步可靠响应模式
- 3.非可靠传输
- Version
一、概述
物联网中大部分设备性能有限,为了满足在这些设备上的通信,IETF的CoRE工作组提出了满足其通信的CoAP(Constrained Application Protocol)协议,该协议是一种基于UDP的应用层协议,能够满足受限环境的轻量级数据交互需求。
二、CoAP报文结构
下图为一请求与响应的数据报实例,
1.报头
第一行为报文头部(CoAP数据包至少为4Byte),远小于HTTP几十个Byte的大小。其包含信息如下:
位置/bit | 含义 | 大小/bit |
---|---|---|
0~1 | 协议版本号(Ver) | 2 |
2~3 | 报文类型(T) | 2 |
4~7 | Token长度(TKL) | 4 |
8~15 | 表现形式(Code) | 8 |
16~31 | 报文标号(MsgID) | 16 |
2.可选字段
第二行为Token,长度为TKL,用于匹配相应和请求,Token同时具有安全验证功能,使伪造报文无法通过。
第三行为报文选项,用于设定参数。
3.数据
第四行起始8bits为报文与负载分隔符,其后为交互数据(Payload)。
参数详解
- 类型(T)
用于指定报文类型,有以下四种:- CON(Confirmable):需确认的消息。
- NON(Non-confirmable):无需确认的消息。
- ACK(Acknowledge):确认消息。
- RST(Reset):回复无法处理的消息。
- 表现形式Code
类似于HTTP协议中的状态码。该数据分为两部分,前三位一部分,后五位一部分,常记为x.xx。其中0.xx表示CoAP请求的某种方法,2.xx,4.xx,5.xx表示CoAP响应的具体表现。- 0.xx含义
- 2.xx含义
- 4.xx及5.xx
与HTTP响应状态码类似,4.xx用于表示客户端错误,5.xx表示服务器错误。
- 0.xx含义
三、CoAP逻辑分层
如下图所示,CoAP是一种基于UDP的应用层协议。
CoAP在逻辑上分为两层,即消息层(Message)、资源请求响应层(Req/Rsp)。通俗来讲,如果把UDP比作公路,Message就像是公路上的货车,而Req/Rsp则是车上的货物。
四、CoAP传输模型
4.1 CoAP Message模型
CoAP有两种工作模式,即可靠消息传输(基于重传实现)和非可靠消息传输。
1. CoAP可靠消息传输
其传输模型如下图所示:
重传:当客户端未收到ACK或RST时,会进行基于指数回退的重发。
2.CoAP非可靠消息传输
其传输模型如下图所示:
4.2 CoAP资源请求/响应模型
CoAP资源请求响应模型可分为以下类型
可靠传输
同步可靠响应模式
异步可靠响应模式非可靠传输
1.同步可靠响应模式
模型如图所示
2.异步可靠响应模式
3.非可靠传输
Version
{"version" : "0.1""modified_time" : "2019/09/16",
}
【物联网】CoAP协议总结相关推荐
- 物联网基础之了解CCP协议,COAP协议,MTQQ协议等
首先介绍下背景.最近开始研究物联网的套件.公司选中了阿里物联网套件,所以博主就开始投入到漫长的开发文档中.由于博主并非嵌入式开发者,所以一些名字没有听过,这对文档的阅读造成了不少的困扰,所以在此记录一 ...
- 物联网协议Coap协议介绍
COAP协议简介 Coap(Constrained Application Protocol)是一种在物联网世界的类web协议,它的详细规范定义在 RFC 7252.COAP名字翻译来就是" ...
- 物联网通讯协议:MQTT,NB-IOT,Zigbee,CoAP,RFID,BLUETOOTH,NFC,4G,HTTP
目录 一.按网络四层协议分类 二.按需要网关来分类 三.NB-IoT,4G对比 四.应用层协议:MQTT和COAP对比 物联网组网技术 WIFI 蓝牙 ZigBee 2G/4G/5G NB-IoT L ...
- 物联网通信之Coap 协议
物联网通信之Coap 协议 Coap 简介 名为受限制的应用协议,是UDP上的应用层协议.适用于小内存,低处理和低存储能力的设备.传输内容小巧精简,对于较大的数据可分块传输.客户端可以发送观察者请求, ...
- 物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP
物联网应用层协议选择和分析--MQTT.CoAP .HTTP.XMPP.SoAP MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)最早 ...
- 阿里云物联网平台 > 设备接入 > 使用开放协议自主接入 > CoAP协议接入 >
CoAP连接通信 更新时间:2020-08-27 17:20:05 编辑我的收藏 本页目录 基础流程 使用对称加密自主接入 使用DTLS自主接入 物联网平台支持CoAP协议连接通信.CoAP协议适用在 ...
- 物联网协议-CoAP协议简介
1. 什么是CoAP CoAP是受限制的应用协议(Constrained Application Protocol)的简称.最近几年专家们预测会有更多的设备相互连接,而这些设备的数量将远超人类的数量. ...
- 物联网的coap协议
1. CoAP协议的简单介绍 CoAP是一种面向网络的协议,采用了与HTTP类似的特征,核心内容为资源抽象.REST式交互以及可扩展的头选项等.这些关键特征使得因特网由简单的文档检索机制(World ...
- Thingsboard 物联网平台 CoAP 协议介绍
可复制:121202538 中文社区:http://thingsboard.org.cn TB的MQTT设备协议 TB官网: https://thingsboard.io/ TB GitHub: ht ...
- 物联网常用协议:MQTT、CoAP、LwM2M、HTTP、LoRaWAN和NB-IoT
目录 1.MQTT协议 2.MQTT-SN协议 3.CoAP协议 4.LwM2M协议 5.HTTP协议 6.LoRaWAN协议 7.NB-IoT协议 物联网,即物的互联网,属于互联网的一部分.物联网将 ...
最新文章
- 博客园----你真的没有没落.感恩博客园。。。
- 6.1的学习成果,主要是用到指向函数的指针
- 深入探究ASP.NET Core异常处理中间件
- C#窗体的Load事件与Shown事件的区别
- 串操作指令及其应用程序的设计与调试运行——汇编实验四 用8086汇编完成下题 编制一程序,从键盘输入两个长度不同的字符串,设字符串长度小于25个字符。要求在屏幕上以右边对齐的形式显示出
- 【渝粤题库】陕西师范大学201491 法学导论作业
- javascript获取当前日期时间及其一些操作
- json解析对应的value为null_解决golang json解析出现值为空的问题
- mongodb java 地理位置_MongoDB的地理位置索引
- 终于解决“百年一遇”奇怪问题
- pkgm : 压缩包维护与解压脚本
- Atitit 物化视图与触发器性能测试方法 attilax总结 1.1. 触发器主要影响更新性能。。。	1 1.2. 临时打开关闭触发器,如果db不支持可以更改条件使其不触发	1 1.3. 打开定时
- python字典弱引用_weakref
- java实现电子面单pdf生成_常用快递电子面单批量打印api接口对接demo-JAVA示例
- python中re模块的span_python3正则模块re的使用方法详解
- gitlab流水线自动部署流程
- 用python画爱心及代码演示
- 本学期3个sprint的团队贡献分
- JDBC报错:The server time zone value is unrecognized or represents more than one time zone 已解决
- oracle11g rac转换单机,oracle11g rac RMAN备份恢复至单机