Subject: [core] Ticket #394 - CoAP over TCP: Ping/pong

From: Hannes Tschofenig <[email-masked]>
Date: Fri, 25 Mar 2016 20:05:16 +0100

In https://trac.tools.ietf.org/wg/core/trac/ticket/394 Klaus provided
feedback for the CoAP over TCP draft and wrote:

"
Do we need ping/pong messages to keep an idle connection alive through NATs?
"

There are various options for doing keeping state at NATs (and stateful
packet filtering firewalls) alive:

- Normally, an application performs retransmissions to keep state
information alive (at the server side and also at intermediate devices).

- TCP also offers a keep-alive message.

- There is functionality in TLS (the heartbeat messages) that allow a
state to be kept alive but those are obviously only available when you
use TLS/DTLS. The DTLS/TLS profile document talks about those.

It would be interesting to hear what the experience with these
mechanisms is. I will check with our guys. Does anyone have feedback?

Ciao
Hannes

---

From: Julien Vermillard <[email-masked]>
Date: Sat, 26 Mar 2016 12:02:13 +0100

Hi,

  > TCP also offers a keep-alive message.

This a "optional" feature and it's filtered on cellular network, so I never
use it outside of local networks.

HTH

--
Julien Vermillard

On Fri, Mar 25, 2016 at 8:05 PM, Hannes Tschofenig <
[email-masked]> wrote:

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

---

From: Hannes Tschofenig <[email-masked]>
Date: Sat, 26 Mar 2016 14:53:13 +0100

Hi Julien,

thanks for your remark.

You are right that this is an optional feature, which we could
(theoretically) turn into a mandatory feature if people in this group
think it is useful.

Regarding the filtering do you have a reference that we could cite or is
this rather anecdotal evidence?

Ciao
Hannes

On 03/26/2016 12:02 PM, Julien Vermillard wrote:
> This a "optional" feature and it's filtered on cellular network, so I
> never use it outside of local networks.
> 
> HTH
> 
> --
> Julien Vermillard
> 
> On Fri, Mar 25, 2016 at 8:05 PM, Hannes Tschofenig
> <[email-masked] <mailto:[email-masked]>> wrote:
> 
>     [email-masked] <mailto:[email-masked]>

---

From: Julien Vermillard <[email-masked]>
Date: Sat, 26 Mar 2016 15:21:06 +0100

I'm talking about the TCP keepalive feature.

In fact it's an optional feature of the TCP stack:

https://tools.ietf.org/html/rfc1122#page-101

Implementors MAY include "keep-alives" in their TCP
            implementations, although this practice is not universally
            accepted.

>From my personal experience some router/proxy may not retransmit TCP
keep-alive.
Le sam. 26 mars 2016 14:53, Hannes Tschofenig <[email-masked]> a

---

From: Hannes Tschofenig <[email-masked]>
Date: Sat, 26 Mar 2016 15:50:23 +0100

Hi Julien,

but the DTLS/TLS heartbeat functionality is also an optional feature and
hence there is not much difference.

However, routers dropping the TCP keep-alive would indeed be a problem.
I will ask the Transport Area Directorate for feedback on this issue.

Ciao
Hannes

On 03/26/2016 03:21 PM, Julien Vermillard wrote:
> Le sam. 26 mars 2016 14:53, Hannes Tschofenig <[email-masked]
> <mailto:[email-masked]>> a écrit :
> 
>     Hi Julien,
> 
>     thanks for your remark.
> 
>     > <[email-masked] <mailto:[email-masked]>
>     <mailto:[email-masked]
>     <mailto:[email-masked]>>> wrote:
>     >
>     >     [email-masked] <mailto:[email-masked]> <mailto:[email-masked]
>     <mailto:[email-masked]>>

---

From: Christian Groves <[email-masked]>
Date: Tue, 29 Mar 2016 17:48:02 +1100

Hello Hannes,

If using ICE https://tools.ietf.org/html/rfc7675 could be used as a 
keepalive for CoAP. Although the 30s freshness period may be too short 
for constrained devices.

Regards, Christian