Packet loss with LocalDiscovery
Etienne Dechamps
etienne at edechamps.fr
Mon Jul 15 20:45:04 CEST 2013
Hi,
I believe I have found a bug with regard to the LocalDiscovery feature.
This is on tinc-1.1pre7 between two Windows nodes.
Steps to reproduce:
- Get two nodes talking using LocalDiscovery (e.g. put them on the same
LAN behind a NAT with no metaconnection to each other)
- Make one ping the other.
Expected result:
- The two nodes should ping each other without any packet loss,
hopefully at LAN latencies.
Actual result:
- I'm experiencing packet loss every (PingInterval) seconds. Each packet
loss "episode" lasts roughly 1 second and during that time all packets
are lost. Apparently it happens each time the nodes are exchanging PMTU
probes. Packet loss correlates with "Sending/Got MTU probe" messages. It
also materializes in the form of "Received UDP packet from unknown
source <LAN Address>" messages.
- There seems to be some "flapping" with regard to the local host
discovery itself, meaning that it sometimes reverts to the "normal" mode
of communication for a brief time for no reason. This can be seen as
elevated latencies.
For aggressive PingInterval values (e.g. 3 seconds) this makes the link
between the two nodes basically unusable with 30%+ packet loss.
My hypothesis is that during PMTU discovery tinc "forgets" about the
other node's locally discovered address, which results in packet loss
because it doesn't recognize packets coming from the local address
anymore and makes it revert to "classic mode" for a brief time. Then
after a moment local discovery kicks in again and fixes the situation,
until PMTU discovery happens again, and so on.
I will continue investigating and try to come up with a fix.
--
Etienne Dechamps
More information about the tinc-devel
mailing list