An Emulation Framework for Wireless Mesh Networks in Omnet++
Total Page:16
File Type:pdf, Size:1020Kb
VIRTUALMESH:AN EMULATION FRAMEWORK FOR WIRELESS MESH NETWORKS IN OMNET++ Master Thesis of the Philosophical-scientific Faculty of the University of Bern written by Reto Gantenbein 2010 Supervisors: Professor Dr. Torsten Braun Thomas Staub Institute of Computer Science and Applied Mathematics Abstract Wireless Mesh Networks (WMN) have proven to be an important technology for interconnect- ing computer systems in a flexible way. There exist many application areas that profit from WMN technologies such as surveillance and monitoring systems, the wireless integration of mobile clients into a network infrastructure or simply the spontaneous setup of a network for data exchange between several mobile devices. The development process for new protocols and architectures in the area of WMN is typically split into a first implementation and evaluation phase performed with help of a network simulation, followed by a real-world prototype im- plementation, which is tested in a realistic test-bed. Especially for WMNs including wireless communication and mobile clients, the testing in a real test-bed is time-consuming and expen- sive. External interferences can occur and make debugging and performance evaluation difficult. Additionally, real-world test-beds usually only support a limited number of test topologies and wireless clients and rarely provide the possibility for repeatable experiments with mobile clients. For this reason, we developed VirtualMesh, a new WMN evaluation framework providing a virtual wireless network, which can be used for network protocol and application development before considering a real hardware test-bed. Its architecture offers the testing of real communi- cation software including the operating system with the original network stack in a controlled environment. The wireless communication is handled by a real-time network emulation, which can imitate complex network scenarios in an inexpensive way. VirtualMesh captures the real network traffic through a virtual wireless interface at the mesh clients and redirects it to a wire- less model based on the OMNeT++ network simulator. The simulator, which is responsible for the wireless emulation, computes the node connectivity and packet latency and forwards the traffic to the destination nodes accordingly. To be able to imitate a truly dynamic network en- vironment, which even allow the reconfiguration of wireless parameters by routing protocols or applications, a sophisticated mechanism in VirtualMesh allows the corresponding adaptation of the wireless settings inside the simulation model during emulation run-time. In our experiments, VirtualMesh has proven to be very flexible and scalable in the network scenario. It is able to perfectly imitate the throughput behaviour in a WMN and only introduces a small packet delay mainly caused by the distributed emulation setup. VirtualMesh has therefore proven to be a valuable tool for protocol and application developers to test their real-world implementation in a controllable environment prior to the final development. i Acknowledgement First of all, I would like to express my gratitude to Prof. Dr. Torsten Braun for giving me the possibility to do this work in his ‘Computer Networks and Distributed Systems’ research group. He has always been patient and supportive during the course of this Master thesis and his pre- sentation of VirtualMesh on the OMNeT++ Workshop in Rome last year was very encouraging for me. Special thanks also to my thesis advisor Thomas Staub who spent much effort in shaping VirtualMesh for scientific publication what resulted in two released papers. Furthermore, I’m very thankful for his patience and believe in VirtualMesh as well as his assistance in polishing my thesis. Many thanks also to my study friends, especially Daniel Balsiger, Philipp Bunge, David Gurtner, Michael Lustenberger, Stefan Ott, and Anselm Strauss, always willing to listen to my problems when I approached them with technical questions or asked for their opinions. I learnt a lot of details and procedures in our countless discussions. My biggest thanks go to my girlfriend Sylvia Low, my whole family, and long-time friends, who always believed in me and supported me, even I often neglected them for my study. This effort would not have been possible without you. Reto Gantenbein June 2010 iii Contents 1 Introduction1 1.1 Short History of Wireless Networking......................1 1.2 Wireless Mesh Networks.............................2 1.3 Computer Network Evaluation..........................3 1.4 Motivation.....................................4 1.5 Document Structure................................5 2 Related Work7 2.1 Computer Simulations..............................7 2.1.1 Network Simulation Basics........................8 2.1.2 Radio Propagation Models........................9 2.1.3 The OMNeT++ Network Simulation Framework............ 11 2.2 Network Emulation................................ 14 2.2.1 Emulation Basics............................. 14 2.2.2 Simulation Requirements for Real-Time Emulation........... 15 2.2.3 Emulation-based Wireless Network Evaluation............. 17 2.3 Real-world Wireless Network Test-beds..................... 20 2.3.1 Examples of Real-world Test-beds.................... 21 2.3.2 ADAM - A Linux Environment for WMN Research.......... 21 2.4 Operating System Virtualization......................... 22 2.4.1 Platform Virtualization Overview.................... 22 2.4.2 Virtualization and Network Evaluation.................. 24 3 VirtualMesh: An Approach of Wireless Network Emulation 25 3.1 VirtualMesh Architecture and Design...................... 25 3.2 Communication Protocol for the Wireless Emulation.............. 28 3.2.1 Protocol Messages............................ 29 3.2.2 Message Flow of the Emulation Protocol................ 31 3.3 Virtualization in VirtualMesh........................... 31 4 VirtualMesh: Client Implementation 33 4.1 Client Architecture and Design.......................... 33 4.2 vif-Tools...................................... 35 4.2.1 libvif - Virtual Interface Library..................... 36 v 4.2.2 vifctl - Virtual Interface Control..................... 39 4.3 iwconnect..................................... 40 4.4 Virtual Interface Configuration.......................... 41 4.4.1 Linux Wireless Tools........................... 41 4.4.2 Changing Simulation Parameters from the Wireless Node........ 42 5 VirtualMesh: Wireless Simulation Server 45 5.1 WlanModel Components............................. 45 5.1.1 EmulationRTScheduler.......................... 46 5.1.2 ProtocolHandler............................. 48 5.1.3 NodeManager............................... 48 5.1.4 VirtualHost................................ 48 5.1.5 VifBackend................................ 49 5.1.6 RAWEtherFrame............................. 49 5.1.7 IEEE80211NicAdhoc.......................... 49 5.1.8 IEEE80211Radio............................. 50 5.1.9 ChannelControl.............................. 50 5.1.10 Mobility................................. 51 5.1.11 Simulation Configuration......................... 51 5.2 WlanModel Message Flow............................ 51 5.2.1 Node Registration............................ 52 5.2.2 Wireless Traffic Processing........................ 52 5.2.3 Wireless Parameter Modification..................... 53 6 Evaluation 57 6.1 VirtualMesh Test Configuration......................... 58 6.2 Functional Evaluation: ADAM.......................... 59 6.3 Performance Evaluation: Round-Trip Time................... 60 6.3.1 Test Procedure.............................. 61 6.3.2 Infrastructure Network Latency..................... 61 6.3.3 Wireless Emulation Accuracy...................... 63 6.3.4 WlanModel Scalability.......................... 67 6.4 Performance Evaluation: Bandwidth....................... 69 6.4.1 Test Procedure.............................. 70 6.4.2 VirtualMesh Throughput......................... 70 7 Conclusion and Future Work 73 7.1 Conclusion.................................... 73 7.2 Future Work.................................... 74 A Evaluation Setup 77 A.1 Test Machines................................... 77 A.2 OMNeT++ Configuration for the WlanModel.................. 78 A.3 How to create a Xen image with ADAM’s image-tool?............. 79 vi B Evaluation Results 81 B.1 Infrastructure Evaluation Results......................... 81 B.2 VirtualMesh Evaluation Results......................... 84 B.3 OMNeT++/INET Simulation Results....................... 88 List of Acronyms 91 List of Figures 95 List of Tables 97 Bibliography 101 vii Chapter 1 Introduction Nowadays, nearly all of us are regularly using devices which can connect to a network, without requiring a wire. These can be mobile phones, Personal Digital Assistants (PDA), net-books, laptops, or even multimedia players. One get more and more used that every portable device can communicate and that it provides the same services as our wired computer, gaming console, or phone. However, developing and evaluating services for such an environment requires sophisti- cated tools for debugging and testing. This Master thesis introduces and evaluates VirtualMesh, a flexible and modular framework for testing new network protocols, applications or even entire network architectures, with focus on wireless mesh networking. This introductory chapter is divided into several sections approaching the wider domain, of which this thesis is part. After a sum up of the important milestones in the history of wireless networking (Section 1.1),