Internet DRAFT - draft-gopal-pim-pfm-forwarding-enhancements

draft-gopal-pim-pfm-forwarding-enhancements







Network Working Group                                           A. Gopal
Internet-Draft                                                 S. Venaas
Intended status: Standards Track                     Cisco Systems, Inc.
Expires: 5 September 2024                                   4 March 2024


                  PIM Flooding Mechanism Enhancements
             draft-gopal-pim-pfm-forwarding-enhancements-02

Abstract

   PIM Flooding Mechanism is a generic PIM message exchange mechanism
   that allows multicast information to be exchanged between PIM routers
   hop-by-hop.  One example is PIM Flooding Mechanism and Source
   Discovery which allows Last Hop Routers to learn about new sources
   using PFM messages, without the need of initial data registers, RPs
   or shared trees.

   This document defines a methodology that enhances forwarding
   efficiency in PFM deployments.  This enhancement can avoid extra
   processing at PIM routers when PFM messages are forwarded.

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 5 September 2024.

Copyright Notice

   Copyright (c) 2024 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



Gopal & Venaas          Expires 5 September 2024                [Page 1]

Internet-Draft     PIM Flooding Mechanism Enhancements        March 2024


   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.  Methodology . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  RFC 6395 Compliance . . . . . . . . . . . . . . . . . . .   3
     2.2.  PFM optimization Hello option . . . . . . . . . . . . . .   3
     2.3.  PFM message sending . . . . . . . . . . . . . . . . . . .   4
     2.4.  PFM message receiving and RPF check relaxation  . . . . .   5
     2.5.  PFM message forwarding  . . . . . . . . . . . . . . . . .   5
   3.  Operational Considerations  . . . . . . . . . . . . . . . . .   5
   4.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   6
   5.  Normative References  . . . . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   PIM Flooding Mechanism [RFC8364] allows a PIM router in the network
   to originate a PFM message to distribute multicast information to its
   PIM neighbors [RFC7761] . All PIM neighbors then process this PFM
   message and flood it further on their PIM-enabled links.  To prevent
   loops, the originator address as defined in Section 3.1 [RFC8364] is
   used for RPF checking at each router.  This RPF check is defined in
   Section 3.4.1 [RFC8364].  Periodic PFM messages are triggered, see
   Section 3.4.2 [RFC8364] and exchanged to keep the multicast
   information updated across the PIM domain.  At present, a PIM router
   will flood a PFM message on all its PIM enabled links.  It is the
   recipient's responsibility to perform RPF checks on all received PFM
   messages and then decide whether to accept or drop a particular
   message.  This means that if two routers have PIM neighborships over
   more than one link, the same PFM messages are exchanged or dropped
   over more than one link between the same two routers.  This leads to
   extra processing at each PIM router, periodically, or every time a
   new source is discovered (in case of a PFM-SD implementation).  This
   document defines a mechanism to exchange PFM messages only on one ONE
   link per router-pair, even though they may maintain PIM neighborships
   over multiple links.  In other words, when there are multiple links
   between two PIM routers, routers should not send the same message on
   all the links between them.  This is achieved by identifying the PIM
   routers in the network using Router Identifier that are announced via
   PIM hellos, as per RFC 6395.




Gopal & Venaas          Expires 5 September 2024                [Page 2]

Internet-Draft     PIM Flooding Mechanism Enhancements        March 2024


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

   RPF:  Reverse Path Forwarding

   PFM:  PIM Flooding Mechanism

2.  Methodology

2.1.  RFC 6395 Compliance

   For the PFM enhancement specified in this document to be adopted, all
   PIM routers MUST be compliant with RFC [RFC6395].  This means that
   PIM routers announce a unique domain-wide router ID in their PIM
   Hellos.  A PIM router announces the same 4-byte Router-ID in PIM
   Hellos that it sends to all neighbors on all links.  It also caches
   of the Router-Ids of its neighbors, when it receives Hellos from RFC
   6395 Compliant PIM neighbors.  This can be used to determine that
   different PIM neighbors are really the same router.  In a VRF
   context, if the router has multiple interfaces with only one neighbor
   per interface, the router SHOULD check if those neighbors announce an
   RFC 6395 router ID.  If the router can see the same router ID for
   multiple neighbors, PFM message exchange is optimized, as discussed
   in Section 2.

2.2.  PFM optimization Hello option

   A PIM router indicates that it supports the mechanism specified in
   this document by including the new PFM optimization Hello option.
   When this optimization is included in the PIM hello, the router MUST
   also include the router-ID Hello Option defined in [RFC6395] with a
   non-zero router-ID.










Gopal & Venaas          Expires 5 September 2024                [Page 3]

