Progressive solution of communication services in the environment
of embedded devices
Progressive solution of communication services in the environment of
Supervisor: Ing. Frantisek Jakab, PhD.
Consultant: Ing. Frantisek Jakab, PhD.
Author: Ivan Klimek
Thesis title: Progressive solution of communication services in the
environment of embedded devices
Type of Thesis: Master’s Thesis or Bachelor‘s Thesis
Number of Pages: 50
University: Technical University of Košice
Faculty: Faculty of Electrical Engineering and Informatics (FEI)
Department: Department of Computers and Informatics (DCI)
Study Specialization: Informatics
Study Programme: Informatics
Supervisor: Ing. František Jakab, PhD.
Consultant: Ing. František Jakab, PhD.
Date of Submission: 30. 5. 2008
Date of Defence: 15. 6. 20078
Keywords: MANET, OLSR, OLSR-NG, MANIAC Challenge, Live and
Let Live strategy, Cooperation strategies, Energy efficiency,
Spectrum usage, SDR, Android, UMA
Category Conspectus: (In Slovak only) Výpočtová technika; Počítačové siete
Thesis Citation: Ivan Klimek: Progressive solution of communication services
in the environment of embedded devices. Bachelor's Thesis.
Košice: Technical University of Košice, Faculty of Electrical
Engineering and Informatics. 2008. 50 pages
Title SK: Progresívne riešenie komunikačných služieb v prostredí
Keywords SK: MANET, OLSR, OLSR-NG, MANIAC Challenge, Live and
Let Live strategy, Kooperačné stratégie, Spotreba energie,
Spotreba spektra, SDR, Android, UMA
Abstract in English
Mobile Ad hoc Networks (MANETs) provide the flexibility to create networks
on-demand and without any dedicated infrastructure, networks consisting only of end
clients. This thesis maps the current possibilities of the technology and features that
need to be added. The routing overhead / signalization reduction strategy The Live and
Let Live is presented in detail. Further the large scale deployment of MANETs and the
means of accomplishing this goal are studied. The first prototype of a MANET enabled
mobile router and the port of the OLSR-NG routing protocol for the Android mobile
platform are presented. The feasibility of commercial MANET usage is shown on the
example of the combination of MANETs with technology of Unlicensed Mobile Access
Abstract in Slovak
Mobilné Ad hoc siete (MANETy) pozostávajú iba z koncových klientov a
poskytujú flexibilitu vytvárať siete podľa aktuálnych potrieb bez akejkoľvek
dedikovanej infraštruktúry. Táto práca sa zaoberá zmapovaním možností súčasných
technológií a ich možnými rozšíreniami. Detailne je prezentovaná stratégia redukcie
réžie smerovacieho protokolu a signalizácie The Live and Let Live. Ďalej sa zaoberá
nasadením sieti tohto typu vo väčšom meradle a skúma možnosti dosiahnutia tohto
cieľa. V rámci tejto práce je prezentovaný aj prvý prototyp mobilného smerovača s
MANET podporou a port smerovacieho protokolu OLSR-NG na mobilnú platformu
Android. Reálnosť komerčného využitia je prezentovaná príkladom kombinácie
technológií MANET a Unlicensed Mobile Access (UMA).
I hereby declare that this thesis is my own work and effort. Where other sources
of information have been used, they have been acknowledged.
, 30. 5. 8
Firstly I would like to thank Ing. František Jakab, PhD. for his constant support
and valuable advices.
I am very happy that I was able to be part of the Computer Networks Laboratory
and by this way I would like to thank all the members of this organization.
One of the most important things in everyone’s life is family, mine provided me
everything they could and I am and I always will be thankful for that.
I would also like to thank all my friends and colleagues that helped me during the
few last years on the university.
A special thanks goes to my girlfriend Inka, for all the beautiful days we had and
only will have.
The first radio telecommunication methods were all according to current
terminology point-to-point links, just later in the process of their evolution it came to
some kind of centralization. One ends of multiple point-to-point links were connected
together via a multiplexor; that was the beginning of the network infrastructure we
nowadays know. The main reason why this happened, were technical limitations of that
time. The network infrastructure evolved, and it became an inseparable part of
Such an approach however has its negatives, the speed and capacity of the
network is limited by the network infrastructure. In case of an infrastructure outage are
the end clients literally cut off. The network infrastructure has to be managed by some
authority and of course someone has to pay it.
With the advancements in wireless networking, their growing integration into
everyday life in devices like notebooks, personal digital assistants, mobile phones etc.
completely new possibilities arise. Now we are able to create networks with practically
unlimited size, without any dedicated infrastructure, without any authority in control,
without speed or capacity limitations a network build completely upon end user devices
and limited only by their performance. All this is done without high requirements on
hardware, so that any device with the support of the implemented wireless technology
could participate in this network.
Networks of this type are called MANETs (Mobile Ad hoc Networks). This thesis
aims to map the necessary features that need to be added to the current MANET
implementations so that they could be reliably used in everyday life. This means adding
cooperation mechanisms, an effective power saving and spectrum usage strategy and
QoS assurance. To present the feasibility of this vision, example MANET
implementations will be provided.
Table of Contents
The problem expression.......................................................................................16
Ad hoc routing protocols.....................................................................................17
2.1 Ad hoc routing protocol classes...................................................................17
2.2 The MANET IETF working group..............................................................21
2.3 Routing protocol selection...........................................................................22
2.4.1 MESH vs. MANET..............................................................................24
2.4.2 OLSR internals ....................................................................................24
3.1 Uncooperative nodes....................................................................................27
3.2 Pro-active approach......................................................................................28
Energy efficiency and spectrum usage...............................................................30
1.1Signalization reduction .................................................................................31
4.1.1 The Live and Let Live strategy............................................................31
4.2 Software Defined Radio (SDR)...................................................................36
6 MANET implementations in embedded/mobile devices................................38
6.1 Mobile router ...............................................................................................38
6.2 Open Handset Alliance (OHA) Android platform.......................................40
6.2.1 Android hacking...................................................................................41
6.2.2 Android OLSR-NG port testing...........................................................44
7 A MANET based service..................................................................................45
List of Figures
Fig. 1: Complexity for n=1000 nodes of different data structures in the
Dijkstra shortest path (SPF) algorithm..............................................................23
Fig. 3 Typical neighbor discovery session.. 26
Fig. 4 Full Mesh topology 30
Fig. 5 An example MANET topology 32
Fig. 6 OLSR updates as they are normally propagated to all nodes in range..
Fig. 7 OLSR updates unicast to chosen locations.. 33
Fig. 8 Real life example for The Live and Let Live strategy.. 34
Fig. 9 Topology screen from the actual MANIAC Challenge 2007 34
Fig. 10 Mobile Router prototype 39
Fig. 11 Android system architecture 41
Fig. 12 OLSR-NG daemon running inside the Android emulator 43
Fig. 13 OLSR-NG android testing topology 44
Fig. 14 How UMA technology works46
List of Symbols and Abbreviations
ADB Android Debugging Bridge
AODV Ad-hoc On-demand Distance Vector
API Application Programming Interface
ARM Advanced RISC Machine
ARP Address Resolution Protocol
B.A.T.M.A.N. Better Approach To Mobile Ad hoc Networking
dBm Decibel to milliwat
DoS Denial of Service
DSL Digital subscriber line
DVB-T Digital Video Broadcasting – Terrestrial
ETX Expected transmissions
Flash-OFDM Fast Low-latency Access with Seamless Handoff Orthogonal Frequency
GAN Generic Access Network
GCC GNU C Compiler
GHz Giga Herz
GPS Global Positioning System
GSM Global System for Mobile communications
IETF Internet Engineering Task Force
IP Internet Protocol
ipkg Itsy Package Management System
IS-IS Intermediate system to intermediate system
ISP Internet Service Provider
L1 OSI Layer 1
L2 OSI Layer 2
L3 OSI Layer 3
MANET Mobile Ad hoc Network
MANIAC Mobile Ad hoc Networks Interoperability and Cooperation
MB Mega Byte
MHz Mega Herz
MIMO Multiple-input and Multiple-output
MIPS Microprocessor without Interlocked Pipeline Stages
MPR Multipoint relay
OHA Open Handset Alliance
OLSR Optimized Link State Routing
OLSRd OLSR daemon
OLSR-NG Optimized Link State Routing - Next Generation
OSI Open Systems Interconnection
P2P Peer to Peer
PC Personal Computer
PCMCIA Personal Computer Memory Card International Association
PDA Personal Digital Assistant
POSIX Portable Operating System Interface
QoS Quality of Service
RF Radio Frequency
RFC Request for comments
RISC Reduced instruction set computer
SDK Software Development Kit
SDR Software Defined Radio
SOHO Small office Home office
SPF Shortest Path First
SSID Service Set Identifier
TC Topology Control
ToS Type of Service
UMA Unlicensed Mobile Access
UMPC Ultra-Mobile PC
UMTS Universal Mobile Telecommunications System
USA United States of America
VoIP Voice over IP
WAN Wide Area Network
Wi-Fi Wireless Fidelity
WiMAX Worldwide Interoperability for Microwave Access
WWAN Wireless Wide Area Network
List of Terms
QoS is a resource reservation control mechanisms. The ability to provide different
priority to different applications, users, or data flows, or to guarantee a certain level of
performance to a data flow.
VoIP is a technology that enables transferring real-time voice communication over an
IP Data Network.
DoS attack is an attempt to make a computer resource unavailable to its intended users.
MIMO is the use of multiple antennas at both the transmitter and receiver to improve
Mobile networks operators are often confronted with the problem of insufficient
base station network capacity. This happens mainly by large sudden concentration of
transferred data on a sector, for example at New Year’s Eve everyone wants to call their
families, etc. There are other possibilities to solve this problem. Except of multiplying
base station capacities, so called femtocells can be used. That are smaller base stations
that can improve both coverage and capacity of the network, they connect to the
provider's network using some other means of connection e.g. DSL or cable.
This thesis is based on the known fact that the penetration of mobile phones is
higher than 100 percent1, there is a rising trend of Wi-Fi integration into mobile phones 2
and there are usually more means of internet connection in the same area 3. A very
important factor is the success and popularity of networks with shared resources like
The presented solution uses MANETs for the creation of a network amongst the
participating nodes, in which some nodes will be willing to share their internet
connection to other nodes in the network, creating something similar to femtocells from
themselves. Considering the growing number of broadband flat-rate connections,
sharing own internet connectivity should not burden the sharing node.
There are several MANET implementations this days, the first part of this thesis
is dedicated to finding the optimal routing protocol for our case. A MANET has an
advantage comparing with typical Wi-Fi networks, the data can go thru multiple hops
on their way, and this means that the range of such a network is not limited to the direct
topological neighbors of the gateway. If such a network has to reliably work in real life,
the cooperation of all nodes has to be assured. Cooperation strategies are explained in
the second part of this thesis. Because of the character of the proposed technology, it is
clear that most of the nodes will be mobile devices and will run on batteries, which is
why it is necessary to minimize the power requirements. The third part of this work
looks at the problem from the battery life point of view and mentions the question of
spectrum usage. The fourth part deals with methods of QoS assurance so that it would
more phones than people
like infrared or Bluetooth few years before
multiple operator networks, DSL, cable etc …
be possible to support VoIP or similar QoS demanding services in a dynamic multi-hop
environment like MANETs. The semi-final part shows the implementation of MANETs
into real-life embedded/mobile systems. The thesis ends with an example of a service
built upon the presented technology.
The problem expression
The goal of this thesis is to map the current MANET technological possibilities and the
features that need to be added to allow the widespread use of this technology. To
present the feasibility of this aim, example MANET implementations in
embedded/mobile devices will be provided.
To achieve this goal, it is necessary to:
- Analyze the problematics of Mobile Ad-hoc Networks (MANETs)
- Try to find the most suited MANET routing protocol for large scale networks
- Map the possibilities of extending the features of current MANET
- Provide example MANET implementations in embedded/mobile devices
Ad hoc routing protocols
Mobile Ad hoc Networks (MANETs) are collections of mobile nodes, dynamically
forming a temporary network without pre-existing network infrastructure or centralized
administration. Mobile nodes can be arbitrarily located and are free to move randomly
at any given time. Node mobility can vary from almost stationary nodes to constantly
moving nodes. That means that network topology and interconnections between nodes
can change rapidly and unpredictably. There are no dedicated routers in the topology,
each node in a MANET acts as a router and is responsible for discovering and
maintaining routes to other nodes. MANETs are autonomous networks so that a suitable
routing protocol(s) is/are required to automatically adjust to, possibly very frequent,
environment changes. The primary goal of the MANET routing protocol is correct and
efficient route establishment to facilitate communication within the network between
arbitrary nodes .
2.1 Ad hoc routing protocol classes
There are several classes of Ad hoc routing protocols, the next section will briefly
describe each and name few examples of routing protocols belonging to that class. 
1) Pro-active Routing (Table-driven)
Protocols of this type maintain fresh lists of destinations and their routes by
periodically distributing routing tables throughout the network. The main disadvantages
of such algorithms are:
1. Respective amount of data needed for maintenance.
2. Slow reaction to restructuring and failures.
Examples of proactive algorithms are:
- Ad hoc Wireless Distribution Service (AWDS) - Layer 2 wireless mesh routing
- Highly Dynamic Destination-Sequenced Distance Vector routing protocol
- Babel, a protocol inspired by DSDV with faster convergence and ETX link
- Mobile Mesh Routing Protocol (MMRP)
- Topology Dissemination based on Reverse-Path Forwarding routing protocol
(TBRPF) - RFC 3684
- Optimized Link State Routing Protocol (OLSR) - RFC 3626
2) Reactive Routing (On-demand)
This type of protocols finds a route on demand by flooding the network with
Route Request packets. The main disadvantages of such algorithms are:
1. High latency time in route discovery.
2. Excessive flooding can lead to network clogging.
Examples of reactive algorithms are:
- Dynamic Source Routing (DSR) - RFC 4728
- Ad hoc On-demand Distance Vector (AODV) - RFC 3561
- Multirate Ad hoc On-demand Distance Vector Routing Protocol (MR-AODV)
- Admission Control enabled On demand Routing (ACOR)
3) Flow Oriented Routing
This type of protocols finds a route on demand by following present flows. One
option is to unicast consecutively when forwarding data while promoting a new link.
The main disadvantages of such algorithms are:
1. Takes long time when exploring new routes without a prior knowledge.
2. May refer to entitative existing traffic to compensate for missing knowledge on
Examples of flow oriented algorithms are:
- Multipath On-demand Routing Protocol (MOR)
- SrcRR - DSR and ETX based, optimized for performance, SrcRR: A High-
Throughput Routing Protocol for 802.11 Mesh Networks
4) Adaptive Routing (Situation-Aware)
This type of protocols combines the advantages of proactive and reactive routing.
The routing is initially established with some proactively prospected routes and then
serves the demand from additionally activated nodes through reactive flooding. Some
metrics must support the choice of reaction. The main disadvantages of such algorithms
1. Advantage depends on amount of nodes activated.
2. Reaction to traffic demand depends on gradient of traffic volume.
Example of adaptive algorithms:
- Temporally-Ordered Routing Algorithm routing protocol (TORA)
5) Hybrid (Pro-Active/Reactive)
This type of protocols also combines the advantages of proactive and reactive
routing. The routing is initially established with some proactively prospected routes and
then serves the demand from additionally activated nodes through reactive flooding.
The choice for one or the other method requires predetermination for typical cases. The
main disadvantages of such algorithms are:
1. Advantage depends on amount of nodes activated.
2. Reaction to traffic demand depends on gradient of traffic volume.
Examples of hybrid algorithms are:
- ARPAM - specialized for aeronautical MANETs
- Hybrid Routing Protocol for Large Scale Mobile Ad hoc Networks with Mobile
6) Hierarchical Routing Protocols
With this type of protocols the choice of proactive and of reactive routing depends
on the hierarchic level on which a node resides. The routing is initially established with
some proactively prospected routes and then serves the demand from additionally
activated nodes through reactive flooding on the lower levels. The choice for one or the
other method requires proper attributation for respective levels. The main disadvantages
of such algorithms are:
1. Advantage depends on depth of nesting and addressing scheme.
2. Reaction to traffic demand depends on meshing parameters.
Examples of hierarchical routing algorithms are:
- Hierarchical State Routing (HSR) - Scalable Routing Strategies for Ad hoc
Augmented Tree-based Routing (ATR)
7) Geographical Routing Protocols
This type of protocols acknowledges the influence of physical distances and
distribution of nodes to areas as significant to network performance. The main
disadvantages of such algorithms are:
1. Efficiency depends on balancing the geographic distribution versus occurrence
2. Any dependence of performance with traffic load thwarting the negligence of
distance may occur in overload.
Examples of hierarchical routing algorithms are:
- Adaptive Location Aided Routing Protocol – Mines (ALARM)
- Blind Geographic Routing (BGR)
8) Power Aware Routing Protocols
Energy required to transmit a signal is approximately proportional to dα, where d is
the distance and α ≥ 2 is the attenuation factor or path loss exponent, which depends on
the transmission medium. When α = 2 (which is the optimal case), transmitting a signal
half the distance requires one fourth of the energy and if there is a node in the middle
willing to spend another fourth of its energy for the second half, data would be
transmitted for half of the energy compared to a direct transmission - a fact that follows
directly from the inverse square law of physics. The main disadvantages of such
1. This method induces a delay for each transmission.
2. No relevance for energy network powered transmission operated via sufficient
Examples of hierarchical routing algorithms are:
- Infra-Structure Aodv for Infrastructured Ad hoc networks (ISAIAH)
- Dynamic Source Routing Power-Aware (DSRPA)
Other minor classes are for example: Multicast Routing, Geographical Multicast
Protocols (Geocasting) etc.
2.2 The MANET IETF working group
A specialized Internet Engineering Task Force working group was created to
focus on the problematics of MANET routing. The purpose of this working group is :
„to standardize IP routing protocol functionality suitable for wireless routing
application within both static and dynamic topologies. The fundamental design issues
are that the wireless link interfaces have some unique routing interface characteristics
and that node topologies within a wireless routing region may experience increased
dynamics, due to motion or other factors.“
As shown in the previous section, wide variety of protocols was proposed, but
only few of them were accepted as experimental Request For Comments (RFC), namely
Ad hoc On-Demand Distance Vector (AODV), Optimized Link State Routing (OLSR),
Topology Dissemination Based on Reverse-Path Forwarding (TBRPF) and the Dynamic
Source Routing Protocol (DSR).
2.3 Routing protocol selection
The priorities when selecting the best routing protocol for the case of this thesis
has been its potential to grow (several thousands of users); it has to be an already
implemented routing protocol with real-life tests. It has to be open-source and extremely
resource saving so that it could be run on a broad range of devices.
There are not many MANETs currently in real-life use. From the protocols
accepted as experimental RFCs, most of the networks use some implementation of the
OLSR. The currently most advanced OLSR implementation seems to be the freifunk
OLSR-NG (Optimized Link State Routing Protocol - Next Generation) .
A very important factor when selecting OLSR-NG was that it is completely
implemented in pure C with very few dependencies . This fact makes it possible to
run olsrd (OLSR-NG daemon) practically on all architectures currently used in the
- x86 – regulars PCs (Linux/BSD/MacOS/Windows)
- PPC – older MAC hardware, some set-top-boxes
- MIPS – often used in embedded systems as routers (Cisco/Linksys routers ...)
- ARM - embedded systems, the majority of mobile phones/PDAs
The key idea behind OLSR-NG as stated on the project wiki page  is to “Build
the most scalable and usable routing daemon routing wireless and fixed line segments.
The routing daemon shall scale up to
10000 (10K) nodes and
20000 (20K) routes
running on low-cost hardware (200 MHz RISC CPUs / 32MB of memory). One of the
main goals is to make OLSR more scalable in practice. “
Figure 1 shows the different complexity graphs for the SPF calculation under the
assumption that every node has 10 edges. The red line represents the complexity of the
original OLSR implementation. The green line is the complexity of OLSR-NG. The
blue line is the complexity of the theoretical best algorithm. This optimisation will
allow the networks to grow by a factor of ~ 1000 4.
Fig. 1: Complexity for n=1000 nodes of different data structures in the Dijkstra shortest path (SPF)
Another benefit of the code optimization in OLSR-NG is reduced CPU usage.
For example in a network with 400 nodes, the CPU usage on a 200 Mhz RISC Linksys
WRT54GL was reduced from above 60 percent to less than 1 percent.
Nowadays, several community networks with hundreds of users use OLSR-NG
in everyday life function, the best example could be the freifunk network , which is
one of the largest user-driven community networks in the world.
on the level of calculating the SPF algorithm
n - number of nodes, e - number of links, e ~= k*n
2.4.1 MESH vs. MANET
The basic difference between a mesh network and a Mobile Ad hoc Network is
that a MANET supports the mobility of nodes.  Most current MANET
implementations are in fact MESH networks because the nodes are generally static
SOHO router (freifunk). This situation is not caused by the constraints of the routing
protocol but by the lack of mobile end devices with MANET support. We will look
deeper into the questions of mobility further.
2.4.2 OLSR internals
The Optimized Link State Routing Protocol (OLSR) is developed for Mobile Ad
hoc Networks. The protocol is documented in the Request For Comment (RFC) 3626.
OLSR is a table-driven, pro-active routing protocol and uses the concept of Multipoint
Relaying for controlling traffic flooding. OLSR functionality can be divided into three
main modules: multipoint relaying, neighbor sensing and link-state flooding.
184.108.40.206 Multipoint Relaying
OLSR uses flooding of packets to spread topology information thru the network.
The simplest form of flooding means that all nodes retransmit received packets. In
difference to wired networks, on a MANET due to its wireless nature it is not possible
to use techniques like not forwarding packets thru the interface the packets arrived on,
for reducing duplicate retransmissions. The number of retransmissions using such
"traditional" flooding is n - 1 where n is the number of nodes in the network. It is clear
that some kind of optimization would be needed to reduce the flooding overhead.
Multipoint relaying helps to reduce the number of duplicate retransmissions
while forwarding a broadcast packet by restricting the set of nodes retransmitting a
packet from all nodes, to a subset of all nodes. The size of this subset depends on the
topology of the network. This is achieved by selecting neighbors as Multipoint relays
(MPRs). Every node calculates its own set of MPRs as a subset of its symmetric
neighbor nodes chosen so that all 2 hop neighbors can be reached through a MPR. In
other words this means that for every node n that can be reached from the local node by
at minimum two symmetric hops, there must exist a MPR m so that n has a symmetric
link to m and m is a symmetric neighbor of the local node. This way all two hop nodes
can be reached through a MPR.
Fig. 2: Flooding a packet in a wireless multihop network. The black nodes are MPRs. Arrows show
the way the information is passed, not the actual transmissions. 
220.127.116.11 Neighbor sensing
As any other routing protocol, OLSR needs some means of detecting neighbors
and the state of communication links to them. Every node on a regular basis sends a
special type of messages called HELLO messages. A simplified model of neighbor
discovery could look like:
- A sends an empty HELLO message
- B receives this message and registers A as an asymmetric neighbor due to the fact that
it cannot find its own address in the HELLO message
- B then sends a HELLO declaring A as an asymmetric neighbor
- When A receives this message it finds its own address in it and therefore sets B as a
- This time A includes B in the HELLO it sends, and B registers A as a symmetric
neighbor upon reception of the HELLO message
Fig. 3: Typical neighbor discovery session 
This is not the only function of HELLO messages; they are generated and
transmitted to all one-hop neighbors to achieve link-sensing, neighbor-sensing, two-hop
neighbor-sensing and MPR selector sensing. In a HELLO message nodes transmit
information about all known links and neighbors, types of neighbors for example
declaring what MPRs the node has selected. To optimize byte usage, registered links
and neighbors are grouped by the link and neighbor type. A very important fact is that
the HELLO messages are generated on a per interface basis.
18.104.22.168 Link-state flooding
Link state routing protocols are based on the idea of nodes flooding the network
with information about their local links. Protocols like IS-IS  use mostly links to
subnets, since they are based on aggregation of networks. OLSR uses host based flat
routing, that means the router sends information about its links to neighbor and that all
routers are peers without any hierarchical structure. This is done using Topology
Control (TC) messages. TC messages are flooded using the MPR optimization. This
happens at a regular interval, but TC messages are also generated immediately when a
change in the network is detected.
There are cases when technology is not used exactly like how it was supposed to.
In a MANET, there might be nodes unwilling to participate on common interest, which
is reliable network with end-to-end connectivity for all elements. What is the motivation
for such actions? This technology is supposed to be used on mobile devices, mobile
devices run on batteries. Every transmission needs energy from the battery. For
a MANET to work every node has to forward data destined/sourced for/by other nodes
in the network. There may be attackers trying to conserve their battery life by dropping
traffic not interesting for them. Such nodes are called bad guys and there are several
possibilities how such attacks on OLSR can function. We will look at some of them and
try to propose an easy but reliable way how to fight them.
3.1 Uncooperative nodes
The most trivial form of an attack on the idea of common interest in MANETs
would be simply not forwarding data uninteresting for the local node. This could be
done very easily using for example an iptables command like this:
iptables -A INPUT –p tcp l -d ! localhost -j DROP
which would drop all tcp packets received destined not for the localhost, where
localhost can be a specified IP address of a local interface. The attacker could drop all
for him uninteresting data, but keep the routing functional. Other network nodes would
send their data thru this node, without knowing that their data never reach their
A solution would be to monitor the neighbor if he is really forwarding the packets
as he should. If not, ignore that rogue node. In a typical environment, the
inbound/outbound interfaces of a neighbor are both in range of the local node. So if the
neighbor can hear the local node’s data and receive them, then the local node can hear
the neighbor’s outbound data too and watch its own data being forwarded. A simple
example of how this could be done using the tshark packet capturing tool:
tshark -i eth0 -f 'ip.src == LOCAL_IP and ip.dst == REMOTE_IP and --mac-source =
where LOCAL_IP is the senders IP address and the REMOTE_IP is the destination IP,
NEIGHBOR_MAC is the checked neighbors MAC address. This is enough information
for identifying forwarded data, because the L3 parameters do not change during the
forwarding process, just the L2 addresses change. Then just a simple check for the right
number of packets needs to be done. Of course in a real application instead of using
a standalone tool, it would be more appropriate to embed packet capturing with the
libpcap library, and do some special checks for size, checksum of packets etc...
A very devastating attack would be for an attacker to not only be uncooperative,
but fake the MPR selection process and become the MPR of the local segment, then
send all nodes fake info stating that he is the only gateway for all routes. All nodes in
that segment, would be literally cut off – an OLSR DoS attack. The attacker could for
example this way get access to the full uplink capacity for the whole segment. An attack
like this was realized on the MANIAC Challenge 2007 by the team that using this
approach won the „Performance award“. The listening its own traffic method mentioned
above, would be able to detect such attacker too.
3.2 Pro-active approach
A clever attacker would always try to be on the edge of the topology, a dead end
so that no one even wants to send his traffic thru that node. This could be done by
several ways, first of all not broadcasting its own SSID, and then not even accepting
connection attempts. Such a node would just simply exploit the network without
actively participating in it. To detect such nodes it is required that all nodes check the
nodes that they are up to provide uplink if they are willing to provide that network
coverage/service further. To prevent these rogue nodes from exploiting the network,
each node (node A) checks its neighbor whose data it is going to forward (node B) by
simulating another node (node C). That node then tries to connect to node whose data
the local node is forwarding /A is simulating node C that wants to connect to node B/.
Because node A is the only possibility for node B to send its data to the network, node
A has to be able to hear node C fake data. This can be done by generating fake traffic
(node C traffic) with different source MAC and IP address than the original interface.
To make this check mechanism even more realistic and harder to detect, the
interface can be temporarily configured with different L1 parameters as for example
iwconfig eth0 txpower N
Sets the transmit power of the card on the interface eth0 to N dBm. This is done by an
ioctl call to the card's driver with the appropriate parameters. This would effectively
avoid possible recognition that node A and node C are the same nodes. If node B fails in
any stage of this check, node A simply does not forward node's B traffic because there
is a reason to believe node B is a rogue node.
Energy efficiency and spectrum usage
Wireless transmissions are always energy demanding, but in a MESH/MANET
there is incomparable more signalization required than in a classical Wi-Fi connection
to some gateway due to the multi-hop environment. In a classical Wi-Fi network, the
access-point is the only point in the network with a high energy drain because it has to
do the signalization to all the clients: a typical one-to-many scenario. The nodes in
a MESH/MANET are practically access-points, as they usually have more than one
connection at the same time - a many-to-many scenario.
In a typical MESH/MANET the devices tend to create connections to as much
other devices as possible, by other words if there would be n nodes in a single room,
every node would try to make a link with each other device creating by that way
together n*(n-1) links, a topology like that is called a full mesh topology.
Fig. 4: Full Mesh topology
In such topology, the overhead of network signalization required just for routing
updates would be extensible. That means not only shorter battery life of the devices, but
slower network speeds and problems with interferences due to the shared spectrum.
Current MESH/MANET implementations are mostly controlled environments, so that
situations like that mentioned above should not happen. But if the MANET support
would be integrated into every Wi-Fi enabled handset, such situation could and possibly
would happen too much often. That’s why it is upmost important to address the question
of signalization. 
1.1 Signalization reduction
There are multiple possibilities how to solve the signalization problem, for
- make changes to the routing protocol so it would use for example only
maximally the n best links, or by other means reduce the number of links
depending on the actual situation
- reduce the topology that the routing protocol sees, so that it will communicate
only with the pre-selected hosts, of course situation dependent
For the prototype of such a signalization reduction algorithm, the second option
was chosen. The reason was that the prototype was build for the MANIAC Challenge6
, which provided an API that made the development process a lot shorter. For the
future, it would be the best to implement the strategy into the used routing protocol.
OLSR-NG, for example, has a plug-in interface so that additions to the protocol can be
implemented more easily.
4.1.1 The Live and Let Live strategy
The Live and Let Live strategy was the strategy that our team from the Computer
Networks Laboratory developed for the MANIAC Challenge, and which won the
„Strategy award“. Its primary aim is to solve the signaling problem by minimizing the
topology that the routing protocol on the local node sees, keep the network fully
operational but create something that could be called a minimal possible topology tree,
without the need of communication between the nodes when creating this tree.
The general idea is that no node in any network really wants to forward the data of
other nodes at its own expenses. If every element would treat others this way, the
network would not work. On the other hand, every node needs to communicate. That is
why it became part of the network. As MANETs are decentralized, in order to keep the
network working, some nodes have to forward foreign data too. The Live and Let Live
strategy reduces the number of communication links between the nodes while keeping
them all connected and being able to communicate with each other. The first step is to
find the best next-hop for forwarding the local node's data (e.g. best next hop to the
Mobile Ad hoc Interoperability and Cooperation (MANIAC) Challenge 2007, Washington D.C., 25th
and 26th of November, 2007
gateway). Then the direct connectivity to all other one-hop neighbors is temporarily
terminated. After the changes in topology propagate, the local node checks if its one-
hop neighbors are reachable thru the only enabled node, the best next hop. If not, one of
the original neighbors is randomly chosen and enabled. The check for accessibility of
other nodes is performed again. If they have any other way to access the network except
of the local node, the local node will be able to hear of them thru one of the enabled
nodes in their routing updates. This algorithm continues until all of the original nodes
are accessible again. In each iteration the nodes that become reachable as a result of the
actions during that iteration are deleted from the list of nodes that need to be checked.
Algorithm is rerun whenever a topology change is detected. Topology changes are
propagated extremely fast thanks to the OLSR MPR concept. This calculation is only
applicable to battery powered mobile devices. Other nodes with no power saving
concern act as "center of topology", ideally a next-hop node for several mobile devices.
Such approach creates a topology in which every battery powered device minimizes its
number of connections and traffic load, but also acts as an entry point for all other nodes
that have no other means of connecting to the network, keeping the network operational.
Fig. 5: An example MANET topology. Node 1 has chosen the next hop (FRIEND) for delivering the
traffic to its destination (Node 2). Two other nodes that are in the range are blocked as there is an
alternate route to the network for their traffic. All nodes keep connectivity to each other.
To minimize the number of connections, the combination of ARP filtering and
unicasting of the originally multicasted OLSR update messages is used, so that the
nodes are visible only to the nodes they want to be visible to and want to create links
with them. By using this approach a logical topology inside the physical topology is
created. Despite the fact that the nodes have mutual Layer 1 connectivity (e.g. they are
in range of each other wireless adapter) they won’t know of each other as of a direct
neighbor unless the minimal active neighbor topology calculation doesn’t indicate
Fig. 6: OLSR updates as they are normally propagated to all nodes in range.
Fig. 7: OLSR updates unicast to chosen locations. Excluded nodes do not recognize NODE 1 as a
neighbor node, even though it is in their range.
The Figure 8 shows an example of real implementation of the strategy - limitation
of the unnecessary traffic and keeping all nodes connected. PC 1 and PC 2 represent
devices with no battery concerns, while NODEs 1 – 3 are mobile battery driven devices.
NODE 2 does not need to establish the connection to NODE 1 as it can connect to the
network via PC 1, which is not limited by battery. On the other hand, NODE 3 is fully
dependant on NODE 2 and that is why NODE 2 provides the connection.
Fig. 8: Real life example - The Live and Let Live strategy
Fig. 9: A topology screen from the actual MANIAC Challenge 2007, the two nodes that are not a
part of the full mesh are two nodes running The Live and Let live strategy, minimizing the number
of their links and reducing the signalization without the sacrifice of network connectivity.
One of the main ideas behind Live and Let Live is that in most of end-user
networks only the connection to the internet is required, only very few users connect to
other users inside the ISP’s network. To reduce the networking overhead/signalization
only the best link(s) to the nearest gateway is actively used, and if no other possibility,
traffic for other nodes is forwarded.
OLSR as a proactive protocol when comparing to reactive protocols as for
example AODV, should perform better in dense traffic patterns (100% = traffic pattern
is when there are n · (n-1) traffic flows, where n is the number of nodes). Sparse traffic
patterns favor reactive protocols, because most of the information gained by the
proactive routing protocol is never used. The general exception is that the routes to the
default gateway should be maintained proactively . The benefit of OLSR in larger
networks is clear, but with the use of The Live and Let Live strategy OLSR is effective
in every situation because the routing information are limited only on the default
gateway and nodes without any other mean of connection.
The effect of The Live and Let Live strategy is to minimize the signalization
required as much as possible but still keep the network operational, as shown in Figure
9, it really works. The actual traffic/signalization reduction is dependant on the
topology. In a full mesh with n nodes every node has n-1 links, if The Live and Let Live
strategy would be used every node running on battery would have only 1+m links,
where the 1 is for uplink7 and m is the number of nodes that do not have any other mean
of connection to the network except of the local node. The overall number of links
would be reduced. Every additional link means more routing protocol overhead e.g.
spectrum usage. The topology created would concentrate most of the traffic on nodes
without battery concerns. That are mostly fixed SOHO Wi-Fi routers, or laptops etc,
keeping the handsets (mobile phones, PDAs) free of relaying other nodes traffic until
there really is no other way how to provide connection.
The Live and Let Live strategy source code from the MANIAC Challenge 2007 is
included in the appendix.
can be more than 1, for example to enable load-balancing
4.2 Software Defined Radio (SDR)
Software Defined Radio is a way how a layer of abstraction can be made around
the OSI Layer 1, so that the upper layer technology is free of the L1 limitations. With
SDR it is possible to use one chip theoretically for any frequency, for any technology.
For example Intel already presented a chip integrating Wi-Fi a/b/g, WiMAX and DVB-
T, see  .
A software-defined radio is one that has the capability to tune to any frequency
band and receive any modulation across a large frequency spectrum. A SDR is able to
perform multiple tasks at the same time. In other words, it can receive and transmit a
new form of radio protocol just by running new software. This technology is leading
towards the development of ‘Cognitive Radio’; estimations are that this should happen
before 2015-2020. Such device would be able to monitor the utilization of the RF in
real-time and select the way how to communicate with the neighbor for the best
performance automatically. 
The problem with MANETs is that there can be situations, in which a great
number of nodes are in close proximity of each other. With usual technologies that can
cause a lot of interference and practically a certain amount of nodes on a set space can
completely deny the service for the whole sector. With the help of SDR, it would be
possible to use any free spectrum frequency (2.4, 5, 10 GHz or other in other countries).
Change the frequency used in real-time and by that avoid critical levels of interferences.
This would enable a much higher concentration of nodes. For the use in MANETs in
sooner future than the mentioned 2015-2020, it does not need to be a ‘Cognitive Radio’,
the combination of the most used frequency bands into one chip and a fast way how to
monitor and change the currently used frequency would be a big leap forward too. Some
speculations are that this could be done with the help of MIMO.
The next years MANIAC Challenge 2008 will be focused on application of
technologies like SDR and MIMO. The Computer Networks Laboratory team will of
course participate again.
Except of the support of ToS preference routing or a lot of other technologies, the
QoS in a multi-hop environment will be always a demanding problem. MANETs are
a quite special case, the absence of any infrastructure and the mobility of the nodes
create an unpredictable situation. Any node can move anytime, or even get offline.
The absolute mobility and instability of the network has to be reduced /
compensated by some way, preferably by some mean of prediction of the movement of
the nodes. Because it is impossible to predict sudden events as for example when
somebody shutdowns his mobile phone, focus will be given only on predicting the
movement of nodes. The motivation is that when speaking about QoS it is usually better
to have one stable connection for a longer time then a faster connection for only few
seconds. For example the stable connection could be represented by a node that is
moving in the approximately same direction as the local node moves, and the faster but
only few seconds’ available connection could be a node moving closer to the local node
but in the opposite direction.
Such a prediction could be made using information collected from the network
over certain period of time, and using some mathematical prediction model to see what
node will be available for approximately what time. The data can be collected using
different methods; the easiest would be to use the iwspy tool. Iwspy is able to monitor
multiple nodes in parallel, and collect the quality of the link, signal strength and noise
level parameters for every specified node.
6 MANET implementations in embedded/mobile
Most of the current MESH/MANETs are using modified Linksys WRT series
SOHO Wi-Fi routers, or very similar devices. These devices usually are not mobile, so
the benefits of the technology are not fully used.
An ideal MANET scenario that would benefit from all the features that the
technology provides could look like the following:
- MANET enabled home WAN/WWAN Wi-Fi router, this router can be mobile –
battery driven, so the end user can take his own hot-spot / femtocell with him
and use his data plan wherever he is (car, office ...)
- Mobile phones/PDAs/UMPCs/notebooks – the Wi-Fi / MANET enabled end
clients, can move freely, use MANET for internet connection, multi-hop to the
gateway provided by one of the mobile routers
- Because the primary function of the mobile routers is to route data, they are
preferred as next-hops and MPRs so that the traffic does not burden so much the
end clients. If it is not possible to use directly a router as a next-hop only then
use an end client instead.
6.1 Mobile router
Almost all of the MASH/MANET routers nowadays use some kind of embedded
Linux distribution . One of the most popular is OpenWrt , which
implements a modular packaging system – ipkg. This enables to install new software on
the router anytime. The packages can contain any system software so that it is possible
to change completely the behavior / function of the router by simply installing one
The software architecture of the mobile router:
The freifunk firmware is based on the OpenWrt distribution. Because it is
a complete firmware it is burned onto the device replacing whatever there was installed
before. The other possibility is to install only the OLSR-NG as a package into
an existing OpenWrt system.
Fig. 10: The internals of the Linksys WRT54G3G with added batteries and a Flash-OFDM
PCMCIA WWAN datacard
The Linksys WRT54G3G was ideal for a prototype of the mobile router, except
the hardware battery hack done by Michael Watterson the PCMCIA slot provided
a possibility to use a PCMCIA modem as the network uplink. This uplink can be then
provided to other MANET nodes using OLSR-NG. The prototype was first created to
present the possibilities of the Flash-OFDM technology ; just later its possible use
in MANETs was realized.
6.2 Open Handset Alliance (OHA) Android platform
A short characterization of the Android platform from its official site : „The
Open Handset Alliance, a group of more than 30 technology and mobile companies, is
developing Android: the first complete, open, and free mobile platform. “
Android as the first open source Linux mobile platform is a great opportunity for
Mobile Ad hoc Networks because most of their current implementations are Linux
based. The problem with Android is that it officially supports only applications written
in Java . Hence the porting of OLSR-NG to the Android platform required some
hacking. To the authors' knowledge, this is currently the only port of a MANET routing
daemon for the Android platform.
The first devices based on the Android platform should become available in Q3
2008. Due to the massive community / industry support it is highly possible that it will
become a de-facto industry standard and compete with Symbian and Windows Mobile.
Fig. 11: Android system architecture 
6.2.1 Android hacking
Because there are no real Android based devices available yet, the only possibility
for testing an Android port was to use the official Software Development Kit. The SDK
contains a QEMU  virtual machine simulating an ARM based device.
The first few lines from the console output of the emulator with kernel debugging
Uncompressing Linux................................................................................. done, booting the kernel.
Linux version 2.6.23-gcc3bc3b4 (firstname.lastname@example.org) (gcc version 4.2.1) #3 Tue Oct 30
16:28:18 PDT 2007
CPU: ARM926EJ-S  revision 5 (ARMv5TEJ), cr=00003137
This output clearly identifies us the kernel version, the GCC version and the ARM
core used in the emulator. To avoid any problems the same GCC version will be used
for compiling the OLSR-NG routing daemon, and other software if needed.
The next problem is that although Android is an Operating System based on
Linux kernel, the system libraries, system initialization and programmer interface are
distinctly different from a standard Linux operating system . This makes it a bit
more complicated to write/port native application to Android.
Maybe one of the greatest features of OLSR-NG is that it is written in pure C with
only a few dependencies. So even on such exotic system as Android due to POSIX it
should be possible to cross-compile the olsrd using the right version of GCC and static
Example of cross-compiling for an ARM target using static linkage:
arm-none-linux-gnueabi-gcc -static hello.c -o hello
For the cross-compilation of OLSR-NG there were some changes in the makefiles
required. Makefiles are included in the appendix.
The cross-compiled OLSR-NG daemon olsrd can be uploaded into the emulator
using the included adb tool.
adb push olsrd /data/olsrd
Fig. 12: A printscreen showing OLSR-NG daemon running inside the Android emulator
Using this approach it is possible to port most of the basic applications to the
Android platform. For example the MANIAC API, iptables and iwspy that are needed
for integrating the cooperation and QoS assurance strategies.
6.2.2 Android OLSR-NG port testing
To ensure that the OLSR-NG Android port is really working some tests needed to
be done. The simplest possible test was to use two android emulators connected
together via the host on which they were running.
ANDROID HOST ANDROID
1 eth0 eth1 2
Both Androids were running olsrd on their eth0 interfaces, and the host ran olsrd
on both eth0 and eth1. The test was successful, and showed that the Android OLSR-NG
port will work in any other topology too.
Fig. 13: A printscreen showing the testing topology running
7 A MANET based service
The technology is only one problem when speaking about MANETs, the other
and maybe the even harder is how to make MANETs attractive for the private sector.
Currently the technology is used only in specialized environments like army or
community networks. For a widespread use it would need to adapt to the current trends
like femtocells, seamless VoIP/GSM transition etc. With the arrival of the Android
platform for mobile devices, it is possible to combine these new trends with MANETs.
For example the Unlicensed Mobile Access (UMA) technology basically provides the
possibility to seamlessly roam between the GSM network and a Wi-Fi VoIP service,
and use the same telephone number. 
Advantages of UMA:
- Instead of erecting base stations, UMA allows carries to add coverage using low
cost 802.11 access points. This is very interesting for SOHO use, and generally
for use inside buildings.
- In addition, UMA relieves congestion from the GSM or UMTS spectrum by
removing common types of calls, because they are routed to the operator using
the relatively low cost Internet
- Users can fix problems with coverage black spot by themselves
- The end price that the user pays can be cheaper because of the use of 802.11 and
Internet as uplink
- UMA is currently the only commercial technology available that combines GSM
and 802.11 into a service that uses a single number, a single handset, single set
of services and a single phone directory for all calls. 
Fig. 14: How UMA technology works 
If every UMA enabled handset would integrate MANET support, the coverage of
such a network would grow directly proportional to the number of handset in the area.
That would enable the service to grow as fast as no other service in history.
This thesis was aimed to map the current MANET technological possibilities and
the features that need to be added to enable its widespread use „in the wild“. The
OLSR-NG routing protocol was briefly characterized, as it was chosen based on
objective criteria, as the best MANET routing protocol for building large scale
networks. The experimental area of cooperation strategies was mentioned, and some
attack vectors and counter measurements were presented. The Live and Let Live
strategy, which by unique ways provides minimization of routing
overhead/signalization, and shapes the topology in a way that the battery driven nodes
are used as next-hops only if no other mean of connection exists, was presented in a
deeper manner. Technologies like SDR and MIMO were briefly mentioned, as they gain
more attention and are becoming more and more attractive for MANETs. A movement
prediction based QoS assurance model was proposed. To demonstrate the feasibility of
the large scale MANET implementation, the first ever mobile MANET enabled WAN/
WWAN router and again the first ever MANET routing protocol daemon port on the
Android platform were presented. The combination of Mobile Ad hoc Networks and
Unlicensed Mobile Access (UMA) as a MANET based service for Telco / ISP operators
This thesis clearly showed that the large scale usage of Mobile Ad hoc Networks
is possible, and that this technology can be used commercially.
The author of this thesis would like to continue on his work on MANETs,
participate again on the next Maniac Challenge and help to push this technology from
its current experimental / enthusiast’s status to an everyday life capable technology.
CORSON, S. - MACKER, J. 1999. Mobile Ad hoc Networking (MANET): Routing
Protocol Performance Issues and Evaluation Considerations
Wikipedia. 2008. List of Ad hoc routing protocols [online] May 2008
Internet Engineering Task Force. 2008. Mobile Ad hoc Networks (MANET) -
Wikipedia. 2008. Optimized Link State Routing protocol [online] May 2008
OLSR-NG Developer team. 2008. olsr next generation development @ funkfeuer
[online] May 2008
TONNESEN, A. 2004. Implementing and extending the Optimized Link State
Routing protocol. Master’s Thesis. 2004. University of Oslo
OLSR-NG Developer team. 2008. olsr next generation wiki [online] May 2008
Freifunk. 2008. Google Summer of Code 2008 - Application [online] May 2008
Wikipedia. 2008. Mobile ad-hoc network [online] May 2008
KLIMEK, I. - SIDIMÁK, V. 2008. MANIAC: Mobile Ad-Hoc Networks
Interoperability and Cooperation: THE LIVE AND LET LIVE STRATEGY. Paper for
the 8th Scientific Conference of Young Researchers at FEI TU of Kosice, 28 May 2008
[online] May 2008
REED, D. P. 2002. How wireless networks scale: the illusion of spectrum scarcity
[online] May 2008
DASILVA, L. - MACKENZIE, A. 2007. The Mobile Ad-hoc Networking
Interoperability And Cooperation (MANIAC) Challenge [online] May 2008
FLAHERTY, N. 2007. Intel targets WiMAX with software radio device.
Electronics Weekly. [online] May 2008
PULLINGER, S. 2007. SOFTWARE DEFINED RADIO. A briefing paper for the
European Parliament's Subcommittee on Security and Defence [online] May 2008
Freifunk. 2008. Freifunk Firmware homepage. [online] May 2008
FreeNetworks. 2008. FreeNetworks homepage [online] May 2008
OpenWrt. 2008. OpenWrt homepage [online] May 2008
KLIMEK, I. 2007. Progressive solution of communication services in the
environment of wireless networks based on the Flarion technology [online] May 2008
Google. 2008. Android - An Open Handset Alliance Project homepage [online]
Wikipedia. 2008. Android (mobile device platform) [online] May 2008
BELLARD, F. 2008. QEMU homepage [online] May 2008
LESLIE, B. 2007. What is Android? [online] May 2008
UMA Today. 2005. UMA Overview [online] May 2008
Wikipedia. 2008. Generic Access Network [online] May 2008
PERKINS, C. E. 2008. Better Plumbing for Reduced Flooding. GENI Wireless
Workshop. [online] May 2008
Internet Engineering Task Force. 2008. IETF ISIS workgroup [online] May 2008
Appendix A CD medium - Bachelor’s Thesis in its electronic form, The Live and Let
Live source code, OLSR-NG Android platform port Makefiles, OLSR-NG Android