本段涵盖了CoAP消息格式。到目前为止,我们已经讨论了客户端和服务器之间交换的各种消息。现在是时候分析消息格式了。受限的应用程序协议是受限环境中的关键,因此,它使用紧凑的消息。为了避免分段,消息占用UDP数据报的数据部分。一条消息由几个部分组成:
Version(VER)(2 bits): CoAP版本号
Type(2 bits)
这描述了请求和响应着两种消息类型上下文的数据包消息类型。
请求
0 : 可确认: 该消息需要相应的确认消息。
1 : 不可确认:此消息不需要确认消息。
响应
2 : 确认: 此消息是确认可确认消息的响应。
3 : 重置: 此消息表明它已收到消息,但无法处理。
Token Length(4 bits): 指示可变长度令牌字段的长度,其长度可以为0-8字节。
Request/Response(8 bits): CoAP请求/响应代码
Message ID(16 bits): 用于检测消息重复并将“确认/重置”类型的消息与“确认” /“不可确认”类型的消息进行匹配。:响应消息将具有与请求相同的消息ID。
CoAP安全方面处理物联网协议时的一个重要方面是安全性方面。如前所述,CoAP使用UDP传输信息。CoAP依靠UDP安全性方面来保护信息。由于HTTP使用基于TCP的TLS,因此CoAP使用基于UDP的数据报TLS。DTLS支持RSA,AES等。无论如何,我们应该考虑在某些受限设备中可能无法使用某些DTLS密码套件。重要的是要注意,某些密码套件引入了一些复杂性,并且受约束的设备可能没有足够的资源来管理它。