olsrv2 high level overview n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
OLSRv2 High Level Overview PowerPoint Presentation
Download Presentation
OLSRv2 High Level Overview

Loading in 2 Seconds...

play fullscreen
1 / 91

OLSRv2 High Level Overview - PowerPoint PPT Presentation


  • 135 Views
  • Uploaded on

OLSRv2 High Level Overview. Carlos Rodrigo Aponte. Overview of OLSR. OLSR is a link-state proactive routing protocol with four basic parts: Neighbor Discovery A node estimates its local topology. By local topology, we mean 1- and 2-hop topology

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'OLSRv2 High Level Overview' - cian


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
olsrv2 high level overview

OLSRv2High Level Overview

Carlos Rodrigo Aponte

overview of olsr
Overview of OLSR
  • OLSR is a link-state proactive routing protocol with four basic parts:
    • Neighbor Discovery
      • A node estimates its local topology.
      • By local topology, we mean 1- and 2-hop topology
    • Selector of Topology Information to Disseminate
      • Not all links are needed to form shortest paths
      • Advertising a subset of all links reduces total overhead
    • Topology Dissemination
      • Once the link information to be advertised is determined, it must be disseminated over the network
    • Route Calculation
      • Once the link advertisements are received, paths can be computed.
overview of olsr1
Overview of OLSR
  • OLSR is a link-state proactive routing protocol with four basic parts:
    • Neighbor Discovery
      • A node estimates its local topology.
      • By local topology, we mean 1- and 2-hop topology
    • Selector of Topology Information to Disseminate
      • Not all links are needed to form shortest paths
      • Advertising a subset of all links reduces total overhead
    • Topology Dissemination
      • Once the link information to be advertised is determined, it must be disseminated over the network
    • Route Calculation
      • Once the link advertisements are received, paths can be computed.
neighborhood discovery
Neighborhood Discovery
  • In OLSR, Hello messages are used to estimate the local topology
  • Two tasks
    • Estimation the one-hop neighbors
      • One-hop neighbors are those with bidirectional links
    • Local dissemination of the one-hop topology to estimate the two-hop topology
task 1 estimating one hop neighbors
Task 1: Estimating one-hop neighbors

9

1

19

10

18

1

2

11

8

S

3

17

From the point of view of nodes S and 1

Initially, neither of the nodes know about the topology

12

7

4

5

6

16

13

14

15

task 1 estimating one hop neighbors cont
Task 1: Estimating one-hop neighbors (cont)

9

1

19

10

18

1

2

11

8

S

3

17

Node S broadcasts a HELLO message.

12

7

4

5

6

16

13

14

15

task 1 estimating one hop neighbors cont1
Task 1: Estimating one-hop neighbors (cont)

9

1

19

10

18

1

2

11

8

S

3

17

  • Node 1 receives the HELLO message and learns:
  • It can hear S
  • Thus a unidirectional link is discovered by 1

12

7

4

5

6

16

13

14

15

task 1 estimating one hop neighbors cont2
Task 1: Estimating one-hop neighbors (cont)

9

1

19

10

18

1

2

11

8

S

3

17

Node 8 broadcasts a HELLO message.

12

7

4

Source: 8

Dest: Broadcast

Info: 8 has heard S

5

6

16

13

14

15

task 1 estimating one hop neighbors cont3
Task 1: Estimating one-hop neighbors (cont)

9

1

1

19

10

18

1

2

11

  • Node S receives the HELLO message, and learns:
  • It was heard by 8
  • It can hear 8
  • Thus node S discovers a bidirectional link to 8
  • Node 1 receives the HELLO message and learns:
  • It can hear 8
  • Thus a unidirectional link is discovered by 1

8

S

3

17

12

7

4

Source: 8

Dest: Broadcast

Info: 8 has heard S

5

6

16

13

14

15

task 1 estimating one hop neighbors cont4
Task 1: Estimating one-hop neighbors (cont)

9

1

1

19

10

18

1

2

11

8

S

3

17

Node 1 broadcasts a HELLO message.

Source: 1

Dest: Broadcast

Info: 1 has heard S and 8

12

7

4

5

6

16

13

14

15

task 1 estimating one hop neighbors cont5
Task 1: Estimating one-hop neighbors (cont)

9

1

1

19

10

1

18

1

2

  • Node S receives the HELLO message, and learns:
  • It was heard by 1
  • It can hear 1
  • Thus node S discovers a bidirectional link to 1
  • Node 8 receives the HELLO message and learns:
  • It was heard by 1
  • It can hear 1
  • Thus node 8 discovers a bidirectional link to 1

