The TCP connection is kept alive and TCP Keep-Alive packets are sent when the TCP connection is idle.
But I don't understand why the time between KA is not linear:
first KA is sent 10 seconds after last last TCP message. This is logical and connected with the tcp_keepidle=10 configuration.
then 2nd KA is sent 75 seconds after first KA
Then my client sends some traffic and 23 seconds after last message, a new KA is sent. Another time it was 54 seconds. etc. etc.
Could you explain me where do come from these values of 75 seconds, 23, 54 ?
Everything works well: my client behind NAT is kept connected but I'd like to understand why it does work :-)
Thanks in advance,
Pascal