Objectives¶
Main characteristics¶
- Suitable for rapid deployments as well as for stable community networks
- Ability to scale to thousands of nodes connecting different network clouds
- Complete auto-configuration, with the option for different levels of manual tunning #5
- Roaming within network clouds
- Automatic Internet access detection and sharing
- Dual stack IPv6/IPv4
- Dynamic global and local hostname resolution
- Decentralized network mapping and monitoring #6
- Based on OpenWRT
- Free Software
Agreements¶
- Use Lua whenever possible instead of shell scripts
- Guarantee a minimal mtu of 1350
- 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).
- Roaming should maintain persistent connections where possible
- The firmware should be structured as feed for OpenWRT
Firmware components:¶
- Auto-config scripts (base config, gateway mode, etc.)
- Manual configuration web interface (LUCI-based)
- Safe config testing with revert-on-failure capability
- Shell tools for node management ("qmpcontrol")
- Tools to measure and monitor the network (aggregated data (like byte count) push/pull, more something like netflow (push only) ?)
- Antenna alignment tools
- 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)
- Wireless and network info (spectral analysis, signal, noise... both Push (with the agent) and Pull (via luci uhttpd) ?)
- Splash screen/captive portal
- Simple upgrade system
- Regulatory domain unlocker
- Versatile ping watchdog (watchping)
- Internet sharing control and configuration (some openwisp components?)
Associated tools and projects¶
- Decentralized network map (altermap, b6m)
- Mesh tunnel broker for IPv6 provision (librenet6)
- Tinc VPN for remote node management (synctincvpn) #15
- Remote configuration administration and history (ruci + web/gui)
- Firmware customization and build tools (chef, qmpfw?)
- LUPI, a Lua API for OpenWRT #3
- route validity checking (similar to eigenNet's babeld-route-share)
Loading...