Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the size of CoAP packet?

I'm new for this technology, can somebody help me to know about some doubt?

Q-1. What is the size of CoAP packet?
(I know there is 4 byte fixed header, but what is the maximum size limit including header, option and payload?)

Q-2. Is there any concept for Keep Alive like MQTT?
(It works on UDP for how much time it keeps open the connection, is there any default time or it keeps open every time when we send packet?)

Q-3. Can we use CoAP with TCP?
(Main problem with it CoAP is it works on UDP, is there any concept like MQTT QoS? Let's say a sensor publishes some data every one second, if subscriber goes offline, is there any surety in CoAP that subscriber will get all the data when it come online?)

Q-4. What is the duration of connection?
(CoAP supports publish/subscribe architecture, may be it needs connection open all the time, is it possible with CoAP whether it is based on UDP.)

Q-5. How does it discover the resources?
(I have one gateway and 5 sensors, how will these sensors connect to the gateway? Will the gateway find these sensors? Or will sensors find the gateway?)

Q-5. How does sensor register with gateway?

Please help me, I really need answer. I'm all new for these kind of things and suggest me something for implementation point of view.

Thanks.

like image 613
Ankit Avatar asked Aug 14 '15 10:08

Ankit


People also ask

What is the header size of CoAP protocol *?

messages over UDP between end-points. CoAP uses a short fixed-length binary header (4 bytes) that may be followed by compact binary options and a payload. This message format is shared by requests and responses. The CoAP message format is specified in . Each message contains a Message ID used to detect duplicates and ...

What is CoAP message format?

CoAP makes use of two message types, requests and responses, using a simple, binary, base header format. The base header may be followed by options in an optimized type–length–value format. CoAP is by default bound to UDP and optionally to DTLS, providing a high level of communications security.

What is CoAP protocol in IoT?

CoAP a customary client-server IoT protocol. It enables clients to make requests for web transfers as per the need of the hour. On the other hand, it also let supporting servers to respond to arriving requests. In summary, devices' nodes in the IoT ecosystem are enabled to interact over through CoAP only.


1 Answers

  1. It Depends:
  • Core CoAP messages must be small enough to fit into their link-layer packets (~ 64 KiB for UDP) but, in any case the RFC states that:
    • it SHOULD fit within a single IP packet to avoid IP fragmentation (MTU of 1280 for IPv6). If nothing is known about the size of the headers, good upper bounds are 1152 bytes for the message size and 1024 bytes for the payload size;
    • or less to avoid adaptation layer fragmentation (60-80 bytes for 6LoWPAN networks);
  • if you need to transfer larger payloads, this IETF draft extends core CoAP with new options for transferring multiple blocks of information from a resource representation in multiple request-response pair (so you can transfer more than 64KiB per message).
  1. I never used MQTT, in any case CoAP is connectionless, requests and responses are exchanged asynchronously over UDP or DTLS. I suppose that you are looking for the observe functionality: it enables CoAP clients to "subscribe" to resources and servers to send updates to subscribed clients over a period of time.

  2. There is an IETF draft describing CoAP over TCP, but I don't know how it interacts with the observe functionality: usually It follows a best-effort approach, it just happens that the client is considered no longer interested in the resource and is removed by the server from the list of observers.

  3. The observe stops when the server thinks that the client is no longer interested in the resource or when the client ask to unsubscribe from the resource.

  4. There is a well-known relative URI "/.well-known/core". It is defined as a default entry point for requesting the list of links about resources hosted by a server. Here for more infos.

  5. Look at 5.

like image 130
Jiloc Avatar answered Sep 24 '22 14:09

Jiloc