1 / 38

MANET Extension of OSPF Using CDS Flooding draft-ogier-manet-ospf-extension-05.txt

IETF Meeting - OSPF WG. MANET Extension of OSPF Using CDS Flooding draft-ogier-manet-ospf-extension-05.txt. Richard Ogier, SRI International Phil Spagnolo, Boeing November 8, 2005. Basic Idea – Generalize Designated Router to MANET Designated Routers (MDRs). Broadcast Network

kaida
Télécharger la présentation

MANET Extension of OSPF Using CDS Flooding draft-ogier-manet-ospf-extension-05.txt

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. IETF Meeting - OSPF WG MANET Extension of OSPF Using CDS Floodingdraft-ogier-manet-ospf-extension-05.txt Richard Ogier, SRI International Phil Spagnolo, Boeing November 8, 2005

  2. Basic Idea – Generalize Designated Router to MANET Designated Routers (MDRs) Broadcast Network • The DR is the only interior node of a tree and is a connected dominating set (CDS). • DR and its adjacencies form a tree with n-1 edges. • All nodes agree on a single DR, by selecting the node with largest (RtrPri, RID). Multihop Wireless Network • The CDS nodes generalize the notion of a DR to MDRs • MDR set and its adjacencies form a tree with approximately n-1 edges. • The set of MDRs are chosen by selecting nodes with largest (RtrPri, RID).

  3. Also Generalize Backup Designated Router for Biconnected Redundancy Broadcast network • Backup DR is added for redundancy. • The adjacencies of the DR and Backup DR form a biconnected subgraph. • Each DR Other is adjacent with the DR and the Backup DR. Multihop Wireless Network • Backup MDRs are added for redundancy. • A biconnected backbone is created consisting of MDRs and Backup MDRs. • Each MDR Other selects two (Backup) MDR neighbors to forms adjacencies with.

  4. Similarities that show (Backup) MDRs are a Natural Generalization of (Backup) DR • Single-hop MANET: The MDR-OSPF and OSPF’s DR election algorithm select the same two routers as DR/MDR and Backup DR/MDR. • Adjacencies: DR/MDR Other routers form adjacencies with two (Backup) DR/MDR neighbors. • Adjacency End-Points: One Adjacency end-point must be a DR/MDR or Backup DR/MDR. • Interface States: OSPF-MDR uses the same interface states as broadcast OSPF: “DR” = MDR and “Backup” = Backup MDR • Next Hop Routing: OSPF (in a broadcast network) and OSPF-MDR both allow a non-adjacent neighbor to be used as a next hop.

  5. OSPF-MDR History

  6. Changes from Version 03 to Version 04 • Draft Rewrite: Specified complete details. • Packet Formats: Now specified • Single MDR Selection Algorithm Specified • runs in O(d^2) time, where d is the number of neighbors. • MDR and Backup MDR Parent Selection: Procedure added as phase 4 of the MDR selection algorithm. • Routable Neighbor: Neighbors that can be advertised in router-LSAs and used as next hops.

  7. Changes from Version 04 to Version 05 • Simplified Flooding: LSA Forwarding independent of dependent neighbors. • Neighbor Quality: Stricter quality condition satisfied before Down to Init transition. • Routable Neighbor Quality: Stricter quality condition satisfied before neighbor is declared routable. • Commonly Used Terms: New section.

  8. OSPF-MDR Details

  9. Hello Protocol and 2-Hop Neighbor Info • Hellos append LLS to advertise 2-hop Neighborhood and enable differential hellos • Full State Hello • Includes all neighbors in state Init or greater. • Sent every 2HopRefresh Hellos (on each MANET interface). • Differential Hello • Reduce overhead and allow for faster response to topology changes • Includes only neighbors changed within the last HelloRepeatCount Hellos. • 2-hop Neighbor Information: Maintained by each router and used by the MDR selection algorithm.

  10. MDR Selection Algorithm • Phase 1 – Create the Neighbor Connectivity Matrix • Phase 2 – MDR and Dependent Neighbors Selection • MDR Level, RtrPri, RID used to prioritize MDRs • Dependent Neighbors chosen to ensure connected MDR backbone • Phase 3 – Backup MDR and Backup Dependent Neighbor Selection • MDR Level, RtrPri, RID used to prioritize BMDRs • Backup Dependent Neighbors ensures biconnected (B)MDR backbone • Phase 4 – MDR and Backup MDR Parent Selection • MDRs select themselves as parent (similar for backup) • MDR Others becomes adjacent with their parents • Parents are selected persistently

  11. Example of MDR Selection Algorithm 1 • MDRS: Red nodes • Backup MDRS: Green nodes • Thin black lines: bidirectional neighbors. • Red lines: Adjacencies associated with MDRs • Green lines: Adjacencies added to form a biconnected subgraph. • MDR Other: Becomes adjacent with one MDR and one Backup MDR (or a 2nd MDR). 2 3 4 5 6 7 8

  12. Adjacency Maintenance • Forming biconnected adjacencies: • (Backup) MDR forms an adjacency with each neighboring (Backup) MDR that is (Backup) Dependent • MDR Other forms an adjacency with its (Backup) MDR Parent • Forming uniconnected adjacencies: omit “Backup” in the above • Existing adjacency: Maintain as long as either the router itself or the neighbor is a (Backup) MDR. Otherwise it is torn down.

  13. Flooding Procedure • LSA Processed By Any Bidirectional Neighbor: Exploits the broadcast nature of MANETs. • LSA Forwarding Exclusion: • The LSA or an ACK for the LSA has been received from each neighbor • The LSA was received on a MANET interface, and all neighbors are “covered” by the neighbor from which the LSA was received. • MDR Forwarding: Floods the LSA back out the receiving interface if not excluded. • Backup MDR Forwarding:Waits BackupWaitInterval seconds, and then floods the LSA back out the receiving interface if not excluded. • MDR Other Forwarding: LSAs are never forwarded back out the same interface.

  14. 5 LSU 2 LSAck 1 8 7 4 6 3 Example of MDR Flooding

  15. 5 LSU 2 LSAck 1 8 7 4 6 3 Example of MDR Flooding Delay BackupWait Interval before flooding

  16. 5 LSU 2 LSAck 1 8 7 4 6 3 Example of MDR Flooding Delay BackupWait Interval before flooding

  17. 5 LSU 2 LSAck 1 8 7 4 6 3 Example of MDR Flooding

  18. 5 LSU 2 LSAck 1 8 7 4 6 3 Example of MDR Flooding Cancel Backup Flood Backup

  19. Sending Link State Acknowledgments • All LSAcks sent multicast • LSA Acknowledgement rules: • New LSA: Send a delayed ACK on each MANET interface, unless the LSA is flooded out the interface. • Duplicate multicast LSA: do not send an LSAck. • Duplicate unicast LSA: • If the router is a (Backup) MDR, send an immediate ACK out the receiving interface. • If the router is an MDR Other, send a delayed ACK out the receiving interface.

  20. Receiving Link State Acknowledgments • Acked LSA List: Keeps track of any LSAs the adjacent neighbor has acknowledged, but which the router itself has not yet received. • Necessary because each router acknowledges an LSA only the first time it is received as a multicast. • Additional Processing Steps to RFC 2328 • Reception of an LS ACK newer than the database copy: The LS ACK is added to the Acked LSA List for the sending neighbor. • BackupWait Neighbor List: Backup MDR receives an LSAck for an LSA on the BackupWait List, the sending neighbor is removed from the list of neighbors that have not yet been covered.

  21. Link State Advertisements • Router-LSA Links: The choice of which neighbors to include in the router-LSA is flexible, subject to only two requirements: • A router MUST include all Full neighbors in its router-LSA. • A router MUST NOT include any non-routable neighbors in its router-LSA. • Four options for the router-LSA, depending on LSAFullness: • Minimum LSAs • Full LSAs • MDR Full LSAs • Min-Cost LSAs • The four LSA options are interoperable with each other, since they all satisfy the above two requirements.

  22. Backup Charts • Proceed to see more detail

  23. Changes from Version 04 to Version 05 • Simplified Flooding: Forwarding a new LSA does not depend on which neighbors are dependent. • Neighbor Quality: A router may require that a stricter quality condition be satisfied before changing the state of a MANET neighbor from Down to Init or greater. • Routable Neighbor Quality: A router may require that a stricter quality condition be satisfied before declaring a neighbor to be routable. • Commonly Used Terms: Subsection 1.1 has been added.

  24. Changes from Version 03 to Version 04 • Draft Rewrite: Specified complete details. • Packet Formats: Now specified • MANET Designated Router (MDR): Terminology for a Designated Router (DR) on a MANET interface. • Single MDR Selection Algorithm Specified: previously called the MPN CDS algorithm, which includes the Essential CDS algorithm as a special case. • runs in O(d^2) time, where d is the number of neighbors. • ANP CDS algorithm removed • MDR and Backup MDR Parent Selection: Procedure added as phase 4 of the MDR selection algorithm. • Routable Neighbor: "synchronized neighbors" now known as "routable neighbors", to reflect that such a neighbor is not perfectly synchronized, but is sufficiently synchronized to be advertised in router-LSAs and used as a next hop. • Min-cost LSAs: Partial-topology LSAs which provide minimum cost routes under certain assumptions are added.

  25. Basic Idea – Generalize Designated Router to MANET Designated Routers (MDRs) Broadcast Network • DR and its adjacencies form a tree with n-1 edges. • The DR is the only interior node of the tree, and is a connected dominating set (CDS). • All nodes agree on a single DR, by selecting the node with largest (RtrPri, RID). Multihop Wireless Network • CDS can have multiple nodes. These are again the interior nodes of a spanning tree. • The CDS nodes generalize the notion of a DR to MDRs, and the edges of the spanning tree become the adjacencies. • The set of MDRs can again be kept small by selecting nodes with largest (RtrPri, RID). • For faster convergence, the MDRs select themselves based on 2-hop neighbor information. As a result, the resulting set of adjacencies is not always a tree.

  26. Also Generalize Backup Designated Router for Biconnected Redundancy Broadcast network • Backup DR is added for redundancy. • The adjacencies of the DR and Backup DR form a biconnected subgraph. • Each DR Other is adjacent with the DR and the Backup DR. Multihop Wireless Network • Backup MDRs are added so that each node is a neighbor of at least two (Backup) MDRs. • Additional adjacencies can then be added to form a biconnected backbone consisting of MDRs and Backup MDRs. • Each MDR Other selects two (Backup) MDR neighbors called parents, and forms adjacencies with its parents.

  27. Similarities that show (Backup) MDRs are a Natural Generalization of (Backup) DR • Single-hop MANET: The MDR selection algorithm and OSPF’s DR election algorithm both select the same two routers as DR/MDR and Backup DR/MDR. (The MDR selection algorithm also selects a second Backup MDR to make the backbone biconnected.) • Adjacencies: Each DR/MDR Other forms adjacencies with two (Backup) DR/MDR neighbors, and advertises these two neighbors in Hellos. • Adjacency End-Points: If an adjacency exists between two routers, then one of them must be a DR/MDR or Backup DR/MDR. • Interface States: OSPF-MDR uses the same interface states as OSPF, with the “DR” and “Backup” states implying that the router is an MDR or Backup MDR. • Next Hop Routing: OSPF (in a broadcast network) and OSPF-MDR both allow a non-adjacent neighbor to be used as a next hop, and both originate LSAs (network-LSA for OSPF) that imply that a router can use a non-adjacent neighbor as a next hop. • Due to the general topology of MANETs, a MANET router must explicitly include non-adjacent neighbors in its router-LSA.

  28. Hello Protocol and 2-Hop Neighbor Info • Hellos include • Sequence Number TLV • Hellos potentially include • Heard Neighbor List TLV(neighbors in Init state) • Reported Neighbor List TLV(bidirectional neighbors) • Lost Neighbor List TLV(recently lost neighbors) • Full State Hello • Includes all neighbors in state Init or greater. • Sent every 2HopRefresh Hellos (on each MANET interface). • Differential Hello • Includes only neighbors changed within the last HelloRepeatCount (default 3) Hellos. • Reduce overhead and allow Hellos to be sent more frequently for faster response to topology changes. • 2-hop Neighbor Information: Reported Neighbor Lists (RNL) are maintained by each router, which define the 2-hop neighbor information used by the MDR selection algorithm. • Neighbor Quality: A router may optionally employ hysteresis by requiring a stricter quality condition (e.g., receiving two consecutive Hellos) before changing the state of a new neighbor from Down to Init.

  29. MDR Selection Algorithm (slide 1 of 2) • Phase 1 – Create the Neighbor Connectivity Matrix • Matrix used to identify bidirectional neighbors • Phase 2 – MDR and Dependent Neighbors Selection • Runs in O(d2) time using BFS to compute paths from the neighbor with largest value of (MDR Level, RtrPri, RID) to the other neighbors, using only neighbors with a larger value of (MDR Level, RtrPri, RID) as intermediate nodes. • MDRConstraint: (default 3) constrains the number of hops allowed in the computed paths. A smaller value (2) results in a larger CDS with a smaller stretch factor. • MDR Level: Gives priority to existing MDRs for increased stability (similar to OSPF’s DR election algorithm). • RtrPri: Can depend on bandwidth capacity, battery life, node degree, neighbor stability, etc. RtrPri can also be changed dynamically to share the burden of being an MDR among all routers. • Dependent Neighbors: Used to determine which MDR neighbors to become adjacent with, to ensure the backbone of MDRs is connected.

  30. MDR Selection Algorithm (slide 2 of 2) • Phase 3 – Backup MDR and Backup Dependent Neighbor Selection • Runs in O(d2) time using an algorithm that computes two node-disjoint paths from the neighbor with largest value of (MDR Level, RtrPri, RID) to the other neighbors. • Backup Dependent Neighbors: Used to determine which (Backup) MDR neighbors to become adjacent with, to ensure the backbone of MDRs and Backup MDRs is biconnected. • Phase 4 – MDR and Backup MDR Parent Selection • (Backup) MDR Parent replaces the (Backup) DR interface variable of OSPF. • If the router itself is an MDR, then the MDR Parent is the router itself, otherwise it is a neighboring MDR. (Similar for Backup MDR.) • The (Backup) MDR Parent is advertised in the (Backup) DR field of each Hello. • If the parameter AdjConnectivity = 2 (biconnected), each MDR Other becomes adjacent with both of its parents, ensuring that the adjacency graph is biconnected. • To maximize stability of adjacencies, the parents are selected persistently, i.e., the existing (Backup) MDR Parent is kept whenever possible.

  31. Example of MDR Selection Algorithm 1 • Node numbers: RIDs. • Thin lines: bidirectional neighbors. • Red nodes: MDRs. • Green nodes: Backup MDRs. • Red lines: Adjacencies associated with MDRs, which form a tree in this case. • Green lines: Adjacencies added to form a biconnected subgraph. • MDR Other: Becomes adjacent with one MDR and one Backup MDR (or a 2nd MDR). • Example: Node 6 does not select itself as MDR, since there is a path from node 8 to each other neighbor via nodes with larger RID. But node 6 selects itself as Backup MDR, since there do not exist two such paths from node 8 to neighbors 2, 3, 4, and 7. 2 3 4 5 6 7 8

  32. Adjacency Maintenance • Forming biconnected adjacencies: • Each (Backup) MDR forms an adjacency with each neighboring (Backup) MDR that is (Backup) Dependent, providing a biconnected backbone. • Each MDR Other forms an adjacency with its (Backup) MDR Parent, creating a biconnected adjacency graph. • Forming uniconnected adjacencies: omit “Backup” in the above • Existing adjacency: Maintain as long as either the router itself or the neighbor is a (Backup) MDR. Otherwise it is torn down. • MDR TLV: To form new adjacencies more quickly in mobile networks, initialization DD packets include the MDR Parent and Backup MDR Parent of the sending router. • Database Exchange Optimization: A router (master or slave) performing database exchange does not include an LSA header in its DD packets if it knows the neighbor has the same or newer instance of the LSA. Reduces DD packet overhead by about 50%.

  33. Flooding Procedure • LSA Processed By Any Bidirectional Neighbor: Exploits the broadcast nature of MANETs. • LSA Forwarding Exclusion: No forwarding is performed if either of the following two conditions are satisfied for all bidirectional neighbors on the interface: • The LSA or an ACK for the LSA has been received from each neighbor. • The LSA was received on a MANET interface, and all neighbors are “covered” by another neighbor from which the LSA was received. • MDR Forwarding: Floods the LSA back out the receiving interface if there exists a bidirectional neighbor that does not satisfy condition (a) or (b). • Backup MDR Forwarding:Waits BackupWaitInterval seconds, and then floods the LSA back out the receiving interface if there exists a bidirectional neighbor that does not satisfy condition (a) or (b). • MDR Other Forwarding: LSAs are never forwarded back out the same interface. • Multiple MANET Interfaces: Optional step which avoids redundant forwarding when flooding occurs over multiple MANET interfaces.

  34. Example of MDR Flooding 1 • Node 8 originates and floods a new router-LSA. • If node 7 (MDR) receives the new LSA, it floods the LSA back out the same interface. • If node 6 (BMDR) receives the new LSA, it waits BackupWaitInterval seconds. If during this interval it hears node 7 or 4 forward the LSA, then it does not flood the LSA since all neighbors are covered. Otherwise node 6 floods the LSA unless it has received an ACK for the LSA from nodes 2, 3, and 4. (Nodes 5 and 7 were covered when node 8 flooded the LSA.) • If node 4 (MDR) receives the new LSA from any neighbor, it floods the LSA. • If node 3 (BMDR) receives the new LSA from any neighbor, it waits BackupWaitInterval seconds, and then floods the LSA unless all neighbors are covered. 2 3 4 5 6 7 8

  35. Sending Link State Acknowledgments • All LSAcks sent multicast: LSAcks on MANET interfaces are sent to AllSPFRouters. • LSA Acknowledgement rules: • New LSA: Send a delayed ACK on each MANET interface, unless the LSA is flooded out the interface. • Duplicate multicast LSA: do not send an LSAck. • Duplicate unicast LSA: • If the router is a (Backup) MDR, send an immediate ACK out the receiving interface. • If the router is an MDR Other, send a delayed ACK out the receiving interface. • Immediate LSAcks are sent in case (a) is to prevent other adjacent neighbors from retransmitting the LSA.

  36. Receiving Link State Acknowledgments • Acked LSA List: Keeps track of any LSAs the adjacent neighbor has acknowledged, but which the router itself has not yet received. • Necessary because, unlike RFC 2328, each router acknowledges an LSA only the first time it is received as a multicast. • Additional Processing Steps to RFC 2328 • Reception of an LS ACK newer than the database copy: The LS ACK is added to the Acked LSA List for the sending neighbor. • BackupWait Neighbor List: Backup MDR receives an LSAck for an LSA on the BackupWait List, the sending neighbor is removed from the list of neighbors that have not yet been covered.

  37. Routable Neighbors • Routable Neighbor Definition • A neighbor in state Full, or • The SPF calculation has produced a route to the neighbor and the neighbor satisfies a flexible quality condition. • Routable MANET neighbors can • be used as next hops in the SPF calculation • be included in the router-LSA originated by the router • Generalization of the Broadcast Network • Non-adjacent neighbors are used as a next hop, if both routers are fully adjacent to the DR. • The network-LSA of an OSPF broadcast network implies that a router can use a non-adjacent neighbor as a next hop. But a network-LSA cannot describe the general topology of a MANET, making it necessary to explicitly include non-adjacent neighbors in the router-LSA. • Allowing only adjacent neighbors in LSAs would either result in suboptimal paths or would require a large number of adjacencies.

  38. Link State Advertisements • Router-LSA Links: The choice of which neighbors to include in the router-LSA is flexible, subject to only two requirements: • A router MUST include all Full neighbors in its router-LSA. • A router MUST NOT include any non-routable neighbors in its router-LSA. • Four options for the router-LSA, depending on LSAFullness: • Minimum LSAs: Include only fully adjacent neighbors. • Full LSAs: Include all routable neighbors. • MDR Full LSAs: Only (Backup) MDRs originate Full LSAs, other routers originate Minimum LSAs. • Min-Cost LSAs: Include the minimum set of neighbors to provide a 2-hop path between each pair of neighbors, based on the neighbors’ LSAs. Provides min-hop routing if all link costs are equal. Provides min-cost routing under certain assumptions. • The four LSA options are interoperable with each other, since they all satisfy the above two requirements.

More Related