report on employee engagement surveyFull description
Healthcare
Descripción completa
migFull description
Full description
Final Report NIT KKRDeskripsi lengkap
Full description
DTDCFull description
An OPNET model implementation for Ad-hoc On demand Distance Vector Routing Protocol by Lyes Guemari Institut National des Telecommunications Paris – France
Master’s thesis at the Information Technology Laboratory Of the National Institute of Standards & Technology (NIST) Gaithersburg, MD – USA August 20, 2001
Tutor: Dr. Djamel Zeglache (INT) Supervisor: Dr. Leonard E. Miller (NIST)
2
3
FICHE DE PRÉSENTATION Nom Option Entreprise Dates Sujet1 Nombres de personnes participant au projet
Lyes Guemari Communications Mobiles National Institute of Standards and Technology (NIST, USA) Du 1 Décembre 2000 au 31 Août 2000 Implémentation d’un .modèle OPNET pour le protocole de routage Ad-hoc On-demand Distance Vector (AODV). AODV est un protocole de routage dédié aux réseaux mobiles dits Ad-hoc (improvisés). 1
RÉSUMÉ Un réseau mobile ad-hoc (MANET) est un ensemble de terminaux mobiles sans-fils formant un réseau temporaire sans l’aide d’aucune infrastructure préalable. A cause de la nature improvisée de tels réseaux, un protocole de routage est nécessaire pour établir des routes entre les noeuds communicants. La Internet Engineering Task Force (IETF) a formé un groupe de travail autour des réseaux mobiles ad-hoc dont la mission est d’encadrer le développement des protocoles de routages ad-hoc destinés à fonctionner au-dessus du protocole IP. Au jour d’aujourd’hui, de nombreux protocoles sont à l’étude mais aucun standard n’a été adopté. Le protocole Ad-hoc On-demand Distance Vector est l’un des protocoles les plus prometteur actuellement à l’étude. Afin de contribuer au développement des MANETs, le Wireless Communication Technologies Group du National Institute of standards and Technology a entrepris le développement d’un modèle de simulation pour le protocole AODV. Ce modèle a été ensuite mis à la dispostion des chercheurs désirant conduire des simulations dans le domaine des MANETs. Le présent rapport contient une description et une évaluation du dit modèle.
ABSTRACT A mobile ad-hoc network (MANET) is a collection of wireless mobile hosts forming a temporary network without the use of any pre-existing structure. Because of the improvised nature of such networks, a routing protocol is used to discover routes between nodes. The Internet Engineering Task Force (IETF) has formed a new working group for Mobile Ad-hoc Networking in order to provide a framework for developing IP-based routing protocols in ad-hoc networks. At this time, no standard protocol has been adopted yet but many of them are currently under study. The Ad-hoc On-demand Distance Vector algorithm is one of the promising protocols under study. As a contribution of the Wireless Communication Technologies Group of the National Institute of standards and Technology, a simulation model for AODV was developed and made available in order to provide a tool for researchers who need to conduct studies in MANETs. This paper presents a description and an evaluation of the said model.
1
Ce rapport présente le travail que j’ai effectué au sein du groupe Wireless Communication Technologies du NIST. Une description technique est présentée dans les sections 4, 5 et 6.
4
5
ACKNOWLEDGMENT
First of all, I would like to express my gratitude to Dr. Nader Moayeri, the group manager, for giving me the opportunity to work at NIST. Then, I would like to thank Dr. Leonard E. Miller, my supervisor for his driving support during this period and his great help for writing this paper. Finally, I want to thank all my teammates for providing such an enjoyable environment.
6
7
TABLE OF CONTENTS
0 The National Institute of Standards & Technology.................................................................3 The Information Technology Laboratory................................................................................5 The Advanced Network Technologies Division......................................................................6 1 Introduction................................................................................................................................9 2 General Concepts....................................................................................................................10 2.1 Ad-hoc Networking...........................................................................................................10 2.2 Routing protocols for Ad-hoc Networks.........................................................................12 2.2.1 Actual Needs...............................................................................................................12 2.2.2 Classic Protocols........................................................................................................12 2.2.2.1 Link State Protocols.............................................................................................12 2.2.2.2 Distance Vector Protocols...................................................................................13 2.2.2.3 Critique..................................................................................................................13 2.2.3 Enhanced Protocols for MANETs..............................................................................13 2.2.3.1 Destination Sequenced Distance Vector Protocol............................................14 2.2.3.2 Ad-hoc On-demand Distance Vector Protocol...................................................14 3 AODV Specifications...............................................................................................................15 3.1 Route Discovery................................................................................................................16 3.1.1 Generating route requests.........................................................................................16 3.1.2 Forwarding route requests.........................................................................................17 3.1.3 Generating route replies............................................................................................18 3.1.4 Forwarding route replies............................................................................................19 3.2 Local Connectivity Management......................................................................................19 3.3 Route Maintenance...........................................................................................................20 3.4 Route expiry and deletion....................................................................................................21 4 Our addition to AODV..............................................................................................................22 4.1 Problem..............................................................................................................................22 4.2 Solution..............................................................................................................................23 5 NIST/AODV OPNET Model Implementation...........................................................................24 5.1 Objective............................................................................................................................24 5.2 Model description..............................................................................................................24 5.2.3 NIST/AODV Node Model.............................................................................................24 5.2.4 NIST/AODV Application Manager (app_manger) Process Model...........................26 The principle is very basic and can be divided into 3 steps. .......................................27 On the one hand, the attribution of the flows obeys to a FIFO (first in-first served) policy: the first node transiting to the init state has greater chances to occupy a free spot. On the other hand, each node, at the pre-init state, randomly picks a waiting period before transiting to the init state. The idea is to introduce some sort of discrimination between the existing nodes. Thus, as nodes consecutively transit in the init state, remaining flows are progressively granted to arriving nodes until no more flows are available. Of course, nodes with an interlocutor attribute set to a specific node’s IP address automatically transit to the init state (waiting period at the pre-init state equals 0) and are consequently guaranteed to occupy a free flow. ...........................................................................................................................................28 5.2.5 NIST/AODV Routing (aodv_routing) Process Model................................................30 5.2.6 NIST/AODV Mobility Process Model..........................................................................33
1
5.3 NIST/AODV Model Validation...........................................................................................34 6 NIST/AODV Model Study.........................................................................................................35 6.1 The simulation model.......................................................................................................35 6.2 Performance Results........................................................................................................37 6.3 Metrics............................................................................................................................37 6.4 Results............................................................................................................................37 6.4.1 Varying Mobility and Repair...................................................................................37 6.4.2 Varying Offered Load..............................................................................................39 6.4.3 Varying Connectivity Support................................................................................41 7 Summary..................................................................................................................................44 References..................................................................................................................................45 Appendix A – Sequence numbers and loop formations..........................................................47 Appendix B – 3-node sample scenario log file.........................................................................48
2
0 The National Institute of Standards & Technology The National Institute of Standards and Technology (NIST), formerly the National Bureau of Standards (NBS), was established by Congress in 1901 to support industry, commerce, scientific institutions, and all branches of Government. For nearly 100 years the NIST/NBS laboratories have worked with industry and government to advance measurement science and develop standards. NBS was created at a time of enormous industrial development in the United States to help support the steel manufacturing, railroads, telephone, and electric power, all industries that were technically sophisticated for their time but lacked adequate standards. In creating NBS, Congress sought to redress a long-standing need to provide standards of measurement for commerce and industry and support the "technology infrastructure" of the 20th Century. In its first two decades, NBS won international recognition for its outstanding achievements in physical measurements, development of standards, and test methods – a tradition that has continued ever since. This early work laid the foundation for advances and improvements in many scientific and technical fields of the time, such as standards for lighting and electric power usage; temperature measurement of molten metals; and materials corrosion studies, testing, and metallurgy. Both World Wars found NBS deeply involved in mobilizing science to solve pressing weapons and war materials problems. After WWII, basic programs in nuclear and atomic physics, electronics, mathematics, computer research, and polymers as well as instrumentation, standards, and measurement research were instituted. In the 1950s and 1960s, NBS research helped usher in the computer age and was employed in the space race after the stunning launch of Sputnik. The Bureau's technical expertise led to assignments in the social concerns of the Sixties: the environment, health and safety, among others. By the Seventies, energy conservation and fire research had also taken their place at NBS. The mid-to-late 1970s and 1980s found NBS returning with renewed vigor to its original mission focus in support of industry. In particular, increased emphasis was placed on addressing measurement problems in the emerging technologies. Many believe that the Stevenson-Wydler Act implemented, throughout the federal laboratories, the practices that had been developed at NBS over the years: cooperative research and technology transfer activities. The Omnibus Trade and Competitiveness Act of 1988 – in conjunction with 1987 legislation – augmented the Institute's uniquely orchestrated customer-driven, laboratorybased research program aimed at enhancing the competitiveness of American industry by creating new program elements designed to help industry speed the commercialization of new technology. To reflect the agency's broader mission, the name was changed to the National Institute of Standards and Technology (NIST).
3
These efforts, and the organizational changes brought by the NIST Authorization Act for 1989 which created the Department of Commerce's Technology Administration to which NIST was transferred, served as a critical examination of the role of NIST in economic growth. These mission and organizational changes, initiated under the Bush Administration were reaffirmed and strengthened by the Clinton Administration. In addition to the reviews by Congress, the Administration, and the Department of Commerce, the Visiting Committee on Advanced Technology (VCAT) of NIST reviews and makes recommendations regarding the general policy, organization, budget, and programs of NIST. The VCAT holds four business meetings each year with NIST management, and summarizes its findings each year in an annual report that is submitted to the Secretary of Commerce and transmitted by the Secretary to Congress. As an agency of the U.S. Department of Commerce's Technology Administration, NIST's primary mission is to promote U.S. economic growth by working with industry to develop and apply technology, measurements, and standards. It carries out this mission through a portfolio of four major programs: •
Measurement and Standards Laboratories that provide technical leadership for vital components of the nation's technology infrastructure needed by U.S. industry to continually improve its products and services;
•
a rigorously competitive Advanced Technology Program providing cost-shared awards to industry for development of high-risk, enabling technologies with broad economic potential;
•
a Manufacturing Extension Partnership with a network of local centers offering technical and business assistance to smaller manufacturers; and
•
a highly visible quality outreach program associated with the Malcolm Baldrige National Quality Award that recognizes business performance excellence and quality achievement by U.S. manufacturers, service companies, educational organizations, and health care providers.
With a budget of $790 millions, NIST employs approximately 3,300 scientists, engineers, technicians, and about 1,250 visiting researchers each year. NIST provides industry, university, and government agency with a wide range of technology services. These include Standard Reference Materials and data, information on national and international standards, laboratory accreditation, and equipment calibration. NIST laboratories are specialized in electronics and electrical engineering, manufacturing engineering, chemical science and technology, physics, materials science and engineering, building and fire research, and information technology. NIST organization includes the following laboratories:
4
Electronics and Electrical Engineering Laboratory (EEEL), Manufacturing Engineering Laboratory (MEL), Chemical Science and Technology Laboratory (CSTL), Physics Laboratory (PL), Materials Science and Technology Laboratory (MSTL), Buildings and Fire Research Laboratory (BFRL), and Information Technology Laboratory (ITL).
The Information Technology Laboratory The Information Technology Laboratory (ITL) at NIST represents the US measurement and standards laboratory focused on the needs and competitiveness of the US information technology sector and the needs of the sector’s products and services. To answer to industries and users needs, ITL is providing unbiased measurement methods, tests and standards. ITL’s activities support the development and use of information technology-based systems and services that are usable, scalable, interoperable and secure. ITL also provides tools that help companies to produce, integrate, test and use next generation products and services. ITL’s programs and activities include research, technical collaboration, development of tests, quality assurance techniques, tools, models, and reference data for emerging network technologies. By collaborating with different organizations such as industry, research, education, government and standards organizations, ITL tries to improve measurement methods and techniques for efficient access, and exchange of complex information. ITL’s fields of competence are also security techniques and methods for protecting the integrity, confidentiality, reliability, and availability of information resources. Tests and measurements are the main activities of the laboratory and ITL provides to industry evaluation of measurement methods for high performance computing and communications systems, as well as software testing tools and methods to improve quality of software, information technology resources, and supporting infrastructure. ITL’s activities cover a broad range of technologies (Figure 1) in mathematical and computational sciences, advanced networks, statistical engineering, computer security, information access and user interfaces, high performance systems and services, distributed computing and information services, software diagnostic and conformance testing. All these fields of research find their application within NIST activities, by providing high quality services to NIST staff and collaborators, but also help and support the US industry in conducting scientific, engineering, consulting and administrative applications. In 1998, the laboratory involved 384 full-time employees, 75 percent of them were professional and technical staff and 25 percent were administrative support personnel. In
5
addition, 92 research associates, guest scientists and faculty appointments contributed the ITL research program. The budget for ITL programs consisted of $44.5 million given by the NIST Congressional appropriation, including $12.3 million for the Consolidated Scientific Computing System, $0.6 million for Technical Competence, $2.2 million from the Advanced Technology Program, and $11.9 million in reimbursable funds.
Figure 1 ITL Organization Chart
The Advanced Network Technologies Division The Advanced Networking Technologies Division (ANTD), one of the eight divisions within NIST’s Information Technology Laboratory, consists of approximately 35 technical professionals holding undergraduate and advanced degrees in computer science, electrical engineering, and mathematics. The division operates with an annual budget of approximately $5 million. Its mission is to study and accomplish the development of next generation networking technologies and study the transmission of multimedia data streams to enable heterogeneous collaborative computing.
6
The ANTD works as a partner with suppliers and users of information technology to improve the quality, manageability, reliability, security and interoperability of networked systems. As part of the ITL’s metrology laboratory, the division provides test, measurement, and quality assurance techniques, tools, models and reference data for emerging network technologies. It develops, demonstrates and promotes these technologies through reference implementations, testbeds, guidelines and standards. All the technical programs focus on infrastructure and enabling technologies for advanced networks, but also on interoperability among heterogeneous networks and communication protocols. The ANTD is divided into four groups as shown in :
Figure 2 ANTD Organization Chart
The Multimedia and Digital Video Technologies Group works with industry to promote the development of cost-effective, interoperable, distributed multimedia applications and to enable the development of digital video technologies for broadcast, interactive television, video on demand and video conferencing.
The Internetworking Technologies Group works with industry and commercial suppliers to remove barriers to the next generation of secure and reliable internetworking technologies and integrated network services.
The High Speed Network Technologies (HSNT) Group where I worked. The group works with the communications industry to expedite the development of technologies for high-speed networks, and to promote the deployment and use of such technologies. The main emphases of the group include testing methods and prototype development for high speed network technologies, interoperability among high speed
7
network products and analysis, simulations and measurements of the performance characteristics of high speed network technologies.
And finally the Wireless Communications Technologies Group (WCTG) investigates performance optimization and enhancements for information technology applications that are carried over wireless communications especially such digital signal processing techniques as compression and error control encoding. The current researches deal with Local Multipoint Distribution Service (LMDS), the third mobile generation (3G) and Mobile Ad Hoc Network (MANET).
8
1 Introduction The term MANET[1] stands for Mobile Ad-hoc Network. This new networking concept defines simple mechanisms which enable mobile devices to form a temporary community without any planned installation, or human intervention. The idea is to form a totally improvised network that does not require any pre-established infrastructure. But, how can we make this possible? The answer is very simple. Each node acts as a host and a router at the same time. This means that each node participating in a MANET commits itself to forward data packets from a neighboring node to another until a final destination is reached. In other words, the survival of a MANET relies on the cooperation between its participating members—if a source node wants to communicate with another node which is out of its transmission range, the former will send its packets to a neighboring node, which will send them, in its turn, to one of its neighboring nodes, and so on, until the destination node is reached. Because such networks are deployed “on the fly”, they find a direct application in the military field. They are also very useful in other applications such as emergency rescues and disaster recovery situations, where cellular infrastructures are non-existent. However, as wireless networking devices are becoming more and more sophisticated and hence more and more affordable, some new commercial applications have been introduced for MANETs, such as pervasive computing, document sharing in conferences, and smart sensors. Although, this new approach of networking brings a great flexibility to the world of wireless communications, it raises some new challenges among the research community as far as routing, QoS, and security issues are concerned. In this report, we will limit our interest to the routing area. In fact, ad-hoc networks have certain characteristics (high degree of mobility, absence of centralized administration, limited resources) that impose some strong requirements with regard to the routing functionality. An adequate routing protocol for MANETs should not only react quiet rapidly to the dynamically changing topology of the network but it should also maintain a decent quantity of control traffic in order to preserve the available resources (bandwidth, battery power, etc). Classic protocols such as link-state or distance-vector[2] would be too drastic for such a purpose. Both rely on flooding mechanisms, which would cost a lot in terms of resources and would take a long time to converge in case of higher mobility. Therefore, the Internet Engineering Task Force has formed a new working group for Mobile Ad-hoc Networking[1], whose mission consists of providing a framework for developing IP-based routing protocols in ad-hoc networks. At this time, no standard protocol has been adopted yet but many of them are currently under study. One of the rising protocols is known as AODV, which stands for Ad-hoc On-demand Distance Vector[3].
9
In keeping with the general pattern of its policy, the Wireless Communication Technologies Group (WCTG) of the National Institute of Standards and Technology (NIST) intends to play an active role in the development of MANETs by investigating the performance of routing protocols for MANETs that have been submitted for possible standardization by the IETF. This report is the result of a master’s thesis which has been carried out in the WCTG laboratory. The objective of this study is the implementation, documentation and evaluation of a simulation model for the AODV routing protocol. The commercially available simulation software OPNET[4] was used for this purpose. The remainder of this report is organized as follows. In section 2, some general concepts are quickly introduced with a particular focus on the routing area. In section 3, a short introduction to AODV is presented. Section 4 introduces our additions to the actual specifications of AODV. Section 5 describes the simulation platform that was adopted and Section 6 presents some performance results. A summary is presented in Section 7.
2 General Concepts 2.1 Ad-hoc Networking There are two approaches that allow two wireless stations to communicate with each other. The first one is to introduce a third fixed party (a base station) that will hand over the offered traffic from a station to another, as illustrated in Figure 3. This same entity will regulate the attribution of radio resources, for instance. When a node S wishes to communicate with a node D, the former notifies the base station, which eventually establishes the communication with the destination node. At this point, the communicating nodes do not need to know of a route for one to each other. All that matters is that both nodes source and destination are within the transmission range of the base station. If one of them fails to fulfill this condition, the communication will abort. Question: what happens if the base station is unavailable? Or what happens if we are in situation where such an infrastructure does not exist at the first place? Answer: we simply do not communicate! Actually, we can thanks to the second approach that is introduced bellow. Note however that this form of centralized administration is very popular among wide cellular networks such as GSM, UMTS, etc.
10
Figure 3 Infrastuctured network
The second approach, called ad-hoc, does not rely on any stationary infrastructure. The concept behind these infrastructureless networks is the collaboration between its participating members, i.e., instead of making data transit through a fixed base station, nodes consequentially forward data packets from one to another until a destination node is finally reached. Typically, a packet may travel through a number of network points before arriving at its destination. Figure 4 illustrates a simple 3-node ad-hoc network. In this figure, a source node S wants to communicate with a destination node D. S and D are not within transmission range of each other. Therefore, they both use the relay node R to forward packets from one to another. So, even though R is primarily a host, R is acting as a router at the same time.
S
R
D
Figure 4 Infrastructureless networks
By definition, a router is an entity that determines the path to be used in order to forward a packet toward its final destination. The router chooses the next node to which a packet should be forwarded according to its current understanding of the state of the network.
11
Because of the improvised nature of ad-hoc networks, routes are built dynamically as and when nodes are regrouping (Discovery). Hence, ad-hoc networks are more responsive to topology changing than any wired networks. Consequently, routing protocols for ad-hoc networks should be able to cope with link breakages and make sure that the network wont collapse as nodes are moving or shutting down (Maintenance). The following section is dedicated to ad-hoc routing protocols.
2.2 Routing protocols for Ad-hoc Networks 2.2.1 Actual Needs As we previously mentioned, ad-hoc networks have certain characteristics that put a lot of stress on the routing layer. Some of these characteristics are listed bellow: •
•
•
Nodes in a MANET are connected by wireless links with a constrained bandwidth. Thus, an appropriate routing protocol for MANETs should imply a reasonable overhead in order to preserve the limited bandwidth. Message complexity must be kept very low. Nodes in a MANET are likely to be hand-held devices and laptops with relatively constrained resources. These resources include namely storage capacity and battery power and should be used in a smart way. Therefore, a suitable routing protocol for MANETs should not make an excessive use of flooding or periodic update messages. Nodes in a MANET are likely to be mobile. In order to cope with such a rapidly changing topology, a routing protocol for ad-hoc networks should be able to find alternate routes very quickly. Rapid convergence is the ultimate goal for an ad-hoc routing protocol.
In the next sections, we will see how classic protocols do not fulfill the new demands that were established by ad-hoc networks. Also, we will see how this has led to the appearance of a new generation of protocols wholly dedicated to MANETs.
2.2.2 Classic Protocols Two routing algorithms, link-state and distance-vector, have been traditionally used in packet-switched networks. They both allow a node to determine the next hop along the “shortest path” toward a given destination. The shortest path is computed according to a specific cost, which is usually the distance in number of hops. 2.2.2.1 Link State Protocols In the link-state[2] approach, each node collects the state (cost) of its outgoing links (links toward neighboring nodes) and diffuses it to every other node in the network in the
12
form of link state packets (LSPs). This is done periodically or whenever a change is detected in one of the outgoing links. Also, LSPs are tagged with a sequence number in order to indicate their freshness (most recent LSPs have greater sequence numbers). On the other hand, as a node receives the LSPs, it updates its global view of the network topology in terms of link states. Given this map, the node runs a shortest path algorithm (usually, Dijkstra’s shortest path algorithm[5]) and determines the optimal next hop for each destination in the network. Only the next hop and route cost for each destination are stored in the routing table. Note however that nodes do not update their tables at the same time (due to the propagation time of LSPs). This can lead to the formation of some short-lived loops, which will disappear by the time the LSPs have reached every other node in the network. 2.2.2.2 Distance Vector Protocols The distance vector algorithm, also called the Bellman-Ford[6] algorithm, is based on a different approach. Each node advertises its entire routing table to its immediate neighbors only. As a node receives the routing information of its neighboring nodes, it updates its own routing table by looking at its neighbors’ routing table. Basically, for each destination, a node looks at each of its neighbor’s distance for that destination (distance from neighbor to destination) and increments it by the link cost to reach this same neighbor. The node, then, picks up the neighbor via which the distance is the smallest. Each node keeps track of its neighbor’s distances and modifies its local vector if any changes occur. The Bellman-Ford algorithm suffers from both short-lived and long-lived loops. Also, it is known for its “counting-to-infinity” problem[7], which occurs in case of link failure. 2.2.2.3 Critique Both algorithms link-state and distance-vector have proven their efficiency in case of networks with very low mobility. However, they both collapse when it comes to frequently changing topology networks. They not only take a long time to converge, but they also consume a big part of the available resources in finding routes that would probably never be used. Plus, some sort of mechanism should be added in order to avoid the formation of neither short nor long-lived loops.
2.2.3 Enhanced Protocols for MANETs With the growing interest for mobile ad-hoc networks, a large set of IP-based routing protocols was proposed to the MANET working group. No standard has been adopted yet, but some promising protocols are enthusiastically under study. One of the rising protocols is the subject of this report. It is called Ad-hoc On Demand Distance Vector
13
(AODV) and finds some of its inspiration in the Destination Sequenced Distance Vector (DSDV) protocol. 2.2.3.1 Destination Sequenced Distance Vector Protocol As the name indicates, DSDV[8] is originally based on the distance-vector algorithm. Two major modifications were added in order to make the protocol suitable more for mobile ad-hoc networks. The first modification was added to cope with the “counting to infinity” and “loop formation” issues. The idea is very simple and consists of tagging each route with a sequence number in order to indicate its freshness. Basically, a route with a greater sequence number is a route that was issued later in the time and has therefore more chances to be accurate with regard to the current topology of the network. The destination sequence number is originally issued by the destination node. This number is maintained within each node by incrementing it whenever a change occurs along this same route. The sequence number and the cost route are included in the update messages. Thus, when a node receives an update message for a given route, it first checks the sequence number that is included in it and compares it with the one that is stored in the routing table. Only update messages with greater sequence number are taken into account. In case of equality, the route with smaller metric is to be considered. The second improvement that was added to the original algorithm aims at reducing the over-head generated by the protocol. It consists of the introduction of two types of update messages: full dump and incremental. A full dump packet is used to advertise all available routing information whereas an incremental packet has smaller size and is used to advertise only the changes between two full dumps. Indeed, DSDV is much more stable than the basic Bellman-Ford algorithm. However, DSDV still relies on periodic messages to maintain its routing information. Therefore, a final adjustment was needed to minimize the amount of over-head traffic generated. 2.2.3.2 Ad-hoc On-demand Distance Vector Protocol AODV[3] brings another brick to the edifice. As an improvement on DSDV, AODV reduces the amount of control traffic by simply minimizing the number of enquired routes. Instead of building a route for all possible destinations in the network, a node only creates and maintains routes that it really needs. When a route is needed, a node initiates a request in order to locate its interlocutor node. On the other hand, when a route is no longer used, it is simply expunged from the routing table. This approach is known as source-initiated on-demand routing as opposed to table-driven routing. It is also known as reactive as opposed to proactive. For reasons of scalability, proactive protocols may not find the same response within the MANET community as reactive protocols, such as AODV, DSR, or OLSR[9] would probably have. Another adjustment was added as far as route maintenance is concerned. In fact, in case of link failure, the node upstream immediately broadcast an update message to the set of
14
nodes that are truly affected. Periodic updates such as full dump packets in DSDV were completely eradicated. Of course, AODV uses the same set of sequence numbers as in DSDV, which guaranties loop-freedom in its routes. A more thorough description of AODV mechanisms is presented in the next chapter.
3 AODV Specifications As we previously mentioned in section 2.2.3.2, the Ad-hoc On demand Distance Vector protocol uses a whole different approach to build its routing information. As a matter of fact, route enquiries are initiated on an on-demand basis. When a node wishes to send a packet to a destination node, it initiates a discovery process in order to locate it. If no route is found within a specific period of time, the initiator node assumes that the destination node is unreachable. The discovery process is aborted and the corresponding data packets are dropped. On the other hand, if the initiator node receives a route as a response to its enquiry, it updates its routing table by creating an entry for the destination node. Once an entry is created, a maintenance process is triggered in order to monitor the status of the just created route— if a route is no longer used, a node deletes from its routing table. If a failure occurs along an active route, the node upstream immediately notifies the earlier hops of such a breakage using a specific type of control packets. In the presence of packets still in need of a route, affected nodes may re-initiate new discovery activities in order to find a replacement route. AODV defines the routing information in a distributed table-driven manner. This means that each node along a particular path has to maintain a routing table entry for the destination node down that same path. This is opposed to the source routing approach where only the source node is aware of the complete path (hop-by-hop) toward the destination. AODV also allows each node to maintain one and only route per destination. It is good to know then that some other routing protocols allow multiple route discoveries. In this case, if a primary route collapses, an alternative one is used. Routing table entries are defined in AODV in the form of tuples . Sequence numbers are used to guarantee loop-freedom and indicate the freshness of a route. Distances are expressed in number of hops. Whenever a route is invalidated, the destination sequence number is incremented by one and the distance is set to infinity. The precursor list designates the set of neighboring nodes that are effectively using that entry to forward data packets. Finally, the expiration date indicates the time upon which the
15
entry must be deleted. Of course, the expiration date is extended every time the entry is used.
3.1 Route Discovery The discovery process is a mechanism that allows each source node participating in a MANET to locate (given its IP address) a destination node for which it has a packet to send. Of course, nodes initiate discovery requests only for nodes that have not been previously located (those for which node has not an entry in its routing table). If an entry already exists, then data packets are immediately sent to their destination and the discovery step is skipped. In order to initiate a discovery process, a node has to broadcast a route request packet (RREQ) to its neighboring nodes. The packet is propagated by every other node in the network until a route is found (see Figure 5).
3.1.1 Generating route requests Basically, if a node source A is looking for a destination node B in a MANET, A would let every other node in the network know that it is looking for B by broadcasting a RREQ packet to its neighbors. The RREQ includes the IP address and sequence numbers of both source and destination. The destination sequence number refers to the sequence number associated to the last route to the destination node B that the source node A has been aware of. If no trace of the sequence number is found, a default value of 0 is used.
Figure 5 RREQ propagation
Each intermediate host which receives the broadcast RREQ has to re-broadcast it at a certain extent until the RREQ reaches either the destination node B or an intermediate node which is aware of a fresh enough route (according to the included destination sequence number) to the destination node B.
16
Two other fields of a RREQ are the time to live (TTL) and the broadcast ID. The TTL field allows a discovery initiator to control the degree of dissemination of its RREQ within the network. For instance, a RREQ packet whose TTL field is set to 2 will travel through 2 hops at most from the source node. When a RREQ is broadcast, the source node sets its TTL field to an initial value in terms of hops and waits for a corresponding period of time (RREP_WAIT_TIMEOUT) before taking any action. If by any chance, a route is received before the waiting period is finished, then the discovery process is successfully terminated. On the other hand, if the waiting period arrives to its term without having received any response, the source node re-broadcasts the “same” RREQ packet and again waits for another period of time. This time, however, the RREQ has a bigger TTL value and the waiting period is consequently longer. Having a bigger TTL value, the new RREQ will reach a larger set of nodes and will hopefully lead to a route reply generation. If still no reply is received, the source keeps on re-broadcasting the RREQ with an incremented TTL up to a maximum number of retries. Upon threshold, the discovery period is aborted. These mechanisms of broadcast control is also known as the expanding ring search technique. Also, each RREQ packets is tagged with a sequence number, called Broadcast ID. This tag provides a mean for nodes to distinguish the different RREQs emanating from the same node and is incremented after each broadcast. A couplet