Difference between revisions of "Wireless Battle Mesh"
(→Addresses) |
(→For OLSR) |
||
Line 154: | Line 154: | ||
</pre> | </pre> | ||
− | For an OLSR node | + | For an OLSR node on an Atheros board: |
<pre> | <pre> | ||
Line 162: | Line 162: | ||
config wifi-iface | config wifi-iface | ||
− | option device | + | option device wifi0 |
option network wifi | option network wifi | ||
option mode sta | option mode sta |
Revision as of 05:57, 11 April 2009
Contents
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 :
- OLSR : IP-based mesh routing platform (http://olsr.org and OpenWrt package available)
- BATMAN : Layer2-based mesh protocol (http://open-mesh.org) and available as a kernel module for Linux and packaged in OpenWrt
- BABEL : Layer-3 mesh protocol developed by University Paris 6, available for Linux and packaged in OpenWrt (http://www.pps.jussieu.fr/~jch/software/babel/)
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
Wireless IP adresses
you can set the addres this way:
root@OpenWrt:~# uci set network.wifi.ipaddr="192.168.44.x"; uci commit
(LAN MAC, WiFi MAC, WiFi IP)
* 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:E9:D0, 00:0F:66:24:E9:D2, 192.168.44.132, WRT54G 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