Subject: [core] Duplicates Dedection

From: Guido Moritz <[email-masked]>
Date: Fri, 13 May 2011 10:15:07 +0200

For duplicates detection, coap-06 defines that matching can be made through
the Message ID. Wouldn't it be useful also to have a few words that for
matching purposes the source address should be considered as well. (Not the
port since each MID must be unique for the same address)

We have a scenario in mind with a huge amount of sensor nodes, all from the
same vendor, all with the same firmware. All are starting and using the same
(not optimal) randomize algorithm for the initial MID and suddenly there is
a high probability for the same MID to be received from to different
endpoints. In this case duplicates cannot only be detected on the CoAP
level.

This might be too implementation specific, but having a few words on using
also the address might be helpful.

Best,
Guido

---

From: Zach Shelby <[email-masked]>
Date: Fri, 13 May 2011 13:31:18 +0300

Guido,

> port since each MID must be unique for the same address)

Yes, we have been meaning to add a few words related to this but for a different problem.

> endpoints. In this case duplicates cannot only be detected on the CoAP

Right, so you are referring to this text:

" A recipient MUST be prepared to receive the same confirmable message
   (as indicated by the Message ID) multiple times, for example, when
   its acknowledgement went missing or didn't reach the original sender
   before the first timeout.  The recipient SHOULD acknowledge each
   duplicate copy of a confirmable message using the same
   acknowledgement or reset message, but SHOULD process any request or
   response in the message only once."

The intention is that this should be per source IP address, so we should change:

 (as indicated by the Message ID) -> (as indicated by the Message ID and source IP address)

In addition... you do run into a problem with a very large M2M service which is making requests to a large number of M2M devices running CoAP servers. If you keep a single MID pool here you can easily run out. One implementation strategy to deal with that is to keep a separate MID for each destination IP address, or for example for groups of nodes.   I think we need some text about that as well.

> also the address might be helpful.

Will make a ticket to clarify these.

Zach

> 
> Best,
> Guido
> 
> 
> 
> _______________________________________________
> core mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/core

-- 
Zach Shelby, Chief Nerd, Sensinode Ltd.
http://zachshelby.org  - My blog "On the Internet of Things"
http://6lowpan.net - My book "6LoWPAN: The Wireless Embedded Internet"
Mobile: +358 40 7796297

---

From: Guido Moritz <[email-masked]>
Date: Fri, 13 May 2011 12:49:47 +0200

>  (as indicated by the Message ID) -> (as indicated by the Message ID and
Most platforms surely will provide mechanisms to extract the IP source
address. But should CoAP rely on? Maybe a bit more relaxed wording would be:
(as indicated by the Message ID and if required supplemented by additional
information like the source IP address)

Guido

> -----Ursprüngliche Nachricht-----
> Von: Zach Shelby [mailto:[email-masked]]
> Gesendet: Freitag, 13. Mai 2011 12:31
> An: Guido Moritz
> Cc: 'core'
> Betreff: Re: [core] Duplicates Dedection
> 
> Guido,
> 
> In addition... you do run into a problem with a very large M2M service
which
> is making requests to a large number of M2M devices running CoAP servers.
> If you keep a single MID pool here you can easily run out. One
> implementation strategy to deal with that is to keep a separate MID for
each
> destination IP address, or for example for groups of nodes.   I think we
need
> some text about that as well.
>

---

From: Carsten Bormann <[email-masked]>
Date: Fri, 13 May 2011 12:57:17 +0200

On May 13, 2011, at 12:49, Guido Moritz wrote:

> address.

(And port...)
If they don't -- how do you send packets back?
Destination address/port is harder.
(See also the last paragraph of 10.3.3.)

Gruesse, Carsten

---

From: Guido Moritz <[email-masked]>
Date: Fri, 13 May 2011 13:09:36 +0200

> (And port...)
The port has no new information, since each MID is unique for each message
from the same source. This is only required if there is the same MID from
different sources. The source port can still be the same for both.

> If they don't -- how do you send packets back?
You can't. In the best case only one of the duplicates is answered and
timeouts and retries have to solve it.

Guido

> Von: Carsten Bormann [mailto:[email-masked]]
> Gesendet: Freitag, 13. Mai 2011 12:57
> An: Guido Moritz
> Cc: 'Zach Shelby'; 'core'