Fast Failover in Protocol Independent Multicast - Sparse Mode (PIM-SM) Using Bidirectional Forwarding Detection (BFD) for Multipoint NetworksEricssongregimirsky@gmail.comZTE CorporationYuhuatai DistrictNo. 50 Software AvenueNanjingChinaji.xiaoli@zte.com.cn
Routing
PIM Working GroupPIM-SMBFD
This document specifies how Bidirectional Forwarding Detection (BFD) for multipoint networks
can provide sub-second failover for routers that participate in Protocol Independent Multicast - Sparse Mode (PIM-SM).
An extension to the PIM Hello message used to
bootstrap a point-to-multipoint BFD session is also defined in this
document.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by
the Internet Engineering Steering Group (IESG). Further
information on Internet Standards is available in Section 2 of
RFC 7841.
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
.
Copyright Notice
Copyright (c) 2022 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
() 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
. Introduction
. Conventions Used in This Document
. Terminology
. Requirements Language
. BFD Discriminator PIM Hello Option
. Using P2MP BFD in PIM Router Monitoring
. P2MP BFD in PIM DR Load Balancing
. Multipoint BFD Encapsulation
. IANA Considerations
. Security Considerations
. References
. Normative References
. Informative References
Acknowledgments
Authors' Addresses
Introduction
Faster convergence in the control plane minimizes the periods of
traffic loss due to the use of stale routing information, transient routing loops, and other situations
that may negatively affect service data flow. Faster convergence
in the control plane is beneficial to unicast and multicast routing
protocols.
is the current specification of the Protocol Independent
Multicast - Sparse Mode (PIM-SM) for IPv4 and IPv6 networks. 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 node elected as the DR acts on behalf of directly connected hosts in the context of the 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.
Bidirectional Forwarding Detection (BFD) was originally defined to detect
a failure of a point-to-point (P2P) path, single hop , or multihop .
In some PIM-SM deployments, a P2P BFD can be used to detect a failure and enable faster failover.
extends the BFD base specification for multipoint and multicast
networks, which matches the deployment scenarios for PIM-SM over a LAN segment.
A BFD system in a point-to-multipoint (P2MP) environment that transmits BFD Control messages using the BFD Demand mode creates less BFD state
than the Asynchronous mode. P2MP BFD can enable
faster detection of PIM-SM router failure compared to PIM-SM without BFD and
thus minimizes multicast service disruption. The monitored PIM-SM router acts as the head and other routers act as tails of a P2MP BFD
session. This document defines the monitoring of a PIM-SM router using P2MP BFD.
This document also defines the extension to PIM-SM
to bootstrap a PIM-SM router to join in the P2MP BFD session over a shared media segment.
Conventions Used in This DocumentTerminology
This document uses terminology defined in , ,
and . Familiarity with these specifications and the terminology used
is expected.
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
when, and only when, they appear in all capitals, as shown here.
BFD Discriminator PIM Hello Option displays the new optional
BFD Discriminator PIM Hello Option
to bootstrap a tail of the P2MP BFD session:
where new fields are interpreted as:
OptionType:
39
OptionLength:
MUST be set to 4.
HeadDiscriminator:
the 4-octet field MUST be included in the BFD Discriminator PIM-SM Hello Option.
The value MUST NOT be zero. It equals the value of My Discriminator
allocated by the head.
If the value of the OptionLength field is not equal to 4, the BFD Discriminator PIM Hello Option
is considered malformed, and the receiver MUST stop processing PIM Hello Options.
If the value of the HeadDiscriminator field equals zero, then the BFD Discriminator PIM Hello Option
MUST be considered invalid, and the receiver MUST ignore it.
The receiver SHOULD log a notification regarding the malformed or invalid BFD Discriminator Hello Option
under the control of a throttling logging mechanism.
Using P2MP BFD in PIM Router Monitoring
If the head is no longer serving the function that prompted it
to be monitored, then it MUST cease including the BFD Discriminator
PIM Hello Option in its PIM Hello message, and it SHOULD shut down
the BFD session following the procedures described in .
The head MUST create a BFD session of type MultipointHead .
Note that any PIM-SM router, regardless of its role, MAY become a head of a P2MP BFD session.
To control the volume of BFD Control traffic on a shared media segment, an operator should carefully
select PIM-SM routers configured as a head of a P2MP BFD session.
The head MUST include the BFD Discriminator PIM Hello Option in its
PIM Hello messages.
A PIM-SM router that is configured to monitor the head by
using P2MP BFD is referred to throughout this document as a "tail". When such a
tail receives a PIM Hello packet with the BFD Discriminator PIM Hello Option, the tail
MAY create a P2MP BFD session of type MultipointTail, as defined in .
The node that includes the BFD Discriminator PIM Hello Option
transmits BFD Control packets periodically. For the tail to correctly
demultiplex BFD , the source
address and My Discriminator of the BFD packets MUST be the same
as the source address and the HeadDiscriminator, respectively, of the PIM Hello
message. If that is not the case,
the tail BFD node would not be able to monitor the state of the PIM-SM node --
that is, the head of the P2MP BFD session -- though the regular PIM-SM mechanisms remain fully operational.
If the tail detects a MultipointHead failure ,
it MUST delete the corresponding neighbor state and follow procedures defined in
for the DR and additional neighbor state deletion after the neighbor timeout expires.
If the head ceases to include the BFD Discriminator PIM Hello Option in its PIM Hello message,
the tail SHOULD close the corresponding MultipointTail BFD session without affecting the PIM state in any way.
Thus, the tail stops using BFD to monitor
the head and reverts to the procedures defined in .
P2MP BFD in PIM DR Load Balancing specifies the PIM Designated Router Load-Balancing (DRLB) functionality.
Any PIM router that advertises the DR Load-Balancing Capability (DRLB-Cap) Hello Option can become the head of a P2MP BFD session,
as specified in .
The head router administratively sets the bfd.SessionState to Up in
the MultipointHead session only if it is a Group Designated
Router (GDR) Candidate, as specified in Sections and
of
. If the router is no longer the GDR, then it MUST shut down
following the procedures described in .
For each GDR Candidate that includes the
BFD Discriminator Option in its PIM Hello, the PIM DR MUST create a MultipointTail session . PIM DR
demultiplexes BFD sessions based on the value 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.
Multipoint BFD Encapsulation
The MultipointHead of a P2MP BFD session when transmitting BFD Control packets:
MUST set the TTL or Hop Limit value to 255 (). Similarly, all received BFD Control packets that are
demultiplexed to the session MUST be discarded if the received TTL or
Hop Limit is not equal to 255, and
MUST use the group address ALL-PIM-ROUTERS ("224.0.0.13" for IPv4 and "ff02::d" for IPv6) as the destination IP address.
IANA Considerations
IANA has allocated a new OptionType value in the "PIM-Hello Options" registry according to :
BFD Discriminator Option Type
Value
Length
Name
Reference
39
4
BFD Discriminator Option
RFC 9186
Security Considerations
This document defines a way to accelerate detection of a failure that affects PIM functionality by using BFD. The operation of either protocol is not changed.
The security considerations discussed in , , , , and apply to this document.
ReferencesNormative ReferencesKey words for use in RFCs to Indicate Requirement LevelsIn many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.Bidirectional Forwarding Detection (BFD)This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency. It operates independently of media, data protocols, and routing protocols. [STANDARDS-TRACK]Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)This document describes the use of the Bidirectional Forwarding Detection (BFD) protocol over IPv4 and IPv6 for single IP hops. [STANDARDS-TRACK]Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)This document specifies Protocol Independent Multicast - Sparse Mode (PIM-SM). PIM-SM is a multicast routing protocol that can use the underlying unicast routing information base or a separate multicast-capable routing information base. It builds unidirectional shared trees rooted at a Rendezvous Point (RP) per group, and it optionally creates shortest-path trees per source.This document obsoletes RFC 4601 by replacing it, addresses the errata filed against it, removes the optional (*,*,RP), PIM Multicast Border Router features and authentication using IPsec that lack sufficient deployment experience (see Appendix A), and moves the PIM specification to Internet Standard.Ambiguity of Uppercase vs Lowercase in RFC 2119 Key WordsRFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.Bidirectional Forwarding Detection (BFD) for Multipoint NetworksThis document describes extensions to the Bidirectional Forwarding Detection (BFD) protocol for its use in multipoint and multicast networks.This document updates RFC 5880.PIM Designated Router Load BalancingOn a multi-access network, one of the PIM-SM (PIM Sparse Mode) routers is elected as a Designated Router. One of the responsibilities of the Designated Router is to track local multicast listeners and forward data to these listeners if the group is operating in PIM-SM. This document specifies a modification to the PIM-SM protocol that allows more than one of the PIM-SM routers to take on this responsibility so that the forwarding load can be distributed among multiple routers.Informative ReferencesBidirectional Forwarding Detection (BFD) for Multihop PathsThis document describes the use of the Bidirectional Forwarding Detection (BFD) protocol over multihop paths, including unidirectional links. [STANDARDS-TRACK]Acknowledgments
The authors cannot say enough to express their appreciation of the comments and suggestions that were received from .
The authors also greatly appreciate the comments and suggestions by that improved the clarity of this document.
Authors' AddressesEricssongregimirsky@gmail.comZTE CorporationYuhuatai DistrictNo. 50 Software AvenueNanjingChinaji.xiaoli@zte.com.cn