This is G o o g l e's cache of http://www.ctr.columbia.edu/~angin/e6950/sameh/aodv_final.html.
G o o g l e's cache is the snapshot that we took of the page as we crawled the web.
The page may have changed since that time. Click here for the current page without highlighting.


Google is not affiliated with the authors of this page nor responsible for its content.
These search terms have been highlighted: wireless ad hoc mode 

Simulation Environment for an Ad-Hoc Wireless Network

Simulation Environment for an Ad-Hoc Wireless Network Running the AODV Routing Algorithm

EE6950: Wireless and Mobile Networking

Class Project Report

Sameh Asaad

1. Introduction

Mobile Computing continues to enjoy rapid growth thanks to recent technological advances in laptop computers. Moreover, wireless data communication devices, such as wireless modems and LANs, are becoming more and more popular as prices continue to drop and data rates to rise. Wireless communications among mobile users is therefore becoming more popular than ever before.

There are two distinct approaches for enabling wireless mobile computers to communicate with each other. The first is to utilize the existing cellular network infrastructure originally developed for voice communications using cellular phones. This approach benefits from exploiting existing infrastructure to carry data as well as voice. Among the major problems of this approach is the problem of handoff: As a mobile host moves out of the range of one base station and into the range of another, how should the connection be smoothly handed over to the new base station without noticeable delay or packet loss. The other approach is to let users who wish to communicate with each other form an ad-hoc network and collaborate amongst themselves to deliver data packets from a source to its destination possibly via one or more intermediate nodes. This form of networking, although limited in range by the individual node's transmission range, has several advantages when compared to traditional cellular systems. The advantages of ad-hoc networks include:

The objective of this project is to investigate the routing problem in an ad-hoc wireless network. In particular, a novel routing algorithm: Ad-Hoc On-Demand Distance Vector Routing (AODV) as proposed by Charles E. Perkins was implemented and simulated using a collection of wireless nodes. The simulation environment was designed from ground-up using Maisie programming language.

The remainder of this report is organized as follows: Section 2 describes the basic AODV algorithm showing its design goals, architectural assumptions and principle of operation. In section 3, the simulation environment is explained: First an overview of its software architecture is shown followed by a detailed presentation of each of the major components involved. Some preliminary test results are discussed in section 4. Finally, possible directions for future work is presented in section 5.

2. The AODV Routing Algorithm

2.1 Introduction

The AODV routing algorithm [1] allows a network of wireless nodes to communicate with each other by cooperating in routing the data packets from source to destination possibly through one or more intermediate nodes. The algorithm tries to achieve a balanced tradeoff between the amount of up-to-date routing information stored in every node and the latency in finding a route to any given destination when needed. One extreme is to keep complete routing information for every possible destination stored in every node and thereby ensuring immediate availability of routes when needed. Obviously this will require a large overhead of routing messages that flood the network and can be viewed as a brute force approach. The other extreme is for every node to request routing information only when it needs to communicate and thereby minimizing the amount of routing messages in the network. However, the drawback of this method is that the node might have to wait for an unpredictable and/or untolerable amount of time between requiring a route and sending the first data packet. The AODV algorithm tries to establish a smooth middle point of operation between those two extremes. The algorithm builds on a previous routing algorithm, the Destination-Sequenced Distance-Vector Routing Algorithm (DSDV) [2], and tries to alleviate some of the problems associated with it. The design goals of the AODV algorithm can thus be summarized as follows:
  1. To eliminate the need for global broadcast of routing information throughout the ad-hoc network. This was a major drawback with the DSDV algorithm limiting its scalability to large populations of nodes.
  2. To minimize the latency when new routes are needed.

2.2 Architectural Assumptions

The AODV algorithm does not make any specific assumptions on the underlying physical medium other than the following:

2.3 Principle of Operation

For the routing to work efficiently, every node in the network agrees to abide by a simple set of rules which collectively constitute the AODV algorithm. The basic rules are (Please refer to Figures 1 and 2 for an illustrtive scenario):

2.4 Advanced AODV features

The AODV algorithm provides a set of advanced features over the basic algorithm mentioned above to further enhance its performance. This includes backbone formation and promiscuous mode of operation. However, these features are beyond the scope of this project. The interested reader is referred to reference [1] for more details.

3. Wireless Ad-Hoc Network Simulation Environment

3.1 Overview

Overview of Simulation Software Architecute

Figure 3 shows an overview of the software architecture of the simulation envirnoment. It is composed of a collection of maisie entities, each running autonomously in an infinite loop until stopped by an end of simulation signal. Communications among these entities is done through maisie messages. Most message tpyes have a direct relation to actual communication packets (e.g. hello, rreq, data_pkt) although some messages are strictly for simualtion use (e.g. send_data). The former will have a positive time-delay associated with them while the latter are assumed to be instantaneous.

The node entities represent the mobile hosts in the ad-hoc network, each having a transmitter and receiver sections. The nodes communicate with each other through the channel entity which represents the wireless medium. The LocationManager is an entity that simulates the motion of the nodes. It updates the current position of each node depending on user configurable motion parameters and saves the updated information in a global structure called the simulation table. This is in turn used by the channel to decide which nodes are within "hearing distance" of each other. The CommunicationManager simulates the network traffic (i.e. application layer communications). It stimulates the nodes to communicate with each other by invoking the source node with a send_data message telling it which node it should talk to and the length of the data packet.

Not shown in Figure 3 is the driver entity. This is the equivalent of the main() function of a C-program. The driver entity creates all other entities and prints out all network statistics when the simulation time is over.

3.2 Assumptions

