Multi Point relaying
Optimisation is based on the technique called MPR (Multi Point relaying). The proactive routing protocols in MANET keep constant update of entire network. It can be explained as the entire network should be known to all the nodes, these results in constant overhead of routing traffic but there will be no initial delays during communication. As OLSR is a table-driven protocol its main operation consists of updating and maintaining information in variety of tables.
In OLSR, only selected nodes such as MPRs are responsible for forwarding he control traffic. MPRs provide an efficient mechanism for flooding and reduce more number of transmissions. MPR has a special responsibility while providing the link state information in the network. The basic concept of OLSR is to provide shortest path routes to all the node and declare the link state information for their MRP selectors. Generally the link state information is used for redundancy .
It is very much useful for MANETS because it can be used for large networks. Optimization can be achieved for large and dense network. The MPRs selected are bi-directional links so they avoid problems associated with packet transmission over unidirectional links. The concept of forwarding and relaying is inherited by OLSR from HIPERLAN.
In link state updates in a network are transmitted via messages called topology control messages. TC messages are a flooded throughout the network and every node can recalculate its routing table information. All the nodes are not advertised only selected MPRs are adequately advertised. OLSR includes two additional message types: the host and network associated messages (HNA) these are used for advertising over external networks and the other type are multiple interface declaration (MID) messages these are used only by the multiple interface nodes and that they are participating in the OLSR routing protocols . The optimisation in OLSR can be achieved by reducing the time interval of transmission of periodic control messages. As the OLSR maintains routes to all the nodes it is beneficial for large networks communicating with any other large networks where the source and destination keep changing over time. It does not depend on centralized management, as it is designed to work for distributed networks. It does not offer any reliable transmission these losses are common in radio networks due to collision problems . Topology control messages are used to retrieve the information of the topology and it even contains the information about the destinations in the network and also the most recently used hops.
2.6.1 Multipoint Relay
Generally hello messages are used to know about the neighbouring nodes up to two hops. On the basis of this information each node will perform the selection of multipoint relays. Each node in the network uses this information and selects multipoint relays, these selected multipoint relays are indicated as MPR. Whenever a hello message is sent each node will construct a MPR selector table. Each table will have the information of its one hop neighbour and the status of the link with those neighbours. The status of the link can be uni-directional, bi-directional or MPR. If the link state is MPR then means the link is bidirectional and even that node is been selected as a multipoint relay. The main aim of the MPR selection algorithm is that it selects the minimum number of the one hop neighbours because these nodes cover all the two hop neighbours. Whenever a new message is been broadcasted then it must be spread throughout the network, the senders address is in the MPR selector set then the host need to forward it so that it can be forwarded to all the nodes in the network. 
Multipoint Relays selection: This algorithm builds the MPR set which consist of minimum number of one hop symmetric neighbour from which it is possible to reach all the other two hop neighbours .
2.6.2 Algorithm for selecting Multipoint Relay set
1) Select all the one hop symmetric nodes which are willing to become MPR.
2) Calculate a degree for every neighbour host, that is the number of symmetric neighbours that are two hops away from the source and that do not include the source or one hop neighbour.
3) The neighbour symmetric nodes are added to the MPR set.
4) Suppose if there are still some hosts in the two hop neighbour set, then calculate the reach ability of each one hop neighbour If it is the only neighbour from which is possible to get to the specific two hop neighbour, then remove the chosen host neighbours from the two hop neighbour set. Choose the node with highest willing value if the values are same then choose the nodes with greater number of reach ability. After choosing the neighbour for MPR set remove the reachable two hop neighbour from the two hop neighbour set.
5) Repeat the step 4 until two hop neighbour set is empty.
6) To get optimisation, the hosts present in the MPR set are set according to increasing order based on the willingness.
Finding the optimum MPR set for the two hop neighbour coverage is considered to be an NP based on [12,13,14,15]
2.6.3 Topology information
Topology information are gathered using the information provided by the topology control messages[TC]. Information provided by the TC messages can be exchanged across nodes for their own needs and purpose. This messages are fairly possible to broadcast across networks but they can only be forwarded using the multi point relay node. Messages are periodically handled by being broadcasted within the privileged nodes. Sequence numbers are used for the purpose of knowing the freshness of the message being generated. This kind of sequence number will be generated using the MPR node. Messages which are quite bigger than the allotted size will be segregated and sent in parts. Once they are segregated they will be attached using the receiver within a specified amount of time. If the messages sent by MPR are dealt with changes, then there is a wide possibility for the failure occurrence in the links.
Topology control messages are used to build and exchange the topology information. TC messages are broadcasted throughout the network and only MPR can forward these messages. Generally TC messages are generated and broadcasted periodically in the network. TC messages are used to send the links in the MPR selector set and the sequence number of each message. In order to avoid loops and indicate the freshness of the message the sequence number is used, if a host gets smaller sequence number then it must be discarded without updates. As the host advertises the links, the set becomes empty then also still the empty set must be advertised for some time so that it can invalidate the previous TC messages. The size of the TC message can be quite big so, the messages are sent in parts. It is the responsibility of the receiver to combine all the messages within a specified amount of time. If there is any change in the MPR sent that means a link failure might have occurred. Sequence numbers are used for the purpose of knowing the freshness of the message being generated. This kind of sequence number will be generated using the MPR node. Messages which are quite bigger than the allotted size will be segregated and sent in parts. Once they are segregated they will be attached usin the receiver within a specified amount of time.
2.6.4 Routing table calculations
Every host maintains a routing table; the routing table has the following entries such as destination address, next hop address, number of hops to the destination, source address. This information can be gathered from the TC messages and Hello messages. If there is any change in the set then the routing table must be recalculated. Information about broken links is not stored in the routing table. If a neighbour link is been removed or multiple interface associated information changes then there are chances of change in routing table. To find the routes from the routing table the shortest path first algorithm is used .
Its a known fact there are many number of nodes available in any network. The density of each nodes may vary but each of the node or host maintain their own routing table for performing routing table calculations.
To perform routing table calculations, there is a general format which will actually include some fixed fields which is actually maintained properly for the calculation purpose. The fields used in the routing tables are:
* Destination address: it holds the address of the destination node
* Next hop address: holds the address of every next hop in guiding sequence purpose
* No. Of. Hops: holds the total of the hop counts
* Source address: it holds the address of the source address (i.e.) from where it actually works
Hello messages and topology control messages are actually used to provide information for routing table calculations. Each and every information is stored and updated when ever there is a change in the table.
Shortest path algorithm is used to pick the right route path from the set of available routes.
It is flat routing protocol; it does not needs any centralised administration as it is created for distributed networks. As it is a proactive routing protocol it provides the protocol with routing information to all the nodes in the network, as regular updates are sent through out the network the bandwidth usage increases rapidly. As flooding is minimised by the use of MPRs. Due to OLSR simplicity it can easily be integrated in the existing environment. Olsr is well suited for applications which don't have long delays in the transmission of data packets. It is best suited for dense networks. One of the main advantage of OLSR is that it immediately knows the status of the link and is possible to extend the service information to each protocol.
This protocol is best known for its dense network usage purposes. The best of this protocol is that it provides additional information about other nodes of the network which is involved in. Since this routing protocol is distributed, at times it is called to be a flat routing protocol due to wide end usage. Due to this they never require an centralized administration to administrate them. Since they are proactive it keeps the bandwidth usage always more and also tends to increase the bandwidth rapidly. As they are simple by existence, they are very easy to be integrated with the existing environment. They actually are best for the applications which are known for their less delay in transmitting data packets. one of the most vital advantage of this protocol is they are capable of knowing the current link status of the protocol.