-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathwbmv7.tex
executable file
·734 lines (564 loc) · 30.5 KB
/
wbmv7.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%% Document class and package options
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \documentclass[a4paper,12pt]{article}
\documentclass[a4paper,12pt,twoside]{article}
\usepackage{outline}
\usepackage{amsmath}
\usepackage{amssymb} % AMS Math
\usepackage{amsfonts}
\usepackage[tight,hang,centerlast]{subfigure}
\usepackage[lined,ruled,longend]{algorithm2e}
\usepackage{longtable}
\usepackage{verbatim}
%\usepackage[dvipsnames]{xcolor}
\usepackage{rotating}
\usepackage{fancyvrb}
\clubpenalty=1000
\widowpenalty=1000
%% eps to pdf
%% specify .eps extension when \includegraphics if you want the .pdf fig file to
%% be regenerated as part of the compilation. Without extension the .pdf fig
%% file is generated only if it does not exist yet
%% --shell-escape option must be enabled
\newif\ifpdf
\ifx\pdfoutput\undefined
\pdffalse
\else
\pdfoutput=1
\pdftrue
\fi
\ifpdf
\usepackage{graphicx}
\usepackage{epstopdf}
\epstopdfsetup{suffix=}
\DeclareGraphicsRule{.eps}{pdf}{.pdf}{`epstopdf #1}
\pdfcompresslevel=9
\else
\usepackage{graphicx}
\fi
% redefine \VerbatimInput
\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}%
{fontsize=\tiny,
%
frame=lines, % top and bottom rule only
framesep=2em, % separation between frame and text
% rulecolor=\color{Gray},
%
label=\fbox{ping.stat},
labelposition=topline,
%
commandchars=\|\(\), % escape character and argument delimiters for
% commands within the verbatim
commentchar=* % comment character
}
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%% Title
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{Measurement Results from\\
Wireless Battle Mesh\\
Version 7}
%\date{Mai, 2014}
\contributors{WBM community}
\eventlocation{Sublab. Leipzig, Germany}
\eventdates{12th to 18th of May 2014}
\eventurl{http://battlemesh.org/BattleMeshV7}
\doctype{Measurement Analysis (work in progress)}
\logofigure{figures/battlemeshv7}
\frontmatter
\maketitle
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%% Indices
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\thispagestyle{plain}
%\vspace*{3cm}
%\begin{center}
%\LARGE{\textbf{Abstract}}
%\end{center}
%\begin{itemize}
%\item TODO..
%\end{itemize}
%\cleardoublepage
\clearsinglepage
\thispagestyle{plain}
\tableofcontents
%\cleardoublepage
\clearsinglepage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%% The document
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\singlespacing
\mainmatter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%% Chapter Inclusion
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\thispagestyle{plain}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Introduction}
\label{sec:introduction}
WBM...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% A summary of protocol itself, the used versions and configuration
%\section{Protocols}
%\subsection{Babel}
%\subsection{Batman-adv}
%\subsection{Bmx6}
%\subsection{OLSR}
\section{Data and System Repositories}
% http://piratepad.net/t6DI0vM4nW %notes during mesh
\begin{rawtext}[caption={Testbed and experiment related code and data repositories}, label=resources]
http://wibed.confine-project.eu
https://github.com/battlemesh/wibed (buildroot)
https://github.com/battlemesh/wibed-battlemesh-experiment (package)
http://wiki.confine-project.eu/wibed:start
https://github.com/axn/wbm2pdf (this stuff, branch wbmv7 in future)
Raw measurement data:
http://wibed.confine-project.eu/resultsdir/wbmv7-axn-16_2014-05-16_19-28-43 (stationary scenarios)
http://wibed.confine-project.eu/resultsdir/wbmv7-axn-17_2014-05-16_20-13-20 (broken crossed streams scenario)
http://wibed.confine-project.eu/resultsdir/wbmv7-axn-19_2014-05-16_21-35-33 (mobile scenarios)
\end{rawtext}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Testbed ad Experiment Description}
\subsection{Deployment}
During the first days of the event a total of 20 wibed nodes have been
deployed. 16 wibed-nodes have been spread over 3 different floors in
the main event building. About 10 of these 16 nodes were located in
the main event hall (approximately 300 square-meters workshop room)
with highest node density in a particular corner of this room
(deathroom in Note \ref{locations}) and the 6 in the below and above floor of the event
hall. Three more nodes have been placed in a neighboring building with
wireless connectivity. One node was battery powered for allowing
mobile-node scenarios. In fact not all node positions were always
exactly known as nodes were sometimes moved to fulfil specific
experimentation-scenario requirements. In each building 1 of the
wibed-nodes were configured as GW nodes and blocked for experimental
usage. The remaining 18 nodes were shared between three different
experimentation groups for running tests and different scenarios (each
node was used by at most one experimentation group at any time).
All experiments were performed in a single 5Ghz channel. However, due
to the presence of around 50 participants with wireless laptops and
several other actively used wireless equipment, also the used 5GHz
channel was likely affected by non-testbed related interference.
The experiment presented in this work was lead by one of these groups
and used the following 16 nodes:
\begin{rawtext}[caption={Node locations and experiment usage}, label=locations]
NodeID Location exp:axn-16 exp:axn-19
(stationary) (mobile)
164a7a deathroom
3b3a90 workshopRoom
3b3d70 ????
3e9db0 deathroom?? 9db0->1ab0 9db0->4174
51aac8 halleAnfang aac8->4174
8a417e deathroom 417e->4174
c24174 HalleEnde (mobile)
c2427a deathroom?? 427a->4174
ce3360 EloiTable
e4b63a mustiTable
e60a62 halleMitte
e60aac deathroom
e60ad6 deathroom
e61936 axelsTable 1936->4174 1936->4174
f41ab0 kloschi (building B) 1ab0->4174 1ab0->4174
\end{rawtext}
\subsection{Protocol configurations and assumptions}
The highly dynamic and uncontrollable interference in the measurement
environment made it impossible to ensure equal conditions for
sequential experiment executions. Therefore, to ensure equal (fair)
environment conditions for all tested protocols, all routing protocols
were running and observed in parallel on all nodes, thus all being
always exposed to the exactly same environmental conditions.
The accepted downside of this approach is of course that protocol
overhead introduced by one protocol or by protocol-observing tools
like ping (causing total overhead in the order of few KB/s, as can be
seen from later measurements) slightly affects the maximum achievable
end-to-end throughput of other protocols (in the order of several
MB/s).
Only netperf-tcp-based throughput probes, seeking to measure the
achievable tcp performance of the end-to-end routing paths established
by the individual protocols, were performed sequentially. This
decision has been made because each netperf test tries to load the
capacity of a given end-to-end path with a maximum of traffic, thus
introducing maximum probing-traffic overhead and interference while on
the other hand (given the tcp-inherent exponential back-off approach)
drastically lowering the currently offered load in the presence of
packet loss, leading to highly randomized results when running in
parallel and making the comparison of parallel executions difficult.
All protocols were configured for routing IPv6 traffic using an
individual ULA address prefix per protocol.
All protocols were configured with default parametrization, thus no
environment specific customizations have been made apart from ensuring
the routing of the given IPv6 address range. The exact configuration
can be accessed via \cite{wbm-config}.
To avoid protocol-bootstrapping effects (eg unfinished neighbor-,
path- or topology-discovery), all routing protocol daemons were
started at least 200 seconds before any measurement.
\subsection{Measurement configuration and assumptions}
\label{measurement-config}
Follow-up measurements were executed from a singe selected node
(src-node) by launching a pre-deployed test script \cite{wbm-test} and
given the id of a single other node (dst-node) for probing end-to-end
path characteristics. Src-node and dst-node IDs for each measurement
are given in Note \ref{locations}.
Each followup measurement last 200 seconds during which the following
additional tools were used to observe protocol performance and
overhead:
\begin{itemize}
\item ping6 (unix) command to dst-node ipv6 address with one-second interval
and 1000 bytes icmp user data. The output of the ping6 command got
logged for later end-to-end packet loss, hop-count, and round-trip
time (RTT) over time analysis.
\item top (unix) command for logging protocol-specific CPU and memory
consumption at 1 second intervals.
\item mtr (my trace route, unix) command at 1 second interval for
tracing full src-to-dst protocol-established path information. Due
to the difficulty to correlate or graphically represent these traces,
the obtained log files were not processed further.
\item netperf, executed in repeating rounds (4 rounds), each probing
sequentially the maximum achievable end-to-end throughput to always
the same destination node for 10 seconds via each routing protocol.
\item tcpdump, passively capturing the present routing-protocol
overhead of each protocol as received on the wireless channel by the
src node.
\end{itemize}
\subsection{Experiments}
The experiment focused on measuring the overhead and performance of 5
different mesh routing protocol implementations in static and mobile
scenarios. The five tested protocols were batman-advanced (batadv),
bmx6, olsr, olsr2, and babel. Unfortunately, we just discovered after
the measurements that the babel protocol daemon was not configured
correctly, leading to broken routing decisions for multi-hop
path. Therefore all babel-protocol related measurements were discarded
in the following discussion.
Experiments are grouped in two different scenarios (wibed experiments
with results accessible via corresponding wibed-data repositories as
given in Note \ref{resources} for exp-16 and exp-19 ), each scenario
consisted of about 4 measurement executions by using different
source-destination combination (measurement results were stored on
the source-node of the measurement as given by Note \ref{locations}).
In the following the two scenarios and selected measurement results
are discussed. The complete set of obtained measurement results and
graphs are in Tables \ref{tbl:s-pings} to \ref{tbl:m4}.
\subsubsection{Stationary scenario}
During the stationary scenario the involved wibed nodes were not
moved, however still affected by uncontrollable interference
conditions from the environment itself, other parallel experiments
executed on other wibed nodes, and the traffic created by the
experiments itself. For each measurement a different couple of
source-node and desalination-node was selected intuitively with the
objective to select, in terms of network-topology, rather distant
(so non-neighboring) nodes.
Each selected node couple was tested successively (with several
hundreds seconds between each measurement) over 200 seconds using the
wbm-test script \cite{wbm-test} doing measurements as described in
Section \ref{measurement-config}.
\subsubsection{Mobile scenario}
Apart from the presence of a single mobile node, always serving as
destination node, all mobile scenarios were performed in the same way
as the stationary scenarios. During the mobile scenario the mobile
node was moved (carried) manually at slow-walking speed (approximately
1m/second) the about 100 meters back and forth along the main event
hall, downstairs to the lower floor, and along the lower hall. The
mobile-node carrying walker returned to its original position few
seconds before the end of each 200 seconds lasting measurement.
\section{Discussion of measurement results}
\newcommand{\selection}{test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-f41ab0/wbm-axn}
In the following the results of only one performed measurement are
discussed in more detail. Therefore the last measurement, as summarized
via graphs in Table \ref{tbl:s4}, was selected simply because it
suited best to illustrate a number of expected and unexpected
phenomena. The results represented by this selection are by no means
representative. However, looking at all performed measurements, a
general ranking of protocols can only be done regarding a very few
particular characteristics while for other, given the few number of
measurements and the high amount of randomness involved, at most some
vague tendencies may be guessed.
\subsection{Protocol-traffic overhead}
The protocol-traffic overhead in terms of bytes per second is given in
Figure \ref{fig:traffic-ovhd-bytes}. The continuous lines are
presenting the measured overhead over time with a one-second
resolution and the dashed lines the average overhead captured by the
source node over the 200-seconds measurement period. It should be
noted that the captured traffic includes all received protocol
traffic, the traffic created by the capturing node itself as well as
the traffic created by neighboring nodes (being in transmission range
of the capturing node). Only pure protocol-traffic was considered (not
user-data related traffic) as created by each protocol to detect and
establish the routing inside the network. For batman-advanced,
encapsulating user traffic inside the same ethernet frame type as used
for protocol traffic, special filtering rules were used for
differentiation.
From this measurement it can be seen that highest average overhead was
created by batman-advanced and olsr. Significantly less overhead
(about one third) was captured for by bmx6. And overhead due to olsr2
somewhere between. In fact, a similar byte-overhead related ranking can
be observed in all other mobile and stationary scenarios.
\begin{figure}[!ht]
\centering
\includegraphics[width=0.8\textwidth]{\selection/tcpdump_B.pdf}
\caption{Protocol traffic overhead in bytes/second over time}
\label{fig:traffic-ovhd-packets}
\end{figure}
Protocol-traffic overhead in terms of packets per second is given in
Figure \ref{fig:traffic-ovhd-packets}. Here batman advanced showed
significantly more (in the order of x10) created packets per second
than all other protocols. Allowing the conclusion that batman-advanced
packet size must be rather small compared to other protocols. Least
amount of packets were captured from olsr. Thus, olsr packets must be
quite big given the similar amount of bytes-per-second overhead that
the olsr and batadv protocols created. Also this ranking repeats in
all other measurements.
\begin{figure}[!ht]
\centering
\includegraphics[width=0.8\textwidth]{\selection/tcpdump_P.pdf}
\caption{Protocol traffic overhead in packets/second over time}
\label{fig:traffic-ovhd-bytes}
\end{figure}
\subsection{Memory and CPU consumption}
Memory and CPU consumption over time are given in Figure \ref{fig:mem}
and \ref{fig:cpu} respectively. Both characteristics are not captured
for batman advanced, which, running in kernel space, does not allow an
easy profiling of this data. It can be seen that none of the captured
protocols changed its memory requirements during this (nor any later)
measurement. Also, the observed differences seem rather marginal
(lowest seen for olsr with about 1.15 MBytes and highest for olsr2 with
about 1.7 MBytes) compared to the total available memory of 128 MBytes.
CPU consumption is given relative to the total available CPU processing
capabilities (typically characterized by CPU architecture, number of
cores, and speed). Here olsr2 showed significantly highest CPU usage
(consuming about 10\% of the total available CPU capacities and about
10 time more compared to other protocols). However, it should be noted
that the olsr2 code from olsr.org is still under heavy development,
probably containing many CPU-consuming debug code that will be cleaned
up in later versions. In fact, as stated by olsr2 developers, it was
the first time this code was tested in a real and reasonable diverse
testbed environment. It is also interesting (even strange) that for
two of the total of 8 measurements olsr2 showed only about 4\% CPU
usage.
\begin{figure}[!ht]
\centering
\includegraphics[width=0.8\textwidth]{\selection/top_VSZ.pdf}
\caption{Protocol memory consumption over time}
\label{fig:mem}
\end{figure}
\begin{figure}[!ht]
\centering
\includegraphics[width=0.8\textwidth]{\selection/top_100CPU.pdf}
\caption{Protocol CPU consumption (relative to total system CPU) over time}
\label{fig:cpu}
\end{figure}
\subsection{Ping6 tests: path RTT, hops, delivery rate}
The analysis of established path characteristics as probed using the
ping6 tool is analyzed from different perspectives in Figures
\ref{fig:ptim}, \ref{fig:prvh}, and \ref{fig:prtt} respectively.
Figure \ref{fig:ptim} shows the resulting RTT and involved hops for
the established end-to-end path of each protocol over time (Hops given
for batman-advanced are incorrect due to its layer-2 routing).
It can be seen that the path (in terms of hops) changed various times
for olsr and bmx6, choosing paths with 2 to 6 hops, despite the fixed
locations of nodes in this experiment. On the other hand, the olsr2
path seemed quite constant, choosing a continuous three-hop path most
of the time which (as can be seen from later discussed Figures
\ref{fig:prtt} and \ref{fig:tp} also lead to the best measured
performance). As expected, the RTT shows smaller values for less hops
and higher latencies for more hops. The tendency of olsr2 choosing
paths with less hops repeats in other stationary measurements. So
does the tendency of olsr and bmx6 for more frequent path changes and
choosing pathes with more hops. It can also be noted (especially by
looking also at graphs from the other stationary measurements) that
path length of olsr and bmx6 often starts and ends with less hops than
observed for the majority and in-between time of the measurement
duration. This phenomenon may be caused by the rather heavy
interference introduced by the parallel netperf measurement which,
starting roughly at the same time than the ping measurement, last only
160 seconds (4 rounds, 4 protocols, 10 seconds). As a consequence,
routing protocols may react to the new interference conditions (as
perceived by decreasing link qualities especially for long-distant
links) with some delay by routing traffic over a new end-to-end path,
using more hops but short-distant links. Once the netperf probes and
related interference finishes, the protocols converge back to paths
with less hops but links covering longer distances.
\begin{figure}[!ht]
\centering
\includegraphics[width=0.7\textwidth]{\selection/s1tim.pdf}
\caption{Observed path RTTs and hops over time }
\label{fig:ptim}
\end{figure}
Figure \ref{fig:prvh} shows the distribution of observed path hops.
\begin{figure}[!ht]
\centering
\includegraphics[width=0.7\textwidth]{\selection/s1rvh.pdf}
\caption{Observed path RTTs and probing occurances over time }
\label{fig:prvh}
\end{figure}
Figure \ref{fig:prtt} shows the ECDF of the observed RTTs during the
whole 200 seconds measurement...
\begin{figure}[!ht]
\centering
\includegraphics[width=0.7\textwidth]{\selection/s1rtt.pdf}
\caption{ECDF of success rates over RTT}
\label{fig:prtt}
\end{figure}
\subsection{TCP throughput}
Figure \ref{fig:netperf} shows the TCP throughput, measured successively
for each protocol and round...
\begin{figure}[!ht]
\centering
\includegraphics[width=0.7\textwidth]{\selection/netperf_TP.pdf}
\caption{TCP throughput, measured successively for each protocol and round}
\label{fig:netperf}
\end{figure}
% wget http://downloads.battlemesh.org/WBMv6/geographical_map1.png
% wget http://downloads.battlemesh.org/WBMv6/geographical_map2.png
%\begin{figure}[!ht]
%\centering
%\includegraphics[width=1.4\textwidth, angle=90]{figures/geographical_map2.png}
%\caption{geographical map snapshot}
%\label{fig:geomap}
%\end{figure}
% wget -O topo0.svg "http://battlemesh.org/BattleMeshV6/Tests?action=AttachFile&do=get&target=topo0.svg"
% \immediate\write18{ inkscape -D -z --file=topo0.svg --export-pdf=topo0.pdf }
%\begin{figure}[!ht]
%\centering
%\includegraphics[width=1.4\textwidth, angle=90]{figures/topo0.pdf}
%\caption{OLSR topology snapshot}
%\label{fig:olsr-topo}
%\end{figure}
%\begin{figure}[h]
%\centering
%\def\svgwidth{\columnwidth}
%\includesvg{topo0}
%\end{figure}
\clearpage
%\makeFigure{sBrtt}{Random node test 2}{0.69}
%\makeFigure{sBrvh}{Random node test 2}{0.69}
%\immediate\write18{ ../eval.R --data=../tmp.data --stat=../tmp.stat --imgdir=../img --texdir=inputs/ }
\subsection{Summary}
Given the few number of measurements and the high amount of randomness
involved, the results gathered during this measurement campaign are by
no means representative. Looking at all performed measurements, as given
in Tables \ref{tbl:s-pings} to \ref{tbl:m4}, a general ranking of
protocols can only be done regarding some few and particular
characteristics. For other, if at all, at most some vague tendencies
may be guessed. Main conclusion here is that much more measurements
would be needed for concluding representative results. Thus,
observations summarized in the following MUST be taken carefully.
OLSR showed varying and in average medium results for measured path
throughput, RTT, and total packet loss (the four performed throughput
measurements showed it in all positions, from best- to least-well
performing protocol). Its observed CPU and memory consumption was
always notable low. Regarding protocol-traffic overhead, it typically
ranged within the most expensive (bandwidth consuming) protocols.
OLSR2 also showed varying and in average medium results for measured
path throughput, RTT, and total packet loss (OLSR2 driven path
throughput was typically lowest but once notable high). Its observed
CPU and memory consumption was always notably higher than any other
protocol. Regarding protocol-traffic overhead, it showed average cost
(bandwidth consuming more than bmx6 but less than olsr and batman advanced).
BMX6 showed rather good results for measured path throughput, RTT, and
total packet loss (all four throughput measurements resulted in first
or second position). Its observed CPU and memory consumption showed
average cost. Regarding protocol-traffic overhead, it always showed
least cost.
Batman advance also showed varying and in average medium results for
measured path throughput, RTT, and total packet loss. Memory and CPU
usage could not be measured. Regarding protocol-traffic overhead, it
typically ranged within the most expensive (bandwidth consuming)
protocols.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Recommendations for next battlemesh}
\begin{itemize}
\item Traceroute and mrt often show high packet for intermediate
nodes. This is due to a kind of denial-of-service mechanism enabled
by default in Linux kernel. WIth this mechanism the kernel simply
discards frequent icmp responses (eg due to exceeded TTL
values). This behavior can be disabled by lowering the default
net.ipv6.icmp.ratelimit=1000 setting, eg via: sysctl -w
net.ipv6.icmp.ratelimit=10
\item Use batctl for batman-advanced and ping related measurement foo.
\item Do also protocol execution sequentially, so that protocol
overheads do not affect other protocols path performance.
\end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Appendix}
\subsection{All stationary-scenario measurement graphs}
\makeCCCTabl{tbl:s-pings}{End-to-end ping6 performance between two stationary nodes: 9db0-1ab0, 417e-4174, 1936-4174, 1ab0-4174}{%
\makeCCCPingGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-3e9db0/wbm-axn}
\makeCCCPingGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-8a417e/wbm-axn}
\makeCCCPingGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-e61936/wbm-axn}
\makeCCCPingGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-f41ab0/wbm-axn}
}
\makeCCCTabl{tbl:s1}{Overhead and end-to-end performance between two stationary nodes: 3e9db0 and 1ab0}{%
\makeCCCPingGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-3e9db0/wbm-axn}
\makeCCCPerfGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-3e9db0/wbm-axn}
\makeCCCOvhdGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-3e9db0/wbm-axn}
}
\makeCCCTabl{tbl:s2}{Overhead and end-to-end performance between two stationary nodes: 8e417e and c24174}{%
\makeCCCPingGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-8a417e/wbm-axn}
\makeCCCPerfGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-8a417e/wbm-axn}
\makeCCCOvhdGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-8a417e/wbm-axn}
}
\makeCCCTabl{tbl:s3}{Overhead and end-to-end performance between two stationary nodes: e61936 and c24174}{%
\makeCCCPingGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-e61936/wbm-axn}
\makeCCCPerfGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-e61936/wbm-axn}
\makeCCCOvhdGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-e61936/wbm-axn}
}
\makeCCCTabl{tbl:s4}{Overhead and end-to-end performance between two stationary nodes: f41ab0 and c24174}{%
\makeCCCPingGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-f41ab0/wbm-axn}
\makeCCCPerfGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-f41ab0/wbm-axn}
\makeCCCOvhdGraphic{./test_data/wbmv7-axn-16_2014-05-16_19-28-43/wbmv7-axn-16_2014-05-16_19-28-43_wibed-f41ab0/wbm-axn}
}
%\makeCCCTabl{tbl:p2}{concurrent End-to-end ping6 performance between four stationary nodes 1936-4174 and 1ab0-417e}{%
% \makeCCCPingGraphic{./test_data/wbmv7-axn-17_2014-05-16_20-13-20/wbmv7-axn-17_2014-05-16_20-13-20_wibed-e61936/wbm-axn}
% \makeCCCPingGraphic{./test_data/wbmv7-axn-17_2014-05-16_20-13-20/wbmv7-axn-17_2014-05-16_20-13-20_wibed-f41ab0/wbm-axn}
%}
%\makeCCCTabl{tbl:p3}{concurrent End-to-end ping6 performance between four stationary nodes 417e-1ab0 and 4174-1926}{%
% \makeCCCPingGraphic{./test_data/wbmv7-axn-17_2014-05-16_20-13-20/wbmv7-axn-17_2014-05-16_20-13-20_wibed-8a417e/wbm-axn} %broken daemons
% \makeCCCPingGraphic{./test_data/wbmv7-axn-17_2014-05-16_20-13-20/wbmv7-axn-17_2014-05-16_20-13-20_wibed-c24174/wbm-axn} %broken daemons
%}
\subsection{All mobile-scenario measurement graphs}
\makeCCCTabl{tbl:m-pings}{End-to-end ping6 performance to mobile node 4174 from aac8, 1936, 1ab0}{%
\makeCCCPingGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-51aac8/wbm-axn}
\makeCCCPingGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-e61936/wbm-axn}
\makeCCCPingGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-f41ab0/wbm-axn}
\makeCCCPingGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-c2427a/wbm-axn}
}
\makeCCCTabl{tbl:m1}{Overhead and end-to-end performance to mobile node c24174 from stationary node 51aac8}{%
\makeCCCPingGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-51aac8/wbm-axn}
\makeCCCOvhdGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-51aac8/wbm-axn}
}
\makeCCCTabl{tbl:m2}{Overhead and end-to-end performance to mobile node c24174 from stationary node e61936}{%
\makeCCCPingGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-e61936/wbm-axn}
\makeCCCOvhdGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-e61936/wbm-axn}
}
\makeCCCTabl{tbl:m3}{Overhead and end-to-end performance to mobile node c24174 from stationary node f41ab0}{%
\makeCCCPingGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-f41ab0/wbm-axn}
\makeCCCOvhdGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-f41ab0/wbm-axn}
}
\makeCCCTabl{tbl:m4}{Overhead and end-to-end performance to mobile node c24174 from stationary node c2427a}{%
\makeCCCPingGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-c2427a/wbm-axn}
\makeCCCOvhdGraphic{./test_data/wbmv7-axn-19_2014-05-16_21-35-33/wbmv7-axn-19_2014-05-16_21-35-33_wibed-c2427a/wbm-axn}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\section*{Acknowledgements}
%
%This work is supported by ...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\backmatter
\bibliographystyle{ieeetr}
%\bibliography{biblio-data}
\end{document}