Optimized Link State Routing Protocol for Ad Hoc Networks

Jacquet, p IEEE INMIC Dec. 2001 park gi won 2004.06.18


  

Introduction Reactive versus Proactive routing approach OLSR (Optimized Link State Routing) Protocol Protocol functioning Conclusions


Introduction Routing Protocol for MANET Table-Driven/ Proactive Distance Vector LinkState Hybrid On-Demanddriven/Reactive DSR AODV TORA Clusterbased/ Hierarchical LANMAR CEDAR ZRP DSDV OLSR TBRPF FSR STAR MANET: Mobile Ad hoc Network (IETF working group) 3 .

A long delay for application when no route to the destination available 4 .Larger signalling traffic and power consumption. .Reactive versus Proactive routing approach  Proactive Routing Protocols    Periodec exchange of control messages + immediately provide the required routes when needed .  Reactive Routing Protocols    Attempts to discover routes only on-demand by flooding + Smaller signalling traffic and power consumption.

OLSR .Overview  OLSR     Inherits Stability of Link-state protocol Selective Flooding only MPR retransmit control messages:  Minimize flooding Suitable for large and dense networks 5 .

6 .OLSR – Multipoint relays (MPRs)    MPRs = Set of selected neighbor nodes Minimize the flooding of broadcast packets Each node selects its MPRs among its on hop neighbors  The set covers all the nodes that are two hops away   MPR Selector = a node which has selected node as MPR The information required to calculate the multipoint relays :  The set of one-hop neighbors and the two-hop neighbors   Set of MPRs is able to transmit to all two-hop neighbors Link between node and it’s MPR is bidirectional.

OLSR – Multipoint relays (cont.)  To obtain the information about one-hop neighbors :  Use HELLO message (received by all one-hop neighbors)  To obtain the information about two-hop neighbors :  Each node attaches the list of its own neighbors  Once a node has its one and two-hop neighbor sets :  Can select a MPRs which covers all its two-hop neighbors 7 .

Diffusion of a broadcast message using multipoint relays 8 .OLSR – Multipoint relays (cont.) MPR(Retransmission node) 4 retransmission to diffuse a message up to 2 hops Figure 1.

G 2 Hop Neighbors D.C.E E D MPR(s) C F A C G B Figure 2. Network example for MPR selection 9 .OLSR – Multipoint relays (cont.) Node B 1 Hop Neighbors A.F.

) E F MS(A) = {B. MPR과 MPR Selector Set 10 .I} H D C B A I MS(C) = {B.D.C} G Figure 3.OLSR – Multipoint relays (cont.H.E} MPR(B) = {A.

Protocol functioning – Neighbor sensing  Each node periodically broadcasts its HELLO messages:   Containing the information about its neighbors and their link status Hello messages are received by all one-hop neighbors  HELLO message contains:   List of addresses of the neighbors to which there exists a valid bi-directional link List of addresses of the neighbors which are heard by node( a HELLO has been received )  But link is not yet validated as bi-directional 11 .

Hello Message Format in OLSR 12 .) Message type Time To Live Reserved Link code Reserved Neighbor Interface Address Neighbor interface Address … Reserved Link code Reserved Neighbor interface address Neighbor interface address … Htime Willingness Link message size Vtime Originator Address Hop count Message size Message Sequence Number Htime Willingness Link message size Link type Neighbor type Table 1.Protocol functioning – Neighbor sensing (cont.

each node performs the selection of its multipoint relays (MPR selection signaling) Indicate selected multipoint relays  On the reception of HELLO message:  Each node constructs its MPR Selector table 13 .Protocol functioning – Neighbor sensing (cont.)  HELLO messages :     Serves Link sensing Permit each node to learn the knowledge of its neighbors up to two-hops (neighbor detection) On the basis of this information.

removed Contains a sequence number value which specifies the most recent MPR set  Every time updates its MPR set.Protocol functioning – Neighbor sensing ( cont.)  In the neighbor table:    Each node records the information about its on hop neighbor and a list of two hop neighbors Entry in the neighbor table has an holding time  Upon expiry of holding time. this sequence number is incremented 14 .

Example of neighbor table 15 .Protocol functioning – Neighbor sensing  Example of neighbor table One-hop neighbors Two-hop neighbors Neighbor’s id Access though State of Link Neighbor’s id B G C … Bidirectional Unidirectional MPR … E D C C … … Table 2.

Protocol functioning – Multipoint relay selection    Each node selects own set of multipoint relays Multipoint relays are declared in the transmitted HELLO messages Multipoint relay set is re-calculated when:   A change in the neighborhood( neighbor is failed or add new neighbor ) A change in the two-hop neighbor set   Each node also construct its MPR Selector table with information obtained from the HELLO message A node updates its MPR Selector set with information in the received HELLO messages 16 .

Protocol functioning – MPR information declaration  TC – Topology control message:     In order to build intra-forwarding database Only MPR nodes forward periodically to declare its MPR Selector set Message might not be sent if there are no updates Contains:   MPR Selector Sequence number  Each node maintains a Topology Table based on TC messages  Routing Tables are calculated based on Topology tables 17 .

Protocol functioning – MPR information declaration (cont. Originator of TC message Table 3. Topology table 18 .) Destination address Destination’s MPR MPR Selector sequence number Holding time MPR Selector in the received TC message Last-hop node to the destination.

C} {B.) E F Send TC message D C B MS(C) = {B.D.E} build the topology table G Figure 4.E} MPR(B) = {A.Protocol functioning – MPR information declaration (cont.D. TC message and Topology table 19 .

the holding time of this entry is refreshed If there are no corresponding entry – the new entry is recorded 20    .Protocol functioning – MPR information declaration (cont. the topology entry is removed and the new one is recorded If the entry is the same as in 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.

Topology table update 21 ..) Dest’ address X Y Z ..Protocol functioning – MPR information declaration (cont. S P M X Y A D Z B R Send TC message TC’ originator MPR selector X Y Z R MPR selector sequence M M M M 2 2 2 2 TC message ( M send to S) Figure 5.. Dest’ MPR M M M . S’ Topology table MPR Selector sequence 1 1 1 .

store connected pairs of form ( last-hop. node) Routing table is based on the information contained in the neighbor table and the topology table Routing table:    Destination address Next Hop address Distance  Routing Table is recalculated after every change in neighbor table or in topology table 22 .Protocol functioning – Routing table calculation     Each node maintains a routing table to all known destinations in the network After each node TC message receives.

Building a route from topology table 23 .) Source Destination Figure 5.Protocol functioning – Routing table calculation (cont.

conclusion   OLSR protocol is proactive or table driven in nature Advantages   Route immediately available Minimize flooding by using MPR  OLSR protocol is suitable for large and dense networks 24 .