CoAP协议
来源:互联网 发布:C语言死循环有什么后果 编辑:程序博客网 时间:2024/05/16 09:34
CoAP协议 是为物联网中资源受限设备制定的应用层协议。它是一种面向网络的协议,采用了与HTTP类似的特征,核心内容为资源抽象、REST式交互以及可扩展的头选项等。应用程序通过URI标识来获取服务器上的资源,即可以像HTTP协议对资源进行GET、PUT、POST和DELETE等操作。CoAP协议具有如下特点:
(1)报头压缩:CoAP包含一个紧凑的二进制报头和扩展报头。它只有短短的4B的基本报头,基本报头后面跟扩展选项。一个典型的请求报头为10~20B。图2是CoAP协议的信息格式
(2)方法和URIs:为了实现客户端访问服务器上的资源,CoAP支持GET、PUT、POST和DELETE等方法。CoAP还支持URIs,这是Web架构的主要特点。 (3)传输层使用UDP协议:CoAP协议是建立在UDP协议之上,以减少开销和支持组播功能。它也支持一个简单的停止和等待的可靠性传输机制。 (4)支持异步通信:HTTP对M2M(Machine-to-Machine)通信不适用,这是由于事务总是由客户端发起。而CoAP协议支持异步通信,这对M2M通信应用来说是常见的休眠/唤醒机制。 (5)支持资源发现:为了自主的发现和使用资源,它支持内置的资源发现格式,用于发现设备上的资源列表,或者用于设备向服务目录公告自己的资源。它支持RFC5785中的格式,在CoRE中用/.well—known/core的路径表示资源描述。 (6)支持缓存:CoAP协议支持资源描述的缓存以优化其性能。
CoAP协议栈 CoAP协议的传输层使用UDP协议。由于UDP传输的不可靠性,CoAP协议采用了双层结构,定义了带有重传的事务处理机制,并且提供资源发现和资源描述等功能。CoAP采用尽可能小的载荷,从而限制了分片。
事务层(Transactionlayer)用于处理节点之间的信息交换,同时提供组播和拥塞控制等功能。请求/响应层(Request/Responselayer)用于传输对资源进行操作的请求和响应信息。CoAP协议的REST构架是基于该层的通信。CoAP的双层处理方式,使得CoAP没有采用TCP协议,也可以提供可靠的传输机制。利用默认的定时器和指数增长的重传间隔时间实现CON(Confirmable)消息的重传,直到接收方发出确认消息。另外,CoAP的双层处理方式支持异步通信,这是物联网和M2M应用的关键需求之一。
- CoAP协议
- CoAP协议
- CoAP协议笔记[RFC7252]
- CoAP-协议格式详解
- CoAP协议简介
- COAP协议说明
- CoAP协议调研
- COAP协议全面分析
- CoAP协议学习——CoAP基础
- CoAP协议学习——CoAP基础
- CoAP协议学习——CoAP基础
- CoAP协议学习——CoAP基础
- 物联网的coap协议
- DTLS编写样例一coap协议
- CoAP协议学习笔记——CoAP格式详解
- CoAP协议及开源实现
- CoAP协议及开源实现
- CoAP协议及开源实现
- org.apache.taglibs.standard.tlv.JstlCoreTLV报错运行
- HashMap按value的顺序输出
- javascript面试题 30个最火热的面试题
- [Spring]new ClassPathXmlApplicationContext("application.xml")做了些什么
- Linq联合查询
- CoAP协议
- 使用Java实现的简易登录注册程序
- spring boot 配置单数据源和多controller问题
- c/c++算法练习2-韩信点兵
- 详解SSH三种端口转发
- 34 用循环累加
- java集合框架的讲解
- MFC中ListCtrl的函数
- POI导入导出