idnits 2.17.1 draft-ietf-pim-null-register-packing-05.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 : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (February 26, 2020) is 1520 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) -- Looks like a reference, but probably isn't: '1' on line 197 == Missing Reference: 'N' is mentioned on line 203, but not defined == Unused Reference: 'I-D.ietf-pim-reserved-bits' is defined on line 288, but no explicit reference was found in the text == Unused Reference: 'RFC4610' is defined on line 298, but no explicit reference was found in the text == Unused Reference: 'RFC7761' is defined on line 303, but no explicit reference was found in the text == Unused Reference: 'RFC3973' is defined on line 311, but no explicit reference was found in the text Summary: 1 error (**), 0 flaws (~~), 7 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group V. Kamath 3 Internet-Draft VMware 4 Intended status: Standards Track R. Chokkanathapuram Sundaram 5 Expires: August 29, 2020 R. Banthia 6 Cisco Systems, Inc. 7 February 26, 2020 9 PIM Null register packing 10 draft-ietf-pim-null-register-packing-05 12 Abstract 14 In PIM-SM networks PIM registers are sent from the first hop router 15 to the RP (Rendezvous Point) to signal the presence of Multicast 16 source in the network. There are periodic PIM Null registers sent 17 from first hop router to the RP to keep the state alive at the RP as 18 long as the source is active. The PIM Null register packet carries 19 information about a single Multicast source and group. This document 20 defines a standard to send multiple Multicast source and group 21 information in a single pim Null register packet and the 22 interoperability between the PIM routers which do not understand the 23 packet format with multiple Multicast source and group details. 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on August 29, 2020. 42 Copyright Notice 44 Copyright (c) 2020 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (https://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 60 1.1. Conventions Used in This Document . . . . . . . . . . . . 2 61 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 62 2. PIM Register Stop format with capability option . . . . . . . 3 63 3. New PIM Null register message . . . . . . . . . . . . . . . . 4 64 4. New PIM Register Stop message format . . . . . . . . . . . . 4 65 5. Protocol operation . . . . . . . . . . . . . . . . . . . . . 5 66 6. PIM Anycast RP considerations . . . . . . . . . . . . . . . . 6 67 7. PIM RP router version downgrade . . . . . . . . . . . . . . . 6 68 8. Fragmentation consideration . . . . . . . . . . . . . . . . . 6 69 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 70 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 71 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 72 11.1. Normative References . . . . . . . . . . . . . . . . . . 7 73 11.2. Informative References . . . . . . . . . . . . . . . . . 7 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 76 1. Introduction 78 PIM Null registers are sent by First hop routers periodically for 79 Multicast streams to keep the states active on the RP as long as the 80 Multicast source is alive. As the number of multicast sources 81 increases, the number of PIM Null register packets that are sent 82 increases at a given time. This results in more PIM packet 83 processing at RP and FHR. The control plane policing (COPP), 84 monitors the packets that gets processed by the control plane. Due 85 to the high rate at which Null registers are received at the RP, this 86 can lead to COPP drops of Multicast PIM Null register packets. This 87 draft proposes a method to efficiently pack multiple PIM Null 88 registers and register stop into a single message as these packets 89 anyway don't contain data. The draft also proposes interoperability 90 with the routers that do not understand the new packet format. 92 1.1. Conventions Used in This Document 94 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 95 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 96 document are to be interpreted as described in RFC 2119 [RFC2119]. 98 1.2. Terminology 100 RP: Rendezvous Point 102 RPF: Reverse Path Forwarding 104 SPT: Shortest Path Tree 106 FHR: First Hop Router, directly connected to the source 108 LHR: Last Hop Router, directly connected to the receiver 110 2. PIM Register Stop format with capability option 112 A router (FHR) can decide to pack multiple Null registers based on 113 the capability received from the RP as part of Register Stop. This 114 ensures compatibility with routers that don't support processing of 115 the new format. The capability information can be indicated by the 116 RP via the PIM register stop message sent to the FHR. Thus a FHR 117 will switch to the new format only when it learns RP is capable of 118 handling the packed Null register messages. Conversely, a FHR that 119 doesn't support the new format can continue generating the PIM Null 120 register the current way. To exchange the capability information in 121 the Register Stop message, the "reserved" field can be used to 122 indicate this capability in those register stop messages. One bit of 123 the reserved field is used to indicate the "packing" capability (P 124 bit). The rest of the bits in the "Reserved" field will be retained 125 for future use. 127 Figure 1: PIM Register Stop message with capability option 129 0 1 2 3 130 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 131 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 132 |PIM Ver| Type |P| Reserved | Checksum | 133 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 134 | Group Address (Encoded-Group format) | 135 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 136 | Source Address (Encoded-Unicast format) | 137 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 139 PIM Version, Reserved, Type, Checksum, Group Address, Source Address 140 Same as RFC 7761 (Section 4.9.4) 142 P Capability bit used to indicate support for Packed Null Register 144 3. New PIM Null register message 146 New PIM Null register message format includes a count to indicate the 147 number of Null register records in the message. 149 Figure 2: New PIM Null Register message format 150 0 1 2 3 151 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 152 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 153 |PIM Ver| Type |SubType| Rsvd | Checksum | 154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 155 | Count | Reserved2 | 156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 157 | Group Address[1] (Encoded-Group format) | 158 | Source Address[1] (Encoded-Unicast format) | 159 . . 160 . . 161 . . 162 . . 163 . Group Address[N] . 164 | Source Address[N] | 165 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 167 PIM Version, Reserved, Checksum 168 Same as RFC 7761 (Section 4.9.3) 170 Type, SubType 171 The new packed Null Register Type and SubType values TBD 173 Count 174 The count of the number of packed Null register records. 175 A record consists of Group and Source Address 177 Group Address 178 IP address of the Multicast Group 180 Source Address 181 IP Address of the Multicast Source 183 4. New PIM Register Stop message format 185 The new PIM register stop is message includes a count to indicate the 186 number of records that are present in the message. 188 Figure 3: New PIM Register Stop message format 189 0 1 2 3 190 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 191 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 192 |PIM Ver| Type |SubType| Rsvd | Checksum | 193 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 194 | Count | Reserved2 | 195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 196 | Group Address[1] (Encoded-Group format) | 197 | Source Address[1] (Encoded-Unicast format) | 198 . . 199 . . 200 . . 201 . . 202 . Group Address[N] . 203 | Source Address[N] | 204 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 206 PIM Version, Reserved, Checksum 207 Same as RFC 7761 (Section 4.9.3) 209 Type 210 The new Register Stop Type and SubType values TBD 212 Count 213 The count of the number of packed register stop records. 214 A record consists of Group and Source Address 216 Group Address 217 IP address of the Multicast Group 219 Source Address 220 IP Address of the Multicast Source 222 5. Protocol operation 223 The following combinations exist - 224 FHR and RP both support the new PIM Register formats - 225 a. FHR sends the PIM register towards the RP when a new source is 226 detected 227 b. RP sends a modified register stop towards the FHR that includes 228 capability 229 information by setting the P bit (Figure 2) 230 c. Based on the receipt of new Register Stop, FHR will 231 start packing of Null registers using the new packed register 232 format (Figure 1) 233 d. RP processes the new Null register message and can generate new 234 register Stop messages by packing multiple S,Gs towards the same 235 FHR (Figure 3) 237 FHR supports but RP doesn't support new PIM Register formats- 238 a. FHR sends the PIM register towards the RP 239 b. RP sends a normal register stop without any capability 240 information 241 c. FHR then sends Null registers in the old format 243 RP supports but FHR doesn't support the new PIM Register formats- 244 a. FHR sends the PIM register towards the RP 245 b. RP sends a modified register stop towards the FHR that includes 246 capability information 247 c. Since FHR doesn't support the new format, it sends Null 248 registers in the old format 250 6. PIM Anycast RP considerations 252 The new PIM register format should be enabled only if its supported 253 by all PIM anycast RP members in the RP set for the RP address. 255 7. PIM RP router version downgrade 257 Consider a PIM RP router that downgrades to a software version which 258 does not support the PIM register packing and was previously 259 supporting the PIM register packing. The FHR that sends the packed 260 PIM register message will not get a PIM register stop message back. 261 In such scenarios the FHR can send an unpacked PIM register and check 262 the PIM register stop to see if the capability option for packed 263 register is set or not. If its not set then the FHR will continue 264 sending unpacked PIM register messages. 266 8. Fragmentation consideration 268 When building a packed pim register message using the new PIM 269 register format, a router should include as many records as possible 270 based on the path MTU towards RP if path MTU discovery is done, else 271 the number of records should be limited to the MTU of the outgoing 272 interface. 274 9. IANA Considerations 276 This document requires the assignment of 2 new PIM message types for 277 the packed pim register and pim register stop. 279 10. Acknowledgments 281 The authors would like to thank Stig Venaas, Anish Peter, Zheng Zhang 282 and Umesh Dudani for their helpful comments on the draft. 284 11. References 286 11.1. Normative References 288 [I-D.ietf-pim-reserved-bits] 289 Venaas, S. and A. Retana, "PIM Message Type Space 290 Extension and Reserved Bits", draft-ietf-pim-reserved- 291 bits-04 (work in progress), September 2019. 293 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 294 Requirement Levels", BCP 14, RFC 2119, 295 DOI 10.17487/RFC2119, March 1997, 296 . 298 [RFC4610] Farinacci, D. and Y. Cai, "Anycast-RP Using Protocol 299 Independent Multicast (PIM)", RFC 4610, 300 DOI 10.17487/RFC4610, August 2006, 301 . 303 [RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I., 304 Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent 305 Multicast - Sparse Mode (PIM-SM): Protocol Specification 306 (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March 307 2016, . 309 11.2. Informative References 311 [RFC3973] Adams, A., Nicholas, J., and W. Siadak, "Protocol 312 Independent Multicast - Dense Mode (PIM-DM): Protocol 313 Specification (Revised)", RFC 3973, DOI 10.17487/RFC3973, 314 January 2005, . 316 Authors' Addresses 318 Vikas Ramesh Kamath 319 VMware 320 3401 Hillview Ave 321 Palo Alto CA 94304 322 USA 324 Email: vkamath@vmware.com 326 Ramakrishnan Chokkanathapuram Sundaram 327 Cisco Systems, Inc. 328 Tasman Drive 329 San Jose CA 95134 330 USA 332 Email: ramaksun@cisco.com 334 Raunak Banthia 335 Cisco Systems, Inc. 336 Tasman Drive 337 San Jose CA 95134 338 USA 340 Email: rbanthia@cisco.com