Before proceeding with a detailed description of the aforementioned simulation entities, it might be instructive to list the simplifying assumptions made in this environment:

3.3 The Node Entity

The node entity is the central piece of the simulator. As mentioned before, the node represents the mobile computer. It implements the basic AODV routing algorithm: maintains tables for routing information, neighbor information and pending route requests. It also handles the three basic types of routing messages: hello, rreq and rrep. Moreover, upon receiving a trigger from the CommunicationManager, the node will send data packets to the selected destination and wait for an acknowledge signal. For performance evaluation, the nodes keep statistics for the following quantities: These quantites are then individually averaged over all nodes in the network and the times are reported as a percentage of the total simulation time giving an overall measure of the efficiency of the AODV algorithm.

3.4 The Channel

All communications between nodes go through the channel, which represents the wireless medium. For simulation, the channel consults the simulation table for the current location of the communicating nodes. If they are within "hearing distance" then the packet gets forwarded unaltered. Otherwise the packet is dropped. The channel keeps track of dropped packets for statistics. This also will be averaged over all nodes for reporting.

Although currently very primitive, the idea of having a channel entity in the simulation environment is very useful for further development. It is in this entity where various channel impairements such as bursty noise profiles or multipath fading can be modeled. For a first implementation, however, it was decided not to include these factors until the basic routing algorithm becomes stable.

3.5 The LocationManager

To simulate the mobility of the nodes, the LocationManager implements the following algorithm:

Every node stays stationary for a random period of time between a lower limit, MINPAUSE, and an upper limit, MAXPAUSE. It then will choose an arbitrary direction and move in a straight line with a set speed for a set time. The speed is again chosen randomly but lying within the range MINVEL and MAXVEL and the motion time between MINMOVE and MAXMOVE. This way the nodes appear to exhibit a random walk pattern, pausing and moving alternately. By changing the pausing and moving time limits, different average network mobilities can be simulated. The average network mobility is defined as:

Equation for
      average mobility

The idea is to study the performance of the AODV routing algorithm and see its behavior as the average mobility is increased.

3.6 The CommunicationManager

The CommunicationManager works in a similar manner to the LocationManager in controlling the data traffic of the network. Every node will refrain from communications (data and not routing) for a while (MINWAIT - MAXWAIT). It will then choose a destination at random and send to it a sequence of data packets. The sending time, and hence the number of packets, is controlled by the parameters MINBURST and MAXBURST. Two types of data packets are modeled: A long packet with an average of 1016 bytes +-10% and a short packet with an average of 48 bytes +- 10%. The short packets mimic commands and the long packets mimic data packets. Every time a node wishes to send it will pick either the short or the long packet profile at random.

As the case with the mobility, the measured average communication load is directly related to the controlling parameters. The simulator will calculate average times for engaging in data communications and routing communications measured at each node as a percentage of the total time. This will enable measuring the performance of the AODV routing algorithm as the network traffic is varied.

4. Preliminary Results

A set of tests were run to get some preliminary measurements on the AODV routing algorithm as well as test the simulation environment itself. The following test conditions were maintained throughout all tests: With the above parameters, the average mobility of the network was increased by changing the ratio between the pausing and the moving times of the nodes. The nodes were initially placed on a two-dimensional grid with a distance of 2 m between neighboring nodes. Although this is far from realistic, it helped debug the simulation setup since it ensured complete connectivity when the nodes were not allowed to move. Statistics for the number of routing as well as data messages were recorded and are shown in Figures 4 and 5.

Routing Messages versus Mobility

Data Messages versus Mobility

The following observations were made:

5. Future Work

The possibilities for further research on this project are endless. There are three main directions for future work:
  1. Enhancements of the current implementation of the AODV algorithm: As mentioned earlier, the current version of the simulation implements only the basic AODV algorithm and even that cannot be considered complete yet. Besides completing the basic algorithm, various advanced features as described in section 2 can be implemented and tested.
  2. Enhancements to the simulation environment: Currently the simulator runs in batch mode. The user sets the desired parameters to control the environment, runs the simulation and examines the output at the end. A more interactive approach would be desirable, where one can single step through the simulation time and interactively set parameters and query node information. Furthermore, the current means to visualize the ad-hoc network is through netviz software. Although powerful and easy to use, it remains an output-only tool. A more elaborate graphical user interface is sought where the user can for example click on a node and query its routing table.
  3. Restructuring the implementation of AODV so as to be able to run the same code on the simulator as well as on real wireless networks: Obviously, the role of the simulation ends after being satisfied with the performance of the AODV algorithm and the next step is to apply the code on actual hardware. By being able to use the same code, many potential problems of porting and code maintenance can be avoided.

Acknowledgements

I thank Prof. Andrew Campbell for the wealth of knowledge I gained through him teaching this course. I also thank Charles Perkins for allowing me to work with him on simulating his routing algorithm. Many thanks to George Aggelou for his support in programming the AODV algorithm.

References

  1. Charles E. Perkins. Ad-hoc On Demand Distance Vector Routing (unpublished work).
  2. Charles E. Perkins & Pravin Bhagwat. Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computers, ACM Sigcomm , pp. 234-244, August 1994.
  3. David Johnson & David Maltz. Dynamic Source Routing in Ad-Hoc Wireless Networks,Mobile Computing, Tomasz Imelinsky, editor. Kluwer Academic Publishers, 1996. To be published.
  4. R. Bagrodia et al. A Hierarchical Simulation Environment for Mobile Wireless Networks,Proceedings of the 1995 Winter Simulation Conference , December 1995.
  5. Maisie Programming Language.
  6. NetViz : A network visualization tool from RoofTop Communications.