Wireless Battle Mesh

From Tmplab
Revision as of 16:43, 11 April 2009 by Florian (talk | contribs) (Channel: 1, ESSID: wbm2009-olsr, BSSID: CA:CA:FE:CA:CA:20, IP: 192.168.20.0/24)

Call for Participants

We are pleased to announce that the /tmp/lab will be organizing a Spring Wireless OpenWrt Mesh Contest called “Wireless Battle Mesh” during 2 days (April 11-12th) with the goal of building 3 wireless mesh networks based on embedded hardware running OpenWrt and different concurrent mesh routing protocols.

The targeted architecture will be 3 networks of 25nodes + 1 wireless management network (10-20 nodes) to achieve realistic size of nodes number, data traffic, configuration problems. The architecture will be set-up indoor and outdoor around the building of the /tmp/lab.

OpenWrt will be the selected for the BoardSupportPackage running on the different hardware nodes and a core network configuration will be built on Linux servers with user-friendly features such as :

  • VLANs
  • Captive portal
  • Authentication
  • Admin portal

Concerning the mesh-protocols, selected targeted protocols are :

Concerning the hardware node, we are looking for hardware sponsors that could enjoy this “real-case” contest by providing 50-100 nodes to the event. This sponsor will be actually displayed on the organization website as well as during the event. The feedbacks for the hardware manufacturers can be not only from the users but also from the network community running real-case test (academic- or community-wide).

The TMPLAB core team.

Agenda

  • Friday, April 10th, 8 pm : welcoming of the first people coming and flashing of the node and configuration of the nodes
  • Sat, April 11th :
    • Morning : setting up the nodes on-site and validation of the different subnets
    • Afternoon : first series of tests and measurements with fixed nodes
  • Sun 12th :
    • Morning : second series of tests and measurement with fixed and mobile nodes (laptops)
    • Afternoon : Optimization of the protocols and Conclusion

Evaluation

Criterion

We will evaluate the routing protocols using the following criterion :

  • time to setup a node
  • CPU activity
  • network activity
  • convergence time
  • scalability
  • mobile devices handling

Platform

The evaluation platform consits of a SNMP agent which collects graphs from the different nodes using Cacti.

Hardware platforms

We managed to get sponsoring for such hardware :

  • Linksys WRT54G/GS
  • Asus WL500G Deluxe/Premium
  • Fon Fonera

For each protocol 25 nodes will be setup, with the following quantities :

  • FON : 25 nodes
  • HSB : 32 nodes
  • Wireless-fr : 6 nodes
  • Tmplab : 15 nodes
  • BATMAN : 10 nodes
  • Thus0 : 5 nodes

Total : 93 nodes. In case of problems, spare nodes are highly wanted.

Identification

For each and every single node in the network, please prepare stickers containing the following informations :

  • routing protocol in use
  • MAC address of the Wi-Fi interface
  • IP address in the management network
  • Owner
  • hostname (e.g: node 1-babel)

Node parts

Each and every single node consists of the following physical parts:

  • A wireless router (Linksys, Fon, Asus ...)
  • Antennas screwed on the router (no external unless specified)
  • Power supply unit
  • (Battery)

Software platform

The different software versions in use during the Wireless Battle Mesh are :

  • babel-0.94 (and not 0.93 as previously announced), there's also a page about Babel
  • olsrd-0.5.6-r4
  • batman-adv-r1220

OpenWrt should be Kamikaze 8.09. Broadcom-based hardware should be using the brcm-2.4 image while Atheros-based hardware should be using the atheros target. If you need help flashing your devices do not hesitate to poke Florian and Nico about this.

Software configuration

Every node should be configured with the following settings :

  • hostname: node<N>-<routing protocol> (where N can be found using the plan/map and the routing protocol is babel, olsr or batman)
  • user: root
  • password: wbm2009

We would like to be able to monitor the activity of every node, therefore an aditional SNMP configuration should be done with the following settings :

  • version: 2
  • community: wbm2009
  • permissions: ro
  • allow graph disk/flash activity (e.g: disk /)

Package list and repositories