11

8

S

3

17

Source: 1

Dest: Broadcast

Info: 1 has heard S and 8

12

7

4

5

6

16

13

14

15

task 1 estimating one hop neighbors cont6
Task 1: Estimating one-hop neighbors (cont)

9

1

1

19

10

1

18

1

2

11

8

Source: 18

Dest: Broadcast

Info: 18 has heard 1 and 8

S

3

17

Node 18 broadcasts a HELLO message.

12

7

4

5

6

16

13

14

15

task 1 estimating one hop neighbors cont7
Task 1: Estimating one-hop neighbors (cont)

9

1

1

19

10

1

18

1

2

  • Node 1 receives the HELLO message, and learns:
  • It was heard by 18
  • It can hear 18
  • Thus node 1 discovers a bidirectional link to 18
  • Node 8 receives the HELLO message and learns:
  • It was heard by 18
  • It can hear 18
  • Thus node 8 discovers a bidirectional link to 18

11

8

Source: 18

Dest: Broadcast

Info: 18 has heard 1 and 8

S

3

17

12

7

4

5

6

16

13

14

15

task 1 estimating one hop neighbors cont8
Task 1: Estimating one-hop neighbors (cont)

9

1

1

19

10

1

18

1

2

11

8

S

3

17

After a while, nodes 1 and S discover their entire 1-hop topology

12

7

4

5

6

16

13

14

15

task 2 estimating 2 hop topology
Task 2: Estimating 2-hop Topology

9

1

1

19

10

1

1

18

1

2

11

8

S

3

17

Node 1 broadcasts a HELLO message, including information about its neighbors.

Source: 1

Dest: Broadcast

Info: Neighbors: S,8,18,19

12

7

4

5

6

16

13

14

15

task 2 estimating 2 hop topology cont
Task 2: Estimating 2-hop Topology (cont)

9

1

1

19

10

1

1

18

1

2

11

8

S

3

17

  • Node S receives the HELLO message, and learns:
  • All 1-hop neighbors of node 1
  • Part of its 2-hop topology

Source: 1

Dest: Broadcast

Info: Neighbors: S,8,18,19

12

7

4

5

6

16

13

14

15

task 2 estimating 2 hop topology cont1
Task 2: Estimating 2-hop Topology (cont)

9

1

1

19

10

1

1

18

1

2

11

8

S

3

17

Source: S

Dest: Broadcast

Info: Neighbors: 1,2,3,4,5,6,7,8

Node S broadcasts a HELLO message, including information about its neighbors.

12

7

4

5

6

16

13

14

15

task 2 estimating 2 hop topology cont2
Task 2: Estimating 2-hop Topology (cont)

9

1

1

1

1

19

10

1

1

18

1

2

11

8

S

3

17

Source: S

Dest: Broadcast

Info: Neighbors: 1,2,3,4,5,6,7,8

  • Node 1 receives the HELLO message, and learns:
  • All 1-hop neighbors of node S
  • Part of its 2-hop topology

12

7

4

5

6

16

13

14

15

task 2 estimating 2 hop topology cont3
Task 2: Estimating 2-hop Topology (cont)

9

19

10

18

1

2

11

8

S

3

17

Eventually, nodes 1 and S will discover their entire 2-hop neighborhood

12

7

4

5

6

16

13

14

15

detecting bidirectional links
Detecting bidirectional links

9

19

10

18

1

2

11

8

S

3

17

In order to consider a link “symmetric”, a node has to receive U HELLOs from the neighbor.

In OLSR, U=1.

12

7

4

5

6

16

13

14

15

detecting bidirectional links1
Detecting bidirectional links

9

Node 1 received HELLO message from S

#RCVD_HELLO=1

#RCVD_HELLO<U

=>unheardNode

19

10

18

Source: S

Dest: Broadcast

Info:

1

2

11

8

S

3

17

In order to consider a link “symmetric”, a node has to receive U HELLOs from the neighbor.

In OLSR, U=1.

12

7

4

5

6

16

13

14

15

detecting bidirectional links2
Detecting bidirectional links

9

19

10

Node S received HELLO message from 1

#RCVD_HELLO=1

#RCVD_HELLO<U

=>unheardNode

18

1

2

Source: 1

Dest: Broadcast

Info:

11

8

S

3

17

In order to consider a link “symmetric”, a node has to receive U HELLOs from the neighbor.

