idnits 2.17.1 draft-ietf-rtgwg-mofrr-08.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 (May 18, 2015) is 3238 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: November 19, 2015 Cisco Systems, Inc. 6 B. Decraene 7 Orange 8 May 18, 2015 10 Multicast only Fast Re-Route 11 draft-ietf-rtgwg-mofrr-08 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 November 19, 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 to Dual-Plane Topology . . . . . . . . . 7 69 7. Other Topologies . . . . . . . . . . . . . . . . . . . . . . 10 70 8. Capacity Planning for MoFRR . . . . . . . . . . . . . . . . . 11 71 9. PE nodes . . . . . . . . . . . . . . . . . . . . . . . . . . 11 72 10. Other Applications . . . . . . . . . . . . . . . . . . . . . 11 73 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 74 12. Security Considerations . . . . . . . . . . . . . . . . . . . 12 75 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 76 14. Contributor Addresses . . . . . . . . . . . . . . . . . . . . 12 77 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 78 15.1. Normative References . . . . . . . . . . . . . . . . . . 13 79 15.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 POP: Point Of Presence, an access point into the network. 157 2. Basic Overview 159 The basic idea of MoFRR is for a Merge Point router to join a 160 multicast tree via two divergent upstream paths in order to get 161 maximum redundancy. The determination of this alternate upstream is 162 defined in Section 3. 164 In order to maximize robustness against any failure, the two paths 165 should be as diverse as possible. Ideally, they should not merge 166 upstream. Sometimes the topology guarantees maximal redundancy, 167 other times additional configuration or techniques are needed to 168 enforce it. See Section 6 for more discussion on the applicability 169 of MoFRR depending on the network topology. 171 A Merge Point router should only accept and forward on one of the 172 upstream paths at a time in order to avoid duplicate packet 173 forwarding. The selection of the primary and secondary UMH is done 174 by the MoFRR logic and normally based on unicast routing to find loop 175 free candidates. This is described in Section 4. 177 Note, the impact of additional amount of data on the network is 178 mitigated when tree membership is densely populated. When a part of 179 the network has redundant data flowing, join latency for new joining 180 members is reduced because its likely a tree Merge Point is not far 181 away. 183 3. Determination of the secondary UMH 185 The secondary UMH is a Loop Free Alternate (LFA) as per [RFC5286]. 187 3.1. ECMP-mode MoFRR 189 If the IGP installs two ECMP paths to the source, then as per 190 [RFC5286] the LFA is a primary Next-hop. If the Multicast tree is 191 enabled for ECMP-Mode MoFRR, the router installs them as primary and 192 secondary UMH. Before the failure, only packets received from the 193 primary UMH path are processed while packets received from the 194 secondary UMH are dropped. 196 The selected primary UMH SHOULD be the same as if the MoFRR extension 197 was not enabled. 199 If more than two ECMP paths exist, one is selected as primary and 200 another as secondary UMH. The selection of the primary and secondary 201 is a local decision. Information from the IGP link-state topology 202 could be leveraged to optimize this selection such that the primary 203 and secondary path are maximal divergent and don't lead to the same 204 upstream node. Note that MoFRR does not restrict the number of UMH 205 paths that are joined. Implementations may use as many paths as are 206 configured. 208 3.2. Non-ECMP-mode MoFRR 210 A router X configured for non-ECMP-mode MoFRR for a Multicast tree 211 joins a primary path to its primary UMH and a secondary path to its 212 LFA UMH. In order to prevent control-plane loops a router MUST stop 213 joining the secondary UMH if this UMH is the only member in the OIF 214 list. 216 To illustrate the reason for this rule, let's consider the example in 217 FIG3. If PE1 and PE2 have received an IGMP request for a Multicast 218 tree, they will both join the primary path on their plane and a 219 secondary path to the neighbor PE. If their receivers would leave at 220 the same time, it could be possible for the Multicast tree on PE1 and 221 PE2 to never get deleted as each PE refresh each other via the 222 secondary path joins (remember that a secondary path join is not 223 distinguishable from a primary join). 225 4. Upstream Multicast Hop Selection 227 An Upstream Multicast Hop (UMH) is a candidate next-hop that can be 228 used to reach the root of the tree. This is normally based on 229 unicast routing to find loop free candidate(s). With MoFRR 230 procedures we select a primary and a backup UMH. The procedures for 231 determining the UMH are different for PIM and mLDP. 233 4.1. PIM 235 The UMH selection in PIM is also known as the Reverse Path Forwarding 236 (RPF) procedure. Based on a unicast route lookup on either the 237 Source address or Rendezvous Point (RP) [RFC4601], an upstream 238 interface is selected for sending the PIM Joins/Prunes AND accepting 239 the multicast packets. The interface the packets are received on is 240 used to pass or fail the RPF check. If packets are received on an 241 interface that was not selected by the RPF procedure, or not the 242 primary, the packets are discarded. 244 4.2. mLDP 246 The UMH selection in mLDP also depends on unicast routing, but the 247 difference with PIM is that the acceptance of multicast packets is 248 based on MPLS labels and independent of the interface the packet is 249 received on. Using the procedures as defined in [RFC6388] an 250 upstream Label Switched Router (LSR) is elected. The upstream LSR 251 that was elected for a Label Switched Path (LSP) gets a unique local 252 MPLS Label allocated. Multicast packets are only forwarded if the 253 MPLS label matches the MPLS label that was allocated for that LSPs 254 (primary) upstream LSR. 256 5. Detecting Failures 258 Once the two paths are established, the next step is detecting a 259 failure on the primary path to know when to switch to the backup 260 path. This is a local issue but this section explores some 261 possibilities. 263 The first (and simplest) option is to detect the failure of the local 264 interface as it it's done for unicast Fast ReRoute. Detection can be 265 performed using the loss of signal or the loss of probing packets 266 (e.g. BFD). This option can be used in combination with the other 267 options as documented below. Just like for unicast fast reroute, 268 50msec switch-over is possible. 270 A second option consists of comparing the packets received on the 271 primary and secondary streams but only forwarding one of them -- the 272 first one received, no matter which interface it is received on. 273 Zero packet loss is possible for RTP-based streams. 275 A third option assumes a minimum known packet rate for a given data 276 stream. If a packet is not received on the primary RPF within this 277 time frame, the router assumes primary path failure and switches to 278 the secondary RPF interface. 50msec switch-over may be possible for 279 high rate stream (e.g. IP TV where SD video has a continuous inter- 280 packet gap of ~ 3msec) but in general the delay is dependant on the 281 rate of the multicast stream. 283 A fourth option leverages the significant improvements of the IGP 284 convergence speed. When the primary path to the source is withdrawn 285 by the IGP, the MoFRR-enabled router switches over to the backup 286 path, the UMH is changed to the secondary UMH. Since the secondary 287 path is already in place, and assuming it is disjoint from the 288 primary path, convergence times would not include the time required 289 to build a new tree and hence are smaller. Sub-second to sub-200msec 290 switch-over should be possible. 292 6. MoFRR applicability to Dual-Plane Topology 294 MoFRR applicability is topology dependent. The applicability is the 295 same as LFA FRR which is discussed in [RFC6571]. 297 The following section will discuss MoFRR applicability to dual-plane 298 network topologies. 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 FIG3. 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 FIG2. 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 7. Other Topologies 438 As mentioned in section Section 6, MoFRR works best in dual-plane 439 topologies. If MoFRR is applied to none dual-plane networks, its 440 possible that the secondary path is effected by the same failure that 441 effected the primary path. In that case, there is no guarentee that 442 the backup path will provide an un-interupted traffic flow of packets 443 without loss or duplication. 445 8. Capacity Planning for MoFRR 447 The previous section has described two very frequent designs (FIG2 448 and FIG3) which provide maximum MoFRR benefits. 450 Designers with topologies different than FIG2 and FIG3 can still 451 benefit from MoFRR thanks to the use of capacity planning tools. 453 Such tools are able to simulate the ability of each PE to build two 454 disjoint branches of the same tree. This for hundreds of PEs and 455 hundreds of sources. 457 This allows to assess the MoFRR protection coverage of a given 458 network, for a set of sources. 460 If the protection coverage is deemed insufficient, the designer can 461 use such tool to optimize the topology (add links, change IGP 462 metrics). 464 9. PE nodes 466 Many Service Providers devise their topology such that PEs have 467 disjoint paths to the multicast sources. MoFRR leverages the 468 existence of these disjoint paths without any PIM or mLDP protocol 469 modification. Interoperability testing is thus not required. In 470 such topologies, MoFRR only needs to be deployed on the PE devices. 471 Each PE device can be enabled one by one. 473 10. Other Applications 475 While all the examples in this document show the MoFRR applicability 476 on PE devices, it is clear that MoFRR could be enabled on aggregation 477 or core routers. 479 MoFRR can be popular in Data Center network configurations. With the 480 advent of lower cost ethernet and increasing port density in routers, 481 there is more meshed connectivity than ever before. When using a 482 3-level access, distribution, and core layers in a Data Center, there 483 is a lot of inexpensive bandwidth connecting the layers. This will 484 lend itself to more opportunities for ECMP paths at multiple layers. 485 This allows for multiple layers of redundancy protecting link and 486 node failure at each layer with minimal redundancy cost. 488 Redundancy costs are reduced because only one packet is forwarded at 489 every link along the primary and secondary data paths so there is no 490 duplication of data on any link thereby providing make-before-break 491 protection at a very small cost. 493 A MoFRR router only accepts packets from the primary path and 494 discards packets from the secondary path. For that reason, 495 management applications (like ping and mtrace) will not work when 496 verifying the secondary path. 498 The MoFRR principle may be applied to MVPNs. 500 11. IANA Considerations 502 This document makes no request of IANA. 504 12. Security Considerations 506 There are no security considerations for this design other than what 507 is already in the main PIM specification [RFC4601] and mLDP 508 specification [RFC6388]. 510 13. Acknowledgments 512 Thanks to Dave Oran and Alvaro Retana for their review and comments 513 on this document. 515 The authors would like to especially acknowledge the contribution 516 from Dino Farinacci, John Zwiebel and Greg Shepherd for the genesis 517 of the MoFRR concept. 519 14. Contributor Addresses 521 Below is a list of other contributing authors in alphabetical order: 523 Dino Farinacci 524 Email: farinacci@gmail.com 526 Wim Henderickx 527 Alcatel-Lucent 528 Copernicuslaan 50 529 Antwerp 2018 530 Belgium 531 Email: wim.henderickx@alcatel-lucent.com 533 Uwe Joorde 534 Deutsche Telekom 535 Dahlweg 100 536 D-48153 Muenster 537 Germany 538 Email: Uwe.Joorde@telekom.de 540 Nicolai Leymann 541 Deutsche Telekom 542 Winterfeldtstrasse 21 543 Berlin 10781 544 DE 545 Email: N.Leymann@telekom.de 547 Jeff Tantsura 548 Ericsson 549 300 Holger Way 550 San Jose CA 95134 551 USA 552 Email: jeff.tantsura@ericsson.com 554 15. References 556 15.1. Normative References 558 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 559 Requirement Levels", BCP 14, RFC 2119, March 1997. 561 [RFC5286] Atlas, A. and A. Zinin, "Basic Specification for IP Fast 562 Reroute: Loop-Free Alternates", RFC 5286, September 2008. 564 15.2. Informative References 566 [RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, 567 "Protocol Independent Multicast - Sparse Mode (PIM-SM): 568 Protocol Specification (Revised)", RFC 4601, August 2006. 570 [RFC6388] Wijnands, IJ., Minei, I., Kompella, K., and B. Thomas, 571 "Label Distribution Protocol Extensions for Point-to- 572 Multipoint and Multipoint-to-Multipoint Label Switched 573 Paths", RFC 6388, November 2011. 575 [RFC6571] Filsfils, C., Francois, P., Shand, M., Decraene, B., 576 Uttaro, J., Leymann, N., and M. Horneffer, "Loop-Free 577 Alternate (LFA) Applicability in Service Provider (SP) 578 Networks", RFC 6571, June 2012. 580 Authors' Addresses 582 Apoorva Karan 583 Cisco Systems, Inc. 584 3750 Cisco Way 585 San Jose CA, 95134 586 USA 588 Email: apoorva@cisco.com 590 Clarence Filsfils 591 Cisco Systems, Inc. 592 De kleetlaan 6a 593 Diegem BRABANT 1831 594 Belgium 596 Email: cfilsfil@cisco.com 598 IJsbrand Wijnands (editor) 599 Cisco Systems, Inc. 600 De Kleetlaan 6a 601 Diegem 1831 602 BE 604 Email: ice@cisco.com 606 Bruno Decraene 607 Orange 608 38-40 rue du General Leclerc 609 Issy Moulineaux Cedex 9, 92794 610 FR 612 Email: bruno.decraene@orange.com