idnits 2.17.1 draft-ietf-rtgwg-mofrr-06.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 (February 4, 2015) is 3359 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 4601 (Obsoleted by RFC 7761) Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Karan 3 Internet-Draft C. Filsfils 4 Intended status: Informational IJ. Wijnands, Ed. 5 Expires: August 8, 2015 Cisco Systems, Inc. 6 B. Decraene 7 Orange 8 February 4, 2015 10 Multicast only Fast Re-Route 11 draft-ietf-rtgwg-mofrr-06 13 Abstract 15 As IPTV deployments grow in number and size, service providers are 16 looking for solutions that minimize the service disruption due to 17 faults in the IP network carrying the packets for these services. 18 This document describes a mechanism for minimizing packet loss in a 19 network when node or link failures occur. Multicast only Fast Re- 20 Route (MoFRR) works by making simple enhancements to multicast 21 routing protocols such as PIM and mLDP. 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at http://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on August 8, 2015. 40 Copyright Notice 42 Copyright (c) 2015 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (http://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 58 1.1. Conventions used in this document . . . . . . . . . . . . 3 59 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 60 2. Basic Overview . . . . . . . . . . . . . . . . . . . . . . . 4 61 3. Determination of the secondary UMH . . . . . . . . . . . . . 4 62 3.1. ECMP-mode MoFRR . . . . . . . . . . . . . . . . . . . . . 4 63 3.2. Non-ECMP-mode MoFRR . . . . . . . . . . . . . . . . . . . 5 64 4. Upstream Multicast Hop Selection . . . . . . . . . . . . . . 5 65 4.1. PIM . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 66 4.2. mLDP . . . . . . . . . . . . . . . . . . . . . . . . . . 6 67 5. Detecting Failures . . . . . . . . . . . . . . . . . . . . . 6 68 6. MoFRR applicability . . . . . . . . . . . . . . . . . . . . . 7 69 6.1. Dual-Plane Topology . . . . . . . . . . . . . . . . . . . 7 70 6.2. Capacity Planning for MoFRR . . . . . . . . . . . . . . . 10 71 6.3. PE nodes . . . . . . . . . . . . . . . . . . . . . . . . 11 72 6.4. Other Applications . . . . . . . . . . . . . . . . . . . 11 73 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 74 8. Security Considerations . . . . . . . . . . . . . . . . . . . 12 75 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 76 10. Contributor Addresses . . . . . . . . . . . . . . . . . . . . 12 77 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 78 11.1. Normative References . . . . . . . . . . . . . . . . . . 13 79 11.2. Informative References . . . . . . . . . . . . . . . . . 13 80 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 82 1. Introduction 84 Different solutions have been developed and deployed to improve 85 service guarantees, both for multicast video traffic and Video on 86 Demand traffic. Most of these solutions are geared towards finding 87 an alternate path around one or more failed network elements (link, 88 node, path failures). 90 This document describes a mechanism for minimizing packet loss in a 91 network when node or link failures occur. Multicast only Fast Re- 92 Route (MoFRR) works by making simple changes to the way selected 93 routers use multicast protocols such as PIM and mLDP. No changes to 94 the protocols themselves are required. With MoFRR, in many cases, 95 multicast routing protocols don't necessarily have to depend on or 96 have to wait on unicast routing protocols to detect network failures, 97 see Section 5 99 On a Merge Point MoFRR logic determines a primary Upstream Multicast 100 Hop (UMH) and a secondary UMH and joins the tree via both 101 simultaneously. Data packets are received over the primary and 102 secondary paths. Only the packets from the primary UMH are accepted 103 and forwarded down the tree, the packets from the secondary UMH are 104 discarded. The UMH determination is different for PIM and mLDP and 105 explained in Section 4. When a failure is detected on the path to 106 the primary UMH, the repair occurs by changing the secondary UMH into 107 the primary and the primary into the secondary. Since the repair is 108 local, it is fast - greatly improving convergence times in the event 109 of node or link failures on the path to the primary UMH. 111 1.1. Conventions used in this document 113 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 114 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 115 document are to be interpreted as described in RFC 2119 [RFC2119]. 117 1.2. Terminology 119 MoFRR: Multicast only Fast Re-Route. 121 ECMP: Equal Cost Multi-Path. 123 mLDP: Multi-point Label Distribution Protocol. 125 PIM: Protocol Independent Multicast. 127 UMH: Upstream Multicast Hop, a candidate next-hop that can be used 128 to reach the root of the tree. 130 tree: Either a PIM (S,G)/(*,G) tree or a mLDP P2MP or MP2MP LSP. 132 OIF: Outgoing InterFace, an interface used to forward multicast 133 packets down the tree towards the receivers. Either a PIM 134 (S,G)/(*,G) tree or a mLDP P2MP or MP2MP LSP. 136 LFA: Loop Free Alternate as defined in [RFC5286] In unicast Fast 137 ReRoute, this is an alternate next-hop which can be used to reach 138 a unicast destination without using the protected link or node. 140 Merge Point: A router that joins a multicast stream via two 141 divergent upstream paths. 143 RPF: Reverse Path Forwarding. 145 RP: Rendezvous Point. 147 LSR: Label Switched Router. 149 BFD: Bidirectional Forwarding Detection. 151 IGP: Interior Gateway Protocol. 153 MVPN: Multicast Virtual Private Networks. 155 2. Basic Overview 157 The basic idea of MoFRR is for a Merge Point router to join a 158 multicast tree via two divergent upstream paths in order to get 159 maximum redundancy. The determination of this alternate upstream is 160 defined in Section 3. 162 In order to maximize robustness against any failure, the two paths 163 should be as diverse as possible. Ideally, they should not merge 164 upstream. Sometimes the topology guarantees maximal redundancy, 165 other times additional configuration or techniques are needed to 166 enforce it. See Section 6 for more discussion on the applicability 167 of MoFRR depending on the network topology. 169 A Merge Point router should only accept and forward on one of the 170 upstream paths at a time in order to avoid duplicate packet 171 forwarding. The selection of the primary and secondary UMH is done 172 by the MoFRR logic and normally based on unicast routing to find loop 173 free candidates. This is described in Section 4. 175 Note, the impact of additional amount of data on the network is 176 mitigated when tree membership is densely populated. When a part of 177 the network has redundant data flowing, join latency for new joining 178 members is reduced because its likely a tree Merge Point is not far 179 away. 181 3. Determination of the secondary UMH 183 The secondary UMH is a Loop Free Alternate (LFA) as per [RFC5286]. 185 3.1. ECMP-mode MoFRR 187 If the IGP installs two ECMP paths to the source, then as per 188 [RFC5286] the LFA is a primary Next-hop. If the Multicast tree is 189 enabled for ECMP-Mode MoFRR, the router installs them as primary and 190 secondary UMH. Before the failure, only packets received from the 191 primary UMH path are processed while packets received from the 192 secondary UMH are dropped. 194 The selected primary UMH SHOULD be the same as if the MoFRR extension 195 was not enabled. 197 If more than two ECMP paths exist, one is selected as primary and 198 another as secondary UMH. The selection of the primary and secondary 199 is a local decision. Information from the IGP link-state topology 200 could be leveraged to optimize this selection such that the primary 201 and secondary path are maximal divergent and don't lead to the same 202 upstream node. Note that MoFRR does not restrict the number of UMH 203 paths that are joined. Implementations may use as many paths as are 204 configured. 206 3.2. Non-ECMP-mode MoFRR 208 A router X configured for non-ECMP-mode MoFRR for a Multicast tree 209 joins a primary path to its primary UMH and a secondary path to its 210 LFA UMH. In order to prevent control-plane loops a router MUST stop 211 joining the secondary UMH if this UMH is the only member in the OIF 212 list. 214 To illustrate the reason for this rule, let's consider the example in 215 FIG3. If PE1 and PE2 have received an IGMP request for a Multicast 216 tree, they will both join the primary path on their plane and a 217 secondary path to the neighbor PE. If their receivers would leave at 218 the same time, it could be possible for the Multicast tree on PE1 and 219 PE2 to never get deleted as each PE refresh each other via the 220 secondary path joins (remember that a secondary path join is not 221 distinguishable from a primary join). 223 4. Upstream Multicast Hop Selection 225 An Upstream Multicast Hop (UMH) is a candidate next-hop that can be 226 used to reach the root of the tree. This is normally based on 227 unicast routing to find loop free candidate(s). With MoFRR 228 procedures we select a primary and a backup UMH. The procedures for 229 determining the UMH are different for PIM and mLDP. See below; 231 4.1. PIM 233 The UMH selection in PIM is also known as the Reverse Path Forwarding 234 (RPF) procedure. Based on a unicast route lookup on either the 235 Source address or Rendezvous Point (RP) [RFC4601], an upstream 236 interface is selected for sending the PIM Joins/Prunes AND accepting 237 the multicast packets. The interface the packets are received on is 238 used to pass or fail the RPF check. If packets are received on an 239 interface that was not selected by the RPF procedure, or not the 240 primary, the packets are discarded. 242 4.2. mLDP 244 The UMH selection in mLDP also depends on unicast routing, but the 245 difference with PIM is that the acceptance of multicast packets is 246 based on MPLS labels and independent of the interface the packet is 247 received on. Using the procedures as defined in [RFC6388] an 248 upstream Label Switched Router (LSR) is elected. The upstream LSR 249 that was elected for a Label Switched Path (LSP) gets a unique local 250 MPLS Label allocated. Multicast packets are only forwarded if the 251 MPLS label matches the MPLS label that was allocated for that LSPs 252 (primary) upstream LSR. 254 5. Detecting Failures 256 Once the two paths are established, the next step is detecting a 257 failure on the primary path to know when to switch to the backup 258 path. This is a local issue but this section explore some 259 possibilities. 261 The first (and simplest) option is to detect the failure of the local 262 interface as it it's done for unicast Fast ReRoute. Detection can be 263 performed using the loss of signal or the loss of probing packets 264 (e.g. BFD). This option can be used in combination with the other 265 options as documented below. Just like for unicast fast reroute, 266 50msec switch-over is possible. 268 A second option consists of comparing the packets received on the 269 primary and secondary streams but only forwarding one of them -- the 270 first one received, no matter which interface it is received on. 271 Zero packet loss is possible for RTP-based streams. 273 A third option assumes a minimum known packet rate for a given data 274 stream. If a packet is not received on the primary RPF within this 275 time frame, the router assumes primary path failure and switches to 276 the secondary RPF interface. 50msec switch-over may be possible for 277 high rate stream (e.g. IP TV where SD video has a continuous inter- 278 packet gap of ~ 3msec) but in general the delay is dependant on the 279 rate of the multicast stream. 281 A fourth option leverages the significant improvements of the IGP 282 convergence speed. When the primary path to the source is withdrawn 283 by the IGP, the MoFRR-enabled router switches over to the backup 284 path, the UMH is changed to the secondary UMH. Since the secondary 285 path is already in place, and assuming it is disjoint from the 286 primary path, convergence times would not include the time required 287 to build a new tree and hence are smaller. Sub-second to sub-200msec 288 switch-over should be possible. 290 6. MoFRR applicability 292 MoFRR applicability is topology dependent. The applicability is the 293 same as LFA FRR which is discussed in [RFC6571]. 295 The following section will discuss MoFRR applicability to dual-plane 296 network topologies. 298 6.1. Dual-Plane Topology 300 MoFRR works best in dual-planes topologies as illustrated in the 301 figures below. MoFRR may be enabled on any router in the network. 302 In the figures below, MoFRR is shown enabled on the Provider Edge 303 (PE) routers to illustrate one way in which the technology may be 304 deployed. 306 S 307 P / \ P 308 / \ 309 ^ G1 R1 ^ 310 P / \ P 311 / \ 312 G2----------R2 ^ 313 | \ | \ P 314 ^ | \ | \ 315 P | G3----------R3 316 | | | | 317 | | | | ^ 318 G4---|------R4 | P 319 ^ \ | \ | 320 P \ | \ | 321 G5----------R5 322 ^ | | ^ 323 P | | P 324 | | 325 Gi Ri 326 \ \__ ^ /| 327 \ \ S1/ | ^ 328 ^ \ ^\ / |P2 329 P1 \ S2\_/__ | 330 \ / \| 331 PE1 PE2 332 P = Primary path 333 S = Secondary path 335 FIG1. Two-Plane Network Design 337 The topology has two planes, a primary plane and a secondary plane 338 that are fully disjoint from each other all the way into the POPs. 339 This two plane design is common in service provider networks as it 340 eliminates single point of failures in their core network. The links 341 marked P indicate the normal (Primary) path of how the PIM joins flow 342 from the POPs towards the source of the network. Multicast streams, 343 especially for the densely watched channels, typically flow along 344 both the planes in the network anyway. 346 The only change MoFRR adds to this is on the links marked S where the 347 PE routers join a secondary path to their secondary ECMP UMH. As a 348 result of this, each PE router receives two copies of the same 349 stream, one from the primary plane and the other from the secondary 350 plane. As a result of normal UMH behavior, the multicast stream 351 received over the primary path is accepted and forwarded to the 352 downstream receivers. The copy of the stream received from the 353 secondary UNH is discarded. 355 When a router detects a routing failure on the path to its primary 356 UMH, it will switch to the secondary UMH and accept packets for that 357 stream. If the failure is repaired the router may switch back. The 358 primary and secondary UMHs have only local context and not end-to-end 359 context. 361 As one can see, MoFRR achieves the faster convergence by pre-building 362 the secondary multicast tree and receiving the traffic on that 363 secondary path. The example discussed above is a simple case where 364 there are two ECMP paths from each PE device towards the source, one 365 along the primary plane and one along the secondary. In cases where 366 the topology is asymmetric or is a ring, this ECMP nature does not 367 hold, and additional rules have to be taken into account to choose 368 when and where to join the secondary path. 370 MoFRR is appealing in such topologies for the following reasons: 372 1. Ease of deployment and simplicity: the functionality is only 373 required on the PE devices although it may be configured on all 374 routers in the topology. Furthermore, each PE device can be 375 enabled separately, there is no need for a network wide 376 coordination in order to deploy MoFRR. Inter-operability testing 377 is not required as there are no PIM or mLDP protocol change. 379 2. End-to-end failure detection and recovery: any failure along the 380 path from the source to the PE can be detected and repaired with 381 the secondary disjoint stream.(see Section 5 options 2, 3, 4) 383 3. Capacity Efficiency: as illustrated in the previous example, the 384 Multicast trees corresponding to IPTV channels cover the backbone 385 and distribution topology in a very dense manner. As a 386 consequence, the secondary path graft into the normal Multicast 387 trees (ie. trees signaled by PIM or mLDP without MoFRR extension) 388 at the aggregation level and hence do not demand any extra 389 capacity either on the distribution links or in the backbone. 390 They simply use the capacity that is normally used, without any 391 duplication. This is different from conventional FRR mechanisms 392 which often duplicate the capacity requirements when the backup 393 path crosses links/nodes which already carry the primary/normal 394 tree and hence twice as much capacity is required. 396 4. Loop free: the secondary path join is sent on an ECMP disjoint 397 path. By definition, the neighbor receiving this request is 398 closer to the source and hence will not cause a loop. 400 The topology we just analyzed is very frequent and can be modelled as 401 per Fig2. The PE has two ECMP disjoint paths to the source. Each 402 ECMP path uses a disjoint plane of the network. 404 Source 405 / \ 406 Plane1 Plane2 407 | | 408 A1 A2 409 \ / 410 PE 412 FIG2. PE is dual-homed to Dual-Plane Backbone 414 Another frequent topology is described in Fig 3. PEs are grouped by 415 pairs. In each pair, each PE is connected to a different plane. 416 Each PE has one single shortest-path to a source (via its connected 417 plane). There is no ECMP like in Fig 2. However, there is clearly a 418 way to provide MoFRR benefits as each PE can offer a disjoint 419 secondary path to the other plane PE (via the disjoint path). 421 MoFRR secondary neighbor selection process needs to be extended in 422 this case as one cannot simply rely on using an ECMP path as 423 secondary neighbor. This extension is referred to as non-ecmp 424 extension and is described in Section 3.2. 426 Source 427 / \ 428 Plane1 Plane2 429 | | 430 A1 A2 431 | | 432 PE1----PE2 434 FIG3. PEs are connected in pairs to Dual-Plane Backbone 436 6.2. Capacity Planning for MoFRR 438 The previous section has described two very frequent designs (Fig 2 439 and Fig 3) which provide maximum MoFRR benefits. 441 Designers with topologies different than Fig2 and 3 can still benefit 442 from MoFRR thanks to the use of capacity planning tools. 444 Such tools are able to simulate the ability of each PE to build two 445 disjoint branches of the same tree. This for hundreds of PEs and 446 hundreds of sources. 448 This allows to assess the MoFRR protection coverage of a given 449 network, for a set of sources. 451 If the protection coverage is deemed insufficient, the designer can 452 use such tool to optimize the topology (add links, change IGP 453 metrics). 455 6.3. PE nodes 457 Many Service Providers devise their topology such that PEs have 458 disjoint paths to the multicast sources. MoFRR leverages the 459 existence of these disjoint paths without any PIM or mLDP protocol 460 modification. Interoperability testing is thus not required. In 461 such topologies, MoFRR only needs to be deployed on the PE devices. 462 Each PE device can be enabled one by one. 464 6.4. Other Applications 466 While all the examples in this document show the MoFRR applicability 467 on PE devices, it is clear that MoFRR could be enabled on aggregation 468 or core routers. 470 MoFRR can be popular in Data Center network configurations. With the 471 advent of lower cost ethernet and increasing port density in routers, 472 there is more meshed connectivity than ever before. When using a 473 3-level access, distribution, and core layers in a Data Center, there 474 is a lot of inexpensive bandwidth connecting the layers. This will 475 lend itself to more opportunities for ECMP paths at multiple layers. 476 This allows for multiple layers of redundancy protecting link and 477 node failure at each layer with minimal redundancy cost. 479 Redundancy costs are reduced because only one packet is forwarded at 480 every link along the primary and secondary data paths so there is no 481 duplication of data on any link thereby providing make-before-break 482 protection at a very small cost. 484 The MoFRR principle may be applied to MVPNs. 486 7. IANA Considerations 488 This document makes no request of IANA. 490 8. Security Considerations 492 There are no security considerations for this design other than what 493 is already in the main PIM specification [RFC4601] and mLDP 494 specification [RFC6388]. 496 9. Acknowledgments 498 Thanks to Dave Oran and Alvaro Retana for their review and comments 499 on this document. 501 The authors would like to especially acknowledge the contribution 502 from Dino Farinacci, John Zwiebel and Greg Shepherd for the genesis 503 of the MoFRR concept. 505 10. Contributor Addresses 507 Below is a list of other contributing authors in alphabetical order: 509 Dino Farinacci 510 Email: farinacci@gmail.com 512 Wim Henderickx 513 Alcatel-Lucent 514 Copernicuslaan 50 515 Antwerp 2018 516 Belgium 517 Email: wim.henderickx@alcatel-lucent.com 519 Uwe Joorde 520 Deutsche Telekom 521 Dahlweg 100 522 D-48153 Muenster 523 Germany 524 Email: Uwe.Joorde@telekom.de 526 Nicolai Leymann 527 Deutsche Telekom 528 Winterfeldtstrasse 21 529 Berlin 10781 530 DE 531 Email: N.Leymann@telekom.de 533 Jeff Tantsura 534 Ericsson 535 300 Holger Way 536 San Jose CA 95134 537 USA 538 Email: jeff.tantsura@ericsson.com 540 11. References 542 11.1. Normative References 544 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 545 Requirement Levels", BCP 14, RFC 2119, March 1997. 547 [RFC5286] Atlas, A. and A. Zinin, "Basic Specification for IP Fast 548 Reroute: Loop-Free Alternates", RFC 5286, September 2008. 550 11.2. Informative References 552 [RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, 553 "Protocol Independent Multicast - Sparse Mode (PIM-SM): 554 Protocol Specification (Revised)", RFC 4601, August 2006. 556 [RFC6388] Wijnands, IJ., Minei, I., Kompella, K., and B. Thomas, 557 "Label Distribution Protocol Extensions for Point-to- 558 Multipoint and Multipoint-to-Multipoint Label Switched 559 Paths", RFC 6388, November 2011. 561 [RFC6571] Filsfils, C., Francois, P., Shand, M., Decraene, B., 562 Uttaro, J., Leymann, N., and M. Horneffer, "Loop-Free 563 Alternate (LFA) Applicability in Service Provider (SP) 564 Networks", RFC 6571, June 2012. 566 Authors' Addresses 568 Apoorva Karan 569 Cisco Systems, Inc. 570 3750 Cisco Way 571 San Jose CA, 95134 572 USA 574 Email: apoorva@cisco.com 576 Clarence Filsfils 577 Cisco Systems, Inc. 578 De kleetlaan 6a 579 Diegem BRABANT 1831 580 Belgium 582 Email: cfilsfil@cisco.com 584 IJsbrand Wijnands (editor) 585 Cisco Systems, Inc. 586 De Kleetlaan 6a 587 Diegem 1831 588 BE 590 Email: ice@cisco.com 592 Bruno Decraene 593 Orange 594 38-40 rue du General Leclerc 595 Issy Moulineaux Cedex 9, 92794 596 FR 598 Email: bruno.decraene@orange.com