CoAP包的大小是多less?

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

Q-1。 CoAP包的大小是多less?
(我知道有4个字节的固定标题,但包括标题,选项和有效载荷的最大大小限制是多less?)

Q-2。 有没有像MQTT一样保持活力的概念?
(它在UDP上工作了多less时间,它保持打开连接,有没有默认的时间,或者每次发送数据包的时候都保持打开状态?)

Q-3。 我们可以使用CoAP与TCP?
(主要问题是CoAP是否可以在UDP上运行,有没有像MQTT QoS这样的概念?假设一个传感器每隔一秒发布一些数据,如果用户下线了,CoAP中是否有保证用户将获得所有数据它来上网?)

Q-4。 什么是连接的持续时间?
(CoAP支持发布/订阅体系结构,可能它需要连接一直打开,使用CoAP是否可能是基于UDP的。)

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

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

请帮助我,我真的需要回答。 我对这些东西都是新的,并且为实现的观点提出了一些build议。

谢谢。

Solutions Collecting From Web of "CoAP包的大小是多less?"

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

  3. 有一个描述CoAP over TCP的IETF草案 ,但我不知道它是如何与观察功能交互的:通常它遵循一个尽力而为的方法 ,只是发生客户端被认为不再对资源感兴趣而被移除由观察员列表中的服务器。

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

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

  6. 看看5。