Community-Lab introduction

Changes On Branch 07f607dbefd1e0cc
Login

Changes In Branch fosdem-2014 Through [07f607dbef] Excluding Merge-Ins

This is equivalent to a diff from e6eeda4b22 to 07f607dbef

2014-01-24
15:59
Improve readability of script (introduction part). check-in: 67a12d22c5 user: ivan tags: fosdem-2014
15:16
Completed script and review of slide points. check-in: 07f607dbef user: ivan tags: fosdem-2014
2014-01-23
16:16
Work on Community-Lab as community infrastructure, architecture and technologies. check-in: 418b44e23d user: ivan tags: fosdem-2014
2014-01-21
18:02
Create new branch named "fosdem-2014" check-in: a76c9efc87 user: ivan tags: fosdem-2014
2013-04-17
11:15
Create new branch named "battle-mesh-2013" check-in: 12047cbf52 user: ivan tags: battle-mesh-2013
2013-02-20
16:20
Replace "instantiate" and "activate" with "deploy" and "start".

Only happening in example interaction diagram and description. Leaf check-in: e6eeda4b22 user: ivan tags: trunk, vienna-2013-1.0.0

16:03
Update subtitle for plenary meeting, remove "soon" from API experiments. check-in: cb602605b9 user: ivan tags: trunk

Added script,lightning.txt version [57bdd13a6d].









































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#+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
- Infrastructure deployed by organized groups of people for self-provision of
  broadband networking that works and grows according to their own interests.
- Like some Free software projects: based on open participation, open and
  transparent management, distributed ownership (a big step beyond private and
  state-owned infrastructures).
- These also translate into open, free (as in freedom) and neutral networks,
  values akin to the Free software movement.  Some have mutual agreement texts
  similar to Free software liceses.
- The EU in its Digital Agenda regards CNs as fundamental for the
  universalization of broadband networking. *##*

** The CONFINE project
- EU-financed project with several partners: CNs, research institutions and
  supporting NGOs.
- Mission: support the sustainable growth of CNs by providing the means to
  conduct experimentally driven research.
- Supports other projects advancing or extending CNs via financed Open Calls
  (now closed).
- Provides a testbed and associated tools and knowledge for researchers to
  experiment on real CNs. *##*

** Community-Lab
- CONFINE's testbed: an environment built with real hardware taking part in
  real community networks to allow realistic experimental research on network
  technologies and services.
- Mostly like PlanetLab: global scale, with experiments sharing resources on a
  best effort basis, and as few hardwired management mechanisms as possible.
- Supporting the peculiarities of CNs: distributed ownership, fairness between
  users, diversity but also instability.
- All Community-Lab's software and documentation is “free as in freedom” so
  you can use it to setup your own CONFINE testbed. *##*

** Community-Lab as community infrastructure

- CONFINE can help physically extend CNs with new Community-Lab nodes.
- Nodes can also host services like web servers, video broadcast
  stations, etc.
- Nodes can also be used as infrastructure for cloud infrastructure provided
  and managed by the community for the community: Clommunity project. *##*

* Architecture and technologies
** Testbed architecture
- Community-Lab 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.
- Researchers define experiments (so called slices) in a server.
- Nodes use a REST API to get those definitions from servers and run several
  of them simultaneously as VMs (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 connected via Ethernet to normal community devices.
- Nodes are moderately powerful computers running OpenWrt with a daemon
  written in Lua.  Slivers are implemented as Linux containers.  We are
  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.
- 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 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.
- We will be gradually opening the Community-Lab testbed to all kind 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:

Added slides,lightning.txt version [410b8c2bec].













































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
% Community-Lab: Exploring the Future Internet on Community Networks
% Ivan Vilata-i-Balaguer <ivan@pangea.org> (Pangea/CONFINE project)
% FOSDEM 2014

# Community networks (CNs)

- Broadband self-provision
- Similar to Free software:
    - Open participation & management,  
      distributed ownership
      <!--- private / public / community --->
    - Open, Free, neutral networks  
    - Mutual agreement texts
- Key for EU Digital Agenda

# The CONFINE project

- Partners:
    - CNs: guifi.net, Funkfeuer, AWMN
    - Research: UPC, FKIE, iMinds
    - NGOs: Pangea, OPLAN
<!--- logos --->
- Support sustainable growth of CNs via research  
  (technologies & services)
- Help other projects boost CNs (Open Calls)
<!--- OC1 & OC2 project listing --->
- Provide a testbed for CNs: Community-Lab

# Community-Lab

- A testbed built on community networks
- Like PlanetLab:
    - Global scale
    - Experiments sharing resources
    - Best effort
    - Unbundled management
- Heavily customized for CNs:
    - Some decentralization
    - Fair to other users  
      (no spying, no low-level, routing & above)
    - Simple, tolerant to network failures
- Free software: build your own testbed!

# Community-Lab as community infrastructure

- Extend CNs with Community-Lab nodes
<!--- Figure from IS4CWN slide #15 --->
- Community-Lab for hosting services
- [Clommunity](http://clommunity-project.eu/): community clouds

# Architecture and technologies

<!--- testbed architecture diagram --->
- Testbed
    - Nodes, servers, management network
    - Researchers, slices and slivers
    - Sliver connectivity: NAT, native L3, isolated L2
<!--- overlay CD and RD pictures --->
<!--- overlay logos on top of diagram --->
- Nodes: OpenWrt, Lua, LXC, kexec
- Servers: Django
- Management network: tinc
- Software development: Git, Redmine, Jenkins, VCT

# Collaborations

- [OpenWrt](https://openwrt.org/)
- [BMX6](http://bmx6.net/)
- [OLSR](http://olsr.org/)
- [DLEP](https://datatracker.ietf.org/doc/draft-ietf-manet-dlep/)
- [NodeDB](https://github.com/FFM/FFM)
- [Wibed](http://wiki.confine-project.eu/wibed:start)
- quick mesh project ([qMp](http://qmp.cat/))
- Wireless Battle of the Mesh ([BattleMesh](http://battlemesh.org/))
- International Summit for Community Wireless Networks
  ([IS4CWN](http://wirelesssummit.org/))

# Future

- Stabilization, maintainability, usability
- Federation with other testbeds
    - PlanetLab & others (SFA)
    - CONFINE / CONFINE
- Open Community-Lab to external users
    - Community members
    - Networking developers
    - Internship students…

# Thank you!

Meet us at the CONFINE stand in the K building!

More info:

- <http://community-lab.net/>
- <http://confine-project.eu/>

© 2014 The CONFINE project  
[Creative Commons Attribution-ShareAlike][cc-by-sa]

[cc-by-sa]: http://creativecommons.org/licenses/by-sa/4.0/
    "Creative Commons — Attribution-ShareAlike 4.0 International — CC BY-SA 4.0"