Optimized Link State Routing Protocol OLSR Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The optimized link state routing protocol OLSR is developed for Mobile Ad-hoc networks. It works as a table driven, and is a Proactive Protocol, means it exchanges topology information with the other nodes of the network on a regular basis. Every node selects a set of its neighbor nodes as multipoint relays, also known as MPR. In OLSR, only nodes which are selected as MPRs are accountable for forwarding the control traffic, proposed for dispersal into entire network. Multipoint Relays also provides a well-organized method for flooding control traffic by dropping the number of transmissions required.

MPRs have a special duty when declaring link state information in the network. The only condition for OLSR to provide shortest path routes to all destinations is that MPR nodes declare link state information for their MPR selectors. Extra vacant link state information may be used.

Nodes which have been chosen as multi point relays by a number of neighbor nodes announce this information regularly in their control messages. So a node broadcasts to the network, that it has reach ability to the nodes which have opted it as an MPR. For the calculation of the route, the Multi Point Relays are used to form a route from a node which is given to any destination in the entire network. The protocol uses the Multi Point Relays to encourage efficient flooding of control messages in the entire network.

Selection of Multi Point Relays by a node is from among its one hop neighbors with symmetric linkages. Hence selecting the route through Multi Point Relays automatically avoids almost all the problems associated with data packet transfer over one directional links.


OLSR is a proactive routing protocol for mobile ad-hoc networks. It is suited to a large mobile network. Since optimization is achieved using the Multi Point Relays operates well in this context. The larger the network, more optimization can be attained comparing to the classic link state algorithm.

OLSR is also suited for networks, where the traffic is random between a larger set of nodes. Since OLSR is a proactive protocol, OLSR is also appropriate for circumstances where the communicating pairs change over time. No extra control traffic is generated in this situation since routes are always maintained for all known destinations at all the times.

Multipoint Relays

The idea of the multipoint relays is to minimize the overhead of the flooding messages in the network by reducing redundant transmissions in the same region. Each node in the network selects a set of nodes in its symmetric 1-hop neighborhood which may transmit its messages. This set of selected neighbor nodes is called the Multi Point Relay (MPR) set of that node

Each node selects its MPR set from among its 1-hop symmetric neighbors. This set is selected such that it covers 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 neighborhood of N which satisfies the following condition: every node in the symmetric strict 2-hop neighborhood 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.

Each node maintains the information about the set of neighbors that have selected it as MPR. This set is called Multi Point Relay 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 into the whole network, coming from any of the MPR selectors of the node N is assumed to be retransmitted by node N, if N has not received it yet. This set can change over time and is indicated by the selector nodes in their HELLO messages.

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 stand-alone MANET.

Each auxiliary function provides additional functionality, which may be applicable in specific scenario.

Core functioning

The core functionality of OLSR specifies the behavior 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 the link sensing, topology diffusion and route calculation.

Packet Format

OLSR communicates using a unified packet format for all data related to the protocol. The purpose of this is to facilitate extensibility of the protocol without breaking backwards compatibility. This also provides an easy way of piggybacking different types of information into a single transmission, as thus for a given implementation to optimize towards utilizing maximal frame-size, provided by the network. These packets are embedded in UDP data grams for transmission over the network.

Each packet encapsulates one or more messages. The messages share the common header format, which enables nodes to correctly accepts and retransmit messages of an unknown type.

Messages can be flooded onto the entire network, or flooding can be limited to nodes within a diameter from the originator of the message. Thus transmitting a message to the neighborhood of a node is just a special case of flooding. When flooding any control message, duplicate retransmission will be eliminated locally and minimized in the entire network through the usage of MPRs

Furthermore a node can examine the header of a message to obtain information on the distance to the originator of the message. This feature may be useful in situations where e.g., the time information from a received control messages stored in a node depends on the distance to the originator.

The basic layout of any packet in OLSR is given below:

Control Messages

OLSR uses three kinds of control messages;


Topology Information (TC)

Multiple Interface Declaration (MID)

HELLO Messages Format and its Forwarding

A common mechanism is employed for populating the local link information base and the neighborhood information base, namely periodic exchanged of HELLO messages.

HELLO Message Format

To accommodate link sensing, neighborhood detection and MPR selection, as well as to accommodate for future extensions, an approach similar to the overall packet format is taken.

The format of HELLO message is as follows:

HELLO Message Generation

This involves transmitting the Link Set, the Neighbor Set and the MPR set.

HELLO Message Forwarding

Each HELLO message generated is broadcast by the node on one interface to its neighbors.

In general HELLO messages must never be forwarded.

HELLO Message Processing

A node processes incoming HELLO Messages for the purpose of conducting link sensing, neighbor detection and MPR selector set population.

Topology Information (TC)

The link sensing and neighbor detection part of the protocol basically offers to each node, a list of neighbors with which it can communicate directly, and in combination with the packet format and forwarding part, an optimized flooding mechanism through MPRs. Based on this topology information is circulated through the network.

Routes are constructed through advertised links and links with neighbors. A node must at least circulate links between itself and the nodes in its MPR-selector set, in order to provide enough information to enable routing.

TC Message Format

The Format of a TC Message is as follows:

TC Message Generation

In order to build the topology information base, each node, which has been selected as MPR, broadcasts Topology Control Message. TC messages are flooded to all the nodes in the network and take advantage of MPRs. Multi Point Relays enable a better scalability in the distribution of topology information.

The list of addresses can be partial in each TC message but parsing of all TC Messages describing the advertised link set of a node must be complete within a certain refreshing period (TC_ INTERVAL). The information diffused in the network by these TC Messages will help each node calculate its routing table.

When the advertised link set of a node becomes empty, this node should still send (Empty) TC-Messages. In order to invalidate the previous TC-Messages, it should then stop sending TC-Messages until some node is inserted in its advertised link set.

TC Message Forwarding

TC Messages are broadcast and retransmitted by the MPRs in order to disperse the message in the entire network. TC Messages must be forwarded according to the "default forwarding algorithm.

Multiple Interface Declaration (MID)

For single OLSR interface nodes, the relationship between an OLSR interface address and the corresponding main address is trivial; the main address is the OLSR interface address. For multiple OLSR interface nodes, the relationship between an OLSR interface address and main addresses is defined through the exchange of Multiple Interface Declaration (MID) messages.

Each node with multiple interfaces must announce, regularly, information describing its interface configuration to other nodes in the network. This is accomplished through flooding MID message to all the nodes in the network through MPR flooding mechanism.

Each node in the network maintains interface information about the other nodes in the network. This information acquired from MID messages, emitted by nodes with multiple interfaces participating in the Mobile Ad-hoc Networks, and is used for routing table calculations.

Specifically, Multiple Interface Declaration associates multiple interfaces to a node through populating the multiple interface association bases in each node.

MID Message Format

The format of a MID Message is as follows:

Routing Table Configuration

Each node maintains a routing table which allows it to route data, destined for the other nodes in the network. The routing table is based on the information contained in the local link information base and the topology set. Therefore, if any of these sets are changed, the routing table is recalculated to update the route information about each destination in the network the route entries are recorded in the routing table in the following format:

R_dest_addr R_next_addr R_dist R_iface_addr

R_dest_addr R_next_addr R_dist R_iface_addr

" " " " " " " "