IETF:CoAP协议介绍
CoAP是Constrained Application Protocol的缩写,它是一种应用于互联网的传输协议,之所以称之为受限的(Constrained)协议,主要是指在终端节点和网络能力两个方面受限。典型的能力受限的终端是只具有8 bit的微控制器和小容量的ROM&RAM,典型的能力受限的网络是6LOWPAN,这种网络通常有较高的误包率,典型的传输速率在10 kbps数量级。CoAP是为了物联网终端的数据传输而设计的。
CoAP协议标准的制定由IETF的CoRE工作组负责,目前仍处于起草阶段,但主要内容已经完成,也已经启动了Release的审批发布流程,目前已经发布正式Releasel版本。
为了使受限环境与互联网环境之间的互连变得简单,CoAP在设计时刻意模仿了HTTP的设计,特别是和HTTP一样都采用了RESTFUL的接口设计方式(REST是目前互联网普遍使用的网络架构,满足该架构的设计方案都称为RESTFUL方案)。这种刻意模仿所带来的一个直接的好处是互相翻译HTTP和CoAP的报文时会比较容易,这显然有利于互联网与物联网的互连。
IETF:CoAP具有以下特点
·满足M2M需求的受限网络协议;
·基于UDP,可支持单播和组播;
·支持异步的消息交互;
·简洁的报文头设计;
·支持URI和Content-type;
·支持简单的代理和缓存;
·支持与HTTP的无状态映射;
·安全机制采用DTLS。