Ted,
The obvious problem is that heartbeats can thus sit in transmit buffer
waiting to be delivered. They can even be retransmitted. Etc. In any
case the functionality they are supposed to provide is pretty heavily
distorted.
FWIW, I don't think it matters if the keepalives are stuck in a TCP
transmit buffer or in a multi-continent routing loop. If the
application needs to hear from its peer every N seconds and it doesn't,
they're disconnected.
Yes. That's true for dumb keepalive algorithm as described in the
previous email.
However, if you want something more sensible (presumably something like
SCTP's heartbeats) you need to take current RTO into account. That's
something you can't do on top of TCP.
If TCP can't meet an application's requirements, the developers need to use
something else.
Exactly. Moving to SCTP would solve the problem. However, what you see
in the wild is thousands of applications implementing dumb (and pretty
faulty) heartbeat strategies on top of TCP rather than moving to SCTP.
That's why I thought there may have been an attempt to standardise the
heartbeat algorithm in the past.
Martin
_______________________________________________
Ietf mailing list
Ietf@xxxxxxxx
https://www.ietf.org/mailman/listinfo/ietf