【物联网】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)。

参数详解

  1. 类型(T)
    用于指定报文类型,有以下四种:

    • CON(Confirmable):需确认的消息。
    • NON(Non-confirmable):无需确认的消息。
    • ACK(Acknowledge):确认消息。
    • RST(Reset):回复无法处理的消息。
  2. 表现形式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表示服务器错误。

三、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协议总结相关推荐

  1. 物联网基础之了解CCP协议,COAP协议,MTQQ协议等

    首先介绍下背景.最近开始研究物联网的套件.公司选中了阿里物联网套件,所以博主就开始投入到漫长的开发文档中.由于博主并非嵌入式开发者,所以一些名字没有听过,这对文档的阅读造成了不少的困扰,所以在此记录一 ...

  2. 物联网协议Coap协议介绍

    COAP协议简介 Coap(Constrained Application Protocol)是一种在物联网世界的类web协议,它的详细规范定义在 RFC 7252.COAP名字翻译来就是" ...

  3. 物联网通讯协议:MQTT,NB-IOT,Zigbee,CoAP,RFID,BLUETOOTH,NFC,4G,HTTP

    目录 一.按网络四层协议分类 二.按需要网关来分类 三.NB-IoT,4G对比 四.应用层协议:MQTT和COAP对比 物联网组网技术 WIFI 蓝牙 ZigBee 2G/4G/5G NB-IoT L ...

  4. 物联网通信之Coap 协议

    物联网通信之Coap 协议 Coap 简介 名为受限制的应用协议,是UDP上的应用层协议.适用于小内存,低处理和低存储能力的设备.传输内容小巧精简,对于较大的数据可分块传输.客户端可以发送观察者请求, ...

  5. 物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP

    物联网应用层协议选择和分析--MQTT.CoAP .HTTP.XMPP.SoAP MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)最早 ...

  6. 阿里云物联网平台 > 设备接入 > 使用开放协议自主接入 > CoAP协议接入 >

    CoAP连接通信 更新时间:2020-08-27 17:20:05 编辑我的收藏 本页目录 基础流程 使用对称加密自主接入 使用DTLS自主接入 物联网平台支持CoAP协议连接通信.CoAP协议适用在 ...

  7. 物联网协议-CoAP协议简介

    1. 什么是CoAP CoAP是受限制的应用协议(Constrained Application Protocol)的简称.最近几年专家们预测会有更多的设备相互连接,而这些设备的数量将远超人类的数量. ...

  8. 物联网的coap协议

    1. CoAP协议的简单介绍 CoAP是一种面向网络的协议,采用了与HTTP类似的特征,核心内容为资源抽象.REST式交互以及可扩展的头选项等.这些关键特征使得因特网由简单的文档检索机制(World ...

  9. Thingsboard 物联网平台 CoAP 协议介绍

    可复制:121202538 中文社区:http://thingsboard.org.cn TB的MQTT设备协议 TB官网: https://thingsboard.io/ TB GitHub: ht ...

  10. 物联网常用协议:MQTT、CoAP、LwM2M、HTTP、LoRaWAN和NB-IoT

    目录 1.MQTT协议 2.MQTT-SN协议 3.CoAP协议 4.LwM2M协议 5.HTTP协议 6.LoRaWAN协议 7.NB-IoT协议 物联网,即物的互联网,属于互联网的一部分.物联网将 ...

最新文章

  1. 博客园----你真的没有没落.感恩博客园。。。
  2. 6.1的学习成果,主要是用到指向函数的指针
  3. 深入探究ASP.NET Core异常处理中间件
  4. C#窗体的Load事件与Shown事件的区别
  5. 串操作指令及其应用程序的设计与调试运行——汇编实验四 用8086汇编完成下题 编制一程序,从键盘输入两个长度不同的字符串,设字符串长度小于25个字符。要求在屏幕上以右边对齐的形式显示出
  6. 【渝粤题库】陕西师范大学201491 法学导论作业
  7. javascript获取当前日期时间及其一些操作
  8. json解析对应的value为null_解决golang json解析出现值为空的问题
  9. mongodb java 地理位置_MongoDB的地理位置索引
  10. 终于解决“百年一遇”奇怪问题
  11. pkgm : 压缩包维护与解压脚本
  12. Atitit 物化视图与触发器性能测试方法 attilax总结 1.1. 触发器主要影响更新性能。。。 1 1.2. 临时打开关闭触发器,如果db不支持可以更改条件使其不触发 1 1.3. 打开定时
  13. python字典弱引用_weakref
  14. java实现电子面单pdf生成_常用快递电子面单批量打印api接口对接demo-JAVA示例
  15. python中re模块的span_python3正则模块re的使用方法详解
  16. gitlab流水线自动部署流程
  17. 用python画爱心及代码演示
  18. 本学期3个sprint的团队贡献分
  19. JDBC报错:The server time zone value is unrecognized or represents more than one time zone 已解决
  20. oracle11g rac转换单机,oracle11g rac RMAN备份恢复至单机

热门文章

  1. GrayLog查询语法
  2. Graylog 配置Sidecar和filebeat
  3. React-混合移动App开发介绍
  4. C++开源库:Json解析:JsonCpp实践
  5. tkinter和mysql做登录注册_tkinter 创建登陆注册界面
  6. python爬虫__简单小案例
  7. 什么是北向接口和南向接口
  8. JavaScript 生成器函数
  9. bxslider 使用帮助
  10. WEB前端网页设计 HTML CSS 网页设计参数 - JavaScripts