idnits 2.17.1 draft-ietf-mpls-rmr-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 21, 2016) is 2957 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 MPLS WG K. Kompella 3 Internet-Draft Juniper Networks, Inc. 4 Intended status: Standards Track L. Contreras 5 Expires: September 22, 2016 Telefonica I+D 6 March 21, 2016 8 Resilient MPLS Rings 9 draft-ietf-mpls-rmr-01 11 Abstract 13 This document describes the use of the MPLS control and data planes 14 on ring topologies. It describes the special nature of rings, and 15 proceeds to show how MPLS can be effectively used in such topologies. 16 It describes how MPLS rings are configured, auto-discovered and 17 signaled, as well as how the data plane works. Companion documents 18 describe the details of discovery and signaling for specific 19 protocols. 21 Requirements Language 23 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 24 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 25 document are to be interpreted as described in [RFC2119]. 27 Status of This Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at http://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on September 22, 2016. 44 Copyright Notice 46 Copyright (c) 2016 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (http://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 62 1.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3 63 2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4 64 3. Theory of Operation . . . . . . . . . . . . . . . . . . . . . 5 65 3.1. Provisioning . . . . . . . . . . . . . . . . . . . . . . 5 66 3.2. Ring Nodes . . . . . . . . . . . . . . . . . . . . . . . 5 67 3.3. Ring Links and Directions . . . . . . . . . . . . . . . . 6 68 3.3.1. Express Links . . . . . . . . . . . . . . . . . . . . 6 69 3.4. Ring LSPs . . . . . . . . . . . . . . . . . . . . . . . . 6 70 3.5. Installing Primary LFIB Entries . . . . . . . . . . . . . 7 71 3.6. Installing FRR LFIB Entries . . . . . . . . . . . . . . . 7 72 3.7. Protection . . . . . . . . . . . . . . . . . . . . . . . 7 73 4. Autodiscovery . . . . . . . . . . . . . . . . . . . . . . . . 9 74 4.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 9 75 4.2. Ring Announcement Phase . . . . . . . . . . . . . . . . . 11 76 4.3. Mastership Phase . . . . . . . . . . . . . . . . . . . . 11 77 4.4. Ring Identification Phase . . . . . . . . . . . . . . . . 12 78 4.5. Ring Changes . . . . . . . . . . . . . . . . . . . . . . 12 79 5. Ring Signaling . . . . . . . . . . . . . . . . . . . . . . . 13 80 6. Ring OAM . . . . . . . . . . . . . . . . . . . . . . . . . . 13 81 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 82 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 83 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 84 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 85 10.1. Normative References . . . . . . . . . . . . . . . . . . 14 86 10.2. Informative References . . . . . . . . . . . . . . . . . 14 87 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 89 1. Introduction 91 Rings are a very common topology in transport networks. A ring is 92 the simplest topology offering link and node resilience. Rings are 93 nearly ubiquitous in access and aggregation networks. As MPLS 94 increases its presence in such networks, and takes on a greater role 95 in transport, it is imperative that MPLS handles rings well; this is 96 not the case today. 98 This document describes the special nature of rings, and the special 99 needs of MPLS on rings. It then shows how these needs can be met in 100 several ways, some of which involve extensions to protocols such as 101 IS-IS [RFC5305], OSPF[RFC3630], RSVP-TE [RFC3209] and LDP [RFC5036]. 103 The intent of this document is to handle rings that "occur 104 naturally". Many access and aggregation networks in metros have 105 their start as a simple ring. They may then grow into more complex 106 topologies, for example, by adding parallel links to the ring, or by 107 adding "express" links. The goal here is to discover these rings 108 (with some guidance), and run MPLS over them efficiently. The intent 109 is not to construct rings in a mesh network, and use those for 110 protection. 112 1.1. Definitions 114 A (directed) graph G = (V, E) consists of a set of vertices (or 115 nodes) V and a set of edges (or links) E. An edge is an ordered pair 116 of nodes (a, b), where a and b are in V. (In this document, the 117 terms node and link will be used instead of vertex and edge.) 119 A ring is a subgraph of G. A ring consists of a subset of n nodes 120 {R_i, 0 <= i < n} of V. The directed edges {(R_i, R_i+1) and (R_i+1, 121 R_i), 0 <= i < n-1} must be a subset of E (note that index arithmetic 122 is done modulo n). We define the direction from node R_i to R_i+1 as 123 "clockwise" (CW) and the reverse direction as "anticlockwise" (AC). 124 As there may be several rings in a graph, we number each ring with a 125 distinct ring ID RID. 127 R0 . . . R1 128 . . 129 R7 R2 130 Anti- | . Ring . | 131 Clockwise | . . | Clockwise 132 v . RID = 17 . v 133 R6 R3 134 . . 135 R5 . . . R4 137 Figure 1: Ring with 8 nodes 139 The following terminology is used for ring LSPs: 141 Ring ID (RID): A non-zero number that identifies a ring; this is 142 unique in some scope of a Service Provider's network. A node may 143 belong to multiple rings. 145 Ring node: A member of a ring. Note that a device may belong to 146 several rings. 148 Node index: A logical numbering of nodes in a ring, from zero upto 149 one less than the ring size. Used purely for exposition in this 150 document. 152 Ring master: The ring master initiates the ring identification 153 process. Mastership is indicated in the IGP by a two-bit field. 155 Ring neighbors: Nodes whose indices differ by one (modulo ring 156 size). 158 Ring links: Links that connnect ring neighbors. 160 Express links: Links that connnect non-neighboring ring nodes. 162 Ring direction: A two-bit field in the IGP indicating the direction 163 of a link. The choices are: 165 UN: 00 undefined link 167 CW: 01 clockwise ring link 169 AC: 10 anticlockwise ring link 171 EX: 11 express link 173 Ring Identification: The process of discovering ring nodes, ring 174 links, link directions, and express links. 176 The following notation is used for ring LSPs: 178 R_k: A ring node with index k. R_k has AC neighbor R_(k-1) and CW 179 neighbor R_(k+1). 181 RL_k: A (unicast) Ring LSP anchored on node R_k. 183 CL_jk (AL_jk): A label allocated by R_j for RL_k in the CW (AC) 184 direction. 186 P_jk (Q_jk): A Path (Resv) message sent by R_j for RL_k. 188 2. Motivation 190 A ring is the simplest topology that offers resilience. This is 191 perhaps the main reason to lay out fiber in a ring. Thus, effective 192 mechanisms for fast failover on rings are needed. Furthermore, there 193 are large numbers of rings. Thus, configuration of rings needs to be 194 as simple as possible. Finally, bandwidth management on access rings 195 is very important, as bandwidth is generally quite constrained here. 197 The goals of this document are to present mechanisms for improved 198 MPLS-based resilience in ring networks (using ideas that are 199 reminiscent of Bidirectional Line Switched Rings), for automatic 200 bring-up of LSPs, better bandwidth management and for auto-hierarchy. 201 These goals can be achieved using extensions to existing IGP and MPLS 202 signaling protocols, using central provisioning, or in other ways. 204 3. Theory of Operation 206 Say a ring has ring ID RID. The ring is provisioned by choosing one 207 or more ring masters for the ring and assigning them the RID. Other 208 nodes in the ring may also be assigned this RID, or may be configured 209 as "promiscuous". Ring discovery then kicks in. When each ring node 210 knows its CW and AC ring neighbors and its ring links, and all 211 express links have been identified, ring identification is complete. 213 Once ring identification is complete, each node signals one or more 214 ring LSPs RL_i. RL_i, anchored on node R_i, consists of two counter- 215 rotating unicast LSPs that start and end at R_i. A ring LSP is 216 "multipoint": any node R_j can use RL_i to send traffic to R_i; this 217 can be in either the CW or AC directions, or both (i.e., load 218 balanced). Both of these counter-rotating LSPs are "active"; the 219 choice of direction to send traffic to R_i is determined by policy at 220 the node where traffic is injected into the ring. The default is to 221 send traffic along the shortest path. Bidirectional connectivity 222 between nodes R_i and R_j is achieved by using two different ring 223 LSPs: R_i uses RL_j to reach R_j, and R_j uses RL_i to reach R_i. 225 3.1. Provisioning 227 The goal here is to provision rings with the absolute minimum 228 configuration. The exposition below aims to achieve that using auto- 229 discovery via a link-state IGP (see Section 4). Of course, auto- 230 discovery can be overriden by configuration. For example, a link 231 that would otherwise be classified by auto-discovery as a ring link 232 might be configured not to be used for ring LSPs. 234 3.2. Ring Nodes 236 Ring nodes have a loopback address, and run a link-state IGP and an 237 MPLS signaling protocol. To provision a node as a ring node for ring 238 RID, the node is simply assigned that RID. A node may be part of 239 several rings, and thus may be assigned several ring IDs. 241 To simplify ring provisioning even further, a node N may be made 242 "promiscuous" by being assigned an RID of 0. A promiscuous node 243 listens to RIDs in its IGP neighbors' link-state updates. For every 244 non-zero RID N hears from a neighbor, N joins the corresponding ring 245 by taking on that RID. In many situations, the use of promiscuous 246 mode means that only one or two nodes in a ring needs to be 247 provisioned; everything else is auto-discovered. 249 A ring node indicates in its IGP updates the ring LSP signaling 250 protocols it supports. This can be LDP and/or RSVP-TE. Ideally, 251 each node should support both. 253 3.3. Ring Links and Directions 255 Ring links must be MPLS-capable. They are by default unnumbered, 256 point-to-point (from the IGP point of view) and "auto-bundled". The 257 last attribute means that parallel links between ring neighbors are 258 considered as a single link, without the need for explicit 259 configuration for bundling (such as a Link Aggregation Group). Note 260 that each component may be advertised separately in the IGP; however, 261 signaling messages and labels across one component link apply to all 262 components. Parallel links between a pair of ring nodes is often the 263 result of having multiple lambdas or fibers between those nodes. RMR 264 is primarily intended for operation at the packet layer; however, 265 parallel links at the lambda or fiber layer result in parallel links 266 at the packet layer. 268 A ring link is not provisioned as belonging to the ring; it is 269 discovered to belong to ring RID if both its adjacent nodes belong to 270 RID. A ring link's direction (CW or AC) is also discovered; this 271 process is initiated by the ring's ring master. Note that the above 272 two attributes can be overridden by provisioning if needed; it is 273 then up to the provisioning system to maintain consistency across the 274 ring. 276 3.3.1. Express Links 278 Express links are discovered once ring nodes, ring links and 279 directions have been established. As defined earlier, express links 280 are links joining non-neighboring ring nodes; often, this may be the 281 result of optically bypassing ring nodes. The use of express links 282 will be described in a future version of this document. 284 3.4. Ring LSPs 286 Ring LSPs are not provisioned. Once a ring node R_i knows its RID, 287 its ring links and directions, it kicks off ring LSP signaling 288 automatically. R_i allocates CW and AC labels for each ring LSP 289 RL_k. R_i also initiates the creation of RL_i. As the signaling 290 propagates around the ring, CW and AC labels are exchanged. When R_i 291 receives CW and AC labels for RL_k from its ring neighbors, primary 292 and fast reroute (FRR) paths for RL_k are installed at R_i. More 293 details are given in Section 5. 295 For RSVP-TE LSPs, bandwidths may be signaled in both directions. 296 However, these are not provisioned either; rather, one does "reverse 297 call admission control". When a service needs to use an LSP, the 298 ring node where the traffic enters the ring attempts to increase the 299 bandwidth on the LSP to the egress. If successful, the service is 300 admitted to the ring. 302 3.5. Installing Primary LFIB Entries 304 In setting up RL_k, a node R_j sends out two labels: CL_jk to R_j-1 305 and AL_jk to R_j+1. R_j also receives two labels: CL_j+1,k from 306 R_j+1, and AL_j-1,k from R_j-1. R_j can now set up the forwarding 307 entries for RL_k. In the CW direction, R_j swaps incoming label 308 CL_jk with CL_j+1,k with next hop R_j+1; these allow R_j to act as 309 LSR for RL_k. R_j also installs an LFIB entry to push CL_j+1,k with 310 next hop R_j+1 to act as ingress for RL_k. Similarly, in the AC 311 direction, R_j swaps incoming label AL_jk with AL_j-1,k with next hop 312 R_j-1 (as LSR), and an entry to push AL_j-1,k with next hop R_j-1 (as 313 ingress). 315 Clearly, R_k does not act as ingress for its own LSPs. However, if 316 these LSPs use UHP, then R_k installs LFIB entries to pop CL_k,k for 317 packets received from R_k-1 and to pop AL_k,k for packets received 318 from R_k+1. 320 3.6. Installing FRR LFIB Entries 322 At the same time that R_j sets up its primary CW and AC LFIB entries, 323 it can also set up the protection forwarding entries for RL_k. In 324 the CW direction, R_j sets up an FRR LFIB entry to swap incoming 325 label CL_jk with AL_j-1,k with next hop R_j-1. In the AC direction, 326 R_j sets up an FRR LFIB entry to swap incoming label AL_jk with 327 CL_j+1,k with next hop R_j+1. Again, R_k does not install FRR LFIB 328 entries in this manner. 330 3.7. Protection 332 In this scheme, there are no protection LSPs as such -- no node or 333 link bypass LSPs, no standby LSPs, no detours, and no LFA-type 334 protection. Protection is via the "other" direction around the ring, 335 which is why ring LSPs are in counter-rotating pairs. Protection 336 works in the same way for link, node and ring LSP failures. 338 If a node R_j detects a failure from R_j+1 -- either all links to 339 R_j+1 fail, or R_j+1 itself fails, R_j switches traffic on all CW 340 ring LSPs to the AC direction using the FRR LFIB entries. If the 341 failure is specific to a single ring LSP, R_j switches traffic just 342 for that LSP. In either case, this switchover can be very fast, as 343 the FRR LFIB entries can be preprogrammed. Fast detection and fast 344 switchover lead to minimal traffic loss. 346 R_j then sends an indication to R_j-1 that the CW direction is not 347 working, so that R_j-1 can similarly switch traffic to the AC 348 direction. For RSVP-TE, this indication can be a PathErr or a 349 Notify; other signaling protocols have similar indications. These 350 indications propagate AC until each traffic source on the ring AC of 351 the failure uses the AC direction. Thus, within a short period, 352 traffic will be flowing in the optimal path, given that there is a 353 failure on the ring. This contrasts with (say) bypass protection, 354 where until the ingress recomputes a new path, traffic will be 355 suboptimal. 357 Note that the failure of a node or a link will not necessarily affect 358 all ring LSPs. Thus, it is important to identify the affected LSPs 359 (and switch them), but to leave the rest alone. 361 One point to note is that when a ring node, say R_j, fails, RL_j is 362 clearly unusable. However, the above protection scheme will cause a 363 traffic loop: R_j-1 detects a failure CW, and protects by sending CW 364 traffic on RL_j back all the way to R_j+1, which in turn sends 365 traffic to R_j-1, etc. There are three proposals to avoid this: 367 1. Each ring node acting as ingress sends traffic with a TTL of at 368 most 2*n, where n is the number of nodes in the ring. 370 2. A ring node sends protected traffic (i.e., traffic switched from 371 CW to AC or vice versa) with TTL just large enough to reach the 372 egress. 374 3. A ring node sends protected traffic with a special purpose label 375 below the ring LSP label. A protecting node first checks for the 376 presence of this label; if present, it means that the traffic is 377 looping and MUST be dropped. 379 It is recommended that (2) be implemented. The other methods are 380 optional. 382 4. Autodiscovery 384 4.1. Overview 386 Auto-discovery proceeds in three phases. The first phase is the 387 announcement phase. The second phase is the mastership phase. The 388 third phase is the ring identification phase. 390 S1 391 / \ 392 | R0 . . . R1 R0 has MV = 11 393 | . \ . R1 has MV = 10 394 R7 \________ R2 All other nodes have MV = 00 395 Anti- | . . | 396 clockwise | . Ring . | Clockwise 397 v . RID = 17 . v 398 R6 R3 399 . . 400 R5 . . . R4 401 \ / 402 \ / 403 An 405 Figure 2: Ring with non-ring nodes and links 407 In what follows, we refer to a ring node and a rink link Type-Length- 408 Value (TLV). These are new TLVs that contain RIDs and associated 409 flags. In IS-IS, the ring node TLV is a new TLV. In OSPF, it is a 410 new top-level TLV of the TE LSA. A ring link TLV is a sub-TLV of a 411 traffic engineering TLV (TE TLV) of each link that is identified as a 412 ring link and contains information about every ring that the link is 413 part of. For IS-IS, the TE TLV is the extended reachability TLV; for 414 OSPF, it is the Link TLV in the opaque TE LSA. Both types of ring 415 TLVs have the same format, but the flags fields have different 416 semantics. 418 0 1 2 3 419 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 420 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 421 | Type (TBD) | Length = 6*N | Ring ID 1 (4 octets) ... | 422 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 423 | ... (RID continued) | Flags (2 octets) | 424 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 425 | Ring ID 2 (4 octets) | 426 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 427 | Flags (2 octets) | Ring ID 2 (4 octets) ... | 428 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 429 | ... (RID continued) | Flags (2 octets) | 430 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 431 | ... etc. | 432 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 434 IS-IS Ring TLV Format 436 0 1 2 3 437 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 438 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 439 | Type (TBD) | Length = 8*N | 440 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 441 | Ring ID 1 (4 octets) | 442 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 443 | Flags (2 octets) | Pad (2 octets) | 444 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 445 | Ring ID 2 (4 octets) | 446 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 447 | Flags (2 octets) | Pad (2 octets) | 448 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 449 | ... etc. | 450 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 451 Pad is set to zero when sending and ignored on receipt. 453 OSPF Ring TLV Format 455 0 1 456 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 457 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 458 |MV |SS | SO | MBZ |SU |M| 459 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 460 MV: Mastership Value 461 SS: Supported Signaling Protocols (10 = RSVP-TE; 01 = LDP) 462 SO: Supported OAM Protocols (100 = BFD; 010 = CFM; 001 = EFM) 463 SU: Signaling Protocol to Use (00 = none; 01 = LDP; 10 = RSVP-TE) 464 M : Elected Master (0 = no, 1 = yes) 466 Flags for a Ring Node TLV 468 0 1 469 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 470 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 471 |RD |OAM| MBZ | 472 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 473 RD: Ring Direction 474 OAM: OAM Protocols (00 = none; 01 = BFD; 10 = CFM; 11 = EFM) 476 Flags for a Ring Link TLV 478 4.2. Ring Announcement Phase 480 Each node participating in an MPLS ring is assigned an RID; in the 481 example, RID = 17. A node is also provisioned with a mastership 482 value. Each node advertises a ring node TLV for each ring it is 483 participating in, along with the associated flags. It then starts 484 timer T1. 486 A node in promiscuous mode doesn't advertise any ring node TLVs. 487 However, when it hears a ring node TLV from an IGP neighbor, it joins 488 that ring, and sends its own ring node TLV with that RID. 490 The announcement phase allows a ring node to discover other ring 491 nodes in the same ring so that a ring master can be elected. 493 4.3. Mastership Phase 495 When timer T1 fires, a node enters the mastership phase. In this 496 phase, each ring node N starts timer T2 and checks if it is master. 497 If it is the node with the lowest loopback address of all nodes with 498 the highest mastership values, N declares itself master by 499 readvertising its ring node TLV with the M bit set. 501 When timer T2 fires, each node examines the ring node TLVs from all 502 other nodes in the ring to identify the ring master. There should be 503 exaclty one; if not, each node restarts timer T2 and tries again. 504 The nodes that set their M bit should be extra careful in advertising 505 their M bit in subsequent tries. 507 4.4. Ring Identification Phase 509 When there is exactly one ring master M, M enters the Ring 510 Identification Phase. M indicates that it has successfully completed 511 this phase by advertising ring link TLVs. This is the trigger for 512 M's CW neighbor to enter the Ring Identification Phase. This phase 513 passes CW until all ring nodes have completed ring identification. 515 In the Ring Identification Phase, a node X that has two or more IGP 516 neighbors that belong to the ring picks one of them to be its CW ring 517 neighbor. If X is the ring master, it also picks a node as its AC 518 ring neighbor. If there are exactly two such nodes, this step is 519 trivial. If not, X computes a ring that includes all nodes that have 520 completed the Ring Identification Phase (as seen by their ring link 521 TLVs) and further contains the maximal number of nodes that belong to 522 the ring. Based on that, X picks a CW neighbor and inserts ring link 523 TLVs with ring direction CW for each link to its CW neighbor; X also 524 inserts a ring link TLV with direction AC for each link to its AC 525 neighbor. Then, X determines its express links. These are links 526 connected to ring nodes that are not ring neighbors. X advertises 527 ring link TLVs for express links by setting the link direction to 528 "express link". 530 4.5. Ring Changes 532 The main changes to a ring are: 534 ring link addition; 536 ring link deletion; 538 ring node addition; and 540 ring node deletion. 542 The main goal of handling ring changes is (as much as possible) not 543 to perturb existing ring operation. Thus, if the ring master hasn't 544 changed, all of the above changes should be local to the point of 545 change. Link adds just update the IGP; signaling should take 546 advantage of the new capacity as soon as it learns. Link deletions 547 in the case of parallel links also show up as a change in capacity 548 (until the last link in the bundle is removed.) 549 The removal of the last ring link between two nodes, or the removal 550 of a ring node is an event that triggers protection switching. In a 551 simple ring, the result is a broken ring. However, if a ring has 552 express links, then it may be able to converge to a smaller ring with 553 protection. Details of this process will be given in a future 554 version. 556 The addition of a new ring node can also be handled incrementally. 557 Again, the details of this process will be given in a futre version. 559 5. Ring Signaling 561 A future version of this document will specify protocol-independent 562 details about ring LSP signaling. 564 6. Ring OAM 566 Each ring node should advertise in its ring node TLV the OAM 567 protocols it supports. Each ring node is expected to run a link- 568 level OAM over each ring link. This should be an OAM protocol that 569 both neighbors agree on. The default hello time is 3.3 millisecond. 571 Each ring node also sends OAM messages over each direction of its 572 ring LSP. This is a multi-hop OAM to check LSP liveness; typically, 573 BFD would be used for this. The node chooses the hello interval; the 574 default is once a second. 576 7. Security Considerations 578 It is not anticipated that either the notion of MPLS rings or the 579 extensions to various protocols to support them will cause new 580 security loopholes. As this document is updated, this section will 581 also be updated. 583 8. Acknowledgments 585 Many thanks to Pierre Bichon whose exemplar of self-organizing 586 networks and whose urging for ever simpler provisioning led to the 587 notion of promiscuous nodes. 589 9. IANA Considerations 591 There are no requests as yet to IANA for this document. 593 10. References 595 10.1. Normative References 597 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 598 Requirement Levels", BCP 14, RFC 2119, 599 DOI 10.17487/RFC2119, March 1997, 600 . 602 10.2. Informative References 604 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 605 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 606 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 607 . 609 [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering 610 (TE) Extensions to OSPF Version 2", RFC 3630, 611 DOI 10.17487/RFC3630, September 2003, 612 . 614 [RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., 615 "LDP Specification", RFC 5036, DOI 10.17487/RFC5036, 616 October 2007, . 618 [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic 619 Engineering", RFC 5305, DOI 10.17487/RFC5305, October 620 2008, . 622 Authors' Addresses 624 Kireeti Kompella 625 Juniper Networks, Inc. 626 1194 N. Mathilda Avenue 627 Sunnyvale, CA 94089 628 USA 630 Email: kireeti.kompella@gmail.com 631 Luis M. Contreras 632 Telefonica I+D 633 Ronda de la Comunicacion 634 Sur-3 building, 3rd floor 635 Madrid 28050 636 Spain 638 Email: luismiguel.contrerasmurillo@telefonica.com 639 URI: http://people.tid.es/LuisM.Contreras/