Skip to main content

PIM Null-Register packing
draft-ietf-pim-null-register-packing-14

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 9465.
Authors Vikas Ramesh Kamath , Ramakrishnan Cokkanathapuram Sundaram , Raunak Banthia , Ananya Gopal
Last updated 2023-03-01 (Latest revision 2023-02-22)
Replaces draft-ramki-pim-null-register-packing
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state Submitted to IESG for Publication
Document shepherd Mike McBride
Shepherd write-up Show Last changed 2023-02-22
IESG IESG state Became RFC 9465 (Proposed Standard)
Consensus boilerplate Yes
Telechat date (None)
Needs a YES. Needs 2 more YES or NO OBJECTION positions to pass.
Responsible AD Alvaro Retana
Send notices to Mike McBride <mmcbride7@gmail.com>, aretana.ietf@gmail.com
IANA IANA review state IANA OK - Actions Needed
draft-ietf-pim-null-register-packing-14
Network Working Group                                          V. Kamath
Internet-Draft                                                    VMware
Intended status: Standards Track            R. Chokkanathapuram Sundaram
Expires: 26 August 2023                              Cisco Systems, Inc.
                                                              R. Banthia
                                                                  Apstra
                                                                A. Gopal
                                                     Cisco Systems, Inc.
                                                        22 February 2023

                       PIM Null-Register packing
                draft-ietf-pim-null-register-packing-14

Abstract

   In PIM-SM networks PIM Null-Register messages are sent by the
   Designated Router (DR) to the Rendezvous Point (RP) to signal the
   presence of Multicast sources in the network.  There are periodic PIM
   Null-Registers sent from the DR to the RP to keep the state alive at
   the RP as long as the source is active.  The PIM Null-Register
   message carries information about a single Multicast source and
   group.

   This document defines a standard to send multiple Multicast source
   and group information in a single PIM message.  This document refers
   to the new messages as the PIM Packed Null-Register message and PIM
   Packed Register-Stop message.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 26 August 2023.

Kamath, et al.           Expires 26 August 2023                 [Page 1]
Internet-Draft          PIM Null-Register packing          February 2023

Copyright Notice

   Copyright (c) 2023 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Conventions used in this document . . . . . . . . . . . .   3
     1.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Packed Null-Register Packing Capability . . . . . . . . . . .   3
   3.  PIM Packed Null-Register message format . . . . . . . . . . .   3
   4.  PIM Packed Register-Stop message format . . . . . . . . . . .   4
   5.  Protocol operation  . . . . . . . . . . . . . . . . . . . . .   4
   6.  Operational Considerations  . . . . . . . . . . . . . . . . .   5
     6.1.  PIM Anycast RP Considerations . . . . . . . . . . . . . .   5
     6.2.  Interoperability between different versions . . . . . . .   5
     6.3.  PIM RP router version downgrade . . . . . . . . . . . . .   6
   7.  Fragmentation Considerations  . . . . . . . . . . . . . . . .   6
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   7
   11. Normative References  . . . . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   The DR periodically sends PIM Null-Registers to keep the state of
   existing multicast sources active on the RP.  As the number of
   multicast sources increases, the number of PIM Null-Register messages
   that are sent also increases.  This results in more PIM packet
   processing at the RP and the DR.

   This draft proposes a method to efficiently pack multiple PIM Null-
   Registers and Register-Stops [RFC7761] into a single message as these
   packets do not contain encapsulated data.

Kamath, et al.           Expires 26 August 2023                 [Page 2]
Internet-Draft          PIM Null-Register packing          February 2023

   The draft also discusses interoperability between PIM routers that
   support PIM Packed Null-Registers and PIM Packed Register-Stops and
   PIM routers that do not.

1.1.  Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

1.2.  Terminology

   RP:  Rendezvous Point

   DR:  Designated Router

2.  Packed Null-Register Packing Capability

   This section allocates a bit in the PIM Register-Stop message Flag
   Bits field for the RP to indicate its ability to receive PIM Packed
   Null-Register messages (Section 3), and send PIM Packed Register-Stop
   messages (Section 4).

   0                   1                   2                   3
   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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |PIM Ver| Type  |P|6 5 4 3 2 1 0|           Checksum            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |             Group Address (Encoded-Group format)              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |            Source Address (Encoded-Unicast format)            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      Figure 1: PIM Register-Stop message with Packing Capability option

   The fields in the PIM Register-Stop message are defined in
   Section 4.9.4 of [RFC7761], and the common header in [RFC8736].

   Packing Capability bit (Flag Bit TBD1): When set, it indicates the
   ability of the RP to receive PIM Packed Null-Register messages, and
   send PIM Packed Register-Stop messages.

