1 / 91

OLSRv2 High Level Overview

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

cian
Download Presentation

OLSRv2 High Level Overview

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OLSRv2High Level Overview Carlos Rodrigo Aponte

  2. 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.

  3. 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.

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. 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)

  38. 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 )

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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

  44. 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

  45. 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

  46. 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

  47. 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

  48. 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

  49. 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

  50. 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

More Related