Community-Lab introduction

Check-in [86aa53413c]
Login
Overview
Comment:Leaner info on architecture, mainly alt node arrangements and refs to bridges.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:86aa53413c543ce2a4907a0abd8f210fb8f4d25b
User & Date: ivan on 2012-09-17 11:52:18
Other Links: manifest | tags
Context
2012-09-17
17:58
Better narrative ordering for intro sections. check-in: 62410c1eeb user: ivan tags: trunk
11:52
Leaner info on architecture, mainly alt node arrangements and refs to bridges. check-in: 86aa53413c user: ivan tags: trunk
10:46
Added initial full version of script. check-in: 9e70b6e675 user: ivan tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Modified script.txt from [f4b6ad912c] to [909c33db7f].

    43     43   
    44     44   * Challenges and requirements
    45     45   ** Simple management vs. Distributed node ownership
    46     46   - In contrast with esp. indoors testbeds that belong wholly to the same
    47     47     entity.
    48     48   
    49     49   ** Features vs. Lightweight, low cost (free & open)
    50         -- Devices ranging from PCs to embedded boards located on roofs (or worse).
    51         -# Node on roof, frozen tower.
           50  +- Devices ranging from PCs to embedded boards.
    52     51   - Need light system able to run on a variety of devices.
    53     52   
    54     53   ** Familiarity & flexibility vs. System stability
    55     54   - Familiar Linux env with root access to researchers.
    56     55   - Keep env isolation (nodes are shared by experiments).
    57     56   - Keep node stability (to avoid in-place maintenance, some difficult to reach
    58     57     node locations).
           58  +# Frozen tower.
    59     59   
    60     60   ** Flexibility vs. Network stability
    61     61   - Network experiments running on nodes in a production network.
    62     62   - Allow interaction with CN at the lowest level possible but not disrupting or
    63     63     overusing it.
    64     64   
    65     65   ** Traffic collection vs. Privacy of CN users
................................................................................
    75     75   
    76     76   ** Heterogeneity vs. Compatibility
    77     77   - Lots of different devices (disparate connectivity and software openness).
    78     78   - Lots of different link technologies (wireless, wired, fiber).
    79     79   
    80     80   * Community-Lab testbed architecture
    81     81   ** Overall architecture
    82         -This architecture applies to all testbeds using the CONFINE software.  All
    83         -CONFINE software and documentation is released under Free licenses.  Anyone
           82  +This architecture applies to all testbeds using the CONFINE software.  Since
           83  +all CONFINE software and documentation is released under Free licenses, anyone
    84     84   can setup a CONFINE testbed.
    85     85   # Move over overlay diagram less overlay connections plus overlay network.
    86     86   - A testbed consists of a set of nodes managed by the same server.
    87     87     - Server managed by testbed admins.
    88     88     - Network and node managed by node admins (usually node owners).
    89     89     - Node admins must adhere to a set of conditions.
    90         -  - Problematic nodes are not eligible for experimentation.
    91     90     - Solves management vs. ownersip problem.
    92     91   - All components in testbed reachable via management network (tinc mesh VPN).
    93         -  - Server and nodes offer APIs on that network.
           92  +  - Avoids problems with firewalls and private networks.
    94     93     - Avoids address scarcity and incompatibility (well structured IPv6 schema).
    95         -  - Avoids problems with firewalls and private networks.
    96         -  - Thus avoids most CONFINE-specific network configuration of the node (CD).
    97     94     - Public addresses still used for experiments when available.
    98         -  - Odd hosts can also connect to the management network.
    99     95   - Gateways connect disjoint parts of the management network.
   100     96     - Allows a testbed spanning different CNs and islands through external means
   101     97       (e.g. FEDERICA, the Internet).
   102     98     - A gateway reachable from the Internet can expose the management network
   103     99       (if using public addresses).
   104    100   - A researcher runs the experiments of a slice in slivers each running in a
   105    101     different node…