In OLSR, U=1.

12

7

4

5

6

16

13

14

15

detecting bidirectional links3
Detecting bidirectional links

9

Node 1 received HELLO message from S

#RCVD_HELLO=2

#RCVD_HELLO<U

=>unheardNode

19

10

18

Source: S

Dest: Broadcast

Info:

1

2

11

8

S

3

17

In order to consider a link “symmetric”, a node has to receive U HELLOs from the neighbor.

In OLSR, U=1.

12

7

4

5

6

16

13

14

15

detecting bidirectional links4
Detecting bidirectional links

9

19

10

Node S received HELLO message from 1

#RCVD_HELLO=2

#RCVD_HELLO<U

=>unheardNode

18

1

2

Source: 1

Dest: Broadcast

Info:

11

8

S

3

17

In order to consider a link “symmetric”, a node has to receive U HELLOs from the neighbor.

In OLSR, U=1.

12

7

4

5

6

16

13

14

15

detecting bidirectional links5
Detecting bidirectional links

9

3

4

6

5

7

U-1

Node 1 received HELLO message from S

#RCVD_HELLO=

#RCVD_HELLO<U

=>unheardNode

19

10

6

U-1

3

5

7

4

Node S received HELLO message from 1

#RCVD_HELLO=

#RCVD_HELLO<U

=>unheardNode

U-1

5

3

6

7

4

U-1

3

5

6

4

7

18

Source: S

Dest: Broadcast

Info:

1

2

Source: 1

Dest: Broadcast

Info:

11

8

S

3

17

In order to consider a link “symmetric”, a node has to receive U HELLOs from the neighbor.

In OLSR, U=1.

12

7

4

5

6

16

13

14

15

detecting bidirectional links6
Detecting bidirectional links

9

U

Node 1 received HELLO message from S

#RCVD_HELLO=

#RCVD_HELLO=U

=>AsymmetricLink

19

10

U

18

Source: S

Dest: Broadcast

Info:

1

2

11

8

S

3

17

In order to consider a link “symmetric”, a node has to receive U HELLOs from the neighbor.

In OLSR, U=1.

12

7

4

5

6

16

13

14

15

detecting bidirectional links7
Detecting bidirectional links

9

19

10

U

Node S received HELLO message from 1

#RCVD_HELLO=

#RCVD_HELLO=U

=>SymmetricLink

U

18

1

2

Source: 1

Dest: Broadcast

Info: AsymmetricLink with S

11

8

S

3

17

In order to consider a link “symmetric”, a node has to receive U HELLOs from the neighbor.

In OLSR, U=1.

12

7

4

5

6

16

13

14

15

detecting bidirectional links8
Detecting bidirectional links

9

U+1

Node 1 received HELLO message from S

#RCVD_HELLO=

#RCVD_HELLO>U

=>SymmetricLink

19

10

U+1

18

Source: S

Dest: Broadcast

Info: SymmetricLink with 1

1

2

11

8

S

3

17

In order to consider a link “symmetric”, a node has to receive U HELLOs from the neighbor.

In OLSR, U=1.

12

7

4

5

6

16

13

14

15

detecting bidirectional links9
Detecting bidirectional links

9

19

10

U

Node 1 received HELLO message from S

#RCVD_HELLO=

#RCVD_HELLO=U

=>SymmetricLink

U

18

1

2

11

8

S

3

17

In order to consider a link “lost”, a node has to lose D HELLOs from the neighbor.

In OLSR, D=3.

12

7

4

5

6

16

13

14

15

detecting bidirectional links10
Detecting bidirectional links

9

19

10

1

0

1

2

4

3

D-1

D

5

Node 1 detected lost HELLO messages from S

#LOST_HELLO=

#LOST_HELLO<D

=>SymmetricLink

Node 1 detected lost HELLO messages

from S

#LOST_HELLO=

#LOST_HELLO=D

=>LostLink

2

1

4

3

0

D-1

D

5

18

Source: S

Dest: Broadcast

Info: SymmetricLink with 1

2

11

8

S

3

17

In order to consider a link “lost”, a node has to lose D HELLOs from the neighbor.

In OLSR, D=3.

12

7

4

5

6

16

13

14

15

event counting generalization of rfc
Event Counting (Generalization of RFC)

When link is up

When link is down

Parameters: U, D

1

Transmission Probability

0.5

U

0

0

10

20

30

40

50

60

70

80

Hellos

D

4

3

Number of Sequential Success/Failures

2

<----- DOWN ----->

