You are on page 1of 28

OLSR (Optimized Link State Routing)

Protocol for Ad Hoc Networks

Objective: To improve conventional link state


protocols for MANET

Modified from Jacquet, Park, Q A Tarar


IEEE INMIC Dec. 2001

1
This lecture: from DV-related (DSDV and AODV) to
Link-State-related (OLSR)

Routing Protocol for


MANET

Table-Driven/ Hybrid On-Demand- Clusterbased/


Proactive driven/Reactive Hierarchical

Distance Link- ZRP DSR LANMAR


Vector State AODV CEDAR
TORA
DSDV OLSR
TBRPF MANET: Mobile Ad hoc Network
FSR
(IETF working group)
STAR

2
 DV associated with the Distributed Bellman-Ford
algorithm.
 LS (Link State) associated with Dijikstra’s algorithm.

3
Conventional Link-State: each node will know and broadcast all the
link states, A-B, B-C, B-D, D-E, E-F, E-G, G-H, and F-H.

link costs
F

H
B

C
G
D

4
Conventional Link State Routing (LSR)

 Each node periodically floods status of its links

 Each node re-broadcasts link state


information received from its neighbour

 Each node keeps track of link state


information received from other nodes

 Each node uses above information to 24 retransmissions to diffuse


determine next hop to each destination a message up to 3 hops

Retransmission node
5
OLSR Overview
 In conventional LSR (Link State Routing) , as can be seen from
the previous slide
 a lot of control messages unnecessarily duplicated and retransmitted
 In OLSR
 only certain nodes known as MPR (MultiPoint Relay) can retransmit
control messages (containing link-state info):
 Reduce size of control message;
 Minimize flooding
 Other advantages (the same as for LSR):
 As stable as LSR protocol;
 Proactive protocol(routes already known);
 Does not depend upon any central entity;
 Tolerates loss of control messages;
 Supports node mobility.
 Good for dense network

6
LSR versus OLSR

24 retransmissions to diffuse 11 retransmission to diffuse a


a message up to 3 hops message up to 3 hops

Retransmission node Retransmission node

7
OLSR Overview (contd)

 OLSR

 Table driven / proactive

Qamar A Tarar OLSR Protocol 8


