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 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. 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 failure and
thus minimize multicast service disruption. The document also defines the extension to PIM-SM
and 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
of supporting multiple sub-second sessions concurrently.
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.
displays the new optional
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 of type MultipointHead, as defined in .
If the head doesn't support ,
then it MUST include BFD TLV in its PIM-Hello message. If the head uses extensions defined in
, then DR
MUST include BFD TLV in its Hello message after the DR Address TLV.
For a BDR it is RECOMMENDED to include BFD TLV in its Hello message.
If BDR includes BFD TLV, then it MUST be after the BDR Address TLV.
Then the head MUST begin
periodic transmission of 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 is configured to monitor the head by using p2p BFD,
referred to through this document as 'tail',
receives PIM-Hello packet with BFD TLV it
MAY create p2mp BFD session of type MultipointTail, as defined in .
Because p2mp BFD doesn't use the three-way handshake and the head transmits
BFD control packets with the value of Your Discriminator field set to zero,
modified how a BFD system demultiplexes received BFD control packet.
The tail demultiplexes
p2mp BFD test session based on head's source IP address, the My Discriminator value it learned
from BFD Discriminator TLV and the identity of the multipoint path that the BFD control packet was
received from. The Detection Time for p2mp BFD sessions is defined differently from
the definition provided in . The Detection Time for each MultipointTail
session is calculated as the product of the last received values of Desired Min TX Interval and Detect Mult.
A tail declares the BFD session down after the Detection Timer expires. If the tail has detected 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 Section 4.1
respectively.
If the head ceased to include BFD TLV 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 and .
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 , and apply to this document.
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.
Authors cannot say enough to express their appreciation of comments and suggestions we received from Stig Venaas.