README 2 KB
Newer Older
Guillaume Bury's avatar
Guillaume Bury committed
1 2 3
==========
 re6stnet
==========
4

Guillaume Bury's avatar
Guillaume Bury committed
5 6 7
---------------------------------------------
Resilient, Scalable, IPv6 Network application
---------------------------------------------
8

Guillaume Bury's avatar
Guillaume Bury committed
9
:Author: Nexedi <re6stnet@erp5.org>
10

Guillaume Bury's avatar
Guillaume Bury committed
11 12
Overview
========
13

Guillaume Bury's avatar
Guillaume Bury committed
14 15 16
re6stnet creates a resilient, scalable, ipv6 network on top of an existing ipv4
network, by creating tunnels on the fly, and then routing targeted traffic
through these tunnels.
17

Julien Muchembled's avatar
Julien Muchembled committed
18
re6stnet can be used to:
19

Guillaume Bury's avatar
Guillaume Bury committed
20
- guarantee connectedness between computers connected to the
Julien Muchembled's avatar
Julien Muchembled committed
21 22 23
  internet, for which there exists a working route (in case the direct route
  isn't available).
- create large networks
Guillaume Bury's avatar
Guillaume Bury committed
24
- give ipv6 addresses to machines with only ipv4 available
25

Guillaume Bury's avatar
Guillaume Bury committed
26 27
HOW IT WORKS
============
28

Julien Muchembled's avatar
Julien Muchembled committed
29 30 31 32
A re6stnet network consists of at least one server (re6st-registry) and many
nodes (re6stnet). The server is only used to deliver certificates for secure
authentification in establishing tunnels, and to bootstrap new nodes.
re6stnet can detect and take into account nodes present on the local network.
33

Guillaume Bury's avatar
Guillaume Bury committed
34 35
Resilience
----------
Julien Muchembled's avatar
Julien Muchembled committed
36
re6stnet guarantees that if there exists a route between two machines,
Guillaume Bury's avatar
Guillaume Bury committed
37
traffic will be correctly routed between these two machines.
Julien Muchembled's avatar
Julien Muchembled committed
38 39
Even if the registry node is down, the probability that the network isn't
connected is very low for big enough networks (more than a hundred nodes).
40

Guillaume Bury's avatar
Guillaume Bury committed
41 42
Scalability
-----------
43

Guillaume Bury's avatar
Guillaume Bury committed
44 45
Since each node has very few data about the network, re6stnet is easily
scalable to tens of thousand of nodes
46

Guillaume Bury's avatar
Guillaume Bury committed
47 48
Requirements
============
49

Julien Muchembled's avatar
Julien Muchembled committed
50
- Python 2.6 or 2.7
Guillaume Bury's avatar
Guillaume Bury committed
51 52
- OpenSSL binary and development libraries
- OpenVPN
Julien Muchembled's avatar
Julien Muchembled committed
53 54 55
- Babel_
- python-miniupnpc for UPnP support (optional)
- for the demo: miniupnpd_, Graphviz, Screen, Nemu_
56

Julien Muchembled's avatar
Julien Muchembled committed
57 58 59 60 61
See also `setup.py` for Python dependencies.

.. _Babel: http://www.pps.univ-paris-diderot.fr/~jch/software/babel/
   _Nemu: http://code.google.com/p/nemu/
   _miniupnpd: http://miniupnp.free.fr/
62

Guillaume Bury's avatar
Guillaume Bury committed
63 64
Installation
============
65

Julien Muchembled's avatar
Julien Muchembled committed
66
re6stnet is distributed as an Python egg, and is also packaged for Debian.
67

Julien Muchembled's avatar
Julien Muchembled committed
68 69
See `re6stnet-registry` to set up a re6st network
and `re6stnet-conf` to join an existing network.