its: Engels voor "van het" - 3e persoon enkelvoud, genitief, onzijdig
[oweals/tinc.git] / doc / CONNECTIVITY
1 This document describes how nodes in a VPN find and connect to eachother and
2 maintain a stable network.
3
4    Copyright 2001-2002 Guus Sliepen <guus@sliepen.eu.org>
5
6    Permission is granted to make and distribute verbatim copies of
7    this documentation provided the copyright notice and this
8    permission notice are preserved on all copies.
9
10    Permission is granted to copy and distribute modified versions of
11    this documentation under the conditions for verbatim copying,
12    provided that the entire resulting derived work is distributed
13    under the terms of a permission notice identical to this one.
14
15    $Id: CONNECTIVITY,v 1.1.2.11 2002/09/16 14:08:04 wsl Exp $
16
17 1. Synchronisation
18 ==================
19
20 Each tinc daemon has zero or more connections to other tinc daemons. It will
21 try to keep its own information synchronised with the other tinc daemons. If
22 one of its peers sends information, the tinc daemon will check if it is new
23 information. If so, it will update its own information and forward the new
24 information to all the other peers.
25
26 This scheme will make sure that after a short amount of time all tinc daemons
27 share the same information. It will also almost completely prevent information
28 from looping, because "new" information that is already known is ignored and
29 not forwarded any further. However, since information can also be deleted
30 there's the possibility of a looping sequence of add/delete messages. This is
31 resolved by additionaly adding a unique identifier to each broadcasted message.
32 Messages are dropped if the same message with that identifier has already been
33 seen.
34
35 2. Routing
36 ==========
37
38 Every node tells its peers to which other peers it is connected. This way
39 every node will eventually know every connection every node has on the VPN.
40 Each node will use graph algorithms to determine if other nodes are reachable or not and
41 what the best route is to other nodes.
42
43 Because all nodes share the same information, using a deterministic algorithm
44 each node will calculate the same minimum spanning tree for the entire VPN.
45 The MST will be used to send broadcast VPN packets.