Difference between revisions of "Mesh/Network topology"

Line 26: Line 26:
:These do not run the meshing protocol.
:These do not run the meshing protocol.
*Mesh nodes: Wifi routers running OpenWRT.
*Mesh nodes: Wifi routers running OpenWRT.
:Some are rooftop backbone nodes and some are street-level or in-home nodes.
:This includes home nodes and their extender nodes
*Relays: Professionally hosted servers that relay mesh traffic over the internet.
*Relays / [[Mesh/VPuN|VPuN servers]]: Professionally hosted servers that relay mesh traffic over the internet.
:These run the meshing protocol. Mesh nodes are connected with L2TP tunnels to them.
:These run the meshing protocol. Mesh nodes are connected to them with L2TP tunnels.
*Exit nodes: Co-located servers that appear as the source IP for packets from mesh to internet.
*Exit nodes: Co-located servers that appear as the source IP for packets from mesh to internet.
:Both relays and exit nodes serve as a layer of protection between people sharing their internet connections with the mesh.
:Both relays and exit nodes serve as a layer of protection between people sharing their internet connections with the mesh. A relay can also be an exit server and this may in fact end up being the case in most instances.


Some mesh routers will be hosted in homes that already have internet connections. If an internet connection is available, a mesh router will open an L2TP tunnel (using the tunneldigger software) to several relay nodes over the internet connection. A relay could be e.g. a VPS without a bandwidth cap. The relays all run batman-adv and function as part of the mesh through the L2TP tunnels to the mesh nodes. Each relay will have a connection to an exit nodes. The relays allow segments of the mesh that are not connected with wifi to be connected over the internet.
Some mesh routers will be hosted in homes that already have internet connections. If an internet connection is available, a mesh router will open an L2TP tunnel (using the tunneldigger software) to several relay nodes over the internet connection. A relay could be e.g. a VPS without a bandwidth cap. The relays all run Babel and function as part of the mesh through the L2TP tunnels to the mesh nodes. Each relay will have a connection to an exit nodes. The relays allow segments of the mesh that are not connected with wifi to be connected over the internet.


Each relay is connected to one exit node (tunnel type not yet decided). It does NAT (IP Masquerading) on traffic coming from the mesh and headed for the internet. All traffic coming from the mesh and going to the wider internet goes through an exit node. The source IP of data coming from the mesh thus appears as the IP of one of the exit nodes. This provides a layer of protection such that e.g. abuse complaints will be sent to the mesh organization instead of the individuals who donate some of their internet bandwidth to the mesh.
Each relay is connected to one exit node (tunnel type not yet decided). It does NAT (IP Masquerading) on traffic coming from the mesh and headed for the internet. All traffic coming from the mesh and going to the wider internet goes through an exit node. The source IP of data coming from the mesh thus appears as the IP of one of the exit nodes. This provides a layer of protection such that e.g. abuse complaints will be sent to the mesh organization instead of the individuals who donate some of their internet bandwidth to the mesh.
:Until network has an AS, only one exit node should be made and multiple relay nodes should connect to that exit node (Tunneldigger software can be reused for that). Otherwise clients can have issues when routing protocol decides to move from one exit node to another. But it is true that batman-adv has some protection against that, so that once a client decides for a gateway, it should be more or less sticky, no?
:Until network has an AS, only one exit node should be made and multiple relay nodes should connect to that exit node (Tunneldigger software can be reused for that). Otherwise clients can have issues when routing protocol decides to move from one exit node to another. But it is true that batman-adv has some protection against that, so that once a client decides for a gateway, it should be more or less sticky, no?
:It is important that nodes are connecting to relays and relays to exit nodes and that no IPs of those connecting to relays and exit nodes is stored.
:It is important that nodes are connecting to relays and relays to exit nodes and that no IPs of those connecting to relays and exit nodes is stored.