A mirror of the OpenWrt kamikaze 8.09 package repository will be available during the WBM2009. Additionnal packages that we recommend to install are :

  • ntpclient (or busybox's rdate)
  • wprobe
  • snmpd

Wireless configuration

Each node will be working in Ad-hoc mode using the following settings.

For babel

  • SSID: babel
  • Channel: 1
  • Encryption: none

For Batman

  • SSID: batman
  • Channel: 5
  • Encryption: none

For OLSR

  • SSID: olsr
  • Channel: 11
  • Encryption: none

The resulting /etc/config/wireless is then for Broadcom devices and for a Babel node:

config wifi-device  wl0
        option type     broadcom
        option channel  1

config wifi-iface
        option device   wl0
        option network  wifi
        option mode     adhoc
        option ssid     babel
        option encryption none

For an OLSR node on an Atheros board:

config wifi-device  wifi0
        option type     atheros
        option channel  11

config wifi-iface
        option device   wifi0
        option network  wifi
        option mode     sta
        option ssid     olsr
        option encryption none

Note: we unbridge the LAN interface with the Wi-Fi interface in order to be able to define specific networks on the LAN interface.

Network topology

There will be different subnets corresponding to different purposes.

Protocol wide subnet

This subnet is required for the nodes running a given protocol to work, meaning that the wireless interface in ad-hoc mode must be configured with an address falling within the range defined below:

  • Babel: 192.168.40.0/24
  • Batman: 192.168.30.0/24
  • OLSR: 192.168.20.0/24

An /etc/config/network file for a Babel node looks like this:

#### VLAN configuration
config switch eth0
        option vlan0    "1 2 3 4 5*"
        option vlan1    "0 5"


#### Loopback configuration
config interface loopback
        option ifname   "lo"
        option proto    static
        option ipaddr   127.0.0.1
        option netmask  255.0.0.0


#### LAN configuration
config interface lan
        option type     bridge
        option ifname   "eth0.0"
        option proto    static
        option ipaddr   192.168.2.1
        option netmask  255.255.255.0

#### Wi-Fi configuration
config interface wifi
        option ifname   "wl0"
        option proto    static
        option ipaddr   192.168.40.1
        option netmask  255.255.255.0

Setup

Nodes have been flashed with custom firmware images:

- root password is set to 'wbm2009'
- pubkey ssh authentication is enabled, keys are available here: http://ska.lan.tmplab.org/ssh/
- LAN configuration was not changed and default to 192.168.1.1/24
- Default wireless configuration is:
  - ssid: wbm2009
  - mode: adhoc
  - encryption: none

When using ssh with same key and different hosts, it might be convenient to add the following in /etc/ssh/ssh_config:

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

Wireless IP adresses

you can set the addres this way:

root@OpenWrt:~# uci set network.wifi.ipaddr="192.168.44.x"; uci commit

00:18:84:21:6B:8C (LAN MAC, WiFi MAC, WiFi IP)

Channel: 1, ESSID: wbm2009-olsr, BSSID: CA:CA:FE:CA:CA:20, IP: 192.168.20.0/24

* 00:0F:66:24:E9:D0, 00:0F:66:24:E9:D2, 192.168.20.1, WRT54G v1.1
* 00:1A:70:FD:4B:03, 00:1A:70:FD:4B:05, 192.168.20.2, WRT54GL v1.1
* 00:16:B6:01:5F:DF, 00:16:B6:01:5F:E1, 192.168.20.3, WRT54GL v1.1
* 00:16:B6:01:5F:E5, 00:16:B6:01:5F:E7, 192.168.20.4, WRT54GS v4
* 00:16:B6:01:66:87, 00:16:B6:01:66:89, 192.168.20.5, WRT54GS v4
* 00:14:BF:E2:B5:3F, 00:14:BF:E2:B5:41, 192.168.20.6, WRT54GS v4
* 00:12:17:DF:A7:28, 00:12:17:DF:A7:2A, 192.168.20.7, WRT54GS v1.1
* 00:14:BF:A5:B9:4C, 00:14:BF:A5:B9:4E, 192.168.20.8, WRT54GS v4
* 00:16:B6:01:5F:DC, 00:16:B6:01:5F:DE, 192.168.20.9, WRT54GS v4

Channel: 6, ESSID: wbm2009-babel, BSSID: CA:CA:FE:CA:CA:230, IP: 192.168.30.0/24

Channel: 11, ESSID: wbm2009-batman, BSSID: CA:CA:FE:CA:CA:40, IP: 192.168.40.0/24

Channel: 1, ESSID: wbm2009, IP: 192.168.44.x/24

* 00:0F:66:C7:C0:AD, 00:0F:66:C7:C0:AF, 192.168.44.101, WRT54GS
* 00:16:B6:40:F2:C6, 00:16:B6:40:F2:C8, 192.168.44.102, WRT54GL
* 00:14:BF:D2:65:A1, 00:14:BF:D2:65:A3, 192.168.44.103, WRT54GL
* 00:16:B6:D9:25:B7, 00:16:B6:D9:25:B9, 192.168.44.104, WRT54GL
* 00:16:B6:40:F2:D5, 00:16:B6:40:F2:D7, 192.168.44.105, WRT54GL
* 00:16:B6:40:F2:DB, 00:16:B6:40:F2:DD, 192.168.44.106, WRT54GL
* 00:16:B6:40:F2:C0, 00:16:B6:40:F2:C2, 192.168.44.107, WRT54GL
* 00:16:B6:40:F9:F2, 00:16:B6:40:F9:F4, 192.168.44.108, WRT54GL
* 00:16:B6:40:F2:CF, 00:16:B6:40:F2:D1, 192.168.44.109, WRT54GL
* 00:14:BF:D2:6C:04, 00:14:BF:D2:6C:06, 192.168.44.110, WRT54GL
* 00:16:B6:40:F2:D2, 00:16:B6:40:F2:D4, 192.168.44.111, WRT54GL
* 00:16:B6:40:F2:D8, 00:16:B6:40:F2:DA, 192.168.44.112, WRT54GL
* 00:16:B6:40:F2:CC, 00:16:B6:40:F2:CE, 192.168.44.113, WRT54GL
* 00:16:B6:40:F2:C3, 00:16:B6:40:F2:C5, 192.168.44.114, WRT54GL
* 00:14:BF:D2:65:86, 00:14:BF:D2:65:88, 192.168.44.115, WRT54GL
* 00:14:BF:D2:65:9E, 00:14:BF:D2:65:A0, 192.168.44.116, WRT54GL
* 00:18:39:BC:39:54, 00:18:39:BC:39:56, 192.168.44.117, WRT54GL
* 00:16:B6:41:02:8C, 00:16:B6:41:02:8E, 192.168.44.118, WRT54GL
* 00:16:B6:40:DE:3E, 00:16:B6:40:DE:40, 192.168.44.119, WRT54GL
* 00:1A:70:FD:4B:03, 00:1A:70:FD:4B:05, 192.168.44.120, WRT54GL
* 00:14:BF:E2:B5:3F, 00:14:BF:E2:B5:41, 192.168.44.121, WRT54GS v4
* 00:16:B6:01:66:87, 00:16:B6:01:66:89, 192.168.44.122, WRT54GS v4
* 00:16:B6:01:5F:E5, 00:16:B6:01:5F:E7, 192.168.44.123, WRT54GS v4
* 00:16:B6:01:5F:DF, 00:16:B6:01:5F:E1, 192.168.44.124, WRT54GS v4
* 00:16:B6:01:5F:E8, 00:16:B6:01:5F:EA, 192.168.44.125, WRT54GS v4
* 00:16:B6:01:57:CF, 00:16:B6:01:57:D1, 192.168.44.126, WRT54GS v4
* 00:16:B6:01:5F:DC, 00:16:B6:01:5F:DE, 192.168.44.127, WRT54GS v4
* 00:14:BF:A5:B9:4C, 00:14:BF:A5:B9:4E, 192.168.44.128, WRT54GS v4
* 00:0F:66:C7:B9:6F, 00:0F:66:C7:B9:71, 192.168.44.129, WRT54GS
* 00:13:10:07:EE:FC, 00:13:10:07:EE:FE, 192.168.44.130, WRT54GS v1.1
* 00:12:17:DF:A7:28, 00:12:17:DF:A7:2A, 192.168.44.131, WRT54GS v1.1
* 00:0F:66:24:EE:2F, 00:0F:66:24:EE:31, 192.168.44.133, WRT54G v1.1
* 00:14:BF:BF:E6:5A, 00:14:BF:BF:E6:5C, 192.168.44.134, WRT54G v3.1
* 00:12:17:26:EB:84, 00:12:17:26:EB:86, 192.168.44.135, WRT54G v2
* 00:18:84:25:69:50, 00:18:84:25:69:51, 192.168.44.136, Fonera
* 00:18:84:10:2F:7C, 00:18:84:10:2F:7D, 192.168.44.137, Fonera
* 00:18:84:1C:EB:28, 00:18:84:1C:EB:29, 192.168.44.138, Fonera
* 00:18:84:13:A5:50, 00:18:84:13:A5:51, 192.168.44.139, Fonera
* 00:18:84:12:F7:2C, 00:18:84:12:F7:2D, 192.168.44.140, Fonera
* 00:18:84:21:6B:8C, 00:18:84:21:6B:8D, 192.168.44.141, Fonera
* 00:18:84:27:19:5C, 00:18:84:27:19:5D, 192.168.44.142, Fonera
* 00:18:84:1C:F7:4C, 00:18:84:1C:F7:4D, 192.168.44.143, Fonera
* 00:18:84:25:28:E4, 00:18:84:25:28:E5, 192.168.44.144, Fonera
* 00:18:84:28:90:78, 00:18:84:28:90:79, 192.168.44.145, Fonera
* 00:18:84:25:DF:50, 00:18:84:25:DF:51, 192.168.44.146, Fonera
* 00:18:84:27:7E:E0, 00:18:84:27:7E:E1, 192.168.44.147, Fonera
* 00:11:2F:9D:15:86, 00:11:2F:9D:15:86, 192.168.44.148, WL500GD
* 00:11:2F:9D:15:98, 00:11:2F:9D:15:98, 192.168.44.149, WL500GD
* 00:11:2F:9D:15:43, 00:11:2F:9D:15:43, 192.168.44.150, WL500GD