Projecte

General

Perfil

Tasks » Historial » Versió 8

Axel Neumann, 02-08-2012 10:18

1 1 Pau Escrich
h1. Tasks
2
3
h2. IPv6
4 2 Pau Escrich
5 1 Pau Escrich
Right now qMp is using IPv6 ULA between the mesh nodes as main IP protocol.
6 6 Axel Neumann
However clients can only get IPv4 address (by DHCP). 
7 1 Pau Escrich
8 6 Axel Neumann
A) The first step of this task is to give IPv6 ULA to end users (by radvd announcements)
9 1 Pau Escrich
10 6 Axel Neumann
B) Another needed point is all related with IPv6 public addresses. 
11
   A Gateway node can get an IPv6 network range from its ISP.
12
   When another node wants to use this node as gateway, it ask for an available IPv6 range using AHCP.
13
   Then configure it to some interface (br-lan?) and give public IPv6 addresses to end users (by radvd announements)
14
15 3 Pau Escrich
h2. Tinc VPN
16 1 Pau Escrich
17
A VPN between qMp nodes is needed to be able to manage them in remote. Tinc seems the best option.
18 3 Pau Escrich
19 1 Pau Escrich
h2. smsfs
20
21
The bmx6 sms is a cool feature which permits to send small messages (represented as files) to all nodes of the network. 
22 6 Axel Neumann
However there is a restriction of XXX bytes per file (or message). 
23 1 Pau Escrich
24 6 Axel Neumann
A) A nice approach would be to create an abstraction layer of this sms feature, something like sms filesystem. 
25
   Then if the maximum size is M and the file size is N (where N > M). 
26
   The file is splited in X parts ( X = N/M ). Also gzip encryption can be used to minimize the network overhead.
27 3 Pau Escrich
28 7 Axel Neumann
B) Alternative approach is to have a rsync-based daemon which uses sms feature only to exchange md5 or sha2 sums
29
   of directories or files and automatically update/sync these with neighbors and other nodes.
30
31
C) Alternative approach is to refactor BMX6 to handle non-atomic descriptions (enable descriptions to be fragmented over multiple packets).
32 1 Pau Escrich
   That would scale much better and solve the above restriction from the root.
33 6 Axel Neumann
34 7 Axel Neumann
D) The fuse module may be used to provide an userspace-transparent filesystem.
35 1 Pau Escrich
   There exist a LUA API for fuse (flu): http://piratery.net/flu/index.html http://hg.piratery.net/flu/overview
36
37
h2. Centralized control
38
39 7 Axel Neumann
System to control all nodes from the network is needed. 
40
41
A) Maybe the SMS plugin can be used to broadcast the commands.
42
43
B) Some security must be implemented too (node A can get instructions from B but not from C).
44
45
C) If security is not ignored I would concentrate on an ssh based approach.
46
   If its simple, the ssh layer can later still be replaced with a future-secure-sms version.
47
   Advantage would be to be reusable for other systems and have no dependencies on BMX6
48
49 1 Pau Escrich
50 4 Pau Escrich
h2. Statistics
51
52 1 Pau Escrich
h2. WPA2 + ADHOC
53
54
h2. Iptables Proxy
55
56
h2. bmx6 health daemon
57 6 Axel Neumann
58
 See: http://qmp.cat/issues/155
59 8 Axel Neumann
60
h2. BMX6/SMS MDNS/Avahi plugin
61
62
Avahi (aka Bonjour) is a protocol to announce and share local services within a local network.
63
This way, home computers connected to the same ethernet link can instantly chat or use each others Multimedia repositories, playlists, streaming.
64
Therefore each computer announces its services using multicast messages.
65
66
The goal is to extend this local service announcements over the mesh network.
67
68
The approach is that a mesh router connected to the same link can capture these messages and encapsulate the content in a bmx6 sms message
69
to be propagated to all other routers in a mesh network.
70
An other mesh router finally receives this (avahi) service-advertisement sms, decapsulates the content, and retransmits it on its local ethernet/AP network to all home computers/notebnooks.
71
Read more about this (for olsr) here: http://zioproto.ninux.org/wordpress/2009/04/04/olsrd-mdns-plugin/
72
73
74