draft-ietf-pim-bfd-p2mp-use-case-04.txt   draft-ietf-pim-bfd-p2mp-use-case-05.txt 
PIM Working Group G. Mirsky PIM Working Group G. Mirsky
Internet-Draft ZTE Corp. Internet-Draft ZTE Corp.
Intended status: Standards Track J. Xiaoli Intended status: Standards Track J. Xiaoli
Expires: January 26, 2021 ZTE Corporation Expires: June 3, 2021 ZTE Corporation
July 25, 2020 November 30, 2020
Bidirectional Forwarding Detection (BFD) for Multi-point Networks and Bidirectional Forwarding Detection (BFD) for Multi-point Networks and
Protocol Independent Multicast - Sparse Mode (PIM-SM) Use Case Protocol Independent Multicast - Sparse Mode (PIM-SM) Use Case
draft-ietf-pim-bfd-p2mp-use-case-04 draft-ietf-pim-bfd-p2mp-use-case-05
Abstract Abstract
This document discusses the use of Bidirectional Forwarding Detection This document discusses the use of Bidirectional Forwarding Detection
(BFD) for multi-point networks to provide nodes that participate in (BFD) for multi-point networks to provide nodes that participate in
Protocol Independent Multicast - Sparse Mode (PIM-SM) with the sub- Protocol Independent Multicast - Sparse Mode (PIM-SM) with the sub-
second convergence. Optional extension to PIM-SM Hello, as specified second convergence. Optional extension to PIM-SM Hello, as specified
in RFC 7761, to bootstrap point-to-multipoint BFD session. also in RFC 7761, to bootstrap point-to-multipoint BFD session. also
defined in this document. defined in this document.
skipping to change at page 1, line 37 skipping to change at page 1, line 37
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 26, 2021. This Internet-Draft will expire on June 3, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Conventions used in this document . . . . . . . . . . . . 3 1.1. Conventions used in this document . . . . . . . . . . . . 3
1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3 1.1.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3 1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3
2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 4
3. Applicability of p2mp BFD . . . . . . . . . . . . . . . . . . 4 3. Applicability of p2mp BFD . . . . . . . . . . . . . . . . . . 4
3.1. Using P2MP BFD in PIM DR/BDR Monitoring . . . . . . . . . 4 3.1. Using P2MP BFD in PIM DR/BDR Monitoring . . . . . . . . . 4
3.2. P2MP BFD in PIM DR Load Balancing . . . . . . . . . . . . 5 3.2. P2MP BFD in PIM DR Load Balancing . . . . . . . . . . . . 5
3.3. Multipoint BFD Encapsulation . . . . . . . . . . . . . . 6 3.3. Multipoint BFD Encapsulation . . . . . . . . . . . . . . 6
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1. Normative References . . . . . . . . . . . . . . . . . . 7 7.1. Normative References . . . . . . . . . . . . . . . . . . 7
7.2. Informative References . . . . . . . . . . . . . . . . . 8 7.2. Informative References . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction 1. Introduction
Faster convergence in the control plane, in general, is beneficial Faster convergence in the control plane, in general, is beneficial
and allows minimizing periods of traffic blackholing, transient and allows minimizing periods of traffic blackholing, transient
routing loops, and other scenarios that may negatively affect service routing loops, and other scenarios that may negatively affect service
skipping to change at page 2, line 51 skipping to change at page 2, line 51
SM protocol. Failure of the DR impacts the quality of the multicast SM protocol. Failure of the DR impacts the quality of the multicast
services it provides to directly connected hosts because the default services it provides to directly connected hosts because the default
failure detection interval for PIM-SM routers is 105 seconds. failure detection interval for PIM-SM routers is 105 seconds.
Introduction of Backup DR (BDR), proposed in Introduction of Backup DR (BDR), proposed in
[I-D.ietf-pim-dr-improvement], improves convergence time in the PIM- [I-D.ietf-pim-dr-improvement], improves convergence time in the PIM-
SM over shared-media segment but still depends on long failure SM over shared-media segment but still depends on long failure
detection interval. detection interval.
Bidirectional Forwarding Detection (BFD) [RFC5880] had been Bidirectional Forwarding Detection (BFD) [RFC5880] had been
originally defined to detect failure of point-to-point (p2p) paths - originally defined to detect failure of point-to-point (p2p) paths -
single-hop [RFC5881], multihop [RFC5883]. [RFC8562] extends the BFD single-hop [RFC5881], multihop [RFC5883]. In some PIM-SM
base specification [RFC5880] for multipoint and multicast networks, deployments, a p2p BFD can be used to detect a failure and enable
which precisely characterizes deployment scenarios for PIM-SM over faster conversion. [RFC8562] extends the BFD base specification
LAN segment. This document demonstrates how point-to-multipoint [RFC5880] for multipoint and multicast networks, which precisely
(p2mp) BFD can enable faster detection of PIM-SM router failure and characterizes deployment scenarios for PIM-SM over a LAN segment.
thus minimize multicast service disruption. The document also Among specific characteristics of p2mp BFD that are particularly
defines the extension to PIM-SM [RFC7761] and benefit PIM-SM over a LAN segment is a faster transition to the Up
[I-D.ietf-pim-dr-improvement] to bootstrap a PIM-SM router to join in state of the p2mp BFD session due to avoidance of the three-way
p2mp BFD session over shared-media link. handshake required in p2p BFD [RFC5880]. Also, because the router
that transmits BFD Control messages uses the BFD Demand mode
[RFC5880] it maintains less BFD state comparing to the Asynchronous
mode. 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 [RFC7761] and [I-D.ietf-pim-dr-improvement] to
bootstrap a PIM-SM router to join in p2mp BFD session over shared-
media link.
1.1. Conventions used in this document 1.1. Conventions used in this document
1.1.1. Terminology 1.1.1. Acronyms
BFD: Bidirectional Forwarding Detection BFD: Bidirectional Forwarding Detection
BDR: Backup Designated Router BDR: Backup Designated Router
DR: Designated Router DR: Designated Router
DRLB: Designated Router Load Balancing DRLB: Designated Router Load Balancing
DRLB-Cap: DRLB Capability Hello Option DRLB-Cap: DRLB Capability Hello Option
DRLB-List: DRLB List Hello Option DRLB-List: DRLB List Hello Option
GDR: Group Designated Router GDR: Group Designated Router
p2mp: Pont-to-Multipoint p2mp: Point-to-Multipoint
p2p: Point-to-Point
PIM-SM: Protocol Independent Multicast - Sparse Mode PIM-SM: Protocol Independent Multicast - Sparse Mode
1.1.2. Requirements Language 1.1.2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
skipping to change at page 4, line 39 skipping to change at page 4, line 46
OptionLength value is always 4 OptionLength value is always 4
My Discriminator - My Discriminator value allocated by the root of My Discriminator - My Discriminator value allocated by the root of
the p2mp BFD session. the p2mp BFD session.
3.1. Using P2MP BFD in PIM DR/BDR Monitoring 3.1. Using P2MP BFD in PIM DR/BDR Monitoring
If PIM-SM routers that support this specification are configured to If PIM-SM routers that support this specification are configured to
use p2mp BFD for faster convergence, then the router to be monitored, use p2mp BFD for faster convergence, then the router to be monitored,
referred to as 'head', MUST create BFD session of type referred to as 'head', MUST create a BFD session of type
MultipointHead, as defined in [RFC8562]. If the head doesn't support MultipointHead, as defined in [RFC8562]. Note that any PIM-SM router
that supports this specification, regardless of its role in PIM-SM,
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 [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 defined in [I-D.mankamana-pim-bdr], then it MUST include BFD TLV in
its PIM-Hello message. If the head uses extensions defined in its PIM-Hello message. If the head uses extensions defined in
[I-D.ietf-pim-dr-improvement], then DR MUST include BFD TLV in its [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 Hello message. The DR Address TLV also MUST be included in the Hello
message. For a BDR it is RECOMMENDED to include BFD TLV in its Hello message. For a BDR, it is RECOMMENDED to include BFD TLV in its
message. If BDR includes BFD TLV, then the BDR Address TLV also MUST Hello message. If BDR includes BFD TLV, then the BDR Address TLV
be present in the Hello message. Then the head MUST begin periodic also MUST be present in the Hello message. As mentioned earlier, any
transmission of BFD control packets. Source IP address of the BFD non-DR and non-BDR MAY include BFD TLV in its Hello message. Then
control packet MUST be the same as the source IP address of the PIM- the head MUST begin periodic transmission of BFD Control packets.
Hello with BFD TLV messages being transmitted by the head. The The Source IP address of the BFD Control packet MUST be the same as
values of My Discriminator in the BFD control packet and My the source IP address of the PIM-Hello with BFD TLV messages being
Discriminator field of the BFD TLV in PIM-Hello, transmitted by the transmitted by the head. My Discriminator's field value in the BFD
head MUST be the same. When a PIM-SM router is configured to monitor Control packet and My Discriminator field of the BFD TLV in PIM-
the head by using p2p BFD, referred to through this document as Hello, transmitted by the head, MUST be the same. When a PIM-SM
'tail', receives PIM-Hello packet with BFD TLV it MAY create p2mp BFD router is configured to monitor the head by using p2mp BFD, referred
session of type MultipointTail, as defined in [RFC8562]. to through this document as 'tail', receives PIM-Hello packet with
BFD TLV, 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 head Because p2mp BFD doesn't use the three-way handshake and the head
transmits BFD control packets with the value of Your Discriminator transmits BFD Control packets with the value of Your Discriminator
field set to zero, [RFC8562] modified how a BFD system demultiplexes field set to zero, [RFC8562] modified how a BFD system demultiplexes
received BFD control packet. The tail demultiplexes p2mp BFD test received BFD Control packet. The tail demultiplexes p2mp BFD test
session based on head's source IP address, the My Discriminator value session based on head's source IP address, the My Discriminator value
it learned from BFD Discriminator TLV and the identity of the it learned from BFD Discriminator TLV and the identity of the
multipoint path that the BFD control packet was received from. The multipoint path that the BFD Control packet was received from. The
Detection Time for p2mp BFD sessions is defined differently from the Detection Time for p2mp BFD sessions is defined differently from the
definition provided in [RFC5880]. The Detection Time for each definition provided in [RFC5880]. The Detection Time for each
MultipointTail session is calculated as the product of the last MultipointTail session is calculated as the product of the last
received values of Desired Min TX Interval and Detect Mult. A tail received values of Desired Min TX Interval and Detect Mult. A tail
declares the BFD session down after the Detection Timer expires. If declares the BFD session down after the Detection Timer expires. If
the tail has detected MultipointHead failure, it MUST remove the 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 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 [RFC7761] or start DR Election process as specified in Section 4.3.2 [RFC7761] or
Section 4.1 [I-D.ietf-pim-dr-improvement] respectively. Section 4.1 [I-D.ietf-pim-dr-improvement] respectively.
skipping to change at page 5, line 46 skipping to change at page 6, line 9
DR responsibilities on a multi-access network segment. [RFC8775] DR responsibilities on a multi-access network segment. [RFC8775]
introduced the new PIM Hello options - Load Balancing Capability introduced the new PIM Hello options - Load Balancing Capability
(DRLB-Cap) and DR Load Balancing List (DRLB-List). PIM router that (DRLB-Cap) and DR Load Balancing List (DRLB-List). PIM router that
includes DRLB-Cap Hello Option MAY include BFD Discriminator PIM includes DRLB-Cap Hello Option MAY include BFD Discriminator PIM
Hello Option (Figure 1). That router MUST create a BFD session and Hello Option (Figure 1). That router MUST create a BFD session and
set itself as MultipointHead [RFC8562]. The router MUST set set itself as MultipointHead [RFC8562]. The router MUST set
bfd.SessionState in the MultipointHead session to Down. If a PIM bfd.SessionState in the MultipointHead session to Down. If a PIM
router that includes BFD Discriminator Option in its Hello finds its router that includes BFD Discriminator Option in its Hello finds its
address in DRLB-List PIM Hello Option as Group Designated Router address in DRLB-List PIM Hello Option as Group Designated Router
(GDR) Candidate for the first time, the router MUST set (GDR) Candidate for the first time, the router MUST set
bfd.SessionState to Up and start periodically transmit BFD control bfd.SessionState to Up and start periodically transmit BFD Control
messages. If the PIM router that was GDR Candidate doesn't find its messages. If the PIM router that was GDR Candidate doesn't find its
address in the most recent DRLB-List Option, the router MUST set address in the most recent DRLB-List Option, the router MUST set
bfd.SessionState to Down and cease transmitting BFD control messages. bfd.SessionState to Down and cease transmitting BFD Control messages.
For each GDR Candidate that includes BFD Discriminator Option in its For each GDR Candidate that includes BFD Discriminator Option in its
PIM Hello, PIM DR creates a MultipointTail session [RFC8562]. PIM DR PIM Hello, PIM DR creates a MultipointTail session [RFC8562]. PIM DR
demultiplexes BFD sessions based on the value in My Discriminator demultiplexes BFD sessions based on the value in My Discriminator
field and the source IP address. If PIM DR detects a failure of one 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 of the sessions, it MUST remove that router from the GDR Candidate
list and immediately transmit a new DRLB-List Option. list and immediately transmit a new DRLB-List Option.
3.3. Multipoint BFD Encapsulation 3.3. Multipoint BFD Encapsulation
The MultipointHead of p2mp BFD session when transmitting BFD control The MultipointHead of p2mp BFD session when transmitting BFD Control
packet: packet:
MUST set TTL value to 1; MUST set TTL value to 1;
SHOULD use group address ALL-PIM-ROUTERS ('224.0.0.13' for IPv4 SHOULD use group address ALL-PIM-ROUTERS ('224.0.0.13' for IPv4
and 'ff02::d' for IPv6) as destination IP address and 'ff02::d' for IPv6) as destination IP address
MAY use network broadcast address for IPv4 or link-local all nodes MAY use network broadcast address for IPv4 or link-local all nodes
multicast group for IPv6 as the destination IP address; multicast group for IPv6 as the destination IP address;
MUST set destination UDP port value to 3784 when transmitting BFD MUST set destination UDP port value to 3784 when transmitting BFD
control packets, as defined in [RFC8562]. Control packets, as defined in [RFC8562].
4. IANA Considerations 4. IANA Considerations
IANA is requested to allocate a new OptionType value from PIM Hello IANA is requested to allocate a new OptionType value from PIM Hello
Options registry according to: Options registry according to:
+-------------+----------------+-------------------+---------------+ +-------------+----------------+-------------------+---------------+
| Value Name | Length Number | Name Protocol | Reference | | Value Name | Length Number | Name Protocol | Reference |
+-------------+----------------+-------------------+---------------+ +-------------+----------------+-------------------+---------------+
| TBA | 4 | BFD Discriminator | This document | | TBA | 4 | BFD Discriminator | This document |
+-------------+----------------+-------------------+---------------+ +-------------+----------------+-------------------+---------------+
Table 1: BFD Discriminator option type Table 1: BFD Discriminator option type
5. Security Considerations 5. Security Considerations
Security considerations discussed in [RFC7761], [RFC5880], and Security considerations discussed in [RFC7761], [RFC5880], and
[RFC8562], and [I-D.ietf-pim-dr-improvement] apply to this document. [RFC8562], 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 An implementation that supports this specification SHOULD use a
mechanism to control the maximum number of BFD sessions that can be mechanism to control the maximum number of BFD sessions that can be
active at the same time. active at the same time.
6. Acknowledgments 6. Acknowledgments
Authors cannot say enough to express their appreciation of comments Authors cannot say enough to express their appreciation of comments
and suggestions we received from Stig Venaas. and suggestions we received from Stig Venaas.
7. References 7. References
7.1. Normative References 7.1. Normative References
[I-D.ietf-pim-dr-improvement] [I-D.ietf-pim-dr-improvement]
Zhang, Z., hu, f., Xu, B., and m. mishra, "PIM DR Zhang, Z., hu, f., Xu, B., and M. Mishra, "Protocol
Improvement", draft-ietf-pim-dr-improvement-09 (work in Independent Multicast - Sparse Mode (PIM-SM) Designated
progress), October 2019. Router (DR) Improvement", draft-ietf-pim-dr-improvement-10
(work in progress), September 2020.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
(BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
<https://www.rfc-editor.org/info/rfc5880>. <https://www.rfc-editor.org/info/rfc5880>.
skipping to change at page 8, line 8 skipping to change at page 8, line 28
April 2019, <https://www.rfc-editor.org/info/rfc8562>. April 2019, <https://www.rfc-editor.org/info/rfc8562>.
[RFC8775] Cai, Y., Ou, H., Vallepalli, S., Mishra, M., Venaas, S., [RFC8775] Cai, Y., Ou, H., Vallepalli, S., Mishra, M., Venaas, S.,
and A. Green, "PIM Designated Router Load Balancing", and A. Green, "PIM Designated Router Load Balancing",
RFC 8775, DOI 10.17487/RFC8775, April 2020, RFC 8775, DOI 10.17487/RFC8775, April 2020,
<https://www.rfc-editor.org/info/rfc8775>. <https://www.rfc-editor.org/info/rfc8775>.
7.2. Informative References 7.2. Informative References
[I-D.mankamana-pim-bdr] [I-D.mankamana-pim-bdr]
mishra, m., Goh, J., and G. Mishra, "PIM Backup Designated Mishra, M., Goh, J., and G. Mishra, "PIM Backup Designated
Router Procedure", draft-mankamana-pim-bdr-04 (work in Router Procedure", draft-mankamana-pim-bdr-04 (work in
progress), April 2020. progress), April 2020.
Authors' Addresses Authors' Addresses
Greg Mirsky Greg Mirsky
ZTE Corp. ZTE Corp.
Email: gregimirsky@gmail.com Email: gregimirsky@gmail.com
 End of changes. 22 change blocks. 
44 lines changed or deleted 66 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/