<----- UP ----->

Ck

1

0

0

10

20

30

40

50

60

70

80

Hello

arrival

Hellos

OLSR v1: U=1 D=3. Generalized by UMD

exponential moving average w hysteresis rfc
Exponential Moving Average w/ Hysteresis (RFC)

When link is up

Qk+1 = Qk + (1- ) 1{Received Hello k}

Qk >TDown link is down

When link is down

Qk+1 = Qk + (1- ) 1{Received Hello k}

Qk >TUp link is up

Parameters: , Tup, Tdown

cumulative sum cumsum link detection
Cumulative Sum (CumSum) Link Detection

When link is up

Sk+1 = max(0, Sk +1{Missed Hello} - PDown)

Sk > T  link is down

When link is down

Sk+1 = max(0, Sk - 1{Missed Hello} + PUp)

Sk >T  link is up

Parameters: Pup, Pdown, T

PerrUp

PerrDown

T

Hello

received

overview of olsr2
Overview of OLSR
  • OLSR is a link-state proactive routing protocol with four basic parts:
    • Neighbor Discovery
      • A node estimates its local topology.
      • By local topology, we mean 1- and 2-hop topology
    • Selector of Topology Information to Disseminate
      • Not all links are needed to form shortest paths
      • Advertising a subset of all links reduces total overhead
    • Topology Dissemination
      • Once the link information to be advertised is determined, it must be disseminated over the network
    • Route Calculation
      • Once the link advertisements are received, paths can be computed.

OLSR merges selector of Topology Information to Disseminate with Topology Dissemination. But in CBR, these are two different components

topology dissemination
Topology Dissemination
  • In order to limit control traffic, only a subset of nodes (Multi-Point Relays: MPRs) forwards control packets
  • Two tasks
    • Determine the set of MPRs
      • MPR Selection Objective: determine a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message
    • Flood TC messages over the reduced graph
topology dissemination1
Topology Dissemination
  • In order to limit control traffic, only a subset of nodes (Multi-Point Relays: MPRs) forwards control packets
  • Two tasks
    • Determine the set of MPRs
      • MPR Selection Objective: determine a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message
    • Flood TC messages over the reduced graph
why use mprs

Retransmission node

Why use MPRs?

In traditional flooding, each node relays the messages.

This approach typically results in each node receiving the message many times (i.e, it wastes bandwidth/ creates excess overhead)

why use mprs1

Retransmission node

Why use MPRs?

In traditional flooding, each node relays the messages.

This approach typically results in each node receiving the message many times (i.e, it wastes bandwidth/ creates excess overhead)

By carefully selecting which nodes forward messages, the overhead can be reduced.

This is the objective of MPR-based flooding

(note there are many other ways to accomplish this goal )

topology dissemination2
Topology Dissemination
  • In order to limit control traffic, only a subset of nodes (Multi-Point Relays: MPRs) forwards control packets
  • Two tasks
    • Determine the set of MPRs
      • MPR Selection Objective: determine a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message
    • Flood TC messages over the reduced graph
topology dissemination3
Topology Dissemination
  • In order to limit control traffic, only a subset of nodes (Multi-Point Relays: MPRs) forwards control packets
  • Two tasks
    • Determine the set of MPRs
      • MPR Selection Objective: determine a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message
    • Flood TC messages over the reduced graph
task 1 mpr selection algorithm example
Task 1:MPR selection algorithm : example

MPR Selection Objective: each nodes determines a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message

1. Determine all 2-hop neighbors which are only reachable through just one 1-hop neighbor

From the perspective of node S

9

19

10

2. Select those 1-hop neighbors as MPRs

1

2

18

3. Determine C = reachable 2-hop nodes through the current set of MPRs.

11

8

4. Let U = 2-hop neighbors which are not reachable through the MPRs.

S

3

12

17

7

5. If U= , then done

Else

Add the 1-hop node that has the highest number of neighbors in U to the set of MPRs

Go to step 3

4

5

6

16

13

14

15

task 1 mpr selection algorithm example cont
Task 1:MPR selection algorithm: example (cont)

MPR Selection Objective: each nodes determines a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message

1. Determine all 2-hop neighbors which are only reachable through just one 1-hop neighbor

From the perspective of node S

9

19

10

2. Select those 1-hop neighbors as MPRs

1

2

18

3. Determine C = reachable 2-hop nodes through the current set of MPRs.

11

8

S

3

4. Let U = 2-hop neighbors which are not reachable through the MPRs.

12

7

4

5

