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) |