On-Demand Routing in Multi-Hop Wireless Mobile Ad Hoc Networks
Total Page:16
File Type:pdf, Size:1020Kb
On-Demand Routing in Multi-hop Wireless Mobile Ad Hoc Networks David A. Maltz May 2001 CMU-CS-01-130 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Submitted in partial ful®llment of the requirements for the degree of Doctor of Philosophy. Thesis Committee: David B. Johnson, Chair M. Satyanarayanan Hui Zhang Martha Steenstrup, Stow Research L.L.C. Copyright c 2001 David A. Maltz This research was sponsored in part by the National Science Foundation (NSF) under CAREER Award NCR-9502725, by Caterpillar Corporation, by the Air Force Materiel Command (AFMC) under DARPA contract number F19628-96-C-0061, by an Intel Graduate Fellowship, and by an IBM Cooperative Fellowship. The views and conclusions contained in this document are those of the author and should not be interpreted as necessarily representing the of®cial policies or endorsements, either express or implied, of NSF, AFMC, DARPA, Caterpillar, Intel, IBM Carnegie Mellon University, AON Networks, or the U.S. Government. On-Demand Routing in Multi-hop Wireless Mobile Ad Hoc Networks by David A. Maltz Submitted to the Department of Computer Science on May 2001, in partial ful®llment of the requirements for the degree of Doctor of Philosophy in Computer Science Abstract An ad hoc network is a collection of wireless mobile nodes dynamically forming a temporary network without the use of any preexisting network infrastructure or centralized administration. Routing protocols used in ad hoc networks must automatically adjust to environments that can vary between the extremes of high mobility with low bandwidth, and low mobility with high bandwidth. This thesis argues that such protocols must operate in an on-demand fashion and that they must carefully limit the number of nodes required to react to a given topology change in the network. I have embodied these two principles in a routing protocol called Dynamic Source Routing (DSR). As a result of its unique design, the protocol adapts quickly to routing changes when node movement is frequent, yet requires little or no overhead during periods in which nodes move less frequently. By presenting a detailed analysis of DSR's behavior in a variety of situations, this thesis generalizes the lessons learned from DSR so that they can be applied to the many other new routing protocols that have adopted the basic DSR framework. The thesis proves the practicality of the DSR protocol through performance results collected from a full-scale 8 node testbed, and it demonstrates several methodologies for experimenting with protocols and applications in an ad hoc network environment, including the emulation of ad hoc networks. Thesis Supervisor: David B. Johnson Title: Associate Professor, Computer Science Department Thesis Committee Member: M. Satyanarayanan Title: Carnegie Group Professor, Computer Science Department Thesis Committee Member: Martha Steenstrup Title: Consultant, Stow Research L.L.C. Thesis Committee Member: Hui Zhang Title: Associate Professor, Computer Science Department Acknowledgments The preparation of this thesis and my preparation as a researcher have bene®ted from the guidance of many people, but none more than Dave Johnson, my advisor. From framing a research question to carrying out an experiment, from kernel hacking to paper writing, and from the ®ner points of grammar to the ®ner points of teaching classes, Dave has spent uncountable hours helping me develop as a scientist, and I am truly grateful for his efforts. I am also grateful for the advice and direction my thesis committee has provided to me during my graduate studies. Satya and Hui helped me focus my thesis work and directed me towards areas of fruitful research. Martha provided extensive comments on the thesis itself and used her tremendous knowledge of the ®eld to help me place the work in its proper context. My thesis has achieved the breadth that it has, stretching from protocol design through simulation, emulation, and implementation, because I was able to draw on the talents of the entire Monarch Project in building out the systems whose evaluations are reported in this thesis. The protocol comparisons reported in Chapter 5 draw heavily on the work of Josh Broch, Jorjeta Jetcheva, and Yih-Chun Hu. My personal contributions include the choice of protocols to compare and the metrics and analysis used to compare them, the implementations of DSR and IMEP, and hacking on large parts of the other protocols and the simulator. The testbed reported in Chapter 7 is the work of an even larger team, including Josh, Jorjeta, Yih-Chun, Qifa Ke, Ben Bennington, Ratish Punnoose, Pavel Nikitin, Dan Stancil, Satish Shetty, Michael Lohmiller, Sam Weiler, and Jon Schlegel. For the testbed, I participated in a number of roles: I assisted in the implementation of the DSR protocol; I oversaw the testing and evaluation of the protocol (including the design and analysis of the experiments run and the development of the traf®c generators and emulation system); and I directed the integration of DSR with Mobile IPv4. I am indebted to Bob Baron and Jan Harkes for providing and maintaining the trace modulation and Coda code used in Chapter 6 of this thesis. I must also thank Brian Noble for long discussions of emulation philosophy and for providing a model of what a good systems graduate student should be. On a personal level, I must sincerely thank several people for enabling me to complete my thesis. First and foremost is Josh Broch, who for the past 5 years has been my principal colleague and collaborator. He has helped me maintain my sanity and perspective. He has kept me company in lab to all hours of the night, rewritten my code, traveled around the world with me, and defeated my attempts to make serious use of the cvs log ®les. Josh is the author of large portions of the extensions to the ns-2 simulator described in Chapter 3, including the IEEE 802.11 module and much of the glue code that holds the simulator together. Josh also wrote most of the DSR implementation used in the testbed described in Chapter 7. I am also deeply indebted to Chris Cole. As my supervisor at FreeSpace Communications, Chris arranged for me to have time off work to write my thesis at a critical juncture in its preparation. Without his providing the opportunity, the carrot, and the stick in just the right proportion, I probably would not have ®nished. Finally, I must thank my friends and family. This work is dedicated to you. Contents 1 Introduction 1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.1 Overview : 1 : : : : : : : : : : : : : : : : : : : : : 1.2 Problem Statement: Routing in Ad Hoc Networks : 3 : : : : : : : : : : : : : : : : : : : : : : : : : 1.3 A Brief History of Packet Radio Networks : 4 : : : : : : : : : : : : : : : : : : : : : : : : : 1.3.1 Amateur Packet Radio Networks : 4 : : : : : : : : : : : : : : : : : : : : : : : : : : 1.3.2 Military Packet Radio Networks : 5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.4 Chapter Summary : 6 2 DSR Overview 7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.1 Source Routing : 7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.2 Route Discovery : 8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.3 Route Maintenance : 10 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.4 Route Cache : 10 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.5 DSR Optimizations : 11 : : : : : : : : : : : : : : : : : : : : : : : : : 2.5.1 Optimizations to Route Discovery : 11 : : : : : : : : : : : : : : : : : : : : : : : 2.5.2 Optimizations to Route Maintenance : 12 : : : : : : : : : : : : : : : : : : : : : : : : 2.5.3 Optimizations to Caching Strategies : 12 : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.6 Intended Scope for the DSR Protocol : 12 3 Evaluation of Protocols for Ad Hoc Networks 15 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.1 Extensions to ns-2 Simulator : 15 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.1.1 Propagation Model : 16 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.1.2 Node Model : 16 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.1.3 Medium Access Control : 16 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.1.4 Address Resolution : 17 : : : : : : : : : : : : : : : 3.1.5 Validation of the Propagation Model and MAC Layer : 17 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.2 Simulation Methodology : 17 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.2.1 Movement Models : 18 : : : : : : : : : : : : : : : : : : : : : : : : 3.2.2 ad-hockey Tool for Visualization : 19 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.3 Evaluation Metrics : 19 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.3.1 Summary Metrics : 19 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.3.2 Measuring Route Discovery : 20 4 Simulation Analysis of DSR 23 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4.1 Methodology : 23 : : : : : : : : : : : : : : : : : : : 4.1.1 Node Movement and Communication Pattern : 24 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4.1.2 Simulated Sites : 24 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4.2 On-Demand Routing and Latency :