#+title: Community-Lab: Exploring the Future Internet on Community Networks
* Introduction
Hello, I'm (Speaker) from (organization), I work at the CONFINE project and
I'm going to talk you about Community-Lab, a community networking testbed for
the future Internet. *##*
** Community networks
- For those of you who are new to the term, CNs are infrastructure deployed by
organized groups of people for the self-provision of broadband networking
that works and grows according to their own interests.
- Like some Free software projects, they are based on open participation, open
and transparent management, and distributed ownership. This goes way beyond
*##* state-owned networks with private ISPs, and even *##* private-owned
networks and Internet access. *##* In a community network everyone owns their
piece of the network and are free to access other's services through it. *##*
- The previous characteristics translate into open, free (as in freedom) and
neutral networks, values in consonance with the Free software movement.
Some CNs even have mutual agreement texts similar to Free software liceses.
- Atypical as it may seem, the EU in its Digital Agenda regards CNs as
fundamental for the universalization of broadband networking. *##*
** The CONFINE project
- Under the umbrella of the Digital Agenda, CONFINE is a EU-financed project
with several partners: *##* CNs (guifi.net, Athens Metropolitan Wireless
Network and Funkfeuer), research institutions (Universitat Politècnica de
Catalunya, iMinds and Fraunhofer) and supporting NGOs (Pangea and the OPLAN
Foundation). *##*
- Its mission is to support the sustainable growth of CNs by providing the
means to conduct experimentally driven research.
- It also supports other projects advancing or extending CNs via financed Open
Calls. *##* Here you can see the list of the projects selected for Open
Call 1, and more than fifteen are now being selected for Open Call 2. *##*
- Last but not least, CONFINE provides a testbed and the associated tools and
knowledge for researchers to experiment on real CNs. *##*
** Community-Lab
- Community-Lab is that testbed: an environment built with real hardware
taking part in actual community networks to allow realistic experimental
research on network technologies and services.
- Mostly like PlanetLab, it is global scale, with experiments sharing
resources on a best effort basis, and having as few hardwired management
mechanisms as possible.
- However, it supports the peculiarities of CNs: their distributed ownership,
the fairness between their users, and their diversity but also
their instability.
- It's important to note that all Community-Lab's software and documentation
is “free as in freedom” so you can use them to setup your own CONFINE
testbed. *##*
** Community-Lab as community infrastructure
- Besides supporting experimentation, *##* CONFINE helps physically extend CNs
not only with new Community-Lab nodes, but also with new links…
- … and even services hosted in nodes like web servers, video broadcast
stations, etc. to be used by the community. *##*
- In a more sophisticated approach, nodes can also be used to implement cloud
infrastructure provided and managed by the community for the community.
This is the mission of the Clommunity project.
* Architecture and technologies
** Testbed architecture
- Now, how does the Community-Lab testbed work? *##*
- It consists of a set of nodes (managed by CN members) that follow the
configuration in a set of servers (managed by testbed operators).
- All components in the testbed become reachable via a dedicated management
network implemented as an IPv6 overlay.
- Then researchers define experiments (the so called slices) in a server.
- And nodes use a REST API to get those definitions from servers and run
several of them simultaneously as VMs (the so called slivers).
- Slivers can access the CN via NAT, natively at the network layer, or in an
isolated VLAN for routing experiments. *##*
** Technologies
- Nodes are moderately powerful hosts (like this barebone computer) connected
via Ethernet to normal community devices (i.e. routers). *##*
- Nodes run OpenWrt with a control daemon written in Lua. Slivers are
implemented as light Linux containers. We are also working on safe node
upgrade using kexec. *##*
- The GUI and REST API in servers are implemented as Django applications.
- The IPv6 overlay used for the management network is a tinc mesh VPN. *##*
- Finally, we use Git, Redmine, Jenkins and our Virtual CONFINE Tesbed (VCT)
package for development and testing. *##*
* Collaborations
- CONFINE actively collaborates to the development of several Free software
projects: the OpenWrt router distro, the BMX6 and OLSR mesh routing
protocols, the DLEP protocol for collecting link characteristics, the NodeDB
for describing CN nodes, the lower-level Wibed testbed, and the quick mesh
project distro.
- CONFINE also collaborates in events like the Wireless Battle Mesh and the
International Summit for Community Wireless Netwroks. *##*
* Future
- In the near future we plan to work further on the testing, stabilization and
documentation of the testbed to make it more maintainable and usable for the
long term.
- We will also start work on federating CONFINE testbeds between themselves
and with PlanetLab-like testbeds using the Slice-based
Federation Architecture.
- Finally, we will be gradually opening the Community-Lab testbed to all kinds
of external users in the networking and academic communities. *##*
* Participate!
- So this was a very schematic summary about community networks, the CONFINE
project and its Community-Lab testbed.
- For more information you can visit these links or meet us in person in the
CONFINE stand in the K building.
(Questions? Thanks!)
# Local Variables:
# mode: org
# End: