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

About This Presentation
Title:

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

Description:

A smaller value (2) results in a larger CDS with a smaller stretch factor. ... existing MDRs for increased stability (similar to OSPF's DR election algorithm) ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 39
Provided by: richar376
Learn more at: https://www.ietf.org
Category:

less

Transcript and Presenter's Notes

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


1
MANET Extension of OSPF Using CDS
Floodingdraft-ogier-manet-ospf-extension-05.txt
IETF Meeting - OSPF WG
  • 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 OSPFs 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(d2) 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
  • 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).

1
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
Example of MDR Flooding
15
Example of MDR Flooding
Delay BackupWait Interval before flooding
16
Example of MDR Flooding
Delay BackupWait Interval before flooding
17
Example of MDR Flooding
18
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(d2) 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 OSPFs 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 OSPFs 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
  • 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.

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

1
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.
Write a Comment
User Comments (0)
About PowerShow.com