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.