draft-ietf-bfd-unaffiliated-echo-02.txt | draft-ietf-bfd-unaffiliated-echo-03.txt | |||
---|---|---|---|---|
BFD Working Group W. Cheng | BFD Working Group W. Cheng | |||
Internet-Draft R. Wang | Internet-Draft R. Wang | |||
Updates: 5880 (if approved) China Mobile | Updates: 5880 (if approved) China Mobile | |||
Intended status: Standards Track X. Min | Intended status: Standards Track X. Min, Ed. | |||
Expires: December 24, 2021 ZTE Corp. | Expires: 28 July 2022 ZTE Corp. | |||
R. Rahman | R. Rahman | |||
Individual | Individual | |||
R. Boddireddy | R. Boddireddy | |||
Juniper Networks | Juniper Networks | |||
June 22, 2021 | 24 January 2022 | |||
Unaffiliated BFD Echo Function | Unaffiliated BFD Echo | |||
draft-ietf-bfd-unaffiliated-echo-02 | draft-ietf-bfd-unaffiliated-echo-03 | |||
Abstract | Abstract | |||
Bidirectional Forwarding Detection (BFD) is a fault detection | Bidirectional Forwarding Detection (BFD) is a fault detection | |||
protocol that can quickly determine a communication failure between | protocol that can quickly determine a communication failure between | |||
two forwarding engines. This document proposes a use of the BFD Echo | two forwarding engines. This document proposes a use of the BFD Echo | |||
function where the local system supports BFD but the neighboring | where the local system supports BFD but the neighboring system does | |||
system does not support BFD. | not support BFD. | |||
This document updates RFC 5880. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 December 24, 2021. | This Internet-Draft will expire on 28 July 2022. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2022 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/ | |||
(https://trustee.ietf.org/license-info) in effect on the date of | license-info) in effect on the date of publication of this document. | |||
publication of this document. Please review these documents | Please review these documents carefully, as they describe your rights | |||
carefully, as they describe your rights and restrictions with respect | and restrictions with respect to this document. Code Components | |||
to this document. Code Components extracted from this document must | extracted from this document must include Revised BSD License text as | |||
include Simplified BSD License text as described in Section 4.e of | described in Section 4.e of the Trust Legal Provisions and are | |||
the Trust Legal Provisions and are provided without warranty as | provided without warranty as described in the Revised 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 | |||
2. Updates to RFC 5880 . . . . . . . . . . . . . . . . . . . . . 3 | 2. Updates to RFC 5880 . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Unaffiliated BFD Echo Procedures . . . . . . . . . . . . . . 6 | 3. Unaffiliated BFD Echo Procedures . . . . . . . . . . . . . . 6 | |||
4. Unaffiliated BFD Echo Applicability . . . . . . . . . . . . . 8 | 4. Unaffiliated BFD Echo Applicability . . . . . . . . . . . . . 8 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 9 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 9 | 9.2. Informative References . . . . . . . . . . . . . . . . . 9 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
1. Introduction | 1. Introduction | |||
To minimize the impact of device/link faults on services and improve | To minimize the impact of device/link faults on services and improve | |||
network availability, a network device must be able to quickly detect | network availability, a network device must be able to quickly detect | |||
faults in communication with adjacent devices. Measures can then be | faults in communication with adjacent devices. Measures can then be | |||
taken to promptly rectify the faults to ensure service continuity. | taken to promptly rectify the faults to ensure service continuity. | |||
BFD [RFC5880] is a low-overhead, short-duration method to detect | BFD [RFC5880] is a low-overhead, short-duration method to detect | |||
faults on the communication path between adjacent forwarding engines. | faults on the communication path between adjacent forwarding engines. | |||
The faults can be on interfaces, data link(s), and even the | The faults can be on interfaces, data link(s), and even the | |||
forwarding engines. It is a single, unified mechanism to monitor any | forwarding engines. It is a single, unified mechanism to monitor any | |||
media and protocol layers in real time. | media and protocol layers in real time. | |||
BFD defines an Asynchronous mode to satisfy various deployment | BFD defines Asynchronous and Demand modes to satisfy various | |||
scenarios. It also supports an Echo function to reduce the device | deployment scenarios. It also supports an Echo function to reduce | |||
requirement for BFD. When the Echo function is activated, the local | the device requirement for BFD. When the Echo function is activated, | |||
system sends BFD Echo packets and the remote system loops back the | the local system sends BFD Echo packets and the remote system loops | |||
received Echo packets through the forwarding path. If several | back the received Echo packets through the forwarding path. If | |||
consecutive BFD Echo packets are not received by the local system, | several consecutive BFD Echo packets are not received by the local | |||
then the BFD session is declared to be Down. | system, then the BFD session is declared to be Down. | |||
When using BFD Echo function, there are two typical scenarios as | When using BFD Echo function, there are two typical scenarios as | |||
below: | below: | |||
o Full BFD protocol capability with affiliated Echo function: This | * Full BFD protocol capability with affiliated Echo function. This | |||
scenario requires both the local device and the neighboring device | scenario requires both the local device and the neighboring device | |||
to support the full BFD protocol. | to support the full BFD protocol. | |||
o BFD Echo-Only function without full BFD protocol capability: This | * BFD Echo-Only method without full BFD protocol capability. This | |||
scenario requires only the local device to support sending and | scenario requires only the local device to support sending and | |||
demultiplexing BFD Control packets. | demultiplexing BFD Control packets. | |||
The latter scenario is referred to as Unaffiliated BFD Echo function | The latter scenario is referred to as Unaffiliated BFD Echo in this | |||
in this document. | document. | |||
Section 6.2.2 of [BBF-TR-146] describes one use case of the | Section 6.2.2 of [BBF-TR-146] describes one use case of the | |||
Unaffiliated BFD Echo function, and at least one more use case is | Unaffiliated BFD Echo. Section 2 of [I-D.wang-bfd-one-arm-use-case] | |||
known to be deployed. | describes another use case of the Unaffiliated BFD Echo. | |||
This document describes the use of the Unaffiliated BFD Echo function | This document describes the use of the Unaffiliated BFD Echo over | |||
over IPv4 and IPv6 for single IP hop. | IPv4 and IPv6 for single IP hop. | |||
1.1. Conventions Used in This Document | 1.1. Conventions Used in This Document | |||
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. | |||
2. Updates to RFC 5880 | 2. Updates to RFC 5880 | |||
The Unaffiliated BFD Echo function described in this document reuses | The Unaffiliated BFD Echo described in this document reuses the BFD | |||
the BFD Echo function as described in [RFC5880] and [RFC5881], but | Echo function as described in [RFC5880] and [RFC5881], but does not | |||
does not require BFD Asynchronous mode. When using the Unaffiliated | require BFD Asynchronous or Demand mode. When using the Unaffiliated | |||
BFD Echo function, only the local system has the BFD protocol | BFD Echo, only the local system has the BFD protocol enabled; the | |||
enabled; the remote system just loops back the received BFD Echo | remote system just loops back the received BFD Echo packets as | |||
packets as regular data packets. | regular data packets. | |||
This document updates [RFC5880] with respect to its descriptions on | This document updates [RFC5880] with respect to its descriptions on | |||
the BFD Echo function as follows. | the BFD Echo function as follows. | |||
o The 4th paragraph of Section 3.2 of [RFC5880] is updated as below: | * The 4th paragraph of Section 3.2 of [RFC5880] is updated as below: | |||
OLD TEXT | * OLD TEXT | |||
An adjunct to both modes is the Echo function. | * An adjunct to both modes is the Echo function. | |||
NEW TEXT | * NEW TEXT | |||
An adjunct or complement to both modes is the Echo function. | * An adjunct to both modes is the Echo function, which can also be | |||
running independently. | ||||
OLD TEXT | * OLD TEXT | |||
Since the Echo function is handling the task of detection, the | * Since the Echo function is handling the task of detection, the | |||
rate of periodic transmission of Control packets may be reduced | rate of periodic transmission of Control packets may be reduced | |||
(in the case of Asynchronous mode) or eliminated completely (in | (in the case of Asynchronous mode) or eliminated completely (in | |||
the case of Demand mode). | the case of Demand mode). | |||
NEW TEXT | * NEW TEXT | |||
Since the Echo function is handling the task of detection, the | * Since the Echo function is handling the task of detection, the | |||
rate of periodic transmission of Control packets may be reduced | rate of periodic transmission of Control packets may be reduced | |||
(in the case of Asynchronous mode) or eliminated completely (in | (in the case of Asynchronous mode) or eliminated completely (in | |||
the case of Demand mode). The Echo function may also be used | the case of Demand mode). The Echo function may also be used | |||
independently, with neither Asynchronous nor Demand mode. | independently, with neither Asynchronous nor Demand mode. | |||
o The 3rd and 9th paragraphs of Section 6.1 of [RFC5880] are updated | * The 3rd and 9th paragraphs of Section 6.1 of [RFC5880] are updated | |||
as below: | as below: | |||
OLD TEXT | * OLD TEXT | |||
Once the BFD session is Up, a system can choose to start the Echo | * Once the BFD session is Up, a system can choose to start the Echo | |||
function if it desires and the other system signals that it will | function if it desires and the other system signals that it will | |||
allow it. | allow it. The rate of transmission of Control packets is | |||
typically kept low when the Echo function is active. | ||||
NEW TEXT | * NEW TEXT | |||
When a system is running with Asynchronous mode, once the BFD | * When a system is running with Asynchronous or Demand mode, once | |||
session is Up, it can choose to start the Echo function if it | the BFD session is Up, it can choose to start the Echo function if | |||
desires and the other system signals that it will allow it. | it desires and the other system signals that it will allow it. | |||
The rate of transmission of Control packets is typically kept low | ||||
for Asynchronous mode or eliminated completely for Demand mode | ||||
when the Echo function is active. | ||||
OLD TEXT | * OLD TEXT | |||
If the session goes Down, the transmission of Echo packets (if | * If the session goes Down, the transmission of Echo packets (if | |||
any) ceases, and the transmission of Control packets goes back to | any) ceases, and the transmission of Control packets goes back to | |||
the slow rate. | the slow rate. | |||
NEW TEXT | * NEW TEXT | |||
In Asynchronous mode, if the session goes Down, the transmission | * In Asynchronous mode, if the session goes Down, the transmission | |||
of Echo packets (if any) ceases, and the transmission of Control | of Echo packets (if any) ceases, and the transmission of Control | |||
packets goes back to the slow rate. | packets goes back to the slow rate. Demand mode MUST NOT be | |||
active if the session goes Down. | ||||
o The 2nd paragraph of Section 6.4 of [RFC5880] is updated as below: | * The 2nd paragraph of Section 6.4 of [RFC5880] is updated as below: | |||
OLD TEXT | * OLD TEXT | |||
When a system is using the Echo function, it is advantageous to | ||||
* When a system is using the Echo function, it is advantageous to | ||||
choose a sedate reception rate for Control packets, since liveness | choose a sedate reception rate for Control packets, since liveness | |||
detection is being handled by the Echo packets. | detection is being handled by the Echo packets. This can be | |||
controlled by manipulating the Required Min RX Interval field (see | ||||
section 6.8.3). | ||||
NEW TEXT | * NEW TEXT | |||
When a system is using the Echo function with Asynchronous mode, | * When a system is using the Echo function with Asynchronous mode, | |||
it is advantageous to choose a sedate reception rate for Control | it is advantageous to choose a sedate reception rate for Control | |||
packets, since liveness detection is being handled by the Echo | packets, since liveness detection is being handled by the Echo | |||
packets. | packets. This can be controlled by manipulating the Required Min | |||
RX Interval field (see section 6.8.3). Note that a system | ||||
operating in Demand mode would direct the remote system to cease | ||||
the periodic transmission of BFD Control packets, by setting the | ||||
Demand (D) bit in its BFD Control packets. | ||||
o The 2nd paragraph of Section 6.8 of [RFC5880] is updated as below: | * The 2nd paragraph of Section 6.8 of [RFC5880] is updated as below: | |||
OLD TEXT | * OLD TEXT | |||
When a system is said to have "the Echo function active" it means | * When a system is said to have "the Echo function active" it means | |||
that the system is sending BFD Echo packets, implying that the | that the system is sending BFD Echo packets, implying that the | |||
session is Up and the other system has signaled its willingness to | session is Up and the other system has signaled its willingness to | |||
loop back Echo packets. | loop back Echo packets. | |||
NEW TEXT | * NEW TEXT | |||
When a system in Asynchronous or Demand mode is said to have "the | * When a system in Asynchronous or Demand mode is said to have "the | |||
Echo function active" it means that the system is sending BFD Echo | Echo function active" it means that the system is sending BFD Echo | |||
packets, implying that the session is Up and the other system has | packets, implying that the session is Up and the other system has | |||
signaled its willingness to loop back Echo packets. | signaled its willingness to loop back Echo packets. | |||
o The 7th paragraph of Section 6.8.3 of [RFC5880] is updated as | * The 7th paragraph of Section 6.8.3 of [RFC5880] is updated as | |||
below: | below: | |||
OLD TEXT | * OLD TEXT | |||
When the Echo function is active, a system SHOULD set | * When the Echo function is active, a system SHOULD set | |||
bfd.RequiredMinRxInterval to a value of not less than one second | bfd.RequiredMinRxInterval to a value of not less than one second | |||
(1,000,000 microseconds). | (1,000,000 microseconds). This is intended to keep received BFD | |||
Control traffic at a negligible level, since the actual detection | ||||
NEW TEXT | function is being performed using BFD Echo packets. | |||
When the Echo function is active with Asynchronous mode, a system | * NEW TEXT | |||
* When the Echo function is active with Asynchronous mode, a system | ||||
SHOULD set bfd.RequiredMinRxInterval to a value of not less than | SHOULD set bfd.RequiredMinRxInterval to a value of not less than | |||
one second (1,000,000 microseconds). | one second (1,000,000 microseconds). This is intended to keep | |||
received BFD Control traffic at a negligible level, since the | ||||
actual detection function is being performed using BFD Echo | ||||
packets. While a system operating in Demand mode would not | ||||
receive BFD Control traffic. | ||||
o The 1st and 2nd paragraphs of Section 6.8.9 of [RFC5880] are | * The 1st and 2nd paragraphs of Section 6.8.9 of [RFC5880] are | |||
updated as below: | updated as below: | |||
OLD TEXT | * OLD TEXT | |||
BFD Echo packets MUST NOT be transmitted when bfd.SessionState is | ||||
* BFD Echo packets MUST NOT be transmitted when bfd.SessionState is | ||||
not Up. BFD Echo packets MUST NOT be transmitted unless the last | not Up. BFD Echo packets MUST NOT be transmitted unless the last | |||
BFD Control packet received from the remote system contains a | BFD Control packet received from the remote system contains a | |||
nonzero value in Required Min Echo RX Interval. | nonzero value in Required Min Echo RX Interval. | |||
NEW TEXT | * NEW TEXT | |||
When a system is using the Echo function with either Asynchronous | * When a system is using the Echo function with either Asynchronous | |||
or Demand mode, BFD Echo packets MUST NOT be transmitted when | or Demand mode, BFD Echo packets MUST NOT be transmitted when | |||
bfd.SessionState is not Up, and BFD Echo packets MUST NOT be | bfd.SessionState is not Up, and BFD Echo packets MUST NOT be | |||
transmitted unless the last BFD Control packet received from the | transmitted unless the last BFD Control packet received from the | |||
remote system contains a nonzero value in Required Min Echo RX | remote system contains a nonzero value in Required Min Echo RX | |||
Interval. | Interval. | |||
OLD TEXT | * OLD TEXT | |||
BFD Echo packets MAY be transmitted when bfd.SessionState is Up. | * BFD Echo packets MAY be transmitted when bfd.SessionState is Up. | |||
The interval between transmitted BFD Echo packets MUST NOT be less | The interval between transmitted BFD Echo packets MUST NOT be less | |||
than the value advertised by the remote system in Required Min | than the value advertised by the remote system in Required Min | |||
Echo RX Interval... | Echo RX Interval... | |||
NEW TEXT | * NEW TEXT | |||
When a system is using the Echo function with either Asynchronous | * When a system is using the Echo function with either Asynchronous | |||
or Demand mode, BFD Echo packets MAY be transmitted when | or Demand mode, BFD Echo packets MAY be transmitted when | |||
bfd.SessionState is Up, and the interval between transmitted BFD | bfd.SessionState is Up, and the interval between transmitted BFD | |||
Echo packets MUST NOT be less than the value advertised by the | Echo packets MUST NOT be less than the value advertised by the | |||
remote system in Required Min Echo RX Interval... | remote system in Required Min Echo RX Interval... | |||
3. Unaffiliated BFD Echo Procedures | 3. Unaffiliated BFD Echo Procedures | |||
Device A Device B | ||||
BFD Enabled BFD Echo packets loopback | ||||
+--------+ BFD Echo session +--------+ | ||||
| A |--------------------------------| B | | ||||
| |Interface 1 Interface 1| | | ||||
+--------+ +--------+ | ||||
BFD is supported. BFD is not supported. | ||||
Figure 1: Unaffiliated BFD Echo diagram | ||||
As shown in Figure 1, device A supports BFD, whereas device B does | As shown in Figure 1, device A supports BFD, whereas device B does | |||
not support BFD. Device A would send BFD Echo packets, and after | not support BFD. Device A would send BFD Echo packets, and after | |||
receiving the BFD Echo packets sent from device A, the one-hop-away | receiving the BFD Echo packets sent from device A, the one-hop-away | |||
BFD peer device B immediately loops them back by normal IP | BFD peer device B immediately loops them back by normal IP | |||
forwarding, this allows device A to rapidly detect a connectivity | forwarding, this allows device A to rapidly detect a connectivity | |||
loss to device B. Note that device B would not intercept any | loss to device B. Note that device B would not intercept any | |||
received BFD Echo packet or parse any BFD protocol field within the | received BFD Echo packet or parse any BFD protocol field within the | |||
BFD Echo packet. | BFD Echo packet. | |||
To rapidly detect any IP forwarding faults between device A and | To rapidly detect any IP forwarding faults between device A and | |||
device B, a BFD Echo session MUST be created at device A, and the BFD | device B, a BFD Echo session MUST be created at device A, and the BFD | |||
Echo session is RECOMMENDED to follow the BFD state machine defined | Echo session MUST follow the BFD state machine defined in Section 6.2 | |||
in Section 6.2 of [RFC5880], except that the received state is not | of [RFC5880], except that the received state is not sent but echoed | |||
sent but echoed from the remote system, and AdminDown state is ruled | from the remote system, and AdminDown state is ruled out because | |||
out because AdminDown effectively means removal of BFD Echo session. | AdminDown effectively means removal of BFD Echo session. In this | |||
In this case, although BFD Echo packets are transmitted with | case, although BFD Echo packets are transmitted with destination UDP | |||
destination UDP port 3785 as defined in [RFC5881], the BFD Echo | port 3785 as defined in [RFC5881], the BFD Echo packets sent by | |||
packets sent by device A are BFD Control packets too, the looped BFD | device A are BFD Control packets too, the looped BFD Echo packets | |||
Echo packets back from device B would drive BFD state change at | back from device B would drive BFD state change at device A, | |||
device A, substituting the BFD Control packets sent from the BFD | substituting the BFD Control packets sent from the BFD peer. Also | |||
peer. Also note that when device A receives looped BFD Control | note that when device A receives looped BFD Control packets, the | |||
packets, the validation procedures of [RFC5880] are used. | validation procedures of [RFC5880] are used. | |||
Once a BFD Echo session is created at device A, it starts sending BFD | Once a BFD Echo session is created at device A, it starts sending BFD | |||
Echo packets, which SHOULD include a BFD Echo session demultiplexing | Echo packets, which MUST include BFD Echo session demultiplexing | |||
field, such as BFD "Your Discriminator" defined in [RFC5880] (BFD "My | fields, such as BFD "Your Discriminator" defined in [RFC5880] (BFD | |||
Discriminator" can be set to 0 to avoid confusion), except that | "My Discriminator" can be set to 0 to avoid confusion), except for | |||
device A can use IP source address or UDP source port to demultiplex | BFD "Your Discriminator", device A can also use IP source address or | |||
BFD Echo session, or there is only one BFD Echo session running at | UDP source port to demultiplex BFD Echo session, or there is only one | |||
device A. Device A would send BFD Echo packets with IP destination | BFD Echo session running at device A. Device A would send BFD Echo | |||
address destined for itself, such as the IP address of interface 1 of | packets with IP destination address destined for itself, such as the | |||
device A. All BFD Echo packets for the session MUST be sent with a | IP address of interface 1 of device A. All BFD Echo packets for the | |||
Time to Live (TTL) or Hop Limit value of 255. | session MUST be sent with a Time to Live (TTL) or Hop Limit value of | |||
255. | ||||
"Desired Min TX Interval" and "Required Min RX Interval" defined in | ||||
[RFC5880] may be populated with one second within the BFD Echo | ||||
packet, which however has no real application and would be ignored by | ||||
the receiver. | ||||
Considering the BFD peer wouldn't advertise "Required Min Echo RX | ||||
Interval" as defined in [RFC5880], the transmission interval for | ||||
sending BFD Echo packets MUST be provisioned at device A, how to make | ||||
sure the BFD peer is willing and able to loop back BFD Echo packets | ||||
sent with the provisioned transmission interval is outside the scope | ||||
of this document. Similar to what's specified in [RFC5880], the BFD | ||||
Echo session begins with the periodic, slow transmission of BFD Echo | ||||
packets, the slow transmission rate SHOULD be no less then one second | ||||
per packet, until the session is Up, after that the provisioned | ||||
transmission interval is applied, and reverting back to the slow rate | ||||
once the session goes Down. Considering the BFD peer wouldn't | ||||
advertise "Detect Mult" as defined in [RFC5880], the "Detect Mult" | ||||
for calculating the Detection Time MUST be provisioned at device A, | ||||
the Detection Time in device A is equal to the provisioned "Detect | ||||
Mult" multiplied by the provisioned transmission interval. | ||||
Device A Device B | ||||
BFD Enabled BFD Echo packets loopback | Within the BFD Echo packet, the "Desired Min TX Interval" and | |||
+--------+ BFD Echo session +---------+ | "Required Min RX Interval" defined in [RFC5880] may be populated with | |||
| A |--------------------------------| B | | one second, which however has no real application and would be | |||
| |Inf 1 Inf 1| | | ignored by the receiver. | |||
+--------+10.1.1.1/24 10.1.1.2/24+---------+ | ||||
BFD is supported. BFD is not supported. | ||||
Figure 1: Unaffiliated BFD Echo diagram | Considering that the BFD peer device B wouldn't advertise "Required | |||
Min Echo RX Interval" as defined in [RFC5880], the transmission | ||||
interval for sending BFD Echo packets MUST be provisioned at device | ||||
A, how to make sure the BFD peer device B is willing and able to loop | ||||
back BFD Echo packets sent with the provisioned transmission interval | ||||
is outside the scope of this document. Similar to what's specified | ||||
in [RFC5880], the BFD Echo session begins with the periodic, slow | ||||
transmission of BFD Echo packets, the slow transmission rate SHOULD | ||||
be no less then one second per packet, until the session is Up, after | ||||
that the provisioned transmission interval is applied, and reverting | ||||
back to the slow rate once the session goes Down. Considering that | ||||
the BFD peer wouldn't advertise "Detect Mult" as defined in | ||||
[RFC5880], the "Detect Mult" for calculating the Detection Time MUST | ||||
be provisioned at device A, the Detection Time at device A is equal | ||||
to the provisioned "Detect Mult" multiplied by the provisioned | ||||
transmission interval. | ||||
4. Unaffiliated BFD Echo Applicability | 4. Unaffiliated BFD Echo Applicability | |||
Some devices that would benefit from the use of BFD may be unable to | Some devices that would benefit from the use of BFD may be unable to | |||
support the full BFD protocol. Examples of such devices include | support the full BFD protocol. Examples of such devices include | |||
servers running virtual machines, or Internet of Things (IoT) | servers running virtual machines, or Internet of Things (IoT) | |||
devices. The Unaffiliated BFD Echo function can be used when two | devices. The Unaffiliated BFD Echo can be used when two devices are | |||
devices are connected and only one of them supports the BFD protocol, | connected and only one of them supports the BFD protocol, and the | |||
and the other is capable of looping BFD Echo packets. | other is capable of looping BFD Echo packets. | |||
5. Security Considerations | 5. Security Considerations | |||
All Security Considerations from [RFC5880] and [RFC5881] apply. | All Security Considerations from [RFC5880] and [RFC5881] apply. | |||
Note that the Unaffiliated BFD Echo function prevents the use of | Note that the Unaffiliated BFD Echo prevents the use of Unicast | |||
Unicast Reverse Path Forwarding (URPF) [RFC3704] [RFC8704] in strict | Reverse Path Forwarding (URPF) [RFC3704] [RFC8704] in strict mode. | |||
mode. | ||||
As specified in Section 5 of [RFC5880], since BFD Echo packets may be | As specified in Section 5 of [RFC5880], since BFD Echo packets may be | |||
spoofed, some form of authentication SHOULD be included. Considering | spoofed, some form of authentication SHOULD be included. Considering | |||
the BFD Echo packets in this document are also BFD Control packets, | the BFD Echo packets in this document are also BFD Control packets, | |||
the "Authentication Section" as defined in [RFC5880] for BFD Control | the "Authentication Section" as defined in [RFC5880] for BFD Control | |||
packet is RECOMMENDED to be included within the BFD Echo packet. | packet is RECOMMENDED to be included within the BFD Echo packet. | |||
In order to mitigate the potential reflector attack by the remote | In order to mitigate the potential reflector attack by the remote | |||
attackers, or infinite loop of the BFD Echo packets, it's RECOMMENDED | attackers, or infinite loop of the BFD Echo packets, it's RECOMMENDED | |||
to put two requirements on the device looping BFD Echo packets, the | to put two requirements on the device looping BFD Echo packets, the | |||
skipping to change at page 9, line 7 ¶ | skipping to change at page 9, line 23 ¶ | |||
The authors would like to acknowledge Ketan Talaulikar, Greg Mirsky | The authors would like to acknowledge Ketan Talaulikar, Greg Mirsky | |||
and Santosh Pallagatti for their careful review and very helpful | and Santosh Pallagatti for their careful review and very helpful | |||
comments. | comments. | |||
The authors would like to acknowledge Jeff Haas for his insightful | The authors would like to acknowledge Jeff Haas for his insightful | |||
review and very helpful comments. | review and very helpful comments. | |||
8. Contributors | 8. Contributors | |||
Liu Aihua | Liu Aihua ZTE Email: liu.aihua@zte.com.cn | |||
ZTE | ||||
Email: liu.aihua@zte.com.cn | ||||
Qian Xin | Qian Xin ZTE Email: qian.xin2@zte.com.cn | |||
ZTE | ||||
Email: qian.xin2@zte.com.cn | ||||
Zhao Yanhua | Zhao Yanhua ZTE Email: zhao.yanhua3@zte.com.cn | |||
ZTE | ||||
Email: zhao.yanhua3@zte.com.cn | ||||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[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>. | |||
skipping to change at page 9, line 48 ¶ | skipping to change at page 10, line 10 ¶ | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
9.2. Informative References | 9.2. Informative References | |||
[BBF-TR-146] | [BBF-TR-146] | |||
Broadband Forum, "BBF Technical Report - Subscriber | Broadband Forum, "BBF Technical Report - Subscriber | |||
Sessions Issue 1", 2013, <https://www.broadband- | Sessions Issue 1", 2013, <https://www.broadband- | |||
forum.org/technical/download/TR-146.pdf>. | forum.org/technical/download/TR-146.pdf>. | |||
[I-D.wang-bfd-one-arm-use-case] | ||||
Wang, R., Cheng, W., Zhao, Y., and A. Liu, "Using One-Arm | ||||
BFD in Cloud Network", Work in Progress, Internet-Draft, | ||||
draft-wang-bfd-one-arm-use-case-00, 18 November 2019, | ||||
<https://www.ietf.org/archive/id/draft-wang-bfd-one-arm- | ||||
use-case-00.txt>. | ||||
[RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed | [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed | |||
Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March | Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March | |||
2004, <https://www.rfc-editor.org/info/rfc3704>. | 2004, <https://www.rfc-editor.org/info/rfc3704>. | |||
[RFC8704] Sriram, K., Montgomery, D., and J. Haas, "Enhanced | [RFC8704] Sriram, K., Montgomery, D., and J. Haas, "Enhanced | |||
Feasible-Path Unicast Reverse Path Forwarding", BCP 84, | Feasible-Path Unicast Reverse Path Forwarding", BCP 84, | |||
RFC 8704, DOI 10.17487/RFC8704, February 2020, | RFC 8704, DOI 10.17487/RFC8704, February 2020, | |||
<https://www.rfc-editor.org/info/rfc8704>. | <https://www.rfc-editor.org/info/rfc8704>. | |||
Authors' Addresses | Authors' Addresses | |||
skipping to change at page 10, line 26 ¶ | skipping to change at page 10, line 42 ¶ | |||
Email: chengweiqiang@chinamobile.com | Email: chengweiqiang@chinamobile.com | |||
Ruixue Wang | Ruixue Wang | |||
China Mobile | China Mobile | |||
Beijing | Beijing | |||
China | China | |||
Email: wangruixue@chinamobile.com | Email: wangruixue@chinamobile.com | |||
Xiao Min | Xiao Min (editor) | |||
ZTE Corp. | ZTE Corp. | |||
Nanjing | Nanjing | |||
China | China | |||
Email: xiao.min2@zte.com.cn | Email: xiao.min2@zte.com.cn | |||
Reshad Rahman | Reshad Rahman | |||
Individual | Individual | |||
Kanata | Kanata | |||
Canada | Canada | |||
Email: reshad@yahoo.com | Email: reshad@yahoo.com | |||
Raj Chetan Boddireddy | Raj Chetan Boddireddy | |||
Juniper Networks | Juniper Networks | |||
End of changes. 73 change blocks. | ||||
158 lines changed or deleted | 178 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/ |