17

6

5. If U= , then done

Else

Add the 1-hop node that has the highest number of neighbors in U to the set of MPRs

Go to step 3

16

13

14

15

slide43

Task 1:MPR selection algorithm: example (cont)

MPR Selection Objective: each nodes determines a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message

1. Determine all 2-hop neighbors which are only reachable through just one 1-hop neighbor

From the perspective of node S

9

19

10

2. Select those 1-hop neighbors as MPRs

1

2

18

3. Determine C = reachable 2-hop nodes through the current set of MPRs.

11

8

S

3

4. Let U = 2-hop neighbors which are not reachable through the MPRs.

12

7

4

5

17

6

5. If U= , then done

Else

Add the 1-hop node that has the highest number of neighbors in U to the set of MPRs

Go to step 3

16

13

14

15

task 1 mpr selection algorithm example cont1
Task 1:MPR selection algorithm: example (cont)

MPR Selection Objective: each nodes determines a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message

1. Determine all 2-hop neighbors which are only reachable through just one 1-hop neighbor

From the perspective of node S

9

19

10

2. Select those 1-hop neighbors as MPRs

1

2

18

3. Determine C = reachable 2-hop nodes through the current set of MPRs.

11

8

S

3

4. Let U = 2-hop neighbors which are not reachable through the MPRs.

12

7

4

5

17

6

5. If U= , then done

Else

Add the 1-hop node that has the highest number of neighbors in U to the set of MPRs

Go to step 3

16

13

14

15

task 1 mpr selection algorithm example cont2
Task 1:MPR selection algorithm: example (cont)

MPR Selection Objective: each nodes determines a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message

1. Determine all 2-hop neighbors which are only reachable through just one 1-hop neighbor

From the perspective of node S

9

19

10

2. Select those 1-hop neighbors as MPRs

1

2

18

3. Determine C = reachable 2-hop nodes through the current set of MPRs.

11

8

S

3

4. Let U = 2-hop neighbors which are not reachable through the MPRs.

12

7

4

5

17

6

5. If U= , then done

Else

Add the 1-hop node that has the highest number of neighbors in U to the set of MPRs

Go to step 3

16

13

14

15

task 1 mpr selection algorithm example cont3
Task 1:MPR selection algorithm: example (cont)

MPR Selection Objective: each nodes determines a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message

1. Determine all 2-hop neighbors which are only reachable through just one 1-hop neighbor

From the perspective of node S

9

19

10

2. Select those 1-hop neighbors as MPRs

1

2

18

3. Determine C = reachable 2-hop nodes through the current set of MPRs.

11

8

S

3

4. Let U = 2-hop neighbors which are not reachable through the MPRs.

12

7

4

5

17

6

5. If U= , then done

Else

Add the 1-hop node that has the highest number of neighbors in U to the set of MPRs

Go to step 3

16

13

14

15

task 1 mpr selection algorithm example cont4
Task 1:MPR selection algorithm: example (cont)

MPR Selection Objective: each nodes determines a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message

1. Determine all 2-hop neighbors which are only reachable through just one 1-hop neighbor

From the perspective of node S

9

19

10

2. Select those 1-hop neighbors as MPRs

1

2

18

3. Determine C = reachable 2-hop nodes through the current set of MPRs.

11

8

S

3

4. Let U = 2-hop neighbors which are not reachable through the MPRs.

12

7

4

5

17

6

5. If U= , then done

Else

Add the 1-hop node that has the highest number of neighbors in U to the set of MPRs

Go to step 3

16

13

14

15

task 1 mpr selection algorithm example cont5
Task 1:MPR selection algorithm: example (cont)

MPR Selection Objective: each nodes determines a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message

1. Determine all 2-hop neighbors which are only reachable through just one 1-hop neighbor

From the perspective of node S

9

19

10

2. Select those 1-hop neighbors as MPRs

1

2

18

3. Determine C = reachable 2-hop nodes through the current set of MPRs.

11

8

S

3

4. Let U = 2-hop neighbors which are not reachable through the MPRs.

12

7

4

5

17

6

5. If U= , then done

Else

Add the 1-hop node that has the highest number of neighbors in U to the set of MPRs

Go to step 3

16

13

14

15

task 1 mpr selection algorithm example cont6
Task 1:MPR selection algorithm: example (cont)

MPR Selection Objective: each nodes determines a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message

1. Determine all 2-hop neighbors which are only reachable through just one 1-hop neighbor

From the perspective of node S

9

19

10

