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
2Basic 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).
3Also 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.
4Similarities 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.
5OSPF-MDR History
6Changes 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.
7Changes 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.
8OSPF-MDR Details
9Hello 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.
10MDR 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
11Example 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
12Adjacency 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.
13Flooding 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.
14Example of MDR Flooding
15Example of MDR Flooding
Delay BackupWait Interval before flooding
16Example of MDR Flooding
Delay BackupWait Interval before flooding
17Example of MDR Flooding
18Example of MDR Flooding
Cancel Backup
Flood Backup
19Sending 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.
20Receiving 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.
21Link 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.
22Backup Charts
- Proceed to see more detail
23Changes 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.
24Changes 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.
25Basic 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.
26Also 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.
27Similarities 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.
28Hello 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.
29MDR 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.
30MDR 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.
31Example 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
32Adjacency 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.
33Flooding 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.
34Example 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
35Sending 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.
36Receiving 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.
37Routable 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.
38Link 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.