PIM Working Group                                              G. Mirsky
Internet-Draft                                                 ZTE Corp.
Intended status: Standards Track                               J. Xiaoli
Expires: June 3, 2021 5 February 2022                                 ZTE Corporation
                                                       November 30, 2020
                                                           4 August 2021

   The Use of Bidirectional Forwarding Detection (BFD) for Multi-point Multipoint
   Networks and in Protocol Independent Multicast - Sparse Mode (PIM-SM) Use Case
                  draft-ietf-pim-bfd-p2mp-use-case-05
                  draft-ietf-pim-bfd-p2mp-use-case-06

Abstract

   This document discusses specifies the use of Bidirectional Forwarding Detection
   (BFD) for multi-point multipoint networks to provide nodes that participate in
   Protocol Independent Multicast - Sparse Mode (PIM-SM) with the sub-
   second sub-second
   convergence.  Optional  An extension to PIM-SM Hello, as specified
   in RFC 7761, the PIM Hello message used to bootstrap
   point-to-multipoint BFD session. sessions is also defined in this document.

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 June 3, 2021. 5 February 2022.

Copyright Notice

   Copyright (c) 2020 2021 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) (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 Simplified BSD License text
   as described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Conventions used in this document . . . . . . . . . . . .   3
       1.1.1.  Acronyms  .  Terminology . . . . . . . . . . . . . . . . . . . . .   3
       1.1.2.  Requirements Language . . . . . . . . . . . . . . . .   3
   2.  Problem Statement . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Applicability of p2mp  BFD Discriminator PIM Hello Option  . . . . . . . . . . . . . . . . . .   4
     3.1.   3
     2.1.  Using P2MP BFD in PIM DR/BDR Monitoring . . . . . . . . .   4
     3.2.
     2.2.  P2MP BFD in PIM DR Load Balancing . . . . . . . . . . . .   5
     3.3.
     2.3.  Multipoint BFD Encapsulation  . . . . . . . . . . . . . .   6
   4.   5
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   5.   5
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   6.   6
   5.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   7
   7.   6
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.1.   6
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
     7.2.   6
     6.2.  Informative References  . . . . . . . . . . . . . . . . .   8   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8   7

1.  Introduction

   Faster convergence in the control plane, in general, is beneficial
   and allows minimizing periods of traffic blackholing, transient
   routing loops, and other scenarios that may negatively affect service
   data flow.  That equally applies to unicast and multicast routing
   protocols.

   [RFC7761] is the current specification of the Protocol Independent
   Multicast - Sparse Mode (PIM-SM) for IPv4 and IPv6 networks.
   Confirming  A
   conforming implementation of PIM-SM elects a Designated Router (DR)
   on each PIM-SM interface.  When a group of PIM-SM nodes is connected
   to a shared-media segment, e.g., Ethernet, the one node elected as DR is
   to act on behalf of directly connected hosts in the context of the PIM-
   SM
   PIM-SM protocol.  Failure of the DR impacts the quality of the
   multicast services it provides to directly connected hosts because
   the default failure detection interval for PIM-SM routers is 105
   seconds.  Introduction of Backup DR (BDR), proposed in
   [I-D.ietf-pim-dr-improvement], (BDR)
   ([I-D.ietf-pim-dr-improvement]) improves convergence time in the PIM-
   SM PIM-SM
   over shared-media segment but still depends on a long failure
   detection interval.

   Bidirectional Forwarding Detection (BFD) [RFC5880] had been
   originally defined to detect failure of point-to-point (p2p) paths -
   single-hop [RFC5881], multihop [RFC5883].  In some PIM-SM
   deployments, a p2p BFD can be used to detect a failure and enable
   faster conversion.  [RFC8562] extends the BFD base specification
   [RFC5880] for multipoint and multicast networks, which networks precisely
   characterizes deployment scenarios for PIM-SM over a LAN segment.
   Among specific characteristics of p2mp BFD that are particularly benefit
   PIM-SM over a LAN segment is a faster transition to the Up state of
   the p2mp BFD session due to avoidance of the three-way handshake
   required in p2p BFD [RFC5880].  Also, because the router that
   transmits BFD Control messages uses the BFD Demand mode
   [RFC5880] [RFC5880], it
   maintains less BFD state comparing to the Asynchronous mode.  This document demonstrates how point-to-multipoint  Point-
   to-multipoint (p2mp) BFD can enable faster detection of PIM-SM router
   failure and thus minimize multicast service disruption.  The
   monitored PIM-SM router acts as the head and other routers as tails
   of a p2mp BFD session.  This document defines the monitoring of PIM-
   SM DR and BDR using p2mp BFD.  Other cases of using p2mp BFD in PIM-
   SM are outside the scope of this specification.  The document also
   defines the extension to PIM-SM [RFC7761] and [I-D.ietf-pim-dr-improvement] to bootstrap a PIM-SM
   router to join in p2mp BFD session over shared-
   media shared-media link.

1.1.  Conventions used in this document

1.1.1.  Acronyms

   BFD: Bidirectional Forwarding Detection

   BDR: Backup Designated Router

   DR: Designated Router

   DRLB: Designated Router Load Balancing

   DRLB-Cap: DRLB Capability Hello Option

   DRLB-List: DRLB List Hello Option

   GDR: Group Designated Router

   p2mp: Point-to-Multipoint

   p2p: Point-to-Point

   PIM-SM: Protocol Independent Multicast - Sparse Mode  Terminology

   This document uses terminology defined in [RFC5880], [RFC8562], and
   [RFC7761]. familiarity with these specifications and the terminology
   used is expected.

1.1.2.  Requirements Language

   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.

2.  Problem Statement

   [RFC7761] does not provide a method for fast, e.g., sub-second,
   failure detection of a neighbor PIM-SM router.  BFD already has many
   implementations based on HW that are capable of supporting multiple
   sub-second sessions concurrently.

3.  Applicability of p2mp BFD

   [RFC8562] may provide an efficient and scalable solution for the
   fast-converging environment that demonstrates the head-tails
   relationship.  Each such group presents itself as p2mp BFD session
   with its head being the root and other routers being tails of the
   p2mp  BFD session. Discriminator PIM Hello Option

   Figure 1 displays the new optional BFD Discriminator PIM Hello Option option
   to bootstrap a tail of the p2mp BFD session.

        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          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                       My  Discriminator                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 1: BFD Discriminator PIM Hello Option

   where new fields are interpreted as:

      OptionType is a value (TBA1) assigned

      OptionType: TBA.

      OptionLength: MUST be set to 4.

      My Discriminator: My Discriminator ([RFC5880]) value allocated by IANA Section 4 that
      identifies
      the TLV as head.

   If the value of the OptionLength field is not equal to 4, the BFD
   Discriminator TLV;

      OptionLength value PIM Hello option is always 4 considered malformed, and the
   receiver MUST stop processing PIM Hello options.  If the value of the
   My Discriminator - My field equals zero, then the BFD Discriminator value allocated by PIM
   Hello option MUST be considered invalid, and the root of receiver MUST ignore
   it.  The receiver SHOULD log the p2mp notification regarding the malformed
   or invalid BFD session.

3.1. Discriminator Hello option under the control of a
   throttling logging mechanism.

2.1.  Using P2MP BFD in PIM DR/BDR Monitoring

   If PIM-SM routers that support this specification are configured to
   use p2mp BFD for faster convergence, then the router to be monitored,
   referred to as 'head',

   The head MUST create a BFD session of type
   MultipointHead, as defined in MultipointHead [RFC8562].
   Note that any PIM-SM router
   that supports this specification, router, regardless of its role in PIM-SM, role, MAY become a
   head of a p2mp BFD session.  If the head doesn't support
   [I-D.ietf-pim-dr-improvement], but, for example, uses procedures
   defined in [I-D.mankamana-pim-bdr], then it MUST include BFD TLV in
   its PIM-Hello message.  If the  The head uses extensions defined in

   [I-D.ietf-pim-dr-improvement], then DR MUST include BFD TLV in its
   Hello message.  The DR Address TLV also MUST be included in the Hello
   message.  For a BDR, it is RECOMMENDED to include BFD TLV
   Discriminator option in its Hello message. messages.

   If BDR includes BFD TLV, then the BDR Address TLV
   also MUST be present in the Hello message.  As mentioned earlier, any
   non-DR and non-BDR MAY include BFD TLV in its Hello message.  Then
   the head MUST begin periodic transmission of BFD Control packets.
   The Source IP address of the BFD Control packet MUST be the same as
   the source IP address of the PIM-Hello with BFD TLV messages being
   transmitted by the head.  My Discriminator's field value in the BFD
   Control packet and My Discriminator field of the BFD TLV in PIM-
   Hello, transmitted by the head, MUST be the same.  When a PIM-SM router is configured to monitor the head by using p2mp
   BFD, referred to through this document as 'tail', receives PIM-Hello
   packet with BFD TLV, Discriminator PIM Hello option, the tail MAY create a
   p2mp BFD session of type MultipointTail, as defined in [RFC8562].

   Because p2mp BFD doesn't use the three-way handshake and

   The node that includes the head BFD Discriminator PIM Hello option
   transmits BFD Control packets with periodically.  For the value of Your Discriminator
   field set to zero, [RFC8562] modified how a BFD system demultiplexes
   received BFD Control packet.  The tail demultiplexes p2mp to
   correctly demultiplex BFD test
   session based on head's [RFC8562], the source IP address, the and My
   Discriminator value
   it learned from BFD Discriminator TLV and the identity values of the
   multipoint path that the BFD Control packet was received from.  The
   Detection Time for p2mp BFD sessions is defined differently from packets MUST be the
   definition provided same as those
   used in [RFC5880].  The Detection Time for each
   MultipointTail session the PIM Hello message.  If that is calculated as not the case, the tail BFD
   node would not be able to monitor the product state of the last
   received values PIM-SM node, that
   is the head of Desired Min TX Interval and Detect Mult.  A tail
   declares the p2mp BFD session down after session, though the Detection Timer expires. regular PIM-SM
   mechanisms remain fully operational.

   If the tail has detected detects a MultipointHead failure, failure [RFC8562], it MUST remove
   delete the
   neighbor. corresponding neighbor state.  If the failed head node was PIM-SM the
   DR or BDR, (or BDR), the tail MAY
   start DR Election process as specified (or BDR) election mechanism in Section 4.3.2 [RFC7761] or
   Section 4.1
   [I-D.ietf-pim-dr-improvement] respectively. is followed.

   If the head ceased ceases to include the BFD TLV Discriminator PIM Hello option
   in its PIM-Hello message, tails MUST close the corresponding
   MultipointTail BFD session.  Thus the tail stops using BFD to monitor
   the head and reverts to the procedures defined in [RFC7761] and
   [I-D.ietf-pim-dr-improvement].

3.2.

2.2.  P2MP BFD in PIM DR Load Balancing

   [RFC8775] defined specifies the modification, PIM Designated Router Load Balancing
   (DRLB), to the PIM-SM protocol that allows for distribution of PIM-SM
   DR responsibilities on a multi-access network segment.  [RFC8775]
   introduced the new PIM Hello options - Load Balancing Capability
   (DRLB-Cap) and DR Load Balancing List (DRLB-List). (DRLB)
   functionality.  Any PIM router that
   includes advertises the DRLB-Cap Hello
   Option MAY include BFD Discriminator PIM
   Hello Option (Figure 1).  That router MUST create a BFD session and
   set itself as MultipointHead [RFC8562].  The router MUST set
   bfd.SessionState in can become the MultipointHead session to Down.  If head of a PIM
   router that includes p2mp BFD Discriminator Option in its Hello finds its
   address in DRLB-List PIM Hello Option session, as Group Designated Router
   (GDR) Candidate for the first time, the specified in
   Section 2.1.  The head router MUST set administratively sets the
   bfd.SessionState to Up in the MultipointHead session [RFC8562] only
   if it is a Group Designated Router (GDR) Candidate, as specified in
   Sections 5.5 and start periodically transmit BFD Control
   messages. 5.6 of [RFC8775].  If the PIM router that was GDR Candidate doesn't find its
   address in the most recent DRLB-List Option, is no longer the router
   GDR, then it MUST set
   bfd.SessionState to Down and cease transmitting BFD Control messages. shut down following the procedures described in
   Section 5.9 [RFC8562].  For each GDR Candidate that includes BFD
   Discriminator Option option in its PIM Hello, the PIM DR creates a
   MultipointTail session [RFC8562].  PIM DR demultiplexes BFD sessions
   based on the value in of the My Discriminator field and the source IP
   address.  If PIM DR detects a failure of one of the sessions, it MUST
   remove that router from the GDR Candidate list and immediately
   transmit a new DRLB-List Option.

3.3. option.

2.3.  Multipoint BFD Encapsulation

   The MultipointHead of a p2mp BFD session when transmitting BFD
   Control packet:

      MUST set TTL or Hop Limit value to 1;

      SHOULD 255 (Section 5 [RFC5881]);

      MUST use the group address ALL-PIM-ROUTERS ('224.0.0.13' for IPv4
      and 'ff02::d' for IPv6) as destination IP address

      MAY use network broadcast address for IPv4 or link-local all nodes
      multicast group for IPv6 as the destination IP address;

      MUST set destination UDP port value to 3784 when transmitting BFD
      Control packets, as defined in [RFC8562].

4.

3.  IANA Considerations

   IANA is requested to allocate a new OptionType value from PIM Hello PIM-Hello
   Options registry according to:

   +-------------+----------------+-------------------+---------------+

   +=============+================+===================+===============+
   | Value Name  | Length Number  | Name Protocol     | Reference     |
   +-------------+----------------+-------------------+---------------+
   +=============+================+===================+===============+
   | TBA         | 4              | BFD Discriminator | This document |
   |             |                | Option            |               |
   +-------------+----------------+-------------------+---------------+

                  Table 1: BFD Discriminator option type

5.

4.  Security Considerations

   Security

   The security considerations discussed in [RFC7761], [RFC5880], and
   [RFC8562], [RFC8775], and [I-D.ietf-pim-dr-improvement] apply to this
   document.

   PIM-SM link-local messages can be authenticated using various
   mechanisms, as described in Section 6.3 [RFC7761].  Authentication of
   BFD Control messages defined in Section 6.7 [RFC5880].  Each protocol
   MAY use authentication of its messages independently of the mode used
   by the other protocol.

   An implementation that supports this specification SHOULD use a
   mechanism to control the maximum number of BFD sessions that can be
   active at the same time.

6.

5.  Acknowledgments

   Authors

   The authors cannot say enough to express their appreciation of the
   comments and suggestions we received from Stig Venaas.

7.  The authors
   greatly appreciate the comments and suggestions by Alvaro Retana that
   improved the clarity of the document.

6.  References

7.1.

6.1.  Normative References

   [I-D.ietf-pim-dr-improvement]
              Zhang, Z., hu, f., Hu, F., Xu, B., and M. Mishra, "Protocol
              Independent Multicast - Sparse Mode (PIM-SM) Designated
              Router (DR) Improvement", draft-ietf-pim-dr-improvement-10
              (work Work in progress), September 2020. Progress, Internet-
              Draft, draft-ietf-pim-dr-improvement-11, 17 February 2021,
              <https://www.ietf.org/archive/id/draft-ietf-pim-dr-
              improvement-11.txt>.

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

   [RFC5880]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
              <https://www.rfc-editor.org/info/rfc5880>.

   [RFC5881]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881,
              DOI 10.17487/RFC5881, June 2010,
              <https://www.rfc-editor.org/info/rfc5881>.

   [RFC5883]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883,
              June 2010, <https://www.rfc-editor.org/info/rfc5883>.

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

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

   [RFC8562]  Katz, D., Ward, D., Pallagatti, S., Ed., and G. Mirsky,
              Ed., "Bidirectional Forwarding Detection (BFD) for
              Multipoint Networks", RFC 8562, DOI 10.17487/RFC8562,
              April 2019, <https://www.rfc-editor.org/info/rfc8562>.

   [RFC8775]  Cai, Y., Ou, H., Vallepalli, S., Mishra, M., Venaas, S.,
              and A. Green, "PIM Designated Router Load Balancing",
              RFC 8775, DOI 10.17487/RFC8775, April 2020,
              <https://www.rfc-editor.org/info/rfc8775>.

7.2.

6.2.  Informative References

   [I-D.mankamana-pim-bdr]
              Mishra, M., Goh, J.,

   [RFC5881]  Katz, D. and G. Mishra, "PIM Backup Designated
              Router Procedure", draft-mankamana-pim-bdr-04 (work in
              progress), April 2020. D. Ward, "Bidirectional Forwarding Detection
              (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881,
              DOI 10.17487/RFC5881, June 2010,
              <https://www.rfc-editor.org/info/rfc5881>.

   [RFC5883]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883,
              June 2010, <https://www.rfc-editor.org/info/rfc5883>.

Authors' Addresses

   Greg Mirsky
   ZTE Corp.

   Email: gregimirsky@gmail.com

   Ji Xiaoli
   ZTE Corporation
   No.50 Software Avenue, Yuhuatai District
   Nanjing
   Nanjing,
   China

   Email: ji.xiaoli@zte.com.cn