Battlemesh logo
  • Comments
  • Edit
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
    • Edit SideBar
  • Login

Navigation

  • RecentChanges
  • FindPage
  • PastEvents
  • ContactUs
  • HelpContents
Revision 14 as of 2012-03-31 12:34:23
  • BattleMeshV5
  • Tests

BattleMeshV5 Tests

Contents

  1. BattleMeshV5 Tests
    1. General Rules
    2. Tests
      1. Be Quick or Be Stable Test
        1. Steps
        2. Goals
        3. References
      2. The Channel Surfer Test
        1. Steps
        2. Goal
      3. Convergence Time Test
        1. Steps
        2. Goal
      4. Don't Cross the Streams Test
        1. Steps
        2. Goal
        3. References

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

  1. perform a continuous traceroute (mtr or whatever) from L1 to L2
  2. load the network with UDP (iperf or whatever) from L1 to L2
  3. start a 11 minutes download from L2 to L1
  4. see how many times (if any) the route flaps in 11 minutes
  5. 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

  • 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
  2. load the network with TCP (iperf) from L1 to L2 for 21 minutes
  3. sleep until the end of the iperf stream
  4. see for which fraction of the time the routing protocol chooses the best route (L1->A->B->C->E->L2)

  5. 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

  1. traceroute from L1 to L2 and verify that the path goes through GW1

  2. start pinging from L1 to L2

  3. start a continuous traceroute (mtr or whatever) from L1 to L2

  4. turn off GW1

  5. count the number of pings from the first lost ping to the first subsequent successful ping
  6. after 2 minutes from its turning off, turn back on GW1 and start a stopwatch

  7. 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

  1. start, at the same time:
    1. a 21 minutes TCP stream between L1 and L2
    2. a 21 minutes TCP stream between L3 and L4
  2. sleep for 21 minutes
  3. 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

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01