TECHNICAL UNIVERSITY OF KOŠICE

advertisement
TECHNICAL UNIVERSITY OF KOŠICE
FACULTY OF ELECTRICAL ENGINEERING AND INFORMATICS
Progressive solution of communication services in the environment
of embedded devices
Ivan KLIMEK
BACHELOR’S THESIS
2008
TECHNICAL UNIVERSITY OF KOŠICE
FACULTY OF ELECTRICAL ENGINEERING AND
INFORMATICS
Department of Computers and Informatics
Progressive solution of communication services in the environment of
embedded devices
BACHELOR’S THESIS
Ivan Klimek
Supervisor:
Ing. Frantisek Jakab, PhD.
Consultant:
Ing. Frantisek Jakab, PhD.
Košice 2008
Metadata Sheet
Author:
Ivan Klimek
Thesis title:
Progressive solution of communication services in the
environment of embedded devices
Language:
English
Type of Thesis:
Bachelor’s Thesis
Number of Pages:
50
Degree:
Bachelor
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
Town:
Košice
Supervisor:
Ing. František Jakab, PhD.
Consultant:
Ing. František Jakab, PhD.
Date of Submission:
30. 5. 2008
Date of Defence:
18. 6. 2008
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í
vnorených systémov
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
(UMA).
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).
Declaration
I hereby declare that this thesis is my own work and effort. Where other sources
of information have been used, they have been acknowledged.
Košice, 30. 5. 2008
..........................................
signature
Acknowledgement
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.
Thank you.
Preface
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
networking.
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
Introduction................................................................................................................... 14
1 The problem expression .......................................................................................... 16
2 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 OLSR-NG ........................................................................................................... 22
2.4.1 MESH vs. MANET...................................................................................... 24
2.4.2 OLSR internals............................................................................................. 24
3 Cooperation Strategies ............................................................................................ 27
3.1 Uncooperative nodes........................................................................................... 27
3.2 Pro-active approach ............................................................................................ 28
4 Energy efficiency and spectrum usage................................................................... 30
4.1 Signalization reduction ....................................................................................... 31
4.1.1 The Live and Let Live strategy.................................................................... 31
4.2 Software Defined Radio (SDR) .......................................................................... 36
5 QoS Assurance ......................................................................................................... 37
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
8 Conclusion ................................................................................................................ 47
Bibliography .................................................................................................................. 48
Appendices..................................................................................................................... 50
List of Figures
Fig. 1
Dijkstra complexity......................................................................................... 23
Fig. 2
Flooding a packet in a wireless multihop network ......................................... 25
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.. ......... 33
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 works......................................................................... 46
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
eth
Ethernet
ETX
Expected transmissions
Flash-OFDM Fast Low-latency Access with Seamless Handoff Orthogonal Frequency
Division Multiplexing
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
PPC
PowerPC
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
communication performance.
FEI
DCI
Introduction
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 phones2
and there are usually more means of internet connection in the same area3. A very
important factor is the success and popularity of networks with shared resources like
P2P networks.
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
1
more phones than people
like infrared or Bluetooth few years before
3
multiple operator networks, DSL, cable etc …
2
14
FEI
DCI
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.
15
FEI
DCI
1 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
implementations
-
Provide example MANET implementations in embedded/mobile devices
16
FEI
DCI
2 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 [1].
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. [2]
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
protocol
17
FEI
-
DCI
Highly Dynamic Destination-Sequenced Distance Vector routing protocol
(DSDV)
-
Babel, a protocol inspired by DSDV with faster convergence and ETX link
quality estimation
-
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
routes.
18
FEI
DCI
Examples of flow oriented algorithms are:
- Multipath On-demand Routing Protocol (MOR)
-
SrcRR - DSR and ETX based, optimized for performance, SrcRR: A HighThroughput 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
are:
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
19
FEI
-
DCI
Hybrid Routing Protocol for Large Scale Mobile Ad hoc Networks with Mobile
Backbones (HRPLS)
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
Wireless Networks
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
of traffic.
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)
20
FEI
DCI
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
algorithms are:
1. This method induces a delay for each transmission.
2. No relevance for energy network powered transmission operated via sufficient
repeater infrastructure.
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 [3]:
„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.“
21
FEI
DCI
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) [4][5].
2.4
OLSR-NG
A very important factor when selecting OLSR-NG was that it is completely
implemented in pure C with very few dependencies [6]. This fact makes it possible to
run olsrd (OLSR-NG daemon) practically on all architectures currently used in the
PC/embedded sector:
-
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 [7] 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
22
FEI
DCI
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)
algorithm.5
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.
4
5
on the level of calculating the SPF algorithm
n - number of nodes, e - number of links, e ~= k*n
23
FEI
DCI
Nowadays, several community networks with hundreds of users use OLSR-NG
in everyday life function, the best example could be the freifunk network [8], which is
one of the largest user-driven community networks in the world.
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. [9] 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.
2.4.2.1
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
24
FEI
DCI
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. [6]
2.4.2.2
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
symmetric neighbor
25
FEI
DCI
- 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 [6]
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.
2.4.2.3
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 [26] 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.
26
FEI
DCI
3 Cooperation Strategies
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
destination.
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:
27
FEI
DCI
tshark -i eth0 -f 'ip.src == LOCAL_IP and ip.dst == REMOTE_IP and --mac-source =
NEIGHBOR_MAC '
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.
28
FEI
DCI
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
signal strength.
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.
29
FEI
DCI
4 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. [11]
30
FEI
4.1
DCI
Signalization reduction
There are multiple possibilities how to solve the signalization problem, for
example:
- 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
[12], 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
6
Mobile Ad hoc Interoperability and Cooperation (MANIAC) Challenge 2007, Washington D.C., 25th
and 26th of November, 2007
31
FEI
DCI
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 onehop 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
32
FEI
DCI
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
otherwise.
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
33
FEI
DCI
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.
34
FEI
DCI
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 [25]. 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.
7
can be more than 1, for example to enable load-balancing
35
FEI
4.2
DCI
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 DVBT, see [13] .
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. [14]
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.
36
FEI
DCI
5 QoS Assurance
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.
37
FEI
6
DCI
MANET
implementations
in
embedded/mobile
devices
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 [15][16]. One of the most popular is OpenWrt [17], 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
package [18].
38
FEI
DCI
The software architecture of the mobile router:
OLSR-NG
OPENWRT
LINUX KERNEL
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
39
FEI
DCI
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 [18]; 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 [19]: „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 [20]. 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.
[20]
40
FEI
DCI
Fig. 11: Android system architecture [19]
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 [21] virtual machine simulating an ARM based device.
The first few lines from the console output of the emulator with kernel debugging
enabled:
Uncompressing Linux................................................................................. done, booting the kernel.
Linux version 2.6.23-gcc3bc3b4 (arve@arvelnx.corp.google.com) (gcc version 4.2.1) #3 Tue Oct 30
16:28:18 PDT 2007
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00003137
Machine: Goldfish
41
FEI
DCI
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 [22]. 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
linkage.
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
42
FEI
DCI
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.
43
FEI
DCI
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
1
HOST
eth0
ANDROID
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
44
FEI
7
DCI
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. [23]
Advantages of UMA:
For carriers:
-
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
For subscribers:
-
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. [24]
45
FEI
DCI
Fig. 14: How UMA technology works [23]
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.
46
FEI
DCI
8 Conclusion
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
was proposed.
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.
47
FEI
DCI
Bibliography
[1] CORSON, S. - MACKER, J. 1999. Mobile Ad hoc Networking (MANET):
Routing Protocol Performance Issues and Evaluation Considerations
RFC 2501
[2] Wikipedia. 2008. List of Ad hoc routing protocols [online] May 2008
http://en.wikipedia.org/wiki/List_of_Ad hoc_routing_protocols
[3] Internet Engineering Task Force. 2008. Mobile Ad hoc Networks (MANET) WORKGROUP
http://www.ietf.org/html.charters/manet-charter.html
[4] Wikipedia. 2008. Optimized Link State Routing protocol [online] May 2008
http://en.wikipedia.org/wiki/OLSR
[5] OLSR-NG Developer team. 2008. olsr next generation development @ funkfeuer
[online] May 2008
http://olsr.funkfeuer.at/
[6] TONNESEN, A. 2004. Implementing and extending the Optimized Link State
Routing protocol. Master’s Thesis. 2004. University of Oslo
[7] OLSR-NG Developer team. 2008. olsr next generation wiki [online] May 2008
http://wiki.funkfeuer.at//index.php/Olsrd-ng
[8] Freifunk. 2008. Google Summer of Code 2008 - Application [online] May 2008
http://wiki.freifunk.net/Google_Summer_of_Code_2008_-_Application
[9] Wikipedia. 2008. Mobile ad-hoc network [online] May 2008
http://en.wikipedia.org/wiki/MANET
[10] 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
http://www.cnl.tuke.sk/ivan-klimek
[11] REED, D. P. 2002. How wireless networks scale: the illusion of spectrum scarcity
[online] May 2008
http://www.jacksons.net/tac/Spectrum%20capacity%20myth%20FCC%20TAC.p
df
[12] DASILVA, L. - MACKENZIE, A. 2007. The Mobile Ad-hoc Networking
Interoperability And Cooperation (MANIAC) Challenge [online] May 2008
http://www.maniacchallenge.org/dasilva_NeTS_PI_Meeting07.pdf
48
FEI
DCI
[13] FLAHERTY, N. 2007. Intel targets WiMAX with software radio device.
Electronics Weekly. [online] May 2008
http://www.electronicsweekly.com/Articles/2007/12/11/42781/intel-targetswimax-with-software-radio-device.htm
[14] PULLINGER, S. 2007. SOFTWARE DEFINED RADIO. A briefing paper for the
European Parliament's Subcommittee on Security and Defence [online] May 2008
http://www.europarl.europa.eu/activities/committees/studies/download.do?file=19
479
[15] Freifunk. 2008. Freifunk Firmware homepage. [online] May 2008
http://ff-firmware.sourceforge.net/
[16] FreeNetworks. 2008. FreeNetworks homepage [online] May 2008
http://www.freenetworks.org/
[17] OpenWrt. 2008. OpenWrt homepage [online] May 2008
http://openwrt.org/
[18] KLIMEK, I. 2007. Progressive solution of communication services in the
environment of wireless networks based on the Flarion technology [online] May
2008
http://www.cnl.tuke.sk/ivan-klimek
[19] Google. 2008. Android - An Open Handset Alliance Project homepage [online]
May 2008
http://code.google.com/android/
[20] Wikipedia. 2008. Android (mobile device platform) [online] May 2008
http://en.wikipedia.org/wiki/Android_(mobile_phone_platform)
[21] BELLARD, F. 2008. QEMU homepage [online] May 2008
http://fabrice.bellard.free.fr/qemu/
[22] LESLIE, B. 2007. What is Android? [online] May 2008
http://benno.id.au/blog/2007/11/26/what-is-android
[23] UMA Today. 2005. UMA Overview [online] May 2008
http://www.umatechnology.org/overview/
[24] Wikipedia. 2008. Generic Access Network [online] May 2008
http://en.wikipedia.org/wiki/Generic_Access_Network
[25] PERKINS, C. E. 2008. Better Plumbing for Reduced Flooding. GENI Wireless
Workshop. [online] May 2008
http://www.winlab.rutgers.edu/WMPG/Documents/Perkins.pdf
[26] Internet Engineering Task Force. 2008. IETF ISIS workgroup [online] May 2008
http://www.ietf.org/html.charters/isis-charter.html
49
FEI
DCI
Appendices
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
platform port
50
Download