Mesh and scalability

Etienne Dechamps etienne at edechamps.fr
Fri Jun 5 01:00:02 CEST 2015


On 4 June 2015 at 22:36, Johannes Ernst <johannes.ernst at gmail.com> wrote:
> It seems to me that if Node B is supposed to be able to send stuff directly to Node C (instead of Node A), Node B needs to know where Node C is. Does this mean that each Node has to have a complete network map? This seems to become very unwieldy with larger deployments.

Yes, each node knows about the entire graph and the physical address
of every node.

> How far does tinc reasonably scale up, in terms of nodes?

I've not done any large scale tinc deployment, but I would guess it
should be able to handle at least 100. Maybe 1000, but that's less
clear. It also depends on how much "activity" there is on the graph
(e.g. nodes connecting and disconnecting), because such activity is
broadcast to every single node.

> Also, what happens if some of those Nodes keep changing their IP address, e.g. because they are on laptops moving from WiFi hotspot to hotspot, and the like?

tinc should be able to handle that just fine, it is designed to be
used in hostile network environments such as these. Just make sure you
set aggressive timeouts so that tinc notices quickly when the network
environment changes. That said, as mentioned above, such events do
generate messages that are broadcast to the entire graph, which can
become expensive if it happens frequently and the graph contains a
large number of nodes.


More information about the tinc mailing list