gpt4 book ai didi

linux - CoAP数据包的大小是多少?

转载 作者:IT王子 更新时间:2023-10-29 00:54:41 29 4
gpt4 key购买 nike

我是这个技术的新手,有人可以帮助我了解一些疑问吗?

Q-1。 CoAP数据包的大小是多少?
(我知道有 4 字节的固定 header ,但包括 header 、选项和有效负载在内的最大大小限制是多少?)

问题 2。 Keep Alive有没有类似MQTT的概念?
(它在UDP上工作多久保持打开连接,是否有默认时间或每次发送数据包时保持打开?)

问题 3。我们可以将 CoAP 与 TCP 一起使用吗?
(CoAP 的主要问题是它在 UDP 上工作,有没有像 MQTT QoS 这样的概念?假设传感器每秒发布一些数据,如果订阅者离线,CoAP 是否保证订阅者会在它上线了吗?)

问题 4。连接时长是多少?
(CoAP支持发布/订阅架构,可能需要连接一直打开,CoAP是否可以基于UDP。)

Q-5。它如何发现资源?
(我有一个网关和5个传感器,这些传感器如何连接到网关?网关会找到这些传感器吗?还是传感器会找到网关?)

Q-5。传感器如何注册到网关?

请帮助我,我真的需要答案。我对这些事情都是陌生的,并建议我从实现的角度来看。

谢谢。

最佳答案

  1. 这取决于:
  • Core CoAP messages必须足够小以适合它们的链路层数据包(UDP ~ 64 KiB)但是,无论如何 RFC 指出:
    • 它应该适合单个 IP 数据包以避免 IP 碎片(IPv6 的 MTU 为 1280)。如果对 header 的大小一无所知,则好的上限是消息大小的 1152 字节和有效负载大小的 1024 字节;
    • 或更少以避免适配层碎片(60-80 字节用于 6LoWPAN 网络);
  • 如果你需要传输更大的负载,这个IETF draft使用新选项扩展核心 CoAP,用于从多个请求-响应对中的资源表示传输多个信息 block (因此您可以在每条消息中传输超过 64KiB)。
  1. 我从未使用过 MQTT,在任何情况下 CoAP 都是无连接的,请求和响应通过 UDP 或 DTLS 异步交换。我想您正在寻找观察功能:它使 CoAP 客户端能够“订阅”资源和服务器,以便在一段时间内向订阅的客户端发送更新。

  2. 有一个 IETF draft描述 TCP 上的 CoAP,但我不知道它如何与观察功能交互:通常它遵循 best-effort approach ,恰好客户端被认为不再对该资源感兴趣,并被服务器从观察者列表中删除。

  3. 当服务器认为客户端不再对资源感兴趣或客户端要求取消订阅资源时,观察停止。

  4. 有一个众所周知的相对 URI“/.well-known/core”。它被定义为默认入口点,用于请求有关服务器托管的资源的链接列表。 Here了解更多信息。

  5. 看 5.

关于linux - CoAP数据包的大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32007807/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com