2. Select those 1-hop neighbors as MPRs

1

2

18

3. Determine C = reachable 2-hop nodes through the current set of MPRs.

11

8

S

3

4. Let U = 2-hop neighbors which are not reachable through the MPRs.

12

7

4

5

17

6

5. If U= , then done

Else

Add the 1-hop node that has the highest number of neighbors in U to the set of MPRs

Go to step 3

16

13

14

15

local topology information is required to make routes
Local Topology Information is Required to Make Routes

MPRs advertise links to MPR selectors

Original Graph

9

9

19

10

19

10

1

2

18

1

2

18

11

8

11

8

0

3

0

3

12

17

7

12

17

4

7

5

4

6

5

6

16

13

16

13

14

14

15

15

1 is a MPR for 0

Legend:

If only MPRMPR Selectors are used, then 7 could not reach 16 in one hop.

0

1

overview of olsr3
Overview of OLSR
  • OLSR is a link-state proactive routing protocol with four basic parts:
    • Neighbor Discovery
      • A node estimates its local topology.
      • By local topology, we mean 1- and 2-hop topology
    • Selector of Topology Information to Disseminate
      • Not all links are needed to form shortest paths
      • Advertising a subset of all links reduces total overhead
    • Topology Dissemination
      • Once the link information to be advertised is determined, it must be disseminated over the network
    • Route Calculation
      • Once the link advertisements are received, paths can be computed.

OLSR merges selector of Topology Information to Disseminate with Topology Dissemination. But in CBR, these are two different components

selection of topology information to disseminate
Selection of Topology Information to Disseminate

E

S

D

HELLO Message

TC Message

F

C

B

A

G

H

are paths composed of advertised links the shortest paths yes they are
Are Paths Composed of Advertised Links the Shortest Paths?Yes, they are.

Length >N

N-1

C1

N-2

D

B1

S

C2

B2

  • Suppose that
    • D is N hops from S
    • But, S is not aware of a N-hop path to D.
    • However, S is aware of N-1-hops paths to some of D’s neighbors, C1, C2, …
      • This means that there are neighbors of C’s, denoted by B1, B2, … that are N-2 hops from the C1, C2, …
  • Since S can’t reach D in N hops, but can reach C1, C2, … in N-1 hops, the links from C1, C2, … to D are not advertised
  • Thus, C1, C2, … are not MPRs of D
  • This is cannot happen, one of the Ci must be a MPR for D.
    • Otherwise, how will the two-hop neighbors (B1, B2, … ) be covered?
    • Therefore, if there are shortest paths to all nodes N-2 and N-1 hops away, then there are shortest paths to nodes N hops away.
    • Clearly, there are shortest paths to nodes 1 hop away and to nodes 2 hops away (the set of MPRs guarantee this). So there are shortest paths to nodes 3 hops away, and therefore, there are shortest paths to node 4 hops away, ….
topology dissemination4
Topology Dissemination
  • In order to limit control traffic, only a subset of nodes (Multi-Point Relays: MPRs) forwards control packets
  • Two tasks
    • Determine the set of MPRs
      • MPR Selection Objective: determine a minimal set of neighbors such that if each neighbor relays the message then each node in the two-hop neighborhood receives the message
    • Flood TC messages over the reduced graph
task 2 topology dissemination
Task 2: Topology Dissemination

Topology dissemination = deciding which nodes relay the topology information

RFC and INRIAs approach

E

S

D

F

C

B

A

G

H

task 2 topology dissemination1
Task 2: Topology Dissemination

Topology dissemination = deciding which nodes relay the topology information

RFC and INRIAs approach

E

S

D

F

C

Node S Broadcasts a TC Message

B

A

G

H

task 2 topology dissemination2
Task 2: Topology Dissemination

Topology dissemination = deciding which nodes relay the topology information

RFC and INRIAs approach

E

S

D

F

Only nodes that have not previously received the message will update the Information Base

C

B

A

G

H

task 2 topology dissemination3
Task 2: Topology Dissemination

Topology dissemination = deciding which nodes relay the topology information

RFC and INRIAs approach

E

S

D

Only nodes that have not previously received the message and that have the transmitter as an MPR Selector, will forward the message

F

C

B

A

G

H

Nodes that have S as an MPR Selector

task 2 topology dissemination4
Task 2: Topology Dissemination

Topology dissemination = deciding which nodes relay the topology information

OLSR-D and Qualnets approach

E

S

D

F

C

Node S Broadcasts a TC Message

B

A

G

H

