物联网传输层协议(物联网应用中常用的协议),本文通过数据整理汇集了物联网传输层协议(物联网应用中常用的协议)相关信息,下面一起看看。

物联网的应用层协议主要有CoAP、MQTT、XMPP、HTTP等。将分别对‘物联网时空’微信官方账号的协议进行分析比较。让我们先来看看CoAP协议。

1.什么是CoAP?

CoAP是一种受限应用协议,是IETF发布的互联网系列标准(RFC7252)之一。

目前,在PC构成的世界中,信息交换是通过HTTP/TCP实现的。但是对于小型设备来说,实现TCP和HTTP协议显然是一个过分的要求。CoAP协议旨在允许小型设备访问互联网。CoAP协议是物联网中资源受限设备的应用层协议,其协议模型与HTTP的对应关系大致如下(注:CoAP已经支持基于TCP,本文暂不展开):

2.2的详细解释。CoAP协议

与TCP/IP协议族中的其他协议一样,CoAP协议也有报头,有效载荷和报头由单字节0xFF分隔。CoAP协议的消息结构如下:

[Ver]版本号,表示CoAP协议的版本号。类似于HTTP 1.0 HTTP 1.1。版本号占用2位数,取值为01B。

[T]消息类型,CoAP协议规定了四种不同的消息形式:CON、NON、ACK和RST。

[CON]需要确认的请求。如果发送了一个CON请求,那么另一方必须做出响应。

[NON]不需要确认的请求。如果发送了非请求,则另一方不必响应。

[ACK]应答消息,接收CON消息的响应。

[RST]重置信息。当接收方收到的消息包含错误时,接收方解析消息或不再关心发送方发送的内容,则发送重置消息。

[TKL]CoAP标识符长度。

[代码]请求代码/响应代码。详见后文。

[消息ID]消息编号。每个CoAP消息都有一个消息ID,它在会话中始终保持不变,但在会话结束后会被回收。

[令牌]标识符的具体内容,令牌长度由TKL指定。

【选项】消息选项,包括CoAP主机、端口号、资源路径、资源参数等。类似于HTTP请求头。

[11111111]COAP消息和特定有效负载之间的分隔符。

[有效载荷]需要交互的真正有用的数据。

CoAP请求方法包括:GET、POST、PUT和DELETE,这与HTTP协议非常相似:

[0.01]获取:获取资源

[0.02]发布:创建资源

[0.03]上传:更新资源

【0.04】删除:删除一个资源。

CoAP的响应代码类似于HTTP 200 OK等:

【2.01】创建

【2.02】删除

【2.03】有效

【2.04】发生了变化

【2.05】内容。类似于HTTP 200 OK

【4.00】Bad Request请求错误,服务器无法处理。类似于HTTP 400。

【4.01】未授权没有范围权限。类似于HTTP 401。

[4.02]错误的选项请求包含错误的选项。

[4.03]被禁服务器拒绝请求。类似于HTTP 403。

[4.04]not found服务器找不到资源。类似于HTTP 404。

[4.05]方法不允许非法的请求方法。类似于HTTP 405。

[4.06]不可接受的请求选项与服务器生成的内容选项不一致。类似于HTTP 406。

[4.12]预处理失败请求的参数不足。类似于HTTP 412。

[4.15]不支持不支持的内容类型请求中的媒体类型。类似于HTTP 415。

[5.00]内部服务器错误服务器内部错误。类似于HTTP 500。

[5.01]未实现的服务器无法支持请求的内容。类似于HTTP 501。

[5.02]坏网关服务器在充当网关时收到错误响应。类似于HTTP 502。

【5.03】服务不可用服务器过载或维护停机。类似于HTTP 503。

[5.04]网关超时服务器充当网关时,执行请求时出现超时错误。类似于HTTP 504。

[5.05]不支持代理服务器不支持代理功能。

3.3的特点。CoAP协议

通过解读CoAP协议,可以看出CoAP协议显然是为物联网应用而生的,包括:

1.基于REST架构,REST是互联网资源访问协议的通用设计风格。

2.基于轻量级UDP协议并允许IP多播。

3.定义了一种带有重传机制的事务处理机制,也能实现可靠传输。

4.资源发现机制提供了资源描述。

5.协议紧凑,最小的数据包只有4个字节。

6.DTLS可以用作安全加密层。

7.资源消耗低,所需RAM和ROM资源均小于10KB。

8.其两层(事务层、请求/响应层)处理模式可以支持异步通信。

9.支持观察模式。在物联网场景下,有时CoAP客户端不需要不断查询CoAP服务器的数据变化(比如需要监控某个温度或湿度传感器)。此时,CoAP客户端可以向服务器发送一个观察请求。从这个时间点开始,服务器将记住客户端的连接信息。一旦温度发生变化,服务器会将新的结果发送给客户端。如果客户端不再想得到温度检测结果,客户端会发送RST复位请求,服务器会清除与客户端的连接信息。

10.支持块传输。CoAP协议的特点是传输内容小而简洁,但在某些情况下它不得不传输大数据。在这种情况下,可以使用CoAP协议中的选项来设置块传输的大小,服务器和客户端可以完成分片和组装。

4.应用示例

以CoAP客户端通过GET方法从服务器获取温度传感器数据为例,假设CoAP URI为COAP://www . server . com/temperature,交互过程和消息格式如下:

这个网站是个人知识管理的网络存储空间。所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请一键举报。

更多物联网传输层协议(物联网应用中常用的协议)相关信息请关注本站,本文仅仅做为展示!