draft-ietf-mpls-rmr-00.txt   draft-ietf-mpls-rmr-01.txt 
MPLS WG K. Kompella MPLS WG K. Kompella
Internet-Draft Juniper Networks, Inc. Internet-Draft Juniper Networks, Inc.
Intended status: Standards Track L. Contreras Intended status: Standards Track L. Contreras
Expires: May 4, 2016 Telefonica I+D Expires: September 22, 2016 Telefonica I+D
November 1, 2015 March 21, 2016
Resilient MPLS Rings Resilient MPLS Rings
draft-ietf-mpls-rmr-00 draft-ietf-mpls-rmr-01
Abstract Abstract
This document describes the use of the MPLS control and data planes This document describes the use of the MPLS control and data planes
on ring topologies. It describes the special nature of rings, and on ring topologies. It describes the special nature of rings, and
proceeds to show how MPLS can be effectively used in such topologies. proceeds to show how MPLS can be effectively used in such topologies.
It describes how MPLS rings are configured, auto-discovered and It describes how MPLS rings are configured, auto-discovered and
signaled, as well as how the data plane works. Companion documents signaled, as well as how the data plane works. Companion documents
describe the details of discovery and signaling for specific describe the details of discovery and signaling for specific
protocols. protocols.
skipping to change at page 1, line 43 skipping to change at page 1, line 43
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 4, 2016. This Internet-Draft will expire on September 22, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 24 skipping to change at page 2, line 24
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3
2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Theory of Operation . . . . . . . . . . . . . . . . . . . . . 5 3. Theory of Operation . . . . . . . . . . . . . . . . . . . . . 5
3.1. Provisioning . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Provisioning . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Ring Nodes . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. Ring Nodes . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. Ring Links and Directions . . . . . . . . . . . . . . . . 6 3.3. Ring Links and Directions . . . . . . . . . . . . . . . . 6
3.3.1. Bypass Links . . . . . . . . . . . . . . . . . . . . 6 3.3.1. Express Links . . . . . . . . . . . . . . . . . . . . 6
3.4. Ring LSPs . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4. Ring LSPs . . . . . . . . . . . . . . . . . . . . . . . . 6
3.5. Installing Primary LFIB Entries . . . . . . . . . . . . . 7 3.5. Installing Primary LFIB Entries . . . . . . . . . . . . . 7
3.6. Installing FRR LFIB Entries . . . . . . . . . . . . . . . 7 3.6. Installing FRR LFIB Entries . . . . . . . . . . . . . . . 7
3.7. Protection . . . . . . . . . . . . . . . . . . . . . . . 8 3.7. Protection . . . . . . . . . . . . . . . . . . . . . . . 7
4. Autodiscovery . . . . . . . . . . . . . . . . . . . . . . . . 9 4. Autodiscovery . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2. Ring Announcement Phase . . . . . . . . . . . . . . . . . 10 4.2. Ring Announcement Phase . . . . . . . . . . . . . . . . . 11
4.3. Mastership Phase . . . . . . . . . . . . . . . . . . . . 11 4.3. Mastership Phase . . . . . . . . . . . . . . . . . . . . 11
4.4. Ring Identification Phase . . . . . . . . . . . . . . . . 11 4.4. Ring Identification Phase . . . . . . . . . . . . . . . . 12
4.5. Ring Changes . . . . . . . . . . . . . . . . . . . . . . 11 4.5. Ring Changes . . . . . . . . . . . . . . . . . . . . . . 12
5. Ring Signaling . . . . . . . . . . . . . . . . . . . . . . . 12 5. Ring Signaling . . . . . . . . . . . . . . . . . . . . . . . 13
6. Ring OAM . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6. Ring OAM . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
10.1. Normative References . . . . . . . . . . . . . . . . . . 13 10.1. Normative References . . . . . . . . . . . . . . . . . . 14
10.2. Informative References . . . . . . . . . . . . . . . . . 13 10.2. Informative References . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
Rings are a very common topology in transport networks. A ring is Rings are a very common topology in transport networks. A ring is
the simplest topology offering link and node resilience. Rings are the simplest topology offering link and node resilience. Rings are
nearly ubiquitous in access and aggregation networks. As MPLS nearly ubiquitous in access and aggregation networks. As MPLS
increases its presence in such networks, and takes on a greater role increases its presence in such networks, and takes on a greater role
in transport, it is imperative that MPLS handles rings well; this is in transport, it is imperative that MPLS handles rings well; this is
not the case today. not the case today.
This document describes the special nature of rings, and the special This document describes the special nature of rings, and the special
needs of MPLS on rings. It then shows how these needs can be met in needs of MPLS on rings. It then shows how these needs can be met in
several ways, some of which involve extensions to protocols such as several ways, some of which involve extensions to protocols such as
IS-IS [RFC5305], OSPF[RFC3630], RSVP-TE [RFC3209] and LDP [RFC5036]. IS-IS [RFC5305], OSPF[RFC3630], RSVP-TE [RFC3209] and LDP [RFC5036].
The intent of this document is to handle rings that "occur The intent of this document is to handle rings that "occur
naturally". Many access and aggregation networks in metros have naturally". Many access and aggregation networks in metros have
their start as a simple ring. They may then grow into more complex their start as a simple ring. They may then grow into more complex
topologies, for example, by adding parallel links to the ring, or by topologies, for example, by adding parallel links to the ring, or by
adding "bypass" links. The goal here is to discover these rings adding "express" links. The goal here is to discover these rings
(with some guidance), and run MPLS over them efficiently. The intent (with some guidance), and run MPLS over them efficiently. The intent
is not to construct rings in a mesh network, and use those for is not to construct rings in a mesh network, and use those for
protection. protection.
1.1. Definitions 1.1. Definitions
A (directed) graph G = (V, E) consists of a set of vertices (or A (directed) graph G = (V, E) consists of a set of vertices (or
nodes) V and a set of edges (or links) E. An edge is an ordered pair nodes) V and a set of edges (or links) E. An edge is an ordered pair
of nodes (a, b), where a and b are in V. (In this document, the of nodes (a, b), where a and b are in V. (In this document, the
terms node and link will be used instead of vertex and edge.) terms node and link will be used instead of vertex and edge.)
skipping to change at page 4, line 20 skipping to change at page 4, line 20
document. document.
Ring master: The ring master initiates the ring identification Ring master: The ring master initiates the ring identification
process. Mastership is indicated in the IGP by a two-bit field. process. Mastership is indicated in the IGP by a two-bit field.
Ring neighbors: Nodes whose indices differ by one (modulo ring Ring neighbors: Nodes whose indices differ by one (modulo ring
size). size).
Ring links: Links that connnect ring neighbors. Ring links: Links that connnect ring neighbors.
Bypass links: Links that connnect non-neighboring ring nodes. Express links: Links that connnect non-neighboring ring nodes.
Ring direction: A two-bit field in the IGP indicating the direction Ring direction: A two-bit field in the IGP indicating the direction
of a link. The choices are: of a link. The choices are:
UN: 00 undefined link UN: 00 undefined link
CW: 01 clockwise ring link CW: 01 clockwise ring link
AC: 10 anticlockwise ring link AC: 10 anticlockwise ring link
BY: 11 bypass link EX: 11 express link
Ring Identification: The process of discovering ring nodes, ring Ring Identification: The process of discovering ring nodes, ring
links, link directions, and bypass links. links, link directions, and express links.
The following notation is used for ring LSPs: The following notation is used for ring LSPs:
R_k: A ring node with index k. R_k has AC neighbor R_(k-1) and CW R_k: A ring node with index k. R_k has AC neighbor R_(k-1) and CW
neighbor R_(k+1). neighbor R_(k+1).
RL_k: A (unicast) Ring LSP anchored on node R_k. RL_k: A (unicast) Ring LSP anchored on node R_k.
CL_jk (AL_jk): A label allocated by R_j for RL_k in the CW (AC) CL_jk (AL_jk): A label allocated by R_j for RL_k in the CW (AC)
direction. direction.
skipping to change at page 5, line 21 skipping to change at page 5, line 21
bring-up of LSPs, better bandwidth management and for auto-hierarchy. bring-up of LSPs, better bandwidth management and for auto-hierarchy.
These goals can be achieved using extensions to existing IGP and MPLS These goals can be achieved using extensions to existing IGP and MPLS
signaling protocols, using central provisioning, or in other ways. signaling protocols, using central provisioning, or in other ways.
3. Theory of Operation 3. Theory of Operation
Say a ring has ring ID RID. The ring is provisioned by choosing one Say a ring has ring ID RID. The ring is provisioned by choosing one
or more ring masters for the ring and assigning them the RID. Other or more ring masters for the ring and assigning them the RID. Other
nodes in the ring may also be assigned this RID, or may be configured nodes in the ring may also be assigned this RID, or may be configured
as "promiscuous". Ring discovery then kicks in. When each ring node as "promiscuous". Ring discovery then kicks in. When each ring node
knows its CW and AC ring neighbors and its ring links, and all bypass knows its CW and AC ring neighbors and its ring links, and all
links have been identified, ring identification is complete. express links have been identified, ring identification is complete.
Once ring identification is complete, each node signals one or more Once ring identification is complete, each node signals one or more
ring LSPs RL_i. RL_i, anchored on node R_i, consists of two counter- ring LSPs RL_i. RL_i, anchored on node R_i, consists of two counter-
rotating unicast LSPs that start and end at R_i. A ring LSP is rotating unicast LSPs that start and end at R_i. A ring LSP is
"multipoint": any node R_j can use RL_i to send traffic to R_i; this "multipoint": any node R_j can use RL_i to send traffic to R_i; this
can be in either the CW or AC directions, or both (i.e., load can be in either the CW or AC directions, or both (i.e., load
balanced). Both of these counter-rotating LSPs are "active"; the balanced). Both of these counter-rotating LSPs are "active"; the
choice of direction to send traffic to R_i is determined by policy at choice of direction to send traffic to R_i is determined by policy at
the node where traffic is injected into the ring. The default is to the node where traffic is injected into the ring. The default is to
send traffic along the shortest path. Bidirectional connectivity send traffic along the shortest path. Bidirectional connectivity
skipping to change at page 6, line 7 skipping to change at page 6, line 7
3.2. Ring Nodes 3.2. Ring Nodes
Ring nodes have a loopback address, and run a link-state IGP and an Ring nodes have a loopback address, and run a link-state IGP and an
MPLS signaling protocol. To provision a node as a ring node for ring MPLS signaling protocol. To provision a node as a ring node for ring
RID, the node is simply assigned that RID. A node may be part of RID, the node is simply assigned that RID. A node may be part of
several rings, and thus may be assigned several ring IDs. several rings, and thus may be assigned several ring IDs.
To simplify ring provisioning even further, a node N may be made To simplify ring provisioning even further, a node N may be made
"promiscuous" by being assigned an RID of 0. A promiscuous node "promiscuous" by being assigned an RID of 0. A promiscuous node
listens to RIDs in its IGP neighbors' link-state updates. If N hears listens to RIDs in its IGP neighbors' link-state updates. For every
a non-zero RID from a neighbor, it joins that ring by taking on that non-zero RID N hears from a neighbor, N joins the corresponding ring
RID. However, if N hears more than one non-zero RID from its by taking on that RID. In many situations, the use of promiscuous
neighbors, N remains in promiscuous mode. In many situations, the mode means that only one or two nodes in a ring needs to be
use of promiscuous mode means that only one or two nodes in the ring provisioned; everything else is auto-discovered.
needs to be provisioned; everything else is auto-discovered.
A ring node indicates in its IGP updates the ring LSP signaling A ring node indicates in its IGP updates the ring LSP signaling
protocols it supports. This can be LDP and/or RSVP-TE. Ideally, protocols it supports. This can be LDP and/or RSVP-TE. Ideally,
each node should support both. each node should support both.
3.3. Ring Links and Directions 3.3. Ring Links and Directions
Ring links must be MPLS-capable. They are by default unnumbered, Ring links must be MPLS-capable. They are by default unnumbered,
point-to-point (from the IGP point of view) and "auto-bundled". The point-to-point (from the IGP point of view) and "auto-bundled". The
last attribute means that parallel links between ring neighbors are last attribute means that parallel links between ring neighbors are
skipping to change at page 6, line 41 skipping to change at page 6, line 40
at the packet layer. at the packet layer.
A ring link is not provisioned as belonging to the ring; it is A ring link is not provisioned as belonging to the ring; it is
discovered to belong to ring RID if both its adjacent nodes belong to discovered to belong to ring RID if both its adjacent nodes belong to
RID. A ring link's direction (CW or AC) is also discovered; this RID. A ring link's direction (CW or AC) is also discovered; this
process is initiated by the ring's ring master. Note that the above process is initiated by the ring's ring master. Note that the above
two attributes can be overridden by provisioning if needed; it is two attributes can be overridden by provisioning if needed; it is
then up to the provisioning system to maintain consistency across the then up to the provisioning system to maintain consistency across the
ring. ring.
3.3.1. Bypass Links 3.3.1. Express Links
Bypass links are discovered once ring nodes, ring links and Express links are discovered once ring nodes, ring links and
directions have been established. As defined earlier, bypass links directions have been established. As defined earlier, express links
are links joining non-neighboring ring nodes; often, this may be the are links joining non-neighboring ring nodes; often, this may be the
result of optically bypassing ring nodes. The use of bypass links result of optically bypassing ring nodes. The use of express links
will be described in a future version of this document. will be described in a future version of this document.
3.4. Ring LSPs 3.4. Ring LSPs
Ring LSPs are not provisioned. Once a ring node R_i knows its RID, Ring LSPs are not provisioned. Once a ring node R_i knows its RID,
its ring links and directions, it kicks off ring LSP signaling its ring links and directions, it kicks off ring LSP signaling
automatically. R_i allocates CW and AC labels for each ring LSP automatically. R_i allocates CW and AC labels for each ring LSP
RL_k. R_i also initiates the creation of RL_i. As the signaling RL_k. R_i also initiates the creation of RL_i. As the signaling
propagates around the ring, CW and AC labels are exchanged. When R_i propagates around the ring, CW and AC labels are exchanged. When R_i
receives CW and AC labels for RL_k from its ring neighbors, primary receives CW and AC labels for RL_k from its ring neighbors, primary
skipping to change at page 8, line 8 skipping to change at page 7, line 48
it can also set up the protection forwarding entries for RL_k. In it can also set up the protection forwarding entries for RL_k. In
the CW direction, R_j sets up an FRR LFIB entry to swap incoming the CW direction, R_j sets up an FRR LFIB entry to swap incoming
label CL_jk with AL_j-1,k with next hop R_j-1. In the AC direction, label CL_jk with AL_j-1,k with next hop R_j-1. In the AC direction,
R_j sets up an FRR LFIB entry to swap incoming label AL_jk with R_j sets up an FRR LFIB entry to swap incoming label AL_jk with
CL_j+1,k with next hop R_j+1. Again, R_k does not install FRR LFIB CL_j+1,k with next hop R_j+1. Again, R_k does not install FRR LFIB
entries in this manner. entries in this manner.
3.7. Protection 3.7. Protection
In this scheme, there are no protection LSPs as such -- no node or In this scheme, there are no protection LSPs as such -- no node or
link bypasses, no standby LSPs, no detours, and no LFA-type link bypass LSPs, no standby LSPs, no detours, and no LFA-type
protection. Protection is via the "other" direction around the ring, protection. Protection is via the "other" direction around the ring,
which is why ring LSPs are in counter-rotating pairs. Protection which is why ring LSPs are in counter-rotating pairs. Protection
works in the same way for link, node and ring LSP failures. works in the same way for link, node and ring LSP failures.
If a node R_j detects a failure from R_j+1 -- either all links to If a node R_j detects a failure from R_j+1 -- either all links to
R_j+1 fail, or R_j+1 itself fails, R_j switches traffic on all CW R_j+1 fail, or R_j+1 itself fails, R_j switches traffic on all CW
ring LSPs to the AC direction using the FRR LFIB entries. If the ring LSPs to the AC direction using the FRR LFIB entries. If the
failure is specific to a single ring LSP, R_j switches traffic just failure is specific to a single ring LSP, R_j switches traffic just
for that LSP. In either case, this switchover can be very fast, as for that LSP. In either case, this switchover can be very fast, as
the FRR LFIB entries can be preprogrammed. Fast detection and fast the FRR LFIB entries can be preprogrammed. Fast detection and fast
skipping to change at page 9, line 33 skipping to change at page 9, line 30
v . RID = 17 . v v . RID = 17 . v
R6 R3 R6 R3
. . . .
R5 . . . R4 R5 . . . R4
\ / \ /
\ / \ /
An An
Figure 2: Ring with non-ring nodes and links Figure 2: Ring with non-ring nodes and links
In what follows, we refer to a ring Type-Length-Value (TLV). This is In what follows, we refer to a ring node and a rink link Type-Length-
a new TLV that contains an RID and associated flags. A ring link TLV Value (TLV). These are new TLVs that contain RIDs and associated
is a ring TLV that appears as a sub-TLV of a traffic engineering TLV flags. In IS-IS, the ring node TLV is a new TLV. In OSPF, it is a
(TE TLV) of each link that is identified as a ring link or a bypass new top-level TLV of the TE LSA. A ring link TLV is a sub-TLV of a
link. For IS-IS, the TE TLV is the extended reachability TLV; for traffic engineering TLV (TE TLV) of each link that is identified as a
OSPF, it is the Link TLV in the opaque TE LSA. A ring node TLV is a ring link and contains information about every ring that the link is
ring TLV that appears as a sub-TLV of a "node TLV" once for each ring part of. For IS-IS, the TE TLV is the extended reachability TLV; for
this node is participating in. In IS-IS, the node TLV is the Router OSPF, it is the Link TLV in the opaque TE LSA. Both types of ring
ID TLV; in OSPF, it is a new top-level TLV of the TE LSA. The ring TLVs have the same format, but the flags fields have different
direction field is ignored in ring node TLVs. semantics.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (TBD) | Length = 8 | Ring ID (4 octets) ... | | Type (TBD) | Length = 6*N | Ring ID 1 (4 octets) ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... (RID continued) | Ring Flags (2 octets) | | ... (RID continued) | Flags (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ring ID 2 (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags (2 octets) | Ring ID 2 (4 octets) ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... (RID continued) | Flags (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... etc. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IS-IS Ring TLV Format IS-IS Ring TLV Format
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (TBD) | Length = 12 | | Type (TBD) | Length = 8*N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ring ID (4 octets) | | Ring ID 1 (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ring Flags (2 octets) | Pad (2 octets) | | Flags (2 octets) | Pad (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ring ID 2 (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags (2 octets) | Pad (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... etc. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Pad is set to zero when sending and ignored on receipt. Pad is set to zero when sending and ignored on receipt.
OSPF Ring TLV Format OSPF Ring TLV Format
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MV |RD |SP |OP |M| MBZ | |MV |SS | SO | MBZ |SU |M|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
MV: Mastership Value MV: Mastership Value
RD: Ring Direction SS: Supported Signaling Protocols (10 = RSVP-TE; 01 = LDP)
SP: Signaling Protocols (10 = RSVP-TE; 01 = LDP) SO: Supported OAM Protocols (100 = BFD; 010 = CFM; 001 = EFM)
OP: OAM Protocols (10 = BFD; 01 = EFM) SU: Signaling Protocol to Use (00 = none; 01 = LDP; 10 = RSVP-TE)
M : Elected Master (0 = no, 1 = yes) M : Elected Master (0 = no, 1 = yes)
Ring Flags Format Flags for a Ring Node TLV
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RD |OAM| MBZ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
RD: Ring Direction
OAM: OAM Protocols (00 = none; 01 = BFD; 10 = CFM; 11 = EFM)
Flags for a Ring Link TLV
4.2. Ring Announcement Phase 4.2. Ring Announcement Phase
Each node participating in an MPLS ring is assigned an RID; in the Each node participating in an MPLS ring is assigned an RID; in the
example, RID = 17. A node is also provisioned with a mastership example, RID = 17. A node is also provisioned with a mastership
value. Each node advertises a ring node TLV for each ring it is value. Each node advertises a ring node TLV for each ring it is
participating in, along with the associated flags. It then starts participating in, along with the associated flags. It then starts
timer T1. timer T1.
A node in promiscuous mode doesn't advertise any ring node TLVs. If A node in promiscuous mode doesn't advertise any ring node TLVs.
it hears exactly one non-zero RID from its IGP neighbors, it joins However, when it hears a ring node TLV from an IGP neighbor, it joins
that ring, and sends one ring node TLV with that RID. If it hears that ring, and sends its own ring node TLV with that RID.
more than one RID from its IGP neighbors, it doesn't join any rings,
and withdraws any ring node TLVs it may have advertised.
The announcement phase allows a ring node to discover other ring The announcement phase allows a ring node to discover other ring
nodes in the same ring so that a ring master can be elected and ring nodes in the same ring so that a ring master can be elected.
links be identified.
4.3. Mastership Phase 4.3. Mastership Phase
When timer T1 fires, a node enters the mastership phase. In this When timer T1 fires, a node enters the mastership phase. In this
phase, each ring node N starts timer T2 and checks if it is master. phase, each ring node N starts timer T2 and checks if it is master.
If it is the node with the lowest loopback address of all nodes with If it is the node with the lowest loopback address of all nodes with
the highest mastership values, N declares itself master by the highest mastership values, N declares itself master by
readvertising its ring node TLV with the M bit set. readvertising its ring node TLV with the M bit set.
When timer T2 fires, each node examines the ring node TLVs from all When timer T2 fires, each node examines the ring node TLVs from all
skipping to change at page 11, line 37 skipping to change at page 12, line 26
In the Ring Identification Phase, a node X that has two or more IGP In the Ring Identification Phase, a node X that has two or more IGP
neighbors that belong to the ring picks one of them to be its CW ring neighbors that belong to the ring picks one of them to be its CW ring
neighbor. If X is the ring master, it also picks a node as its AC neighbor. If X is the ring master, it also picks a node as its AC
ring neighbor. If there are exactly two such nodes, this step is ring neighbor. If there are exactly two such nodes, this step is
trivial. If not, X computes a ring that includes all nodes that have trivial. If not, X computes a ring that includes all nodes that have
completed the Ring Identification Phase (as seen by their ring link completed the Ring Identification Phase (as seen by their ring link
TLVs) and further contains the maximal number of nodes that belong to TLVs) and further contains the maximal number of nodes that belong to
the ring. Based on that, X picks a CW neighbor and inserts ring link the ring. Based on that, X picks a CW neighbor and inserts ring link
TLVs with ring direction CW for each link to its CW neighbor; X also TLVs with ring direction CW for each link to its CW neighbor; X also
inserts a ring link TLV with direction AC for each link to its AC inserts a ring link TLV with direction AC for each link to its AC
neighbor. Then, X determines its bypass links. These are links neighbor. Then, X determines its express links. These are links
connected to ring nodes that are not ring neighbors. X advertises connected to ring nodes that are not ring neighbors. X advertises
ring link TLVs for bypass links by setting the link direction to ring link TLVs for express links by setting the link direction to
"bypass link". "express link".
4.5. Ring Changes 4.5. Ring Changes
The main changes to a ring are: The main changes to a ring are:
ring link addition; ring link addition;
ring link deletion; ring link deletion;
ring node addition; and ring node addition; and
skipping to change at page 12, line 12 skipping to change at page 13, line 4
ring node deletion. ring node deletion.
The main goal of handling ring changes is (as much as possible) not The main goal of handling ring changes is (as much as possible) not
to perturb existing ring operation. Thus, if the ring master hasn't to perturb existing ring operation. Thus, if the ring master hasn't
changed, all of the above changes should be local to the point of changed, all of the above changes should be local to the point of
change. Link adds just update the IGP; signaling should take change. Link adds just update the IGP; signaling should take
advantage of the new capacity as soon as it learns. Link deletions advantage of the new capacity as soon as it learns. Link deletions
in the case of parallel links also show up as a change in capacity in the case of parallel links also show up as a change in capacity
(until the last link in the bundle is removed.) (until the last link in the bundle is removed.)
The removal of the last ring link between two nodes, or the removal The removal of the last ring link between two nodes, or the removal
of a ring node is an event that triggers protection switching. In a of a ring node is an event that triggers protection switching. In a
simple ring, the result is a broken ring. However, if a ring has simple ring, the result is a broken ring. However, if a ring has
bypass links, then it may be able to converge to a smaller ring with express links, then it may be able to converge to a smaller ring with
protection. Details of this process will be given in a future protection. Details of this process will be given in a future
version. version.
The addition of a new ring node can also be handled incrementally. The addition of a new ring node can also be handled incrementally.
Again, the details of this process will be given in a futre version. Again, the details of this process will be given in a futre version.
5. Ring Signaling 5. Ring Signaling
A future version of this document will specify protocol-independent A future version of this document will specify protocol-independent
details about ring LSP signaling. details about ring LSP signaling.
6. Ring OAM 6. Ring OAM
Each ring node should advertise in its ring node TLV the OAM Each ring node should advertise in its ring node TLV the OAM
protocols it supports. Each ring node is expected to run a link- protocols it supports. Each ring node is expected to run a link-
level OAM over each ring and bypass link. This should be an OAM level OAM over each ring link. This should be an OAM protocol that
protocol that both neighbors agree on. The default hello time is 3.3 both neighbors agree on. The default hello time is 3.3 millisecond.
millisecond.
Each ring node also sends OAM messages over each direction of its Each ring node also sends OAM messages over each direction of its
ring LSP. This is a multi-hop OAM to check LSP liveness; typically, ring LSP. This is a multi-hop OAM to check LSP liveness; typically,
BFD would be used for this. The node chooses the hello interval; the BFD would be used for this. The node chooses the hello interval; the
default is once a second. default is once a second.
7. Security Considerations 7. Security Considerations
It is not anticipated that either the notion of MPLS rings or the It is not anticipated that either the notion of MPLS rings or the
extensions to various protocols to support them will cause new extensions to various protocols to support them will cause new
 End of changes. 34 change blocks. 
77 lines changed or deleted 95 lines changed or added

This html diff was produced by rfcdiff 1.44. The latest version is available from http://tools.ietf.org/tools/rfcdiff/