Objectives

Version 1 (Pau Escrich, 10/05/2013 09:20 am)

1 1 Pau Escrich
h1. Objectives
2 1 Pau Escrich
3 1 Pau Escrich
h2. Main characteristics
4 1 Pau Escrich
5 1 Pau Escrich
* Suitable for rapid deployments as well as for stable community networks
6 1 Pau Escrich
* Ability to scale to thousands of nodes connecting different network clouds
7 1 Pau Escrich
* Complete auto-configuration, with the option for different levels of manual tunning #5
8 1 Pau Escrich
* Roaming within network clouds
9 1 Pau Escrich
* Automatic Internet access detection and sharing
10 1 Pau Escrich
* Dual stack IPv6/IPv4
11 1 Pau Escrich
* Dynamic global and local hostname resolution
12 1 Pau Escrich
* Decentralized network mapping and monitoring #6
13 1 Pau Escrich
* Based on OpenWRT
14 1 Pau Escrich
* Free Software
15 1 Pau Escrich
16 1 Pau Escrich
h3. Agreements
17 1 Pau Escrich
18 1 Pau Escrich
* Use Lua whenever possible instead of shell scripts
19 1 Pau Escrich
* Guarantee a minimal mtu of 1350
20 1 Pau Escrich
* Do not go over 0.64Mbit/s of routing overhead (we are estimating this should scale to 5k nodes with an average of 4 neighbors per node, considering an overhead of 4byte/s per node added to the net).
21 1 Pau Escrich
* Roaming should maintain persistent connections where possible
22 1 Pau Escrich
* The firmware should be structured as feed for OpenWRT
23 1 Pau Escrich
24 1 Pau Escrich
h3. Firmware components:
25 1 Pau Escrich
26 1 Pau Escrich
* Auto-config scripts (base config, gateway mode, etc.)
27 1 Pau Escrich
* Manual configuration web interface (LUCI-based)
28 1 Pau Escrich
* Safe config testing with revert-on-failure capability
29 1 Pau Escrich
* Shell tools for node management ("qmpcontrol")
30 1 Pau Escrich
* Tools to measure and monitor the network (aggregated data (like byte count) push/pull, more something like netflow (push only) ?)
31 1 Pau Escrich
** Antenna alignment tools
32 1 Pau Escrich
** Bandwidth measurement tool (actual tools rely on userspace programs, it would be better to find an in kernel solution ( seems ubiquity have a proprietary in kernel solution already ) because of limited CPU on devices; investigate arbitrary routing loops for throughput testing)
33 1 Pau Escrich
** Wireless and network info (spectral analysis, signal, noise... both Push (with the agent) and Pull (via luci uhttpd) ?)
34 1 Pau Escrich
* Splash screen/captive portal
35 1 Pau Escrich
* Simple upgrade system
36 1 Pau Escrich
* Regulatory domain unlocker
37 1 Pau Escrich
* Versatile ping watchdog (watchping)
38 1 Pau Escrich
* Internet sharing control and configuration (some openwisp components?)
39 1 Pau Escrich
40 1 Pau Escrich
h3. Associated tools and projects
41 1 Pau Escrich
42 1 Pau Escrich
* Descentralized network map (altermap, b6m)
43 1 Pau Escrich
* Mesh tunnel broker for IPv6 provision (librenet6)
44 1 Pau Escrich
* Tinc VPN for remote node management (synctincvpn) #15
45 1 Pau Escrich
* Remote configuration administration and history (ruci + web/gui)
46 1 Pau Escrich
* Firmware customization and build tools (chef, qmpfw?)
47 1 Pau Escrich
* LUPI, a Lua API for OpenWRT #3
48 1 Pau Escrich
* route validity checking (similar to eigenNet's babeld-route-share)