= BattleMeshV5 Tests = <> == 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 and repeated only 1x for each protocol {{{ +----+ | 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 ==== 1. perform a continuous traceroute (mtr or wathever) from L1 to L2 1. load the network with TCP (iperf or wathever) from L1 to L2 1. see how many times (if any) the route flaps in 21 minutes ==== Goal ==== === The ZooBab Test === To be performed on a subset of the nodes and repeated 3x for each protocol {{{ +----+ | 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 ==== 1. load the network with TCP (iperf or wathever) from L1 to L2 1. sleep for 3 minutes 1. perform a traceroute from L1 to L2 and see if the routing protocol chooses the best route (L1->A->C->D->F->L2) ==== Goal ==== === Convergence Time Test === To be performed on the whole mesh and repeated 3x for each protocol {{{ .~.~.~.~.~.~.~.~.~.~.~. (A) : ( ) ( ) ( ) ( (N) ) ( ) ( ) ( ) : (B) ( MESH CLOUD ) .~.~.~.~.~.~.~.~.~.~.~.~. }}} ==== Steps - part 1 ==== 1. traceroute from one end (node ''A'') to the other (node ''B'') of the mesh until the path is stable 1. find a critical node ''N'' in the path so that a. has good quality links with its neighbors (possibly more than one) a. if shut down the network does not split 1. start a ping from ''A'' to ''B'' 1. turn off ''N'' 1. count the number of pings from the first lost ping to the first subsequent successful ping ==== Steps - part 2 ==== 1. start a continuous traceroute (mtr or wathever) from node ''A'' to node ''B'' 1. turn back on node ''N'' and start a stopwatch 1. measure the time needed to get the node ''N'' (back) into the traceroute ==== Goal ==== === Don't Cross the Streams Test === {{{ +----+ .~.~.~.~.~.~.~.~.~.~.~. +----+ | L1 |-----(A) : ( ) : (C)-----| L3 | +----+ ( ) +----+ ( ) ( MESH ) ( CLOUD ) +----+ ( ) +----+ | L4 |-----(D) : ( ) : (B)-----| L2 | +----+ ( ) +----+ .~.~.~.~.~.~.~.~.~.~.~.~. }}} * L1, L2, L3, L4: laptops * A, B, C, D: edge wireless nodes ==== Steps ==== 1. start, at the same time: a. a TCP stream between L1 to L2 a. a TCP stream between L3 to L4 a. a stopwatch 1. sleep for 21 minutes 1. measure the total number of bytes transferred ==== Goal ====