Freifunk attendees had the chance to discuss Community Networks with Linus Torvalds and Dirk Hohndel from Intel at the Google Mentor Summit. Linus said, it was impressive to see the growth of community networks around the world and it is exciting to see so many people working on Linux for embedded devices.
Hi everyone, I'm Alessandro Bucciarelli and I am participating for the first time to Google Summer of Code.
I chose to apply to work on Netengine, a project by Freifunk/Ninux. Netengine is a Python abstraction layer thought to retrieve informations about network configurations, and not only, from multiple couples of network protocols/device firmware.
Actually the main network protocols we are working on are: SNMP, SSH; with HTTP which is an idea for the immediate future.
By the firmware side there are AirOS and OpenWRT which are the most used firmwares among network devices (antennas and other) deployed inside the Ninux network.
Many of the readers, if experienced in the network field, will agree with me in saying that the retrieval of network informations (e.g IP addresses of the interface/s, MAC addresses, routing configurations) is vital.
This aspect is more than vital when you are interacting with remote devices, geographically widespread and sometimes accessible by only unskilled persons, to have a timely diagnostics of the deployed hardware.
The module we are developing tries to solve, and I am sure it will be so, the problem of having informations from the devices REMOTELY, without any kind of further configurations and without any kind of physical interaction with the device.
Wie lebensrettend offene Infrastrukturen sein können, zeigt sich vor allem in Katastrophenszenarien, wie zum Beispiel momentan im Erdbebengebiet in Norditalien. Jetzt berichtet auch Spiegel Online über einen Aufruf der Behörden an die Bürger ihren WLAN-Zugang zum Internet zu öffnen, um die Kommunikation von Rettungskräften zu erleichtern.
Italiens Norden wird von Erdbeben erschüttert, die Rettungskräfte arbeiten pausenlos. Die Kommunikation ist schwierig, weil Telefon- und Handynetze teilweise zusammengebrochen sind. Nun rufen Städte und Gemeinden der betroffenen Region die Bürger auf, ihre heimischen W-Lan-Anschlüsse in freie Hotspots zu verwandeln und dafür den Passwortschutz kurzfristig aufzuheben. (http://www.spiegel.de/netzwelt/web/....)
Auf Republicca können die Italiener nun nachlesen, wie der Zugang geöffnet wird:
PER CONSENTIRE a tutti coloro che non riescono a comunicare via cellulare di collegarsi ad internet, molti comuni invitano i cittadini dei paesi colpiti dal terremoto di oggi ad aprire la propria rete wi-fi domestica. (http://www.repubblica.it/cronaca/2012/05/29/news/i...)
Der Kommentar von Reto Mantz dazu:
Der Fall wirft ein deutliches Schlaglicht auf die Relevanz des Zugangs zum Internet und allgemein des Zugangs zu Kommunikationssystemen. Und letztlich ist dieser Punkt auch in rechtlicher Hinsicht beachtlich: Wenn eine Kommunikationsstruktur zur Begehung von Rechtsverletzungen genutzt wird, greift potentiell das deutsche Konstrukt der Störerhaftung: Der Anschlussinhaber soll als Mitwirkender an der Rechtsverletzung des (möglicherweise unbekannten) Dritten wenigstens auf zukünftige Unterlassung haften. Nun zeigt das Beispiel der italienischen Städte und Gemeinden, dass ein offenes WLAN nicht Gefahrenquelle ist ..., sondern eine wichtige gesellschaftliche Funktion erfüllt. ... Auch wenn der Aufruf der italienischen Städte nur der vorübergehenden Öffnung von WLANs dienen soll, zeigt er doch, wie wichtig heutzutage der freie Zugang zu Kommunikationsstruktur ist, nicht nur zur Überbrückung des sog. Digital Divide. (http://www.retosphere.de/offenenetze/2012/06/02/funktion-und-bedeutung-des-wlan-acess...)
Zu hoffen bleibt, dass die Erkenntnis, wie wichtig und lebensrettend offene Netze sein können sich auch längerfristig in Italien durchsetzt. Bei vielen Bürgern ist dies bereits vor Langem angekommen. Die Bürgernetze von Ninux.org in Italien wachsen beständig. Wann wird sich diese Erkenntniss auch in der Politik in Deutschland durchsetzen und wann werden die gesetzlichen Beschränkungen und Abmahnfallen für Betreiber freier Netze endlich abgebaut?
Freifunk.net and Ninux.org have been accepted as mentor organizations for the Google Summer of Code 2012. It is fantastic news that the growing international free networks community is now represented by two organizations in the study program.
If you are looking for more information on how to participate get in touch with your local wireless community or introduce your ideas on the wiki or Wlanware mailing list. People on the list will direct you to specific subprojects and contact points if needed.
Freifunk.net is an umbrella organization for wlan networks and community projects around the world and welcomes student applications for software tools to build and enhance free networks including:
* projects for routing protocols like OLSR, B.A.T.M.A.N. or other freely licensed protocols
* firmwares for routers and software for network devices
* software for network specific content creation like network CMS'
* any other network related software project
If you are a student there are important links to follow:
* Idea Page: http://wiki.freifunk.net/Ideas
* Student Check List: http://wiki.freifunk.net/Student_Check_List
* Mailing List http://freifunk.net/mailman/listinfo/wlanware
* Freifunk GSoC Page http://www.google-melange.com/gsoc/org/show/google/gsoc2012/freifunk
* Google Open Source Programs: http://socghop.appspot.com
There is an info day on March 15 in Rome. You can also meet many contributors to the community at the battle of the mesh in Athens from March 26-April 1: http://battlemesh.org/BattleMeshV5
The next 'Wireless Battle of the Mesh' will take place from Wed 2nd till Sun 6th of June in Bracciano (near Rome), Italy. The event aims to bring together people from across Europe to test the performance of different routing protocols for ad-hoc networks, like Babel, B.A.T.M.A.N., and OLSR. This third WBM will be improving the testbed conditions for mesh protocols with standardized testing procedures that will be reported after the event for the wireless communities.
On the development side, a flashing tool will be presented to simplify the deployment of such wireless networks based on OpenWrt stable release and packages for each protocol.
If you are a mesh networking enthusiast, community networking activist, or have an interest in mesh networks you have to check this out!
The Wireless Battle of the Mesh is an event that aims at bringing together people from across Europe to test the performance of different routing protocols for ad-hoc networks, like Babel, B.A.T.M.A.N., OLSR, and Static Routing. It is a tournament with a social character. If you are a mesh networking enthusiast, community networking activist, or have an interest in mesh networks you might want to check this out! The goal of the WirelessBattleMesh events is to set-up hands-on testbed for each available mesh routing protocol with a standard test procedure for the different mesh networks. During the different WBM events, similar hardware and software configuration will be used based on the OpenWRT BoardSupportPackage and packages for each protocol implementation. The WBM events are also a great opportunity to develop testing tools for PHY/MAC radio layers (drivers, scripts and PHY analyzers).
The Ninux.org team announced the first “Ninux Day”, a weekend with about and for wireless communities. You will meet software and hardware hackers, geeks, nerds, engineers, artists, the curious and academics. Experts from all over Europe offer technical and social presentations in the area of wireless community networks.
Join the Ninux Days in Rome, Italy, from November 27-29, 2009.
More Info here:
* http://wiki.ninux.org/NinuxDay2009en (English)
* http://wiki.ninux.org/NinuxDay2009it (Italian)
* Announcement: http://blog.ninux.org/2009/09/03/ninux-day-2009
* Ninux Blog http://blog.ninux.org
Saverio Proto (ZioPRoTo) has the released the olsr OBAMP plugin, that was a freifunk project for the Google Summer Of Code. The OBAMP plugin allows multicast traffic to be forwarded in a OLSR mesh network. OBAMP is an overlay protocol. It first makes a mesh network with overlay links (udp tunnels) between the OBAMP nodes, and then it creates a distribution spanning tree over these mesh links.
This version of the OBAMP protocol, implemented as an OLSR plugin, is a simplified one for Wireless Community Networks, where we assume the nodes to be in fixed positions on the roof of the houses. Protocol features regarding mobility have not been implemented (yet).
To explain how the plugin works consider the scenario in the following figure:
There are 7 routers, where only 5 have the OBAMP plugin working. Router 1 2 and 6 also have an attached HNA network with some hosts.
OBAMP nodes generate OLSR OBAMP_ALIVE messages, these OLSR messages are forwarded in the whole network (also by the nodes that do not understand OBAMP thanks to the OLSR design). Because of the flooding mechanism every OBAMP node has a complete list of all the other OBAMP nodes in the mesh network. Every OBAMP node listens on the UDP port 6226 for OBAMP signalling.
When a OBAMP nodes starts it has 5 timers to periodically start operations:
OBAMP_alive_timer: every obamp node sends alive messages to advertise its presence to the other obamp nodes in the network. In the alive message every nodes states its IP address, and if it has already a tree link or not (we will see later this information is important for the outer tree create procedure).
The OBAMP network must have a member called “Core”, that starts the TREE_CREATE procedure. The core is the node with the smallest IP address. When the list of known OBAMP nodes changes, the Core Election procedure is eventually called.
mesh_create_timer: every obamp node every OBAMP_MESH_CREATE_IVAL evaluates how far the other obamp nodes are and selects a subset of nodes to keep mesh links with. Note that to reduce signalling and to increase scalability, the overylay mesh links are setup only with a subset of the nearest OBAMP nodes. To select the overlay neighbor the OBAMP nodes first calculates the ETX distance of the nearest OBAMP nodes, and the creates overlay mesh links to every node that are far in the range (minETX,minETX+1)
tree_create_timer: the core of the network every OBAMP_TREE_CREATE_IVAL sends a message called TREE_CREATE on its mesh links. The creation of the spanning tree is very similar to the spanning tree protocol. When a TREE_CREATE message is received a OBAMP node enables a tree link with its parent and forwards the TREE_CREATE on the other mesh links. TREE_CREATE messages are generated only by the core and are numbered, so TREE_CREATE received over loops can be discarded.
outer_tree_create_timer: The mesh_create algorithm may create cluster of OBAMP nodes within the network that are disconnected between each other. This happens if there are groups OBAMP nodes that are far from each other. If this happens only the cluster where the Core is present will receive the TREE_CREATE and will receive traffic from the distribution tree. To overcome this problem if in a cluster there are not TREE_CREATE every OBAMP_TREE_CREATE_IVAL the node with the smallest IP in the cluster will make a long mesh link with the nearest node that has at least a tree link. All the necessary information to perform this procedure is diffused in the OBAMP_ALIVE messages.
purge_nodes_timer: checks expire time of various variables, and deletes nodes or tree links in a soft state fashion
The OBAMP nodes will capture the multicast udp traffic from the non-OLSR interfaces, and will forward this traffic encapsulated in the UDP tunnels of the distribution tree. The other OBAMP nodes will forward the traffic in the tree and will decapsulate it on their non-OLSR interfaces. To avoid duplicated packets the data is carried into OBAMP_DATA messages, that are identified by a sequence number, and the OBAMP source node where the traffic has been encapsulated.
In the figure black links represent real radio links, and red links represent overlay mesh links (udp tunnels). Router 1 2 3 and will create a OBAMP cluster, with two mesh links. Router 6 and 7 will create a mesh link between them. Because the mesh_create algorithm does not create a mesh link between the two clusters, the router 6 (supposing it has the smallest IP address in the mesh) will create an outer tree link with Router 3.
So please download the code and use it . If you find bugs please report them to Saverio and in the Sourceforge tracker here:
Thanks for this great result of the summer. Special thanks also to Nino from ninux.org who was the mentor for this projet.