................................................................................
   116    112   Mostly autonomous, no long-running connections to server, asynchronous
   117    113   operation: robust under link instability.
   118    114   # Node simplified diagram, hover to interesting parts.
   119    115   - The community device
   120    116     - Completely normal CN network device, possibly already existing.
   121    117     - Routes traffic between the CN and devices in the node's local network
   122    118       (wired, runs no routing protocol).
   123         -  - CD/RD separation allows minimum CONFINE-specific configuration for RD, but
   124         -    adds one hop for experiments to CN.
   125    119   - The research device
   126    120     - More powerful than CD, it runs OpenWrt (Attitude Adjustment) firmware
   127    121       customized by CONFINE.
          122  +  - Experiments run here.  The separation between CD and RD allows:
          123  +    - Minumum CONFINE-specific tampering with CN hardware.
          124  +    - Minimum CN-specific configuration for RDs.
          125  +    - Greater compatibility and stability for the CN.
   128    126     - Slivers are implemented as Linux containers.
   129    127       - LXC: lightweight virtualization (in Linux mainstream).
   130         -    - Resource limitation.
   131         -    - Allows a familiar env with resource isolation and keeping node
   132         -      stability.
   133         -    - Root access to slivers always available to researchers via SSH to RD.
          128  +    - Easier resource limitation, resource isolation and node stability.
          129  +    - Provides a familiar env for researchers.
   134    130     - Control software
   135         -    - Manages containers and resource isolation using LXC.
          131  +    - Manages containers and resource isolation through LXC tools.
   136    132       - Ensures network isolation and stability through traffic control (QoS)
   137    133         and filtering (from L2 upwards).
   138    134       - Protects users' privacy through traffic filtering and anonimization.
   139         -  - Provides various services to slivers through internal bridge.
   140    135     - Optional, controlled direct interfaces for experiments to interact
   141         -    directly with the CN.
   142         -  - CD/RD separation allows greater compatibility and stability, as well as
   143         -    minimum CN-specific configuration, avoids managing CN hardware.
          136  +    directly with the CN (avoiding the CD).
   144    137   - The recovery device can force a hardware reboot of the RD from several
   145    138     triggers and help with upgrade and recovery.
   146    139   
   147         -** Alternative node arrangements
   148         -Compatible with the current architecture.
   149         -- RD hosts CD as a community container: low cost (one device), less stable.
   150         -  Not yet implemented.
   151         -- CD hosts RD as a KVM: for a powerful node such as a PC, in the future with
   152         -  radios linked over Ethernet and DLEP.
   153         -
   154    140   ** Node and sliver connectivity
   155    141   # Node simplified diagram, hover to interesting parts.
   156    142   Slivers can be configured with different types of network interfaces depending
   157    143   on what connectivity researchers need for experiments:
   158         -- Home computer behind a NAT router: a private interface placed into the
   159         -  internal bridge, where traffic is forwarded using NAT to the CN.  Outgoing
   160         -  traffic is filtered to ensure network stability.
   161         -- Publicly open service: a public interface (with a public CN address) placed
   162         -  into the local bridge, with traffic routed directly to the CN.  Outgoing
   163         -  traffic is filtered to ensure network stability.
   164         -- Traffic capture: a passive interface placed on the bridge of the direct
   165         -  interface used for capture.  Incoming traffic is filtered and anonimized by
   166         -  control software.
          144  +- Home computer behind a NAT router: a private interface with traffic
          145  +  forwarded using NAT to the CN.  Outgoing traffic is filtered to ensure
          146  +  network stability.
          147  +- Publicly open service: a public interface (with a public CN address) with
          148  +  traffic routed directly to the CN.  Outgoing traffic is filtered to ensure
          149  +  network stability.
          150  +- Traffic capture: a passive interface using a direct interface for capture.
          151  +  Incoming traffic is filtered and anonimized by control software.
   167    152   - Routing: an isolated interface using a VLAN on top of a direct interface.
   168         -  Other slivers with isolated interfaces must be within link layer reach.  All
   169         -  traffic is allowed.
          153  +  It only can reach other slivers of the same slice with isolated interfaces
          154  +  on the same link.  All traffic is allowed.
   170    155   - Low-level testing: the sliver is given raw access to the interface.  For
   171    156     privacy, isolation and stability reasons this should only be allowed in
   172    157     exceptional occasions.
   173    158   
   174    159   * How the testbed works
   175    160   # Event diagram, hover over components explained.
   176    161   An example experiment: two slivers, one of them (source sliver) pings the
   177    162   other one (target sliver).
   178    163   
   179    164   1. The researcher first contacts the server and creates a slice description
   180    165      which specifies a template for slivers (e.g. Debian Squeeze i386).
   181         -   Experiment data is attached including a program to setup the experiment
   182         -   (e.g. a script that runs =apt-get install iputils-ping=) and another one to
   183         -   run it.
          166  +   Experiment data is attached including a program to setup the experiment and
          167  +   another one to run it.
   184    168   2. The server updates the registry which holds all definitions of testbed,
   185    169      nodes, users, slices, slivers, etc.
   186    170   3. The researcher chooses a couple of nodes and creates sliver descriptions
   187    171      for them in the previous slice.  Both sliver descriptions include a public
   188    172      interface to the CN and user-defined properties for telling apart the
   189    173      source sliver from the target one.  Sliver descriptions go to the registry.
   190    174   4. Each of the previous nodes gets a sliver description for it.  If enough
................................................................................
   204    188   At all times there can be external services interacting with researchers,
   205    189   server, nodes and slivers, e.g. to help choosing nodes, monitor nodes or
   206    190   collect results.
   207    191   
   208    192   * Community-Lab integration in existing community networks
   209    193   # CN diagram (buildings and cloud).
   210    194   A typical CN looks like this, with most nodes linked using WiFi technology
   211         -(cheap and ubiquitous), but sometimes others as optical fiber.  Remember that
   212         -CNs are production networks with distributed ownership.  Strategies:
          195  +(cheap and ubiquitous), but sometimes others as optical fiber.  The CONFINE
          196  +project follows three strategies taking into account that CNs are production
          197  +networks with distributed ownership:
   213    198   
   214    199   # CN diagram extended with CONFINE devices (hover over interesting part).
   215    200   - Take an existing node owned by CN members, CONFINE provides a RD and
   216    201     connects it via Ethernet.  Experiments are restricted to the application
   217    202     layer unless the node owner allows the RD to include a direct interface
   218    203     (i.e. antenna).
   219    204   - Extend the CN with complete nodes, CONFINE provides both the CD and the RD
   220         -  and uses a CN member's location.  All but low-level experiments are
   221         -  possible with direct interfaces.
          205  +  and uses a CN member's location.  All but low-level experiments are possible
          206  +  using direct interfaces.
   222    207   - Set up a physically separated cloud of nodes, CONFINE extends the CN with a
   223    208     full installation of connected nodes at a site controlled by a partner
   224         -  (e.g. campus).  All kinds of experiments are possible with direct
          209  +  (e.g. campus).  All kinds of experiments are possible using direct
   225    210     interfaces.  Users are warned about the experimental nature of the network.
   226    211   
   227    212   * Recap
   228    213   
   229    214   - Community networks are an emerging field to provide citizens with
   230    215     connectivity in a sustainable and distributed manner in which the owners of
   231    216     the networks are the users themselves.