Internet-Draft     PIM Flooding Mechanism Enhancements        March 2024


        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        OptionType             |       OptionLength = 0        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                 Figure 1: PFM optimization Hello option


   OptionType = TBD

   OptionLength = 0

   Note that there is no option value included.  When a PIM hello with
   OptionType TBD is received from a PIM neighbor, the router MUST cache
   this information so that it can make forwarding and dropping
   decisions for PFM messages for that neighbor.  When this option is
   included, the router MUST also cache the non-zero router-ID of this
   neighbor.

2.3.  PFM message sending

   Consider a topology where two PIM routers maintain PIM neighborships
   over more than one links in the same PIM domain.  From each router's
   point of view, there is a single neighbor on each link.
   Traditionally, each of the routers will send out PFM messages out
   over all the links to its neighbor.  RPF checks are one of the
   commonly used ways to prevents loops, hence the recipient router
   performs an RPF check and accepts only on one link, thereby dropping
   packets from all the others.  Since, the sender does not know which
   link will be chosen as the RPF-source on the neighbor, it cannot make
   the decision of choosing one of the links, without knowing its
   neighbor's decision.

   If the optimization specified in this document is advertised by both
   routers, the sender should choose one of the links and send and
   forward PFM messages to its neighbor using only that link.  It is
   imperative that the sender does this only when the receiver is
   capable of the optimization and is advertising the same.  Otherwise,
   the messages may be dropped because of RPF failures.  Mechanism to
   choose a link is left to the implementation.











Gopal & Venaas          Expires 5 September 2024                [Page 4]

Internet-Draft     PIM Flooding Mechanism Enhancements        March 2024


2.4.  PFM message receiving and RPF check relaxation

   Consider a router that is advertising its capability to optimize PFM
   exchanges in the network.  Upon receiving a PFM message, this router
   MUST first check whether this message is sent by a PFM optimization
   enabled router.  If the check returns true, the receiver should relax
   its RPF check and accept the message.  When a PFM message is
   received, the receiver SHOULD keep track of the router ID of the
   sender, so that the receiver does not forward the message back to the
   sender on any other link, as explained in the next section.  If it
   receives this message from a router that is not advertising the PFM
   optimization specified in this document, however the optimization is
   enabled on the receiver, the receiver SHOULD NOT relax its RPF check.
   This is because the sender will be still sending out messages on all
   the links between them.

2.5.  PFM message forwarding

   Traditionally, a PIM router forwards a PFM message on all its PIM
   enabled links.  However, this is now optimized.  Consider a router
   that is advertising its capability to optimize PFM exchanges in the
   network.  When this router receives a PFM message from a router that
   also has the PFM optimization enabled, the forwarding mechanism is as
   follows.  The receiver MUST NOT send the PFM message on out on any
   links where there is only one neighbor and the neighbor has the same
   router ID as the sender.

3.  Operational Considerations

   Existing neighbor on a new link:  When a new neighbor is detected
      announcing support for the optimization and announcing a non-zero
      router ID, and it is the only neighbor on the link, a PIM router
      needs to check if there is an existing neighbor on another link
      with the same router ID (it does not need to be the sole neighbor
      on the other link).  A mechanism SHOULD be implemented to prevent
      PFM messages being sent on this link.

   New neighbor on a new link:  Appropriate logic SHOULD be implemented
      to handle new neighbor additions so that extra messages are not
      forwarded to same neighbor, as well as ensuring that a new
      neighbor quickly gets the correct state.

   Removal of a neighbor:  Appropriate logic SHOULD also be implemented
      to handle neighbor removals.







Gopal & Venaas          Expires 5 September 2024                [Page 5]

Internet-Draft     PIM Flooding Mechanism Enhancements        March 2024


4.  Acknowledgments

5.  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>.

   [RFC8364]  Wijnands, IJ., Venaas, S., Brig, M., and A. Jonasson, "PIM
              Flooding Mechanism (PFM) and Source Discovery (SD)",
              RFC 8364, DOI 10.17487/RFC8364, March 2018,
              <https://www.rfc-editor.org/info/rfc8364>.

   [RFC6395]  Gulrajani, S. and S. Venaas, "An Interface Identifier (ID)
              Hello Option for PIM", RFC 6395, DOI 10.17487/RFC6395,
              October 2011, <https://www.rfc-editor.org/info/rfc6395>.

Authors' Addresses

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


   Stig Venaas
   Cisco Systems, Inc.
   Tasman Drive
   San Jose,  CA 95134
   United States of America
   Email: svenaas@cisco.com







Gopal & Venaas          Expires 5 September 2024                [Page 6]