OLSR – Overview contd
 OLSR
 Inherits Stability of Link-state protocol
 Information (Topology Control (TC) messages generated only
by MPR (MultuPoint Relay) nodes
 Selective Flooding: only MPR retransmit TC messages:
 Minimize flooding
 Suitable for large and dense networks
 New concepts/“Data Structures”: 1. Hello Message s-> 2.
Neighbour Table -> 3. MPR(N) -> 4. MS(N) -> 5. Topology
Control Message -> 6. Topology Table -> 7. (and the usual
Routing Table).
 Note: “->” above indicates the follow of the OLSR algorithm.

9
1. OLSR HELLO messages
 Each node periodically broadcasts its HELLO messages
to its neighbour(s): in the form:
<NBR(N), MPR(N)>
Where NBR(N) = set of N’s neighbours and
MPR(N) = set of multipoint relays of N; empty at start-up.

Note: See the definition of MPR in Step 3.

10
1. OLSR HELLO messages (cont.)

 In other words, HELLO messages :


 Serves Link sensing
 Permit each node to learn the knowledge of its neighbors up
to two-hops (neighbor detection)
 Based on the info, a node constructs its one-hop and two-hop
Neighbour Table.
 Note: Node N can easily construct its two-hop neighbour list
(a neighbour’s neighbours) based on the NBR() list received
from all its neighbours.

11
2. Neighbour Table

 In the neighbour table (see example Neighbour Table - next two


slides):
 Each node records the information about its one-hop
neighbors with “State of Link: bidirectional, unidirectional or
MPR” and a list of two hop neighbors with “Access Through
Node”. Note: 4PND assumes bidirectional links.
 Entry in the neighbor table has an holding time
 Upon expiry of holding time, the entry is removed

12
2. Neighbour Table (cont)
 Example of neighbor table at Node B (see the next fig) – holding
time columns not shown; MPR defined in Step 3.
One-hop neighbors Two-hop neighbors
Neighbor’s id State of Link Neighbor’s id Access through

A Bidirectional E C
G Bidirectional D C

C MPR

F Bidirectional … …

13
2. Neighbour Table (cont)

E
D

F
A

14
3. OLSR – Multipoint relays of Node N
(MPR(N))
 On the basis of the information in the Neighbour Table, each node
performs the selection of its multipoint relays as follows.

 A node, say N, checks its two-hop neighbors (from the 2-hop neighbour
table). For each two-hop neighbour, N checks which one of N’s one-hop
neighbours is linked to this 2-hop neighbour – if there are more than one
alternative one-hop neighbours linked to this 2-hop neighbour, N will
select the optimal one-hop neighbour (say X) with the most connectivity
to X’s neighbours.

 Thus, N calculates MPR(N) = a set of its most preferred neighbor nodes,


covering all of its two-hop neighbours, for helping to relay packets to its
destination. (Note: “its” = “N’s”)
 Link between the Node N and its MPRs must be bidirectional
 Multipoint relay set is re-calculated and MPR sequence number
incremented by 1 when:
 A change in the neighborhood( neighbor is failed or add new neighbor )
 A change in the two-hop neighbor set
 N broadcast MPR(N) to its neighbouring nodes, in the HELLO
message <NBR(N), MPR(N)>.
15
3.1 Eg. OLSR – Multipoint relays
MPRs.
Node (Source ) 1-Hop Neighbors (green) Strict 2-Hop Neighbors (blue) MPR(B)
B A,C,F,G D,E C (why? See next)

E
D

F
A

Figure 2. Network example for MPR selection

16
3.1 Eg. OLSR – Multipoint relays
(cont.)
 Via C and F, B is able to cover all its 2-hop neighbours
(D and E), but C is selected as the preferred neighbour
of B because it has the most conectivity to its
neighbours.

 Therefore, in the previous diagram, MPR(B) = {C}.

17
4. OLSR – MS(N) and How to calculate it?
 On reception of HELLO messages <NBR(), MPR()> by a node, say
Node X, from all its neighbours, Node X checks if it is a member in
the MPR() sets based on all the neighbours’ HELLO messages, i.e.
to check if it (the Node X) is selected by any of its neighbours as
an MPR. If it is selected, then the selector (say Node P) is listed in
MS(X) = { .,.,. P, . ,}
 That is MPR Selector set of X, MS(X) = a set of neighbour nodes of
Node X, which select X as one of their MPRs.
 In other words, a node X constructs its MPR Select set, MS(X)
based on the MPR(each of X’s neighbours) sets in the HELLO
messages received from all X’s neighbours.
 MS(X) set sequence number is incremented by 1 when MS(X)
needs an update with info received in the HELLO message
indicating a change in its neighbour’s MPR set.

18
4.1 Eg. How to calculate MS of a node

Find MPR set for each node (eg MPR(B) = {A,C}). Find MS set for each node (eg.
MS(A) = {B,H, I}, MS(C) = {B,D,E}.) How?

E F H

MS(A) = {B,H,I}

D C B A I

MS(C) = {B,D,E} MPR(B) = {A,C}

Figure 3. MPR과 MPR Selector Set

19
5. Topology Control (TC) Message

 TC – Topology control message contains (Originator of


the TC Message, MS set, MS sequence number)
 TC messages are used to build intra-forwarding database
(called topology table – see next slide)

 Only MPR nodes generate and forward periodically TC message


to all of its neighbours.

 A non MPR node does not relay/broadcast a received TC


message to its neighbour. (this is the major difference from a
conventional link state algorithm in that every node
broadcasts messages to its neighbours!)

20
5. TC message (cont.)

 Upon receipt of TC message by a node, say S:


 If there exist some entry to the same destination with higher
Sequence Number, the TC message is ignored.

 If there exist some entry to the same destination with lower


Sequence Number, the topology entry is removed and the
new one is recorded

 If the entry is the same as in TC message, the holding time of


this entry is refreshed

 If there are no corresponding entry – the new entry is


recorded
21
6. Topology Table (TT)

 Each node maintains a Topology Table (TT) based on


TC messages
 See next slide for an example of Topology Table.

22
6.1 Example Topology Table. Notes in this example: suppose M is
selected as an MPR node by X, Y, and Z, plus later update to include R.
Each topology entry also has holding time – not shown in S’s topology
table. Upon receipt of M’s TC, S updates its TT to include R and MS
seq #.
Dest’ MS
Dest’ MPR
address sequence

X M 1
S
Y M 1
P
Z M 1

.. .. .. M

S’ Topology table b4 receiving Z


M’s TC with MS seq number 2 X Y
R
TC’ A B
MPR selector MS sequence
originator
D Send TC message
M X 2

M Y 2

M Z 2

M R 2

Figure 5. Topology table update


TC message ( M send to S)

23
7. Routing Table calculation/construction

 Routing table (RT):


 Destination address
 Next Hop address
 Distance
 In OLSR, a node’s RT is calculated/constructed based on its
neighbour table and its topology table which show connected
pairs of two nodes.
 From its one-hop table, a node obtains destinations (as its
neighbours), Next = its neighbour, Distance = 1.
 Like Dijkstra’s algorithm, OLSR proceeds to find Destinations with
Distance = 2, except that the Next is an MPR node, based on the
topology table and neighbour table, then Distance = 3, 4, 5, till
RT is stable.
 By this way, each node maintains a routing table to all known
destinations in the network and MPR nodes forms a backbone for
routing in OLSR. 24
MPRs as Routing Backbone

MPRs form routing backbone


Other nodes act as “hosts”

Qamar A Tarar OLSR Protocol 25


MPRs as Routing Backbone (contd)

MPRs form routing backbone


Other nodes act as “hosts”

As devices move

Qamar A Tarar OLSR Protocol 26


MPRs as Routing Backbone (contd)

MPRs form routing backbone


Other nodes act as “hosts”

As devices move
Topological relationships change
Routes change
Backbone shape and
composition change

Qamar A Tarar OLSR Protocol 27


Conclusion
 OLSR protocol is proactive, table driven in nature
 Advantages
 Route immediately available
 Minimize flooding by using MPR

 OLSR protocol is suitable for large and dense networks

28

You might also like