task 2 topology dissemination5
Task 2: Topology Dissemination

Topology dissemination = deciding which nodes relay the topology information

OLSR-D and Qualnets approach

E

S

D

F

Only nodes that have not previously processed the message will update the information base

C

B

A

G

H

task 2 topology dissemination6
Task 2: Topology Dissemination

Topology dissemination = deciding which nodes relay the topology information

OLSR-D and Qualnets approach

E

S

D

F

Only nodes that have not already forwarded the messageand that have the transmitter as an MPR Selector, will forward the message

C

B

A

G

H

Nodes that have S as an MPR Selector

comparison of flooding techniques
Comparison of Flooding Techniques

8

7

6

9

Sample Topology

4

3

5

1

0

2

comparison of flooding techniques1
Comparison of Flooding Techniques
  • MPRs
  • 4 is the only MPR for 0 (0 had degree 5, but only one MPR!)
  • 6 and 9 are MPRs for 4
  • 1 is the MPR for 3 (2 is an MPR for 5)

8

7

6

9

4

3

5

1

0

2

rfc inria method
RFC/INRIA Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1

0

2

rfc inria method1
RFC/INRIA Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 have received the TC message

1

0

2

rfc inria method2
RFC/INRIA Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 have received the TC message

4 is a MPR for 0

1

0

2

rfc inria method3
RFC/INRIA Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 have received the TC message

4 is a MPR for 0

6, 7, 8, and 9 have received the TC message

1

0

2

rfc inria method4
RFC/INRIA Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 have received the TC message

4 is a MPR for 0

6, 7, 8, and 9 have received the TC message

6 and 9 are MPRs for 4

1

0

2

rfc inria method5
RFC/INRIA Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 have received the TC message

4 is a MPR for 0

6, 7, 8, and 9 have received the TC message

6 and 9 are MPRs for 4

All nodes have received the TC message

1

0

2

rfc inria method6
RFC/INRIA Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 have received the TC message

4 is a MPR for 0

6, 7, 8, and 9 have received the TC message

6 and 9 are MPRs for 4

All nodes have received the TC message

Note, while 3 is a MPR for 6, it has already received the TC message, and does not forward it

1

0

2

olsrd qualnet method
OLSRd/Qualnet Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1

0

2

olsrd qualnet method1
OLSRd/Qualnet Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 received TC message from 0

1

0

2

olsrd qualnet method2
OLSRd/Qualnet Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 received TC message from 0

4 is the MPR or 0

1

0

2

olsrd qualnet method3
OLSRd/Qualnet Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 received TC message from 0

4 is the MPR or 0

6, 7, 8, and 9 received the TC message from 6

1

0

2

olsrd qualnet method4
OLSRd/Qualnet Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 received TC message from 0

4 is the MPR or 0

6, 7, 8, and 9 received the TC message from 6

6 and 9 are MPRs of 4

1

0

2

olsrd qualnet method5
OLSRd/Qualnet Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 received TC message from 0

4 is the MPR or 0

6, 7, 8, and 9 received the TC message from 6

6 and 9 are MPRs of 4

All nodes have received the TC message

1

0

2

olsrd qualnet method6
OLSRd/Qualnet Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 received TC message from 0

4 is the MPR or 0

6, 7, 8, and 9 received the TC message from 6

6 and 9 are MPRs of 4

All nodes have received the TC message

3 is a MPR for 6 (5 is a MPR for 9)

1

0

2

olsrd qualnet method7
OLSRd/Qualnet Method

Originator of TC message

Received TC message

Relayed TC message

8

7

6

9

4

3

5

0 is the originator

1, 2, 3, 4, and 5 received TC message from 0

4 is the MPR or 0

6, 7, 8, and 9 received the TC message from 6

6 and 9 are MPRs of 4

All nodes have received the TC message

3 is a MPR for 6 (5 is a MPR for 9)

1 is a MPR for 3 (2 is a MPR for 5)

1

0

2

What is the difference between MPR-based flooding and full flooding?!

hazy sighted topology dissemination
Hazy-Sighted Topology Dissemination
  • Note: hazy sighted dissemination does not work. But the idea is as follows
  • Idea: Topology information from far away links is not important for making local forwarding decisions
    • When forwarding a packet, one only needs to move the packet in the right direction. This does not require detailed topology information

Idea (which turns out to be incorrect)

The potential next hop is a next hop for any destination in this region

More up-to-date information is required to reach destinations that are close than to reach destinations that are far.

Conclusion, topology information should not be flooded over the entire region.

