proposal: unstable l2 mode
folkert
folkert at vanheusden.com
Wed Apr 17 21:07:31 CEST 2013
Hi,
I propose a configuration file change to the files containing the public
key and the setting for a host:
unstable_network_connection=true/false (enables the following
settings)
unc_backlog_size=x (where x is in MB)
unc_backlog_n=z (where z is number of packets)
unc_resent_interval=y (where y is n seconds, e.g 1.1)
unc_backoff_multi=b (with what factor to multiply y each y
interval when the other end still not confirms any packets)
unc_giveup_time=a (in seconds)
This could enable a mode where each packet must be confirmed by the
other side.
This is usefull in unstable connections. For example when you're
connected via umts and you experience cell take-overs. This happens
while driving in a car/train. In that case you will see loads of dropped
packets and also packets in a completely different order (I've seen
sequence numbers going like 1 5 3 4 9 7 8 10 12 13 etc).
Of course a vpn-connection would need to use UDP for this to be usefull.
While not a packet is not confirmed, it is resend each y seconds until
it is confirmed.
A maximum of z packets are stored or a maximum of xMB packets are
stored, whatever is the smallest: then older packets are discarded.
Whenever we've been retrying sending a packet for longer than 'a'
seconds, then it is discarded.
Preferably 'y' should be less then half of the maximum tcp-no-response
timeout but that can be determined later.
Value 'a' can be set to the maximum tcp-no-response timeout (or less).
Making these values configurable makes it possible to tune them for
specific protocols which are transported over the vpn. If it is possible
to auto-tune these settings: even better!
Folkert van Heusden
--
Feeling generous? -> http://www.vanheusden.com/wishlist.php
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
More information about the tinc
mailing list