idnits 2.17.1 draft-ietf-pim-mtid-03.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 9, 2010) is 5183 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) ** Obsolete normative reference: RFC 4601 (Obsoleted by RFC 7761) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 PIM WG Yiqun Cai 3 Internet Draft Heidi Ou 4 Intended Status: Proposed Standard 5 Expires: August 9, 2010 Cisco Systems, Inc. 7 February 9, 2010 9 PIM Multi-Topology ID (MT-ID) Join-Attribute 11 draft-ietf-pim-mtid-03.txt 13 Status of this Memo 15 This Internet-Draft is submitted to IETF in full conformance with the 16 provisions of BCP 78 and BCP 79. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as Internet- 21 Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt. 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 This Internet-Draft will expire on August 9, 2010. 36 Copyright Notice 38 Copyright (c) 2010 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Abstract 53 This document introduces a new type of PIM Join Attribute that 54 extends PIM signaling to identify a topology that should be used when 55 constructing a particular multicast distribution tree. 57 Table of Contents 59 1 Specification of Requirements ...................... 3 60 2 Introduction ....................................... 3 61 3 Functional Overview ................................ 3 62 3.1 PIM RPF Topology ................................... 3 63 3.2 PIM MT-ID .......................................... 4 64 3.3 Applicability ...................................... 5 65 4 Protocol Specification of PIM MT-ID ................ 5 66 4.1 PIM MT-ID Hello Option ............................. 5 67 4.2 PIM MT-ID Join Attribute ........................... 5 68 4.2.1 Sending PIM MT-ID Join Attribute ................... 5 69 4.2.2 Receiving PIM MT-ID Join Attribute ................. 6 70 4.2.3 Validating PIM MT-ID Join Attribute ................ 6 71 4.2.4 Conflict Resolution ................................ 7 72 4.2.4.1 Conflict Resolution Rules For Upstream Routers ..... 7 73 4.2.4.2 Conflict Resolution Rules For Downstream Routers ... 7 74 5 Packet Format ...................................... 8 75 5.1 PIM MT-ID Hello Option ............................. 8 76 5.2 PIM MT-ID Join Attribute TLV Format ................ 8 77 6 IANA Considerations ................................ 9 78 7 Security Considerations ............................ 9 79 8 Acknowledgments .................................... 9 80 9 Authors' Addresses ................................. 9 81 10 Normative References ............................... 10 82 11 Informative References ............................. 10 84 1. Specification of Requirements 86 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 87 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 88 document are to be interpreted as described in [RFC2119]. 90 2. Introduction 92 Some unicast protocols, such as OSPF and IS-IS, allow a single 93 network to be viewed as multiple topologies [RFC4915, RFC5120]. This 94 enables PIM to construct multicast distribution trees using separate 95 network paths even when the roots of the trees are the same. 97 This capability can be used to improve the resilience of multicast 98 applications. For instance, a multicast stream can be duplicated and 99 transported using different network layer addresses simultaneously. 100 Assuming that two source trees, (S1, G1) and (S1, G2), are used for 101 the stream. By using MT capable unicast routing protocols and 102 procedures described in this document, it is possible to construct 103 two source trees for (S1, G1) and (S1, G2) in such a way that they do 104 not share any transit network segment. As a result, a single network 105 failure will not cause any loss to the stream. 107 This draft introduces a new type of PIM Join Attribute used to encode 108 the identity of the topology PIM uses for RPF. It is based on 109 [RFC5384], and specifies additional procedures and rules to process 110 the attribute and resolve conflict. 112 3. Functional Overview 114 3.1. PIM RPF Topology 116 PIM RPF topology is a collection of routes used by PIM to perform RPF 117 operation when building shared or source trees. In the rest of the 118 document, PIM RPF topology may be simply referred to as "topology" 119 when there is no ambiguity. 121 In a multi-topology environment, multiple RPF topologies can be 122 created in the same network. A particular source may be reachable in 123 only one of the topologies, or in several of them via different 124 paths. 126 To select the RPF topology for a particular multicast distribution 127 tree, one or more of the following can be done. 129 1. configure a policy that maps a group range to a topology. When 130 RPF information needs to be resolved for the RP or the sources 131 for a group within the range, the RPF lookup takes place in the 132 specified topology. This can be used for PIM-SM/SSM/Bidir. 134 2. configure a policy that maps a source prefix range to a 135 topology. This can be used for PIM-SM and PIM-SSM. 137 3. use the topology identified by the Join Attribute encoding in 138 the received PIM packets. 140 The details of the first two methods are implementation specific and 141 are not discussed in this document. The specification to support the 142 third method is included in this document. 144 3.2. PIM MT-ID 146 For each PIM RPF topology created, a unique numerical ID is assigned 147 per PIM domain. This ID is called PIM MT-ID. PIM MT-ID has the 148 following property, 150 - this value is not required to be the same as the MT-ID used by 151 the unicast routing protocols that contribute routes to the 152 topology. In practice, when only one unicast routing protocol 153 (such as OSPF or IS-IS) is used, PIM MT-ID is recommended to be 154 assigned using the same value as the IGP topology identifier. 155 This is for the purpose of reducing management overhead and 156 simplifying troubleshooting. 158 - this value must be unique and consistent within the network 159 domain for the same topology 161 - 0 is reserved as the default, and MUST NOT be included in the 162 join attribute encoding. 164 - how to assign a PIM MT-ID to a topology is decided by the network 165 administrator and is outside the scope of this document 167 3.3. Applicability 169 The PIM MT-ID join attribute described in this draft applies to PIM 170 Join/Assert packets used by PIM SM/SSM/Bidir. It is not used in any 171 other PIM packets, such as Prune, Register, Register-Stop, Graft, 172 Graft-ack, DF Election, Candidate-RP, and Bootstrap. As such, it can 173 only be used to build shared or source trees for PIM SM/SSM and PIM- 174 bidir downstream. 176 When this attribute is used in combination with RPF vectors defined 177 in [RFC5496] [ID.ietf-l3vpn-2547bis-mcast], they are processed 178 against the topology identified by the PIM MT-ID attribute. 180 4. Protocol Specification of PIM MT-ID 182 The change to the PIM protocol includes two pieces, PIM MT-ID Hello 183 Option and PIM MT-ID Join Attribute. 185 4.1. PIM MT-ID Hello Option 187 A router MUST include both PIM MT-ID and PIM Join Attribute Hello 188 Option in its PIM Hello packets if it supports functionality 189 described by this document. 191 4.2. PIM MT-ID Join Attribute 193 4.2.1. Sending PIM MT-ID Join Attribute 195 When a PIM router originates a PIM Join/Assert packet, it may choose 196 to encode PIM MT-ID of the topology in which RPF lookup takes place 197 for the corresponding (*,G) or (S,G) entry. The chosen PIM MT-ID MUST 198 be the one decided by local topology selection configuration if it 199 exists, or the one received from downstream routers after conflict 200 resolution procedures are applied. 202 The following are the exceptions, 204 - a router MUST NOT attach the attribute if PIM MT-ID is 0. The 205 value of 0 is ignored on reception. 207 - a router SHOULD NOT do so if the upstream router, or any of the 208 routers on the LAN does not include "PIM Join Attribute" or "PIM 209 MT-ID" option in its Hello packets. 211 - a router SHOULD NOT encode PIM MT-ID for pruned sources. If 212 encoded, the value is ignored. 214 4.2.2. Receiving PIM MT-ID Join Attribute 216 When a PIM router receives a PIM MT-ID join attribute in a 217 Join/Assert packet, it MUST perform the following, 219 - validate the attribute encoding. The detail is described in the 220 next section. 222 - if the join attribute is valid, use the rules described in the 223 section "Conflict Resolution" to determine a PIM MT-ID to use. 225 - use the topology identified by the selected PIM MT-ID to perform 226 RPF lookup for the (*,G)/(S,G) entry unless a different topology 227 is specified by a local configuration. The local configuration 228 always takes precedence. 230 4.2.3. Validating PIM MT-ID Join Attribute 232 An encoded PIM MT-ID join attribute is valid if all of the following 233 conditions are satisfied, 235 - there is at most 1 PIM MT-ID attribute encoded. If there are 236 multiple PIM MT-ID Join Attributes included, only the last one is 237 accepted. 239 - the length field must be 2 and the value must not be 0. 241 If an encoded PIM MT-ID join attribute is deemed invalid, it is 242 silently ignored. The packet is processed as if the attribute were 243 not present. 245 It is important to note that, if the sender is not a PIM neighbor 246 that has included "PIM Join Attribute" or "PIM MT-ID" option in its 247 Hello packets, the encoding may still be considered valid by an 248 implementation. 250 4.2.4. Conflict Resolution 252 It is important to note that the definition of "PIM MT-ID conflict" 253 varies depending on whether it is on an upstream or a downstream 254 router. 256 On an upstream router, a conflict occurs when the router doesn't have 257 local topology selection policy and it has received different PIM 258 MT-ID from Join packets sent by its downstream routers or Assert 259 packets from another forwarding router on the LAN. In another word, 260 if an upstream router has a local configuration that specifies a 261 different topology than that from an incoming Join/Assert packet, 262 including the case PIM MT-ID is not encoded in the incoming packet, 263 it does not apply the conflict resolution procedures. 265 On the other hand,when a downstream router sees a different PIM MT-ID 266 attribute from other routers on the LAN it applies rules to resolve 267 the conflicts regardless of whether the router has local topology 268 selection policy or not. 270 It MUST be noted that the MT-ID value being considered for comparison 271 does not include the four reserved bits. That is, only the lower 272 order 12 bits are used in resolving conflicting attributes. 274 4.2.4.1. Conflict Resolution Rules For Upstream Routers 276 - if an upstream router receives different PIM MT-ID attributes 277 from PIM Join packets, it MUST follow the rules specified in 278 [RFC5384] to select one. The PIM MT-ID chosen will be the one 279 encoded for its upstream neighbor. 281 In order to minimize the chances of potential transient 282 forwarding loops, an upstream router MAY choose to ignore the 283 incoming PIM Join/Prune packets all together if it sees a 284 conflict in PIM MT-ID attributes. 286 - if an upstream router receives a different PIM MT-ID attribute in 287 an ASSERT packet, it MUST use the tie-breaker rules as specified 288 in [RFC4601] to determine an ASSERT winner. PIM MT-ID is not 289 considered in deciding a winner from Assert process. 291 4.2.4.2. Conflict Resolution Rules For Downstream Routers 292 - if a downstream router sees different PIM MT-ID attributes from 293 PIM Join packets, it MUST follow the specification of [RFC4601] 294 as if the attribute did not exist. For example, the router 295 suppresses its own Join packet if a Join for the same (S,G) is 296 seen. 298 The router MUST NOT use the rules specified in [RFC5384] to 299 select a PIM MT-ID from Join packets sent by other downstream 300 routers. 302 - if a downstream router sees its preferred upstream router loses 303 in the ASSERT process, and the ASSERT winner uses a different PIM 304 MT-ID, the downstream router SHOULD still choose the ASSERT 305 winner as the RPF neighbour but it MUST NOT encode PIM MT-ID when 306 sending Join packets to it. 308 5. Packet Format 310 5.1. PIM MT-ID Hello Option 312 0 1 2 3 313 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 314 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 315 | OptionType | OptionLength | 316 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 317 | OptionValue | 318 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 320 - OptionType: 30. 322 - OptionLength: 8. 324 - OptionValue: There is none specified at this moment. 326 5.2. PIM MT-ID Join Attribute TLV Format 328 0 1 2 3 329 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 330 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 331 |F|E| Attr Type | Length |R R R R| Value | 332 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 334 - F bit: 0 Non-transitive Attribute. 336 - E bit: As specified by [RFC5384]. 338 - Attr Type: 3. 340 - Length: 2. 342 - R: Reserved bits, 4 in total. 344 - Value: PIM MT-ID, 1 to 4095. Range 2048 to 4095 are for 345 experimental and proprietary use. 347 6. IANA Considerations 349 A new PIM Hello Option type, 30, has been assigned for PIM MT-ID 350 Hello Option. The detail is in [HELLO]. 352 A new PIM Join Attribute type needs to be assigned. 3 is proposed for 353 now. 355 7. Security Considerations 357 As a type of PIM Join Attribute, the security considerations 358 described in [RFC5384] apply here. Specifically, malicious alteration 359 of PIM MT-ID may cause the resiliency goals to be violated. 361 8. Acknowledgments 363 The authors would like to thank Eric Rosen, Ice Wijnands, Dino 364 Farinacci, Colby Barth, Les Ginsberg, Dimitri Papadimitriou and 365 Thomas Morin for their input. 367 9. Authors' Addresses 369 Yiqun Cai 370 Cisco Systems, Inc 371 170 West Tasman Drive 372 San Jose, CA 95134 374 E-mail: ycai@cisco.com 375 Heidi Ou 376 Cisco Systems, Inc 377 170 West Tasman Drive 378 San Jose, CA 95134 380 E-mail: hou@cisco.com 382 10. Normative References 384 [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate 385 Requirement Levels", RFC 2119, March 1997. 387 [RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, 388 "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol 389 Specification (Revised)", RFC 4601, August 2006. 391 [RFC5384] A. Boers, I. Wijnands, E. Rosen, "The Protocol Independent 392 Multicast (PIM) Join Attribute Format", RFC 5384, November 2008 394 11. Informative References 396 [RFC4915] P. Psenak, S. Mirtorabi, A. Roy, L. Nguyen, P. Pillay- 397 Esnault, "Multi-Topology (MT) Routing in OSPF", RFC 4915, June 2007. 399 [RFC5120] T. Przygienda, N. Shen, N. Sheth, "M-ISIS: Multi Topology 400 (MT) Routing in Intermediate System to Intermediate Systems (IS- 401 ISs)", RFC 5120, February 2008. 403 [RFC5496] I. Wijnands, A. Boers, E. Rosen, "The Reverse Path 404 Forwarding (RPF) Vector TLV", RFC 5496, March 2009. 406 [HELLO] IANA, "PIM-Hello Options", 407 http://www.iana.org/assignments/pim-parameters/pim- 408 parameters.xhtml#pim-parameters-1 410 [ID.ietf-l3vpn-2547bis-mcast] E. Rosen,R Aggarwal, "Multicast in 411 MPLS/BGP IP VPNs", draft-ietf-l3vpn-2547bis-mcast-10, January 2010