This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
OLSR optimizes the reactivity to the frequent topological changes by reducing or decreasing the maximum time interval for the transmission of the periodic control messages. Apart from this, OLSR maintains routes from one node to all destinations in the network continuously. Thus, this protocol is very much beneficial for traffic patterns. This traffic pattern may include a large subset of nodes that may communicate with any another large subset of nodes, and the pairs that are changing over time. This protocol is especially suited for very large and very dense networks, as the optimization of the link state, done using MPRs is pretty good works in this context. Thus, the larger and denser a network, results in the more optimization that can be achieved as compared to the conventional link state algorithm.
OLSR is designed so as to work independently that is in a completely distributed manner and does not rely or depend on any particular central control or entity. Another advantage of the OLSR routing protocol of being proactive in nature is that it does not require reliable or certain transmission of the control messages as each node involved, sends the control messages periodically, and thus even if some of the control messages get lost, it does not give negative impact on the protocol. Therefore, it can bear a certain number or reasonable loss of some control messages. In the radio networks, such loss is quite common due to collision of the signals. Thus, in that type of network, OLSR is preferred. Another major achievement of OLSR is that it does not require the delivery of messages to be in sequence always. This concept is similar to that of the TCP in which the sequence number associated with each packet makes it flexible that the packets may or may not reach the destination in sequence. Similarly, in the OLSR protocol, each control message contains a sequence number. This sequence number is incremented for each control message.
Apart from all these advantages and features, OLSR also provides support for various protocol extensions such as multicast-routing, sleep mode operation, etc. These extensions introduced to the protocol as additions to the protocol improve the feature of the protocol without breaking or hampering the previous compatibility with earlier versions of the protocol. OLSR is compatible with the format of IP packets. Thus any IP stack in use today can be used in the OLSR because the protocol interacts only with routing table management.
From the time, internet has emerged as a revolution; telecommunication has also grown along with it as a marvellous technology. Some technologies such as DSL and cable networking is providing a good means of broadband which is available almost in every human reaching area. These technologies are helping people to communicate easily via voice, text, multimedia files video etc. Apart from the wired technology, wireless technology has also proved to be a boon to the world. It's rising demand and popularity leaves no doubt for us to understand how crucial it has become in today's world. Some of these technologies such as GPRS, WLAN, Bluetooth, GSM and many more have several functionalities and features that are suitable in different conditions. Each of them has their own range of communication and has different capabilities in terms of performance. For both the types of communication that is the wired and the wireless communication, the most important factor which everyone wants to have is the seamless communication between the parties involved. The basic constraint that directs all these technologies and the protocols involved is the transfer of information from source to the destination. It seems as if there is no limit in improving the developed technologies so far.
The term Mobile Ad-Hoc Network (MANET) was originally introduced by the Internet Engineering Task Force (IETF) task group responsible for the standardization of network protocols for mobile ad-hoc networks . The existing protocols for MANET are very much useful and efficient. However they need to be made more efficient to cope up with the changing scenario of the network. The topology may change either very frequently or may not change for a long time. Thus I need to have a protocol which can support both the scenarios.
One of the important protocols among the existing one is the OLSR that is the Optimal Link State Routing Protocol. . In case of the OLSR routing protocol, there are several versions of this protocol to improve the performance. Some of them are Unik OLSR, OOLSR etc. In the OLSR routing protocol, the MPR plays a very crucial role in forwarding the packet. Thus its selection should be very efficient. Through MPR the packets are forwarded further in the network without flooding the network. Each node chooses its MPR to forward the packet and thus redundant transmission of the packets is avoided. The whole concept of OLSR is based on the Multipoint Relay (MPR). MPRs are used to form the route from starting node to destination node in MANET . The Optimized Link State Routing (OLSR) protocol is a proactive link-state protocol. It uses Multi-Point Relays (MPRs) optimization techniques to provide broadcast structure which is efficient and it also reduces the link advertisements. Various advancements have been proposed to increase the performance of the OLSR and I will present the modifications proposed and their analysis.
The selection of MPR eliminates the overhead of flooding messages in the network to some extent by minimizing the redundant transmissions of the packet in the same area or region. Each active node in the network selects nodes or I can say the set of nodes in its s 1-hop neighbourhood symmetry which may forward its packet. This set of selected neighbour nodes is called the Multipoint Relay (MPR). Those neighbours of a node P which are not present in the selected MPR set, can receive messages and even process messages that are broadcast but cannot retransmit broadcast messages that are received from node P. The MPRs from the 1-hop neighbour are selected such that it covers all 2-hop symmetric neighbour nodes. If the MPR set is too large, it will result in more traffic control overhead and if the set of MPR is small, then there will be less traffic control overhead.
Everything that happens in the OLSR protocol begins with the neighbour sensing, whose primary purpose is to discover information on the local topology, i.e., discovering changes in the direct neighbourhood and the two-hop neighbourhood . However it can be sometimes problematic to deal with such system because the whole selection process is based upon the selection of MPR which in turn is selected on the basis of range or the distance of the nodes.
In OLSR routing protocol, in the beginning the routers involved sends each time an acknowledgement of the received message. This however creates an overhead and results in high traffic upon the link. But the best part of the protocol is that as the clock tick passes, at a certain point of time the acknowledgment from each router for each and every time it receives a message is stopped. The acknowledgment from the exact destination is much more required and important and this is provided in the OLSR every time the exact or the intended destination gets the message. The MPR is responsible for generating the link state information. The information provided by the MPR is used for determining the route or calculating the route.
OLSR is mainly used in large and populated regions. By population I mean to say the dense areas. The selection of the MPR reduces the flooding of the messages which in turn reduces the traffic load and delay which is observed in most of the protocols. The periodic exchange of the table makes it possible to select the best MPR at a moment. The MPR selected is responsible for providing the link state information.
In this thesis I have tried to implement some of the OLSR protocols and have compared their performance in various terms like packet delivery ratio, average throughput and normalized routing load. I found that the original OLSR suffers from low bandwidth and throughput. However it can be overcome trough OLSR-MD and OLSR-ETX as their performance was measured good in almost all the scenarios with respect to minimum delay. The selection process of the MPR is different in each version of OLSR which in turn results in different performance of these versions.
The information provided by the MPR helps the nodes to forward the message to the destination through the best part on which the transmission can be probably reliable. In our study I have studied some versions of the OLSR like OLSR-MD (Minimum Delay), OLSR-ML (Minimum Loss) and OLSR-ETX (Expected Transmission Count). Each of these versions has their own way of choosing the Multipoint Relay. In each case, the selected MPRs announce the information that it has periodically to its neighbouring nodes in form of the control messages. The idea behind the OLSR is same as the MAC layer protocol that is the HIPERLAN given by the ETS . Another benefit of the MPR is that it also provides some other information like advertisement of gateway, topology information, services available etc. This information is also known as disseminating information. Now it is obvious that to provide all this information periodically, the nodes will utilize number of resources. Now to avoid the wastage of resource, the flooding or the announcements made must be optimized. For this purpose, the MPR proves to be very efficient when compared with those in which there is no question of selecting the Multipoint Relay.
To complete the thesis, me and my guide had to go through several books and papers for the review and understand the protocols and their functionalities properly.
The base paper that I read out was a part of thesis of Mr. Michael Voorhaen who has an excellent knowledge about the networking protocols and particularly the OLSR routing protocol. He has clearly mentioned the whole scenario of working of OLSR and some other routing protocols too. According to him there are several challenges for the mobile ad-hoc protocols. Some of them are:
The medium is Wireless.
Resources are limited.
There is no infrastructure.
The network is Heterogeneous.
The topology changes frequently
These are some of the limitations that make the protocols of the mobile ad-hoc network a bit complicated.
Another paper that I studied was "QoS Routing using OLSR with Optimization for Flooding" by SumanBanik, Bibhash Roy, ParthiDey, NabenduChaki, SugataSanyal. This paper clearly mentions the procedure to select the MPR efficiently. I got the idea of how the MPRs can be selected in OLSR form this paper. The QoS for the routing protocol is clearly described in this paper.
Similarly, I studied several other papers to get an exact idea of the OLSR. There are several versions of OLSR like the OLSR-MD, OLSR-ML, OLSR-ETX. We tried to implement these protocols and compare them with one another especially with the original versions of OLSR and concluded with some results.
Another important paper that helped us to know about different protocols was "Current Research Work on Routing Protocols for MANET: A Literature Survey" by G.Vijaya Kumar, Y.VasudevaReddyr, Dr.M.Nagendra. In this paper, several protocols which are reactive, proactive and hybrid were mentioned very clearly. We got a brief idea about these protocols from this paper.
Similarly there were several papers that helped me and guided me to complete my work. One of the very crucial paper was by R.E. Shannon, named "Introduction to the art and science of simulation". This paper helped me to gain some information about the network simulator that is the NS2. As the simulator was very new to me in the beginning, I went through this paper and acquired some knowledge about the simulator.
ROUTING PROTOCOLS FOR MANET
Routing protocols are those rules which help the message to be transferred from source to the destination. When I talk about the routing protocols for mobile ad-hoc network, I need to define it more specifically in terms of the changing topology. These protocols must be able to survive in the changing nature of the topology. The resources available are very limited and thus it becomes very crucial to use them efficiently and cleverly. Meanwhile, the delivery of the message to the destination is also very much important as it is the main purpose for which all these protocols are made and used. These constraints make the protocol for the mobile ad-hoc network more complicated and challenging area to deal with. The protocols for MANET are differentiated in three types as Proactive, Reactive and Hybrid Routing Protocols. All these types of protocols are useful in different situations. Let us know some features and working of these protocols.
Proactive Routing Protocols 
Proactive routing protocol works somewhat same as the wired network. Every active node say N broadcast the information of the topology periodically to the other nodes of the network. In the beginning the nodes may not have much information about the network but as the time passes, the nodes gain enough information from other nodes about the network.
Some of the proactive routing protocols are the Destination Sequenced Distance-Vector Routing (DSDV), Residual Energy Based OLSR (RE-OLSR)  and of course the OLSR. I will be describing the OLSR in the next chapter in detail. The overhead associated with the proactive routing protocol is the periodic transmission of information. After certain time limit, the nodes need to broadcast the current scenario or the information to all other nodes. This not increases traffic but also sometimes results in poor performance of the protocol. Here are some protocols given which are proactive in nature.
3.1.1 Types of Proactive Protocol
Fisheye State Routing (FSR)
The FSR routing protocol uses the special kind of structure in the network called "the fisheye". The basic idea behind this protocol is that the updating information is broadcast after a periodic time so that the nodes get the latest information. Thus, this information is very much essential for the nodes in the network. Now, if the traffic is too much then this information may get delayed or lost somewhere in the network. To ensure this information reaches to the neighbouring nodes correctly and timely, the FSR reduces the traffic. It emphasises on the update message of the nearer nodes much more than the farther one because the update message does not contain any relevant information of the farther nodes. Thus, the traffic towards the farther nodes can be eliminated and thus the traffic can be utilized for the nearer nodes only.
Wireless Routing Protocol (WRP)
WRP works simply on the idea of any other general algorithm to find the path. It makes use of the shortest-path algorithms to find the best path from one node to the other node.
WRP works with four type of information. This information are MRL  (message retransmission list), routing table, distance table and cost of link table. Like the other proactive protocols, in WRP also the updated messages are transmitted periodically. In reverse, the nodes send back the acknowledgment in the form of the MRL. If the nodes find no change in the current update message when compared with the last update message, it just sends the HELLO message. The purpose of this HELLO message is to ensure the connectivity of the node to the other node. A node can decide whether to update its routing table after receiving an update message from a neighbour and always it looks for a better path using the new information. If the node receives the updated message in which a better path is defined, then it acknowledges the node via MRL about it and in turn the other node can update its table after getting the acknowledgement.
Cluster Gateway Switch Routing Protocol (CGSR)
CGSR  first forms the cluster of nodes in the network. After dividing the network into clusters, the cluster head is chosen. To choose the cluster head, several algorithms are designed. One of them is the LEACH algorithm . By dividing the whole network into clusters, the load is distributed in the network. However, this mechanism has a drawback too. If there is a need to elect the cluster head frequently, then much of the resources will be utilized in this process and the transmission rate will slow down ultimately. Selecting the cluster head is an overhead too.
CGSR works on the basic principle of DSDV and thus the drawbacks associated with the DSDV also remains in the CGSR protocol. Any packet sent to any other node of different cluster is firstly sent to cluster head. The cluster head then transmits the message to the desired destination.
Landmark Ad Hoc Routing (LANMAR)
LANMAR  works on the principle of both Fisheye State Routing and Landmark Routing . The Landmark Routing Protocol is used in the fixed WAN. In this protocol, the routers whish are the neighbour of the router also known as landmark, contains essential entries for it. The LANMAR divides the whole large network into small networks called the subnets. Each subnet contains a landmark. The nodes of a subnet behave like a group and works on the principle of FSR. Thus, within the subnet, the protocol reduces the traffic for updated messages.
Dynamic Destination-Sequenced Distance-Vector Routing Protocol (DSDV)
DSDV  is the protocol that makes use of the Bellman-Ford Algorithm . However there are some changes or modifications done in DSDV. Each node has its own routing table. The routing table of each node contains the destination, next hop, number of hops, and a sequence number and the installation time. The sequence number associated with each entry helps to keep he track on the messages from the source to the destination. The receiver can arrange the packets in accordance to the sequence number. It also helps in avoiding the loops.
The routing table entry is updated periodically in DSDV. Thus, the routing table contains the latest topology detail or information about the network. Apart from periodic transmission, if there is any change in the network before the counter restarts, the information is immediately triggered. The nodes in the network share their routing table with the neighbouring nodes. This sharing of table can be either broadcast or multicast. When I talk about broadcast, it means that the message is transmitted to every node in the network whereas when I talk about multicast, it means that the message is transmitted to a group of nodes.
Another interesting concept of DSDV is "full dump". Here, the nodes send the information a little infrequently than the normal conditions. DSDV also sends incremental updates are which carries all the information since last dump. In the incremental update, only the changes that occurred are sent rather than the whole routing table.
3.2 Reactive Routing Protocols
Reactive Routing Protocol is different from the Proactive Routing Protocol. This protocol believes that for each node, it is not necessary to have the information of the whole network. Rather it only needs the information about those nodes with whom it has to communicate. Thus, periodic transmission of the information is not required as it just increases the traffic unnecessarily. Reactive protocol thus believes that whenever the two nodes want to communicate then they must share the information that is "on demand" transfer of information must be there. This idea reduces the traffic to a great extent.
When the nodes need to communicate or set up route with the other node that it wants to communicate it sends a Request for Route packet. This packet is broadcast in the network. When this packet reaches the destination node, it acknowledges by sending the Reply for Route packet. This packet is unicast to the source only. In Reactive Routing Protocol, the additional signal called the Route Error  is present to inform the source about the broken route at any point of time.
3.2.1 Types of Reactive Protocol
Signal Stability-Based Adaptive Routing Protocol (SSA)
SSA  tries to get the most reliable, stable and efficient route for the transmission of the message. As it is a reactive protocol, it shares or transmits the information on demand.
This reactive protocol makes use of the signal strength and area stability of the node. The signal strength is used to detect which channel is weak and which one is strong. The whole SSA protocol is divided into two parts: the Dynamic Routing Protocol (DRP) and the Static Routing Protocol (SRP).
The Dynamic Routing Protocol (DRP) uses two types of table. These are:
Signal Stability Table (SST)
Routing Table (RT).
The Signal Stability Table contains various fields such as the name of the host, signal strength, last, click and set.
It can be shown as:
Table 3.1: The Signal Stability Table
SST maintains the information about the signal strength from the "beacons" generated periodically by each neighbouring node. Based on these signal strength, the nodes decide the weak and the strong signal strength.
Another table used by the DRP is the Routing Table as shown:
Table 3.2: The DRP Routing Table
The DRP after receiving all the information processes them and then forwards them to SRP. SRP then forwards or passes the packet to the upper layer stack of the nodes if the node is the destination. If it is not, it searches the destination node in its routing table and then the packet is forwarded to the destination. However if the node does not contain the entry for the destination node in the table, then it initiates the route finding procedure. Request for route packets are then passed or forwarded via the strong channel recognised by the SST. When the destination node receives this request, it immediately chooses the first request packet that arrives at it and then replies back.
The DRP follows the route selected in reverse order and sends a Route Reply message to the node that initiated the Request for Route packet. Meanwhile, The DRPs of the intermediate nodes that lies along the path update their own routing tables in accordance to the messages received. If there is a link failure, the intermediate nodes along the path sends an Error Message to the source or the initiator which indicates it about the channel failure. In return, the source in sends an Erase Message to all nodes informing them about the link failure and then restarts a new route finding procedure so as to discover a new path from source to the destination.
Cluster-Based Routing Protocol (CBRP)
CBRP  is reactive routing protocol, where the network is divided into several clusters. When a node enters the network for the first time, its state remains undefined. Thus, the node firstly starts its timer and then sends a HELLO message to the nodes. This message is broadcast by the node and thus it reaches to every node in the network. Now, each cluster has its own cluster head. When the message reaches to the cluster-head, it replies back to the initiator with a triggered HELLO message. When the initiator receives this triggered HELLO message, it changes from undefined to the member state. However, it may happen that the node does not receive any reply from the other node for its message. Under this circumstance, two things are possible. If the node has the bidirectional link towards any one or more than one nodes, then it announces itself as the cluster head. On the other hand if the node does not possess any link towards even a single node, then it remains in the undefined state and repeats the same procedure of sending the request for route message so as to get the reply from the other side.
In CBRP, each and every node contains a routing table which stores the link status and the state of its neighbour. The cluster head on the other hand keeps the information not only about its own neighbour but also about all the nodes in the cluster. Any information to and fro the nodes in the cluster, firstly goes to the cluster head. Thus, it is very necessary that the cluster head selected is very efficient to tackle the large amount or large volume of information efficiently.
Dynamic Source Routing (DSR)
DSR  is one of the most efficient Reactive Routing Protocol. In this type of protocol, the nodes discover the route dynamically not only in the neighbouring hops but also multiple hops up to the destination. Each node in the network consists of the cache for routes. This route cache is updated whenever any new route is discovered from the node to the other node.
DSR works in two phases:
Whenever the source node needs to communicate or send any packet to a destination, it firstly checks into its route cache to know whether it already has any route information to the destination. If it finds that there is an entry that gives the required route, then it makes use of that route to send the packet to the destination. However, if it does not find any entry for the desired destination, then it again initiates the request for route message which is broadcast to all the nodes in the network. This message contains the address of the initiator that is the source address, address of the desired node that is the destination address, and a unique identification number. Along the path, each node checks whether the packet is meant for them or not by checking the destination address. If it is not for them, it forwards the packet towards the desired destination. If the node discovers that the packet is meant for that node itself, it receives the packet and does not forward it beyond that.
3.3 Hybrid Routing Protocol
Hybrid routing protocols are those which include the feature of both reactive and proactive routing protocols.
3.3.1 Types of Hybrid Routing Protocol
Zone routing Protocol
One of the most well-known Protocol is the Zone Routing Protocol (ZRP) . This protocol uses the advantages of both reactive protocol and the proactive routing protocol. This advantage is reducing or minimizing the cost for the operations in an ad-hoc network.
The ZRP works like the proactive protocol locally i.e.; in between the two to three hop neighbours and acts reactively beyond that. This is achieved by working like the proactive protocol locally that is in the local neighbourhood (e.g., 2 to 3 hops) and reactively for destinations that can only be reached through several wireless hops, hence the name hybrid routing protocols. Thus, it becomes very essential for the protocol to have the recent information about the network or I can say the most updated information for those nodes which are into its neighbourhood and the it is less important to have the same for the farther nodes as the information of the farther nodes will be used less frequently while the information of the neighbouring nodes is required very often.
ZRP can be properly described via three routing protocols namely Intra-zone Routing Protocol (IARP)  which is a proactive protocol, Inter-zone Routing Protocol (IERP)  which is a reactive protocol and Border cast Resolution Protocol (BRP)  which is a mechanism for query control. This mechanism is used to reduce the traffic and overhead in the reactive protocol to discover the route.
Neighbour-Aware Multicast Routing Protocol (NAMP)
NAMP  is a hybrid routing protocol with a tree structure. It makes use of the information of the neighbourhood. The routes from one node to the other node are recognized from the request messages and reply messages that are used to communicate from one node to the other node. The request and reply messages can either be shared periodically or on demand. This protocol uses the information of the neighbour that is two-hops away for transmitting the packets. If the receiver does not lie within the two hops range, then the source starts searching for the receiver by making the use of the dominant pruning flooding method  and then it makes a multicast tree by making the use of the replies from the nodes that lies along the reverse path. The tree structure proves to be very efficient structure for packet transmission. It is one of the simplest and reliable data structures that I have learnt so far. The source behaves like the root node. NAMP makes use of three kinds of operations to transmit the packet from source to the destination. These are:
Multicast creation of tree
Multicast maintenance of tree
Joining and leaving of nodes from the multicast group.
Each and every node in the network maintains the information about its neighbour until the two hop. The mechanism used for this is the proactive. The HELLO messages are sent to share the information with the neighbourhood. To build multicast tree, the initiator or the source node sends a request packet to the destination. This packet also contains the payload that is the data with. Now, this packet sent by the source gets flooded in the network by using dominant pruning method. This method reduces the frequency of sending the reply for the particular flood request packet. Each node along the path then selects its own forwarder and then creates a secondary forwarder list (SFL) . The secondary forwarder list (SFL) stores the information about those nodes in the network that Ire about to become the forwarders but at the end they are not selected as the forwarders. Now the chosen forwarders are used to forward the packet in the network. The SFL that is the Secondary forwarder list announces for the recovery of the failed link at any point of time during transmission of the packets. Thus, failure recovery is the most appreciable advantages of NAMP.
The routing protocol not only decides the route to be followed to transmit the packet from source to the destination but, it also keeps right track on the link that is being used. Many of the routing protocols are meant to be very advantageous in resolving the link issues that arise due to heavy load that is traffic, dumping of nodes, active and deactivate nodes etc. Sometimes it becomes necessary for the protocols which can be active, reactive or the hybrid protocol, to use some extra or additional mechanisms to transmit the packet efficiently in the network. It is because some protocols prove to be inefficient in handling the unwanted conditions.
Introduction to the Simulator
According to Shannon , simulation is "the process of designing a model of a real system and conducting experiments with this model for the purpose of understanding the behaviour of the system and/or evaluating various strategies for the operation of the system."
The Routing protocols OLSR, OLSR-ETX, OLSR-ML and OLSR-MD are under the analysis for this thesis. The Fedora OS is used to run the Simulating Software NS2 (Network Simulator 2) version 2.34 for the evaluation. The patch for NS-2.34 to simulate the OLSR is provided by Francisco J. Ross . The further modifications to the UM-OLSR are modified according to the reference paper for this simulation and observations  of paper.
NS2 is an open-source simulator used mainly for research in computer networks. It was developed in the year 1989. Since then NS2 has proved to be a revolution in the area of computer networks. It provides the base for the researchers to examine the protocols and several mechanisms that cannot be examined in the real network. The NS2 provides the platform to find the solutions. Several organizations use this simulator to examine their concept. These organizations can be government or the private ones. To examine the concepts developed, the script languages are used as a language for NS2. New versions of NS2 have come in market like the NS3. However, I have worked on the NS2 as it was much more familiar to us.
Several files gets generated in the NS2 like the .nam file, .tcl file, .tr file, ,h file etc. The .nam file is the one which visualizes the concept. In our thesis, I have presented the .nam file with several nodes. When I run the .nam file, I get to see how these nodes communicate with each other and how the packet transmission, packet loss occurs in the OLSR and its versions. The tcl file shows the scripting done behind to examine the concept and the tr file known as the trace file gives the result of the simulation to study. In the .tr file of simulation done by us for the OLSR and its versions, the trace file gives the result showing the sent packet, received packet by the router at the particular time interval and also the loss and delay of the packet.
To use the network simulator, it is very much important to know how it works and how the scripting is done. The TCL Script is similar to the code of the C++ language with some alterations.
4.1 ARCHITECHTURE OF THE NS2 
Fig 4.1: Architecture of Network Simulator 2
The basic structure of the NS2 is shown above to give a rough idea about the network simulator NS2. The TCL script is used for coding the NS2. This script is somewhat similar to the language C++. Though the architecture seems to be very simple but once I start working with it, then I get to know about the complexity of the simulator. The graph that I have presented is obtained from the X graph of the simulator. This is used to fetch out the result from the examination. The NS2 also consists of the Object Oriented Tool Command Language (OTcl) . OTcl is responsible for configuration of the objects in NS2 and thus it acts like a frontend. OTcl is responsible for interacting with the user and also with other objects that belong to the OTcl.
The result of the NS2 can be animated or in the form of the text. I have presented our result in the form of the animation via the NAM file. The result shown is in the form of the small nodes generating the beacons and then transferring the packets from one node to the other. To further draw the simulation result from the animated result I have used the X graph to represent the simulation result. Thus it becomes very easy for the researchers to calculate the desired output from the simulator.
The NS2 has thus proven to be one of the best tools to implement the complex concepts of the network. I have used the Fedora 13 as I believe that it is the most reliable versions among the Fedora till now.
4.2 INSTALLATION OF NS2
NS2 is an open source free simulation tool. It can be run on several platforms like UNIX, Linux, Windows, and Mac Operating Systems. Its installation is not tough and so complicated like some other software. The VMWare is very easy to install as it does not take much time and the commands are very much user friendly. NS2 source codes are distributed in two forms: the all-in-one suite and the component wise . The VMWare is component wise form of the NS2 where I get only some of the special components whereas in the all-in-one suite, I get the whole components of NS2 together. For those who are new to the simulator, generally the component wise form is suitable to work upon.
4.3 STEPS TO SIMULATE UPON NS2
Designing the simulation
Configuring the simulation
Running the simulation
Processing the post simulation
OPTIMAL LINK STATE ROUTING PROTOCOL (OLSR)
The mobile ad hoc network is one of the most emerging technologies in the present scenario. Enormous progress and development has been done in this area and much more needs to be done yet. Several protocols are present for MANET. Many of them are being used so far very efficiently. Optimal Link State Routing Protocol is one of them. It is the proactive table driven routing protocol that is it shares the information periodically with its neighbour. However to avoid the flooding, OLSR chooses Multipoint Relays. These MPRs are selected nodes in the network to which packets will be forwarded for further transmission.
I found that the original OLSR suffers from low bandwidth and throughput. However it can be overcome trough OLSR-MD and OLSR-ETX as their performance was measured good in almost all the scenarios with respect to minimum delay. The selection process of the MPR is different in each version of OLSR which in turn results in different performance of these versions.
In the OLSR routing protocol, the MPR plays a very crucial role in forwarding the packet. Thus its selection should be very efficient. Through MPR the packets are forwarded further in the network without flooding the network. Each node chooses its MPR to forward the packet and thus redundant transmission of the packets is avoided. The performance of the protocol depends majorly on the MPR. OLSR-ML (Minimum Loss) selects the MPR on the basis of link quality information that is a node in the 1-hop neighbourhood is chosen as a MPR if it has best route to the 2-hop neighbourhood. On the other hand in the OLSR-MD (Minimum Delay) the focused area is the link delay.The whole concept of OLSR is based on the Multipoint Relay (MPR). MPRs in OLSR are used to form a route from source to the destination. Its selection eliminates the overhead of flooding messages in the network to some extent by minimizing the redundant transmissions of the packet in the same area or region.
Each active node in the network selects nodes or I can say the set of nodes in its s 1-hop neighbourhood symmetry which may forward its packet. This set of selected neighbour nodes is called the Multipoint Relay (MPR). Those neighbours of a node P which are not present in the selected MPR set, can receive messages and even process messages that are broadcast but cannot retransmit broadcast messages that are received from node P. The MPRs from the 1-hop neighbour are selected such that it covers all 2-hop symmetric neighbour nodes. If the MPR set is too large, it will result in more traffic control overhead and if the set of MPR is small, then there will be less traffic control overhead. Whatever happens in OLSR gets started with neighbour sensing which just finds out if there is any change in the 1-hop neighbourhood and the 2-hop neighbourhood. However it can be sometimes problematic to deal with such system because the whole selection process is based upon the selection of MPR which in turn is selected on the basis of range or the distance of the nodes. I have compared the original OLSR with three of its versions that is OLSR-MD, OLSR-ML, and OLSR-ETX and has reached to some conclusions with respect to their performance.
The Optimized Link State Routing (OLSR) protocol is a proactive link-state protocol. It uses Multi-Point Relays (MPRs) optimization techniques to provide broadcast structure which is efficient and it also reduces the link advertisements. The OLSR is one of the most efficient and reliable protocol and is widely used routing protocols for wireless mobile network. It uses the concept of the link state procedure to find the best path. One of the most important features of the OLSR routing protocol is the proactive nature of the protocol which makes the link available in advance for the nodes. Various advancements have been proposed to increase the performance of the OLSR and I will present the modifications proposed and their analysis.
The Optimized Link State Routing (OLSR) protocol is one of the most appreciable versions of a proactive protocol that uses the link state algorithm to find out the route from one node to the other node. This protocol is very much suited for the ad-hoc networks. Since several years, the researchers are working on this protocol to make it much more efficient than it is today. As result, several versions of the protocol are present today. It is used widely because it minimizes the traffic to great extent by selecting the MPR that is the Multi Point Relay. As the OLSR protocol is proactive in nature, each node exchanges the information periodically. This information is about the network and its topology with respect to the other nodes so as to maintain its routing tables. The OLSR protocol provides hop-by-hop forwarding of the packets instead of path-based forwarding, and thus it becomes very necessary for the nodes to possess the most recent knowledge of the network topology. This helps them to decide which is the next hop to which the packet is to be forwarded. One of the major advantage of OLSR is that it is proactive, which means that it establishes the routes before a source forwards a packet. This property of the protocol is very attractive for ad-hoc networks that need to support multimedia applications like the voice applications, as the latency for connection establishment is comparatively small than the other ad-hoc protocols.
Another advantage of OLSR is that, as a link-state protocol, the route computations from one node to other node are performed with the knowledge of the entire network state. This provides a better support for QoS than the other distance-vector protocols.
5.2 Multipoint Relays
The idea of multipoint relays is to minimize the overhead of flooding messages in the network by reducing redundant retransmissions in the same region. Each node in the network selects a set of nodes in its symmetric 1-hop neighbourhood which may retransmit its messages. This set of selected neighbour nodes is called the "Multipoint Relay" (MPR) set of that node. The neighbours of node N which are *NOT* in its MPR set, receive and process broadcast messages but do not retransmit broadcast messages received from node N. Each node selects its MPR set from among its 1-hop symmetric neighbours. This set is selected such that it covers (in terms of radio range) all symmetric strict 2-hop nodes. The MPR set of N, denoted as MPR(N), is then an arbitrary subset of the symmetric 1-hop neighbourhood of N which satisfies the following condition: every node in the symmetric strict 2-hop neighbourhood of N must have a symmetric link towards MPR(N). The smaller a MPR set the less control traffic overhead results from the routing protocol . It gives an analysis and example of MPR selection algorithms. Each node maintains information about the set of neighbours that have selected it as MPR. This set is called the "Multipoint Relay Selector set" (MPR selector set) of a node. A node obtains this information from periodic HELLO messages received from the neighbors.A broadcast message, intended to be diffused in the whole network,coming from any of the MPR selectors of node N is assumed to be retransmitted by node N, if N has not received it yet. This set can change over time (i.e., when a node selects another MPR-set) and is indicated by the selector nodes in their HELLO messages.
5.3 Protocol Functioning
OLSR is modularized into a "core" of functionality, which is always required for the protocol to operate, and a set of auxiliary functions. The core specifies, in its own right, a protocol able to provide routing in a stand-alone MANET. Each auxiliary function provides additional functionality, which may be applicable in specific scenarios, e.g., in case a node is providing connectivity between the MANET and another routing domain. All auxiliary functions are compatible, to the extent where any (sub)set of auxiliary functions may be implemented with the core. Furthermore, the protocol allows heterogeneous nodes, i.e., nodes which implement different subsets of the auxiliary functions, to coexist in the network. The purpose of dividing the functioning of OLSR into a core functionality and a set of auxiliary functions is to provide a simple and easy-to-comprehend protocol, and to provide a way of only adding complexity where specific additional functionality is required.
5.3.1 Core Functioning
The core functionality of OLSR specifies the behaviour of a node, equipped with OLSR interfaces participating in the MANET and running OLSR as routing protocol. This includes a universal specification of OLSR protocol messages and their transmission through the network, as well as link sensing, topology diffusion and route calculation.
Specifically, the core is made up from the following components:
Packet Format and Forwarding
A universal specification of the packet format and an optimized flooding mechanism serves as the transport mechanism for all OLSR control traffic.
Link Sensing is accomplished through periodic emission of HELLO messages over the interfaces through which connectivity is checked. A separate HELLO message is generated for each interface.
Resulting from Link Sensing is a local link set, describing links between "local interfaces" and "remote interfaces" - i.e., interfaces on neighbours nodes. If sufficient information is provided by the link-layer, this may be utilized to populate the local link set instead of HELLO message exchange.
Given a network with only single interface nodes, a node may deduct the neighbour set directly from the information exchanged as part of link sensing: the "main address" of a single interface node is, by definition, the address of the only interface on that node .In a network with multiple interface nodes, additional information is required in order to map interface addresses to main addresses (and, thereby, to nodes). This additional information is acquired through multiple interface declaration (MID) messages.
5.3.2 MPR Selection and MPR Signalling
The objective of MPR selection is for a node to select a subset of its neighbors such that a broadcast message, retransmitted by these selected neighbors, will be received by all nodes 2 hops away. The MPR set of a node is computed such that it, for each interface, satisfies this condition. The information required to perform this calculation is acquired through the periodic exchange of HELLO messages.
5.3.3 Topology Control Message Diffusion
Topology Control messages are diffused with the purpose of providing each node in the network with sufficient link-state information to allow route calculation. Topology Control messages are diffused.
5.3.4 Route Calculation
Given the link state information acquired through periodic message exchange, as well as the interface configuration of the nodes, the routing table for each node can be computed.