BattleMeshV5 Tests
Contents
General Rules
- routing protocol configuration shall be the same for every test
- routing protocols are tested in turn (i.e. not altogether)
- cpu and memory consumption will be tracked during each test
- no points, just results and a final analysis
Tests
Be Quick or Be Stable Test
To be performed on a subset of the nodes
+----+
| L1 |-----(A) : : : : : : (B)
+----+ : r1 |
: |
: |
: r2 |
: |
: +----+
(C)-----------| L2 |
+----+- L1, L2: laptops
- A, B, C: wireless nodes
- link A-B uses association rate r1
- link A-C uses association rate r2
r2 > r1
- - and | are cables
- : are wireless links
Steps
- perform a continuous traceroute (mtr or wathever) from L1 to L2
- load the network with UDP (iperf or wathever) from L1 to L2
- start a 21 minutes download from L2 to L1
- see how many times (if any) the route flaps in 21 minutes
- see if the routing protocol prefers the slow or the fast route
- only 1x for each protocol
Goals
Check the stability of the routing protocol, and if the metric is effective.
References
The ZooBab Test
To be performed on a subset of the nodes
+----+
| L1 |-----(A) : : : : : : (B)
+----+ : x :
: :
x : : x
: :
: :
: :
(C) (E)
| | +----+
(D) : : : : : : (F)-------| L2 |
y +----+- L1, L2: laptops
- A, B, C, E: nodes set on channel x
- D, F: nodes set on channel y
- - and | are cables
- : are wireless links
Steps
- load the network with TCP (iperf or wathever) from L1 to L2
- sleep for 3 minutes
perform a traceroute from L1 to L2 and see if the routing protocol chooses the best route (L1->A->C->D->F->L2)
- repeat 3x for each protocol
Goal
See if the routing protocol prefers the channel-changing route, by design or by just because is the best path.
Convergence Time Test
To be performed on the whole mesh
.~.~.~.~.~.~.~.~.~.~.~.
(A) : ( )
( )
( )
( (N) )
( )
( )
( ) : (B)
( MESH CLOUD )
.~.~.~.~.~.~.~.~.~.~.~.~.
Steps - part 1
traceroute from one end (node A) to the other (node B) of the mesh until the path is stable
find a critical node N in the path so that
- has good quality links with its neighbors (possibly more than one)
- if shut down the network does not split
start a ping from A to B
turn off N
- count the number of pings from the first lost ping to the first subsequent successful ping
- repeat 3x for each protocol
Steps - part 2
start a continuous traceroute (mtr or wathever) from node A to node B
turn back on node N and start a stopwatch
measure the time needed to get the node N (back) into the traceroute
Goal
Just convergence time.
Don't Cross the Streams Test
To be performed on the whole mesh
+----+ .~.~.~.~.~.~.~.~.~.~.~. +----+
| L1 |-----(A) : ( ) : (C)-----| L3 |
+----+ ( ) +----+
( )
( MESH )
( CLOUD )
+----+ ( ) +----+
| L4 |-----(D) : ( ) : (B)-----| L2 |
+----+ ( ) +----+
.~.~.~.~.~.~.~.~.~.~.~.~.- L1, L2, L3, L4: laptops
- A, B, C, D: edge wireless nodes
Steps
- start, at the same time:
- a TCP stream between L1 to L2
- a TCP stream between L3 to L4
- a stopwatch
- sleep for 21 minutes
- measure the total number of bytes transferred
- only 1x for each protocol
Goal
See if the routing protocol can choose the paths for the two streams that maximizes throughput.
