实用标准文案精彩文档COAP协议学习1、CoAP简单介绍在2010年3月,CoRE工作组开始制定CoAP协议,到目前为止,该协议还没有定稿
CoAP协议是为物联网中资源受限设备制定的应用层协议
CoAP是受限制的应用协议(ConstrainedApplicationProtocol)的代名词
在最近几年的时间中,专家们预测会有更多的设备相互连接,而这些设备的数量将远超人类的数量
在这种大背景下,物联网和M2M技术应运而生
虽然对人而言,连接入互联网显得方便容易,但是对于那些微型设备而言接入互联网非常困难
在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的
但是对于小型设备而言,实现TCP和HTTP协议显然是一个过分的要求
为了让小设备可以接入互联网,CoAP协议被设计出来
CoAP是一种应用层协议,它运行于UDP协议之上而不是像HTTP那样运行于TCP之上
CoAP协议非常的小巧,最小的数据包仅为4字节
为了克服HTTP对于受限环境的劣势,CoAP既考虑到数据报长度的最优化,又考虑到提供可靠通信
一方面,CoAP提供URI,REST式的方法如GET,POST,PUT和DELETE,以及可以独立定义的头选项提供的可扩展性
另一方面,CoAP基于轻量级的UDP协议,并且允许IP多播
而组通信是物联网最重要的需求之一,比如说用于自动化应用中
为了弥补UDP传输的不可靠性,CoAP定义了带有重传机制的事务处理机制
并且提供资源发现机制,并带有资源描述
CoAP协议不是盲目的压缩了HTTP协议,考虑到资源受限设备的低处理能力和低功耗限制,CoAP重新设计了HTTP的部分功能以适应设备的约束条件
另外,为了使协议适应物联网和M2M应用,CoAP协议改进了一些机制,同时增加了一些功能
下图1显示了HTTP和CoAP的协议栈
CoAP和HTTP在传输层有明显的区别