baka_old.doc.doc.doc.doc

73
Progressive solution of communication services in the environment of embedded devices Ivan KLIMEK 2008

description

 

Transcript of baka_old.doc.doc.doc.doc

  • 1. Progressive solution of communication services in the environment of embedded devices Ivan KLIMEK 2008

2. Progressive solution of communication services in the environment of embedded devicesIvan Klimek Supervisor:Ing. Frantisek Jakab, PhD.Consultant:Ing. Frantisek Jakab, PhD.2008Metadata Sheet 3. Author: Ivan Klimek Thesis title: Progressive solution of communication services in the environment of embedded devices Language: English Type of Thesis: Masters Thesis or Bachelors Thesis Number of Pages:50 Degree: Bachelor University: Technical University of Koice Faculty:Faculty of Electrical Engineering and Informatics (FEI) Department: Department of Computers and Informatics (DCI) Study Specialization: Informatics Study Programme:Informatics Town: Koice Supervisor: Ing. Frantiek Jakab, PhD. Consultant: Ing. Frantiek 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) Vpotov technika; Potaov siete Thesis Citation:Ivan Klimek: Progressive solution of communication services in the environment of embedded devices. Bachelor's Thesis. Koice: Technical University of Koice, Faculty of Electrical Engineering and Informatics. 2008. 50 pages Title SK: Progresvne rieenie komunikanch sluieb v prostred vnorench systmov Keywords SK:MANET, OLSR, OLSR-NG, MANIAC Challenge, Live and Let Live strategy, Kooperan stratgie, Spotreba energie, Spotreba spektra, SDR, Android, UMA 4. Abstract in EnglishMobile 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 SlovakMobiln Ad hoc siete (MANETy) pozostvaj iba z koncovch klientov a poskytuj flexibilitu vytvra siete poda aktulnych potrieb bez akejkovek dedikovanej infratruktry. Tto prca sa zaober zmapovanm monost sasnch technolgi a ich monmi rozreniami. Detailne je prezentovan stratgia redukcie rie smerovacieho protokolu a signalizcie The Live and Let Live. alej sa zaober nasadenm sieti tohto typu vo vom meradle a skma monosti dosiahnutia tohto ciea. V rmci tejto prce je prezentovan aj prv prototyp mobilnho smerovaa s MANET podporou a port smerovacieho protokolu OLSR-NG na mobiln platformu Android. Relnos komernho vyuitia je prezentovan prkladom kombincie technolgi MANET a Unlicensed Mobile Access (UMA). 5. ZADANIE 6. 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., 30. 5. 8 ..........................................signature 7. AcknowledgementFirstly I would like to thank Ing. Frantiek 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 everyones 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. 8. PrefaceThe 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. 9. Table of ContentsIntroduction..........................................................................................................14 The problem expression.......................................................................................16 Ad hoc routing protocols.....................................................................................172.1 Ad hoc routing protocol classes...................................................................172.2 The MANET IETF working group..............................................................212.3 Routing protocol selection...........................................................................222.4 OLSR-NG....................................................................................................22 2.4.1 MESH vs. MANET..............................................................................24 2.4.2 OLSR internals ....................................................................................24 Cooperation Strategies.........................................................................................273.1 Uncooperative nodes....................................................................................273.2 Pro-active approach......................................................................................28 Energy efficiency and spectrum usage...............................................................301.1Signalization reduction .................................................................................31 4.1.1 The Live and Let Live strategy............................................................31............................................................................................................................344.2 Software Defined Radio (SDR)...................................................................36 QoS Assurance......................................................................................................37 6 MANET implementations in embedded/mobile devices................................386.1 Mobile router ...............................................................................................386.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 8Conclusion...........................................................................................................47 Bibliography.........................................................................................................48 Appendices............................................................................................................50 10. List of Figures Fig. 1: Complexity for n=1000 nodes of different data structures in the Dijkstra shortest path (SPF) algorithm..............................................................23Fig. 3 Typical neighbor discovery session.. 26 Fig. 4Full Mesh topology30 Fig. 5An example MANET topology 32 Fig. 6OLSR updates as they are normally propagated to all nodes in range..33 Fig. 7OLSR updates unicast to chosen locations.. 33 Fig. 8Real life example for The Live and Let Live strategy..34 Fig. 9Topology screen from the actual MANIAC Challenge 2007 34 Fig. 10 Mobile Router prototype39 Fig. 11 Android system architecture 41 Fig. 12 OLSR-NG daemon running inside the Android emulator43 Fig. 13 OLSR-NG android testing topology 44 Fig. 14 How UMA technology works46 11. List of Symbols and Abbreviations ADBAndroid Debugging Bridge AODV Ad-hoc On-demand Distance Vector APIApplication Programming Interface ARMAdvanced RISC Machine ARPAddress Resolution Protocol B.A.T.M.A.N. Better Approach To Mobile Ad hoc Networking dBmDecibel to milliwat DoSDenial of Service DSLDigital subscriber line DVB-TDigital Video Broadcasting Terrestrial ethEthernet ETXExpected transmissions Flash-OFDM Fast Low-latency Access with Seamless Handoff Orthogonal FrequencyDivision Multiplexing GANGeneric Access Network GCCGNU C Compiler GHzGiga Herz GPSGlobal Positioning System GSMGlobal System for Mobile communications IETF Internet Engineering Task Force IP Internet Protocol ipkg Itsy Package Management System IS-ISIntermediate system to intermediate system ISPInternet Service Provider L1 OSI Layer 1 L2 OSI Layer 2 L3 OSI Layer 3 MANETMobile Ad hoc Network MANIAC Mobile Ad hoc Networks Interoperability and Cooperation 12. MBMega Byte MHz Mega Herz MIMOMultiple-input and Multiple-output MIPSMicroprocessor without Interlocked Pipeline Stages MPR Multipoint relay OHA Open Handset Alliance OLSROptimized Link State Routing OLSRd OLSR daemon OLSR-NG Optimized Link State Routing - Next Generation OSI Open Systems Interconnection P2P Peer to Peer PCPersonal Computer PCMCIAPersonal Computer Memory Card International Association PDA Personal Digital Assistant POSIX Portable Operating System Interface PPC PowerPC QoS Quality of Service RFRadio Frequency RFC Request for comments RISCReduced instruction set computer SDK Software Development Kit SDR Software Defined Radio SOHOSmall office Home office SPF Shortest Path First SSIDService Set Identifier TCTopology Control ToS Type of Service UMA Unlicensed Mobile Access UMPCUltra-Mobile PC UMTSUniversal Mobile Telecommunications System 13. USA United States of America VoIPVoice over IP WAN Wide Area Network Wi-Fi Wireless Fidelity WiMAX Worldwide Interoperability for Microwave Access WWANWireless Wide Area Network 14. 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. 15. FEIDCI 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 Years 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 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 would1 more phones than people 2 like infrared or Bluetooth few years before 3 multiple operator networks, DSL, cable etc 14 16. FEI DCIbe 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 17. FEIDCI 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 feasibilityof 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 MANETimplementations -Provide example MANET implementations in embedded/mobile devices16 18. FEI DCI 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 19. 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 20. FEI DCIExamples 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 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 MANETs19 21. 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 22. FEI DCI8) 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 23. FEIDCIAs 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 to10000 (10K) nodes and20000 (20K) routes 22 24. FEI DCIrunning 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.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. 4 on the level of calculating the SPF algorithm 5 n - number of nodes, e - number of links, e ~= k*n23 25. FEIDCI 2.4.1 MESH vs. MANETThe 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 internalsThe 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 RelayingOLSR 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 symmetric24 26. FEIDCIlink 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 showthe way the information is passed, not the actual transmissions. [6]2.4.2.2 Neighbor sensingAs 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 neighbor25 27. FEIDCI- 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.3Link-state floodingLink 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 28. FEIDCI 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.1Uncooperative 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 nodes data and receive them, then the local node can hear the neighbors 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 29. FEIDCItshark -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.2Pro-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 30. FEIDCITo 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 31. FEIDCI 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 topologyIn 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. Thats why it is upmost important to address the question of signalization. [11]30 32. FEI DCI 1.1 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 6Mobile Ad hoc Interoperability and Cooperation (MANIAC) Challenge 2007, Washington D.C., 25th and 26th of November, 2007 31 33. FEIDCIgateway). 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 thetraffic 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 34. FEI DCIwith 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 wont know of each other as of a direct neighbor unless the minimal active neighbor topology calculation doesnt 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 aneighbor 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 the33 35. FEI DCInetwork 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 strategyFig. 9: A topology screen from the actual MANIAC Challenge 2007, the two nodes that are not apart 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 36. 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 ISPs 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-balancing35 37. FEI DCI 4.2Software 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 [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 38. FEIDCI 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 39. FEI DCI 6MANET 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 himand use his data plan wherever he is (car, office ...) -Mobile phones/PDAs/UMPCs/notebooks the Wi-Fi / MANET enabled endclients, can move freely, use MANET for internet connection, multi-hop to thegateway provided by one of the mobile routers -Because the primary function of the mobile routers is to route data, they arepreferred as next-hops and MPRs so that the traffic does not burden so much theend clients. If it is not possible to use directly a router as a next-hop only thenuse an end client instead.6.1Mobile 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 40. FEIDCIThe software architecture of the mobile router:OLSR-NG OPENWRTLINUX 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-OFDMPCMCIA WWAN datacard39 41. 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 platformA 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 42. FEIDCIFig. 11: Android system architecture [19] 6.2.1 Android hackingBecause 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 ([email protected]) (gcc version 4.2.1) #3 Tue Oct 30 16:28:18 PDT 2007CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00003137Machine: Goldfish41 43. FEIDCIThis 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/olsrd42 44. FEI DCI Fig. 12: A printscreen showing OLSR-NG daemon running inside the Android emulatorUsing 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 45. FEIDCI 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 1eth0 eth12 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 running44 46. FEI DCI 7A 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 lowcost 802.11 access points. This is very interesting for SOHO use, and generallyfor use inside buildings. -In addition, UMA relieves congestion from the GSM or UMTS spectrum byremoving common types of calls, because they are routed to the operator usingthe 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 andInternet as uplink -UMA is currently the only commercial technology available that combines GSMand 802.11 into a service that uses a single number, a single handset, single setof services and a single phone directory for all calls. [24]45 47. FEIDCI 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 48. FEI DCI 8Conclusion 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 byunique waysprovides minimization ofrouting 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 / enthusiasts status to an everyday life capable technology.47 49. FEIDCI BibliographyCORSON, S. - MACKER, J. 1999. Mobile Ad hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations RFC 2501 Wikipedia. 2008. List of Ad hoc routing protocols [online] May 2008 http://en.wikipedia.org/wiki/List_of_Ad hoc_routing_protocolsInternet Engineering Task Force. 2008. Mobile Ad hoc Networks (MANET) - WORKGROUP http://www.ietf.org/html.charters/manet-charter.html Wikipedia. 2008. Optimized Link State Routing protocol [online] May 2008 http://en.wikipedia.org/wiki/OLSROLSR-NG Developer team. 2008. olsr next generation development @ funkfeuer [online] May 2008 http://olsr.funkfeuer.at/TONNESEN, A. 2004. Implementing and extending the Optimized Link State Routing protocol. Masters Thesis. 2004. University of Oslo OLSR-NG Developer team. 2008. olsr next generation wiki [online] May 2008 http://wiki.funkfeuer.at//index.php/Olsrd-ng Freifunk. 2008. Google Summer of Code 2008 - Application [online] May 2008 http://wiki.freifunk.net/Google_Summer_of_Code_2008_-_Application Wikipedia. 2008. Mobile ad-hoc network [online] May 2008 http://en.wikipedia.org/wiki/MANETKLIMEK, I. - SIDIMK, 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-klimekREED, 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.pdfDASILVA, 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 50. FEIDCI 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-targets- wimax-with-software-radio-device.htm 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=19479 Freifunk. 2008. Freifunk Firmware homepage. [online] May 2008 http://ff-firmware.sourceforge.net/ FreeNetworks. 2008. FreeNetworks homepage [online] May 2008 http://www.freenetworks.org/ OpenWrt. 2008. OpenWrt homepage [online] May 2008 http://openwrt.org/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 Google. 2008. Android - An Open Handset Alliance Project homepage [online] May 2008 http://code.google.com/android/ Wikipedia. 2008. Android (mobile device platform) [online] May 2008 http://en.wikipedia.org/wiki/Android_(mobile_phone_platform) BELLARD, F. 2008. QEMU homepage [online] May 2008 http://fabrice.bellard.free.fr/qemu/ LESLIE, B. 2007. What is Android? [online] May 2008 http://benno.id.au/blog/2007/11/26/what-is-android UMA Today. 2005. UMA Overview [online] May 2008 http://www.umatechnology.org/overview/ Wikipedia. 2008. Generic Access Network [online] May 2008 http://en.wikipedia.org/wiki/Generic_Access_Network PERKINS, C. E. 2008. Better Plumbing for Reduced Flooding. GENI Wireless Workshop. [online] May 2008 http://www.winlab.rutgers.edu/WMPG/Documents/Perkins.pdf Internet Engineering Task Force. 2008. IETF ISIS workgroup [online] May 2008 http://www.ietf.org/html.charters/isis-charter.html 49 51. FEI DCI AppendicesAppendix A CD medium - Bachelors Thesis in its electronic form, The Live and Let Live source code, OLSR-NG Android platform port Makefiles, OLSR-NG Android platform port50