This seems like such a good idea that many military systems are using this approach

pkt

This node must travel further in order to exit the “next-hop region”

potential next-hop

This node does not need to travel very far in order to exit the “next-hop region”

hazy sighted topology dissemination1
Hazy-Sighted Topology Dissemination
  • Set TTL for the number of hops that a topology control (TC) message will travel.
  • Adjust the TTL for each TC message so that the TTL  2k every 2k periods
    • TTL  1 every period
    • TTL  2 every 2 periods (i.e., periods 2, 4, 6, …)
    • TTL  4 every 4 periods (i.e., period 4, 8, 12, 16, …)
    • TTL  8 every 8 periods (i.e., period 8, 16, 24, 32, …)
    • TTL  16 every 16 periods (i.e., period 16, 32, …)
  • The time between TC messages from a distance k is 2ceil(log2(k))
    • Topology information 7 hops away will be received every

2ceil(log2(7)) = 2ceil(2.8) = 23 = 8 periods

  • This approach could potentially reduce the overhead, especially for large topologies
    • Note that each TC message is forwarded by most nodes.
    • For large networks, topology dissemination can consume much of the available bandwidth
problems with hazy sighted

pkt

This node must travel further in order to exit the “next-hop region”

potential next-hop

This node does not need to travel very far in order to exit the “next-hop region”

Problems with Hazy-Sighted
  • The basic idea has the critical flaw in that the path to a destination does not only depend on the location of the destination, but also depends on the other nodes in the network.
  • Thus, a path can be impacted not only by the destination moving, but by nodes between the source and destination moving
    • I guess this is obvious
  • A correct model considers all links
performance of hazy sighted dissemination
Performance of Hazy-Sighted Dissemination

Change in topology that causes neighbor to stop being a next-hop

Duration that the originator is unaware of the topology change and forwards the pkt to a node that is no longer a suitable next hop.

T(kL ) = average duration

The fraction of the number line covered by the PS region is approximately the rate of topology changes  the average duration, T

(another approximation is exp(-rate*T) )

performance of hazy sighted dissemination1
Performance of Hazy-Sighted Dissemination
  • Let  be the rate that a link breaks (or form).
  • Let NL(kL ,kD) be the number of links kL away given the destination is kD hops away
    • Why does the number of links kL away depend on kD?
    • Suppose that a destination is very far away, like 100 hops. Then, NL(90,100)>1 (otherwise, the dest can’t be 100 hops away).
  • So, given a destination is kD hops away, the rate that any link breaks kL hops away is NL(kL, kD).
    • Here we assume that  is independent of kL and kD
  • Let F(kL,kD) be the probility of PS when the break is at kL and the destinations is kD hops away
  • NL(kL,kD)F(kL,kD) is the rate of PS events from links kL away, given that the destination is kD away
  • Summing over all values of kL
  • Expected value over all distances to destinations
path stretch calculation
Path Stretch Calculation

In the hazy-sighted case, T(kL) = Ths2ceil(log2(kL))

In regular case, T(kL) = To

By adjusting THS and To we can make the path stretch the same for both cases

so

overhead ratio
Overhead Ratio

Conclusion: In order to keep path stretch the same as with regular flooding, hazy-sighted results in higher overhead.

One must focus on the intermediate nodes, not just the destination.

overview of olsr4
Overview of OLSR
  • OLSR is a link-state proactive routing protocol with four basic parts:
    • Neighbor Discovery
      • A node estimates its local topology.
      • By local topology, we mean 1- and 2-hop topology
    • Selector of Topology Information to Disseminate
      • Not all links are needed to form shortest paths
      • Advertising a subset of all links reduces total overhead
    • Topology Dissemination
      • Once the link information to be advertised is determined, it must be disseminated over the network
    • Route Calculation
      • Once the link advertisements are received, paths can be computed.
update topology set
Update Topology Set

Check all “advertised addresses” that came in the message.

These addresses are from the nodes that selected the “originator node” as an MPR.

update topology set cont
Update Topology Set (cont)

Check all Topology Tuples in the Information Bases and verify if it exists an entry with the information just received.

update topology set cont1
Update Topology Set (cont)

If no information is stored in the Data Bases, create a new tuple.

Existing or new tuple has to update its sequence number and holding time.

removing topology tuples
Removing Topology Tuples
  • To remove a Topology Tuple on of two things must occur:
    • The timer (tuple holding time) has to expire.
    • A TC message has to explicitly remove a tuple. (i.e. notify that a link is broken)