Hello Marcel,

> On 11 Jun 2019, at 13:28, Marcel Waldvogel <marcel.waldvo...@uni-konstanz.de> 
> wrote:
> 
> Why not just enable TCP keepalives? It is essentially a whitespace ping, 
> except it does not propagate to the application.

As I understand it, TCP keepalives triggers after hours. The goal of whitespace 
keepalive is to detect connection loss in a matter of minutes or seconds. This 
is what you want in a mobile chat context, when you have bad network conditions 
and when the connection is expected to fail often.

See RFC 1122 for example: https://tools.ietf.org/html/rfc1122#page-101 
<https://tools.ietf.org/html/rfc1122#page-101>
The default must be at least two hours:

            Keep-alive packets MUST only be sent when no data or
            acknowledgement packets have been received for the
            connection within an interval.  This interval MUST be
            configurable and MUST default to no less than two hours.

TCP keep-alive configuration is very low level. On Linux this is configured as 
a global OS parameters (so not configurable per connection).

I do not think that TCP keep-alives are helpful to make mobile connections more 
reliable.

> If you need something at the application level, then do something at the XMPP 
> level, such as stream management.


The goal is to save bandwidth and CPU parsing time on both the client and the 
server. When you have to handle a lot of clients, the whitespace keepalive 
makes a huge difference.

-- 
Mickaël Rémond

_______________________________________________
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
_______________________________________________

Reply via email to