Sie sind auf Seite 1von 22

UM-OLSR

OLSR routing protocol in NS2



695430044
Outline
Brief overview of OLSR
MPR selection algorithm
UM-OLSR install
Example
UM-OLSR code

Classification
Table driven
Source-Initiated
On demand
DSDV
CGSR
OLSR
TBRPF
AODV DSR LMR
TORA
ABR
SSR
Ad Hoc Routing
Protocols
proactive
reactive
Optimized Link State Routing Protocol
Proactive & Table-driven
Link State Routing
Each node expands a spanning tree
Each node can obtain the whole network topology
Utilizes a technique to reduce message flooding
MultiPoint Relaying (MPR)
Optimized Link State Routing Protocol
Each node periodically floods
status of its links
Each node re-broadcasts link state
information received from its
neighbors
Each node keeps track of link state
information received from other
nodes
Each node uses above information
to determine next hope to each
destination
24 retransmissions to
diffuse a message up to 3
hops
Retransmission node
Optimized Link State Routing Protocol
Only selected neighbors (MultiPoint
Relays, MPRs) retransmit
messages
Select MPRs such that they cover
all 2hop neighbors
2-hop neighbors taken from
neighbors' HELLO messages
11 retransmission to
diffuse a message up to 3
hops
Retransmission node
- MPR
Optimized Link State Routing Protocol
Three main modules
Neighbor/link sensing
Provide topology information up to two hops
MPR selector information notification
(A select B as As MPR in HELLO message to B)
Optimized flooding/forwarding
MPR set to cover all the two hop neighbors
MPR selector set: set of nodes that select me as one of their
MPR set
OLSR-Messages from MPR selector set are to be forwarded
Link-State messaging and route calculation
Topology table
Route table

MPR selection
Each node select a set of MPR
Selectors
Who can be a MPR Selectors
of node N ?
one-hop neighbors of N
MPR set of Node N (Rules)
Set of MPRs is able to
transmit to all two-hop neighbors
Link between node and its
MPR is bidirectional.

D
N
B
M
X
Y
Z
A
Multipoint Relays (MPR)
Every node keeps a table of routes to all known
destination through its MPR nodes

Every node periodically broadcasts list of its MPR
Selectors (instead of the whole list of neighbors).

Upon receipt of MPR information each node recalculates
and updates routes to each known destination

MPR selection algorithm
Each point u has to select its set of MPR.
Goal :
Select in the 1-neighborhood of u (N
1
(u)) a set of nodes as
small as possible which covers the whole 2-neighborhood of
u(N
2
(u)).
Step 1: Select nodes of N
1
(u) which cover isolated points
of N
2
(u).
Step 2: Select among the nodes of N
1
(u) not selected at
the first step, the node which covers the highest
number of points of N
2
(u) and go on till every
points of N
2
(u) are covered.
MPR selection algorithm
First step: Select nodes in N1(u) which cover isolated points of
N2(u).

u
MPR selection algorithm
Second step : Consider in N1(u) only points which are not already
selected at the first step NPR1(u) and points in N2(u) which are not
covered by the NPR1(u) . While there exists points in N2(u) not
covered by the selected MPR, select in N2(u), the node which covers
the highest number of non-covered nodes in N2(u).
u
MPR selection algorithm
FinalMPRs
u
Installation
Download UM-OLSR 0.8.8 from
http://masimum.dif.um.es/?Software:UM-OLSR

Ns2.272.282.29 / UM-OLSR 0.8.70.8.8

Copy um-olsr-0.8.8.tgz to ns-allinone-2.29/ns-2.29/

$ cd ns-allinone-2.29/ns-2.29/
$ tar zxvf um-olsr-0.8.8.tgz
$ ln -s ./um-olsr-0.8.8 ./olsr
$ patch -p1 < olsr/um-olsr_ns-2.29_v0.8.8.patch
$ ./configure
$ make

Example
Download olsr_example.tcl from
http://masimum.dif.um.es/um-olsr/olsr_example.tcl

OLSR
Hello message one hop for
Two hop topology information
MPRs
Transmit two hop top topology information
By MPRs
TC message
Complete Topology Information
Shortest Path Tree calculation (Dijkstra)
Routing table build

TC message
TC Topology control message:
Sent periodically. Message might not be sent if there are
no updates and sent earlier if there are updates
Contains:
MPR Selector Table
Sequence number
Each node maintains a Topology Table based on TC
messages
Routing Tables are calculated based on Topology tables

Topology Table
Destination
address
Destinations
MPR
MPR Selector
sequence
number
Holding time
MPR Selector in
the received TC
message
Last-hop node to the destination.
Originator of TC message
TC message
Upon receipt of TC message:
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

Routing Table
Each node maintains a routing table to all known
destinations in the network
Routing table is calculated from Topological Table, taking
the connected pairs
Routing table:
Destination address
Next Hop address
Distance
Routing Table is recalculated after every change in
neighborhood table or in topological table

UM-OLSR File List (Header)
OLSR.h
header file for OLSR agent and related classes
OLSR_pkt.h
contains all declarations of OLSR packets and messages
OLSR_printer.h
includes all printing functions related to OLSR
OLSR_repositories.h
defined all data structures needed by an OLSR node
OLSR_rtable.h
header file for routing table's related stuff
OLSR_state.h
declares and defines internal state of an OLSR node
UM-OLSR File List
OLSR.cc
Implementation of OLSR agent and related classes
OLSR_printer.cc
Printing functions used for debugging and tracing are implemented
in this file
OLSR_rtable.cc
Implementation of our routing table
OLSR_state.cc
Implementation of all functions needed for manipulating the
internal state of an OLSR node

Das könnte Ihnen auch gefallen