This document provides an overview of the Optimized Link State Routing (OLSR) protocol and how to install the UM-OLSR implementation in NS2. It describes key aspects of OLSR including how it uses MultiPoint Relays (MPRs) to reduce flooding, the MPR selection algorithm, topology tables, and routing tables. It also lists the main files that make up the UM-OLSR implementation and provides instructions for downloading, compiling, and running an example simulation script.
This document provides an overview of the Optimized Link State Routing (OLSR) protocol and how to install the UM-OLSR implementation in NS2. It describes key aspects of OLSR including how it uses MultiPoint Relays (MPRs) to reduce flooding, the MPR selection algorithm, topology tables, and routing tables. It also lists the main files that make up the UM-OLSR implementation and provides instructions for downloading, compiling, and running an example simulation script.
This document provides an overview of the Optimized Link State Routing (OLSR) protocol and how to install the UM-OLSR implementation in NS2. It describes key aspects of OLSR including how it uses MultiPoint Relays (MPRs) to reduce flooding, the MPR selection algorithm, topology tables, and routing tables. It also lists the main files that make up the UM-OLSR implementation and provides instructions for downloading, compiling, and running an example simulation script.
This document provides an overview of the Optimized Link State Routing (OLSR) protocol and how to install the UM-OLSR implementation in NS2. It describes key aspects of OLSR including how it uses MultiPoint Relays (MPRs) to reduce flooding, the MPR selection algorithm, topology tables, and routing tables. It also lists the main files that make up the UM-OLSR implementation and provides instructions for downloading, compiling, and running an example simulation script.
Download as PPT, PDF, TXT or read online from Scribd
Download as ppt, pdf, or txt
You are on page 1/ 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