3.  PIM Packed Null-Register message format

Kamath, et al.           Expires 26 August 2023                 [Page 3]
Internet-Draft          PIM Null-Register packing          February 2023

      0                   1                   2                   3
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |PIM Ver| Type  |Subtype|  FB   |           Checksum            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Group Address[1]   (Encoded-Group format)                 |
      |     Source Address[1]  (Encoded-Unicast format)               |
      .                                                               .
      .                                                               .
      .                                                               .
      .                                                               .
      .     Group Address[N]                                          .
      |     Source Address[N]                                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              Figure 2: PIM Packed Null-Register message format

   The fields in the PIM Packed Null-Register message are defined in
   Section 4.9.4 of [RFC7761], and the common header in [RFC8736]

   Type, Subtype: The PIM Packed Null-Register Type value TBD2.
   [RFC8736]

4.  PIM Packed Register-Stop message format

      0                   1                   2                   3
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |PIM Ver| Type  |Subtype|  FB   |           Checksum            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Group Address[1]  (Encoded-Group format)                  |
      |     Source Address[1]  (Encoded-Unicast format)               |
      .                                                               .
      .                                                               .
      .                                                               .
      .                                                               .
      .     Group Address[N]                                          .
      |     Source Address[N]                                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              Figure 3: PIM Packed Register-Stop message format

   The fields in the PIM Packed Register-Stop message are defined in
   Section 4.9.4 of [RFC7761], and the common header in [RFC8736]

   Type, Subtype: The PIM Packed Register-Stop Type TBD3

5.  Protocol operation

Kamath, et al.           Expires 26 August 2023                 [Page 4]
Internet-Draft          PIM Null-Register packing          February 2023

   *  As specified in [RFC7761], the DR sends PIM Register messages
      towards the RP when a new source is detected.

   *  When this feature is enabled/configured, an RP supporting this
      specification MUST set the P-bit (Flag bit TBD1) in all Register-
      Stop messages.

   *  When a Register-Stop message with the P-bit set is received, the
      DR MAY send PIM Packed Null-Register messages (Section 3) to the
      RP instead of multiple Register messages with the N-bit set
      [RFC7761].  The DR may use a mixture of PIM Packed Null-Register
      messages and Register messages.  The decision is up to the
      implementation and out of the scope of this document.  However, it
      is RECOMMENDED to stick to the packed format as long as the RP and
      DR have the feature enabled.

   *  The RP, after receiving a PIM Packed Null-Register message, MAY
      start sending PIM Packed Register-Stop messages (Section 4) to the
      corresponding DR instead of individual Register-Stop messages.
      The RP may use a mixture of PIM Packed Register-Stop messages and
      individual Register-Stop messages.  The decision is up to the
      implementation and out of the scope of this document.  However, it
      is RECOMMENDED to stick to the packed format as long as the RP and
      DR have the feature enabled.

6.  Operational Considerations

6.1.  PIM Anycast RP Considerations

   The PIM Packed Null-Register packet format should be enabled only if
   it is supported by all the routers in the Anycast-RP set [RFC4610].
   This consideration applies to PIM Anycast RP with MSDP [RFC3446] as
   well.

6.2.  Interoperability between different versions

   A router (DR) can decide to pack multiple Null-Register messages
   based on the Packing Capability received from the RP as part of the
   PIM Register-Stop.  This ensures compatibility with routers that do
   not support processing of the new packet format.  The Packing
   Capability information can be indicated by the RP via the PIM
   Register-Stop message sent to the DR.  Thus a DR will switch to the
   new packet format only when it learns that the RP is capable of
   handling the PIM Packed Null-Register messages.

   Conversely, a DR that does not support the packed format can continue
   generating the PIM Null-Register as defined in [RFC7761]
   (Section 4.4).

Kamath, et al.           Expires 26 August 2023                 [Page 5]
Internet-Draft          PIM Null-Register packing          February 2023

6.3.  PIM RP router version downgrade

   Consider a PIM RP router that supports PIM Packed Null-Registers and
   PIM Packed Register-Stops.  When this router downgrades to a software
   version which does not support PIM Packed Null-Registers and PIM
   Packed Register-Stops, the DR that sends the PIM Packed Null-Register
   message will not get a PIM Register-Stop message back from the RP.

   When the DR switches to Data Registers from Null-Registers, it MUST
   start a Packed_Register_Probe_Time timer.  If no PIM Packed Register-
   Stop or Register-Stop with the P-bit set is received within
   Packed_Register_Probe_Time seconds, the DR can decide that the RP no
   longer supports PIM Packed Null-Registers.  The
   Packed_Register_Probe_Time timer is configurable; its default value
   is 60 seconds.

   When Packed_Register_Probe_Time expires, The DR MAY also send an
   unpacked PIM Null-Register and check the PIM Register-Stop to see if
   the P-bit is set or not.  If it is not set then the DR will continue
   sending unpacked PIM Null-Register messages.

   In case the network manager disables the Packing Capability at the
   RP, or in other words, disables the feature from the RP, the router
   SHOULD NOT advertise the Packing Capability.  However, an
   implementation MAY choose to still parse any packed registers if they
   are received.  This may be particularly useful in the transitional
   period after the network manager disables it.

7.  Fragmentation Considerations

   For IPv6 PIM Packed Null-Register messages or PIM Packed Register-
   Stop messages, the DR MUST perform Path MTU Discovery.  For IPv4, the
   DR SHOULD perform Path MTU Discovery.  This allows the DR to fragment
   packets as needed.  However, in order to avoid fragmentation
   altogether, a DR sending packed registers SHOULD limit the number of
   records such that the message can fit within the Path MTU.  A record
   consists of a Group Address and Source Address pair.

8.  Security Considerations

   The Security Considerations from [RFC7761] apply to this document.
   In particular, the effect of forging a PIM Packed Null-Register or
   Register-Stop message would be amplified to all the records included
   and not a single source/group pair.

   By forging a PIM Register-Stop message and setting the P-bit, an
   attacker can trigger the use of PIM Packed Null-Register messages by
   a DR thus creating unnecessary churn in the network.

Kamath, et al.           Expires 26 August 2023                 [Page 6]
Internet-Draft          PIM Null-Register packing          February 2023

9.  IANA Considerations

      When this document is published, IANA is asked to assign a Packing
      Capability bit (TBD1) in the PIM Register-Stop Common Header from
      the PIM Message Types registry.

      When this document is published, IANA is asked to assign a PIM
      message type (TBD2) for the PIM Packed Null-Register from the PIM
      Message Types registry.

      When this document is published, IANA is asked to assign a PIM
      message type (TBD3) for the PIM Packed Register-Stop from the PIM
      Message Types registry.

10.  Acknowledgments

   The authors would like to thank Stig Venaas, Alvaro Retana, Anish
   Peter, Zheng Zhang and Umesh Dudani for their helpful comments on the
   draft.

11.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC7761]  Fenner, B., Handley, M., Holbrook, H., Kouvelas, I.,
              Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent
              Multicast - Sparse Mode (PIM-SM): Protocol Specification
              (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March
              2016, <https://www.rfc-editor.org/info/rfc7761>.

   [RFC4610]  Farinacci, D. and Y. Cai, "Anycast-RP Using Protocol
              Independent Multicast (PIM)", RFC 4610,
              DOI 10.17487/RFC4610, August 2006,
              <https://www.rfc-editor.org/info/rfc4610>.

   [RFC8736]  Venaas, S. and A. Retana, "PIM Message Type Space
              Extension and Reserved Bits", RFC 8736,
              DOI 10.17487/RFC8736, February 2020,
              <https://www.rfc-editor.org/info/rfc8736>.

Kamath, et al.           Expires 26 August 2023                 [Page 7]
Internet-Draft          PIM Null-Register packing          February 2023

   [RFC3446]  Kim, D., Meyer, D., Kilmer, H., and D. Farinacci, "Anycast
              Rendevous Point (RP) mechanism using Protocol Independent
              Multicast (PIM) and Multicast Source Discovery Protocol
              (MSDP)", RFC 3446, DOI 10.17487/RFC3446, January 2003,
              <https://www.rfc-editor.org/info/rfc3446>.

Authors' Addresses

   Vikas Ramesh Kamath
   VMware
   3401 Hillview Ave
   Palo Alto,  CA 94304
   United States of America
   Email: vkamath@vmware.com

   Ramakrishnan Chokkanathapuram Sundaram
   Cisco Systems, Inc.
   Tasman Drive
   San Jose,  CA 95134
   United States of America
   Email: ramaksun@cisco.com

   Raunak Banthia
   Apstra
   333 Middlefield Rd STE 200
   Menlo Park,  CA 94025
   United States of America
   Email: rbanthia@apstra.com

   Ananya Gopal
   Cisco Systems, Inc.
   Tasman Drive
   San Jose,  CA 95134
   United States of America
   Email: ananygop@cisco.com

Kamath, et al.           Expires 26 August 2023                 [Page 8]