Size: 1220
Comment:
|
← Revision 14 as of 2012-03-31 12:34:23 ⇥
Size: 4959
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
* routing protocol configuration shall be the same for every test | * same routing protocol revision and configuration for every test |
Line 8: | Line 8: |
* cpu and memory consumption will be tracked during each test | * cpu and memory consumption should be tracked during each test |
Line 13: | Line 13: |
=== The ZooBab Test === | === Be Quick or Be Stable Test === To be performed on a subset of the nodes. {{{ +----+ | L1 |-----(A) : : : : : : (B) +----+ : r1 | : | : | : r2 | : | : | +----+ (C)-------------(D)------| 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 ==== 5x for each protocol 1. perform a continuous traceroute (mtr or whatever) from L1 to L2 1. load the network with UDP (iperf or whatever) from L1 to L2 1. start a 11 minutes download from L2 to L1 1. see how many times (if any) the route flaps in 11 minutes 1. see if the routing protocol prefers the slow or the fast route |
Line 16: | Line 48: |
=== Be Quick or Be Stable Test === | ==== Goals ==== Check the stability of the routing protocol, and if the metric is effective. ==== References ==== * http://www.youtube.com/watch?v=fZLv2G0Hhn4 === The Channel Surfer Test === To be performed on a subset of the nodes. {{{ +----+ | L1 |-----(A) +----+ : x : : (B) : : : : : : (D) | x | | | | | +----+ (C) : : : : : : (E)-----| L2 | y +----+ }}} * L1, L2: laptops * A, B, D: nodes set on channel x * C, E: nodes set on channel y * - and | are cables * : are wireless links ==== Steps ==== only 1x for each protocol 1. perform a continuous traceroute (mtr or whatever) from L1 to L2 1. load the network with TCP (iperf) from L1 to L2 for 21 minutes 1. sleep until the end of the iperf stream 1. see for which fraction of the time the routing protocol chooses the best route (L1->A->B->C->E->L2) 1. see the amount of transferred bytes ==== Goal ==== See if the routing protocol prefers the channel-changing route, by design or by just because is the best path. |
Line 21: | Line 94: |
To be performed on the whole mesh and repeated 3x for each protocol | To be performed on the whole mesh. |
Line 23: | Line 96: |
==== 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 1. has good quality links with its neighbors (possibly more than one) 1. if shut down the network does not split 1. start a ping from ''A'' to ''B'' 1. turn off ''N'' |
{{{ .~.~.~.~.~.~.~.~.~.~.~. +----+ ( ) : (GW1)-+ | L1 | :( ) | +----+ ( ) | +----+ ( ) +---+ L2 | ( ) | +----+ ( ) | ( ) : (GW2)-+ ( MESH CLOUD ) .~.~.~.~.~.~.~.~.~.~.~.~. }}} * ''GW1'' and ''GW2'': gateways announcing the address of ''L2'' * The metric from L1 to GW1 is significantly better than the metric from L1 to GW2 ==== Steps ==== repeat 3x for each protocol 1. traceroute from ''L1'' to ''L2'' and verify that the path goes through ''GW1'' 1. start pinging from ''L1'' to ''L2'' 1. start a continuous traceroute (mtr or whatever) from ''L1'' to ''L2'' 1. turn off ''GW1'' |
Line 31: | Line 120: |
1. after 2 minutes from its turning off, turn back on ''GW1'' and start a stopwatch 1. measure the time needed to the network to use ''GW1'' again |
|
Line 32: | Line 123: |
==== Part 2 ==== 1. start a continuous traceroute (e.g. mtr) 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 ==== Just convergence time. |
Line 40: | Line 128: |
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 ==== only 1x for each protocol 1. start, at the same time: a. a 21 minutes TCP stream between L1 and L2 a. a 21 minutes TCP stream between L3 and L4 1. sleep for 21 minutes 1. measure the total number of bytes transferred ==== Goal ==== See if the routing protocol can choose the paths for the two streams that maximizes throughput. ==== References ==== * http://www.youtube.com/watch?v=jyaLZHiJJnE |
BattleMeshV5 Tests
Contents
General Rules
- same routing protocol revision and configuration for every test
- routing protocols are tested in turn (i.e. not altogether)
- cpu and memory consumption should 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)-------------(D)------| 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
5x for each protocol
- perform a continuous traceroute (mtr or whatever) from L1 to L2
- load the network with UDP (iperf or whatever) from L1 to L2
- start a 11 minutes download from L2 to L1
- see how many times (if any) the route flaps in 11 minutes
- see if the routing protocol prefers the slow or the fast route
Goals
Check the stability of the routing protocol, and if the metric is effective.
References
The Channel Surfer Test
To be performed on a subset of the nodes.
+----+ | L1 |-----(A) +----+ : x : : (B) : : : : : : (D) | x | | | | | +----+ (C) : : : : : : (E)-----| L2 | y +----+
- L1, L2: laptops
- A, B, D: nodes set on channel x
- C, E: nodes set on channel y
- - and | are cables
- : are wireless links
Steps
only 1x for each protocol
- perform a continuous traceroute (mtr or whatever) from L1 to L2
- load the network with TCP (iperf) from L1 to L2 for 21 minutes
- sleep until the end of the iperf stream
see for which fraction of the time the routing protocol chooses the best route (L1->A->B->C->E->L2)
- see the amount of transferred bytes
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.
.~.~.~.~.~.~.~.~.~.~.~. +----+ ( ) : (GW1)-+ | L1 | :( ) | +----+ ( ) | +----+ ( ) +---+ L2 | ( ) | +----+ ( ) | ( ) : (GW2)-+ ( MESH CLOUD ) .~.~.~.~.~.~.~.~.~.~.~.~.
GW1 and GW2: gateways announcing the address of L2
- The metric from L1 to GW1 is significantly better than the metric from L1 to GW2
Steps
repeat 3x for each protocol
traceroute from L1 to L2 and verify that the path goes through GW1
start pinging from L1 to L2
start a continuous traceroute (mtr or whatever) from L1 to L2
turn off GW1
- count the number of pings from the first lost ping to the first subsequent successful ping
after 2 minutes from its turning off, turn back on GW1 and start a stopwatch
measure the time needed to the network to use GW1 again
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
only 1x for each protocol
- start, at the same time:
- a 21 minutes TCP stream between L1 and L2
- a 21 minutes TCP stream between L3 and L4
- sleep for 21 minutes
- measure the total number of bytes transferred
Goal
See if the routing protocol can choose the paths for the two streams that maximizes throughput.