Rémi Denis-Courmont wrote:
On Friday 25 June 2010 20:46:45 ext Martin Sustrik, you wrote:
I haven't been able to find it but maybe someone knows here: Have there
been a protocol defined for checking whether TCP peer is alive or not?
(I mean one that plays well with networks with various latencies and
throughputs and won't congest the network even if used on a wide scale.)

On most OSes, you can enable TCP keep-alives. Then your TCP socket will return a time out error if the other end "dies". So yes, there is a way to do this at the TCP protocol level.

Unfortunately, there is no standard API to use and configure this feature of TCP. On Linux, you can adjust all parameter on a per-socket basis (refer to
'man 7 tcp' and look for TCP_KEEP for details) though.

There is also no programmatic way to know that the other peer is using keep-
alives or not (should you need to know that anyway).

This is a dumb keepalive option (send heartbeat each N seconds, N being defined by user), right?

What I had in mind whether there ever been an attempt to define dynamic keepalive algorithm that adjusts keepalive intervals according to the observed throughput and roundtrip latency figures (dynamic in the same way as CC dynamically adjusts throughput).

Any ideas?
Martin



_______________________________________________
Ietf mailing list
Ietf@ietf.org
https://www.ietf.org/mailman/listinfo/ietf

Reply via email to