04 CoAP受限应用协议详解


文档摘要

第 4 章 · CoAP 受限应用协议详解 章节摘要:CoAP 是"给受限节点用的 Web"——它把 HTTP 的请求响应搬上 UDP,用极小的二进制报文与可观察机制服务低功耗、小内存的设备。本章先立资源模型,再拆报文与消息类型,接着讲方法与 Observe,最后落到 DTLS 安全与真实落地。读完你应当能在受限节点上设计出一套 REST 风格的资源接口。 学习目标 阅读完本章,你应当能够: 说明 CoAP 为何选择 UDP 且与 REST 语义对齐,理解"受限"是怎样影响设计的。 逐字段拆开 CoAP 报文头部(版本、类型、Token 长度、Code、消息 ID)。 区分 CON、NON、ACK、RST 四类消息,用 Token 与 Message ID 对齐请求响应。

第 4 章 · CoAP 受限应用协议详解

章节摘要:CoAP 是"给受限节点用的 Web"——它把 HTTP 的请求响应搬上 UDP,用极小的二进制报文与可观察机制服务低功耗、小内存的设备。本章先立资源模型,再拆报文与消息类型,接着讲方法与 Observe,最后落到 DTLS 安全与真实落地。读完你应当能在受限节点上设计出一套 REST 风格的资源接口。

学习目标

阅读完本章,你应当能够:

  1. 说明 CoAP 为何选择 UDP 且与 REST 语义对齐,理解"受限"是怎样影响设计的。
  2. 逐字段拆开 CoAP 报文头部(版本、类型、Token 长度、Code、消息 ID)。
  3. 区分 CON、NON、ACK、RST 四类消息,用 Token 与 Message ID 对齐请求响应。
  4. 用 GET/POST/PUT/DELETE 操作资源,讲清 Observe 观察者如何实现订阅式读取。
  5. 理解 DTLS 与 CoAP 的分层关系,说出受限节点安全落地的常见取舍。

核心概念速览

CoAP 的世界观很统一:一切皆资源,用 REST 风格暴露。设备把自己的状态"装饰"成可被 GET 读、可被 PUT 写的 URI,像一个小型 Web 服务器:

金句:MQTT 让你"对主题喊话",CoAP 让你"对资源点名"——前者是广播分发,后者是精确读写。

子章节导航

  1. 4.1 CoAP 登场与 RESTful 资源模型:缘起、为什么 UDP、资源如何暴露。
  2. 4.2 报文字段、消息类型与 Token:头部拆解、四类消息、Message ID 与 Token 对齐机制。
  3. 4.3 方法与观察者 Observe:GET/POST/PUT/DELETE、重传与 CON/NON、订阅式观察。
  4. 4.4 DTLS 安全与受限节点落地:安全分层、受限安全的取舍与真实部署。

子章节之间的逻辑关系

四节同样由外而内:4.1 定三观(REST 资源模型),4.2 拆报文(看懂字节与消息),4.3 讲方法(怎么操作资源和观察变化),4.4 上安全并落地(真实受限系统)。它和第 3 章 MQTT 是平行对照,遇到相似概念(可靠、观察)可回看第 3 章对比记忆。

① 模型 · 一切皆资源 受限节点的REST →② 报文 · 头部/类型/Message ID/Token →③ 方法 · GET-POST-PUT-DELETE 与 Observe →④ 安全 · DTLS 与受限落地

本章知识点清单

学完第 4 章,用下面这张可考核清单自查:

  1. UDP 的理由:能解释 CoAP 为何坐 UDP 而非 TCP,以及代价(应用层自补重传、去重、拥塞)。
  2. 报文解剖:能逐字段说出 CoAP 固定头(Ver/Type/TKL/Code/Message ID)以及 TKL 如何决定头长。
  3. 四类消息:能区分 CON/NON/ACK/RST 各自的用途,并说明 CON 超时重传的默认参数。
  4. Token 与 Message ID:能讲清 Message ID 管"帧去重-ACK 匹配"、Token 管"业务响应配对",并各自由谁生成。
  5. 四方法与 Observe:能说出 GET/POST/PUT/DELETE 的幂等语义,并解释 Observe 如何把"轮询"换成"被动订阅"以省电。
  6. 安全取舍:能按设备内存给 DTLS/PSK/OSCORE 三档对号,说明证书方案在离线设备上的生命周期负担。

本章在协议三层握手台中的位置

第四章是"三层握手台"与 MQTT 并列的另一根支柱——CoAP。它回答"同一类有 IP 的受限设备,除 MQTT 之外的另一种对话方式":MQTT 坐 TCP、靠主题与 QoS 双向可靠,CoAP 坐 UDP、靠 REST 与 Observe 省电按需。两者在报文开销、可靠承担与语义模型上的差异,是第 6 章 6.1 对比台账的第一手素材;CoAP 的 DTLS 安全又与第 7 章整体安全议题咬合;而它的"资源化 + 代理可互操作",为第 8 章 Web 与 IoT 互操作演进埋了伏笔。所以本章既是一套独立协议的教学,也是后文多次横向对照的关键坐标点。

前置知识与后续延伸

前置:会读 HTTP 的 GET/POST 基本语义即可;若已学第 3 章 MQTT,对比更能加深理解。

本章素材在 6.1"MQTT 与 CoAP 对比"里会再拿出来,也是第 7 章安全、第 8 章互操作(线程组、结构文档化)话题的背景板。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U