Bidirectional Forwarding Detection (BFD) for Multi-point Networks and Protocol Independent Multicast - Sparse Mode (PIM-SM) Use CaseZTE Corp.gregimirsky@gmail.comZTE CorporationNo.50 Software Avenue, Yuhuatai DistrictNanjingChinaji.xiaoli@zte.com.cn
Routing
PIM Working GroupInternet-DraftPIM-SMBFD
This document discusses the use of Bidirectional Forwarding Detection (BFD) for multi-point networks
to provide nodes that participate in Protocol Independent Multicast - Sparse Mode (PIM-SM) with the sub-second convergence.
Optional extension to PIM-SM Hello, as specified in RFC 7761,
to bootstrap point-to-multipoint BFD session. also defined in this document.
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.
is the current specification of the Protocol Independent Multicast - Sparse Mode (PIM-SM)
for IPv4 and IPv6 networks. Confirming implementation of PIM-SM elects a Designated Router (DR)
on each PIM-SM interface. When a group of PIM-SM nodes is connected to shared-media segment, e.g. Ethernet,
the one elected as DR is to act on behalf of directly connected hosts in 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. Introduction of Backup DR (BDR), proposed in
improves convergence time in the PIM-SM over shared-media segment but still depends on long failure detection interval.
Bidirectional Forwarding Detection (BFD) had been originally defined to detect
failure of point-to-point (p2p) paths - single-hop , multihop .
extends the BFD base specification for multipoint and multicast
networks, which precisely characterizes deployment scenarios for PIM-SM over LAN segment. This document
demonstrates how point-to-multipoint (p2mp) BFD can enable faster detection of PIM-SM router ailure and
thus minimize multicast service disruption. The document also defines the extension to PIM-SM
to bootstrap a PIM-SM router to join in p2mp BFD session over shared-media link.
BFD: Bidirectional Forwarding DetectionBDR: Backup Designated RouterDR: Designated Routerp2mp: Pont-to-MultipointPIM-SM: Protocol Independent Multicast - Sparse Mode
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.
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
to support multiple sub-second session concurrently.
may provide the efficient and scalable solution for the fast-converging
environment that has head-tails relationships. 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.
displays the new
BFD Discriminator TLV to bootstrap tail of the p2mp BFD session.
where new fields are interpreted as:
OptionType is a value (TBA1) assigned by IANA that identifies the TLV as BFD Discriminator TLV;OptionLength value is always 4My Discriminator - My Discriminator value allocated by the root of the p2mp BFD session.
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',
MUST create BFD session MultipointHead, as defined in .
The head MUST include BFD TLV in its PIM-Hello message and periodically transmit BFD control packets. 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.
The values of My Discriminator 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 configured to monitor the head, referred to as 'tail', via p2mp BFD receives PIM-Hello packet with BFD TLV it
MAY create p2mp BFD session as MultipointTail, as defined in , and demultiplex
p2mp BFD test session based on head's source IP address the My Discriminator value it learned
from BFD Discriminator TLV. If the head ceased to include BFD TLV in its PIM-Hello message,
tails MUST close the corresponding MultipointTail BFD session. If the tail detects MultipointHead failure
it MUST remove the neighbor. If the failed head node was PIM-SM DR or BDR the tail MAY start DR Election
process as specified in Section 4.3.2 or in Section 4.1
respectively.
The MultipointHead of p2mp BFD session when transmitting BFD control packet:
MUST set TTL value to 1;SHOULD use group address ALL-PIM-ROUTERS ('224.0.0.13' for IPv4 and 'ff02::d' for IPv6) as destination IP addressMAY 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 .
IANA is requested to allocate a new OptionType value from PIM Hello Options registry according to:
Value Name Length Number Name Protocol Reference TBA4BFD DiscriminatorThis document
Security considerations discussed in , ,
and , apply to this document.
Authors cannot say enough to express their appreciation of comments and suggestions we received from Stig Venaas.