rfc9747.original | rfc9747.txt | |||
---|---|---|---|---|
BFD Working Group W. Cheng | Internet Engineering Task Force (IETF) W. Cheng | |||
Internet-Draft R. Wang | Request for Comments: 9747 R. Wang | |||
Updates: 5880 (if approved) China Mobile | Updates: 5880 China Mobile | |||
Intended status: Standards Track X. Min, Ed. | Category: Standards Track X. Min, Ed. | |||
Expires: 13 June 2025 ZTE Corp. | ISSN: 2070-1721 ZTE Corp. | |||
R. Rahman | R. Rahman | |||
Equinix | Equinix | |||
R. Boddireddy | R. Boddireddy | |||
Juniper Networks | Juniper Networks | |||
10 December 2024 | March 2025 | |||
Unaffiliated Bidirectional Forwarding Detection (BFD) Echo | Unaffiliated Bidirectional Forwarding Detection (BFD) Echo | |||
draft-ietf-bfd-unaffiliated-echo-14 | ||||
Abstract | Abstract | |||
This document specifies an extension to the Bidirectional Forwarding | This document specifies an extension to the Bidirectional Forwarding | |||
Detection (BFD) protocol that enables the use of the BFD Echo | Detection (BFD) protocol that enables the use of the BFD Echo | |||
function without the need for an associated BFD control session. | function without the need for an associated BFD control session. | |||
This "Unaffiliated BFD Echo" mechanism allows rapid detection of | This "Unaffiliated BFD Echo" mechanism allows rapid detection of | |||
forwarding path failures in networks where establishing BFD control | forwarding path failures in networks where establishing BFD control | |||
sessions is impractical or undesirable. By decoupling the Echo | sessions is impractical or undesirable. By decoupling the Echo | |||
function from the control plane, network devices can utilize BFD's | function from the control plane, network devices can utilize BFD's | |||
fast failure detection capabilities in a simplified manner, enhancing | fast failure detection capabilities in a simplified manner, enhancing | |||
network resiliency and operational efficiency. | network resiliency and operational efficiency. | |||
This document updates RFC 5880 by defining a new Unaffiliated BFD | This document updates RFC 5880 by defining a new Unaffiliated BFD | |||
Echo mechanism. | Echo mechanism. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 13 June 2025. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9747. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2025 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
1.1. Conventions Used in This Document . . . . . . . . . . . . 4 | 1.1. Conventions Used in This Document | |||
2. Unaffiliated BFD Echo Procedures . . . . . . . . . . . . . . 4 | 2. Unaffiliated BFD Echo Procedures | |||
3. Updates to RFC 5880 . . . . . . . . . . . . . . . . . . . . . 7 | 3. Updates to RFC 5880 | |||
4. Operational Considerations . . . . . . . . . . . . . . . . . 10 | 4. Operational Considerations | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | 5. Security Considerations | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 6. IANA Considerations | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 | 7. References | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 11 | 7.1. Normative References | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 7.2. Informative References | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 11 | Acknowledgements | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 12 | Contributors | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
To minimize the impact of device and link faults on services and to | To minimize the impact of device and link faults on services and to | |||
improve network availability in single-hop scenarios, a network | improve network availability in single-hop scenarios, a network | |||
device needs the capability to quickly detect communication faults | device needs the capability to quickly detect communication faults | |||
with adjacent devices. Prompt detection allows for timely remedial | with adjacent devices. Prompt detection allows for timely remedial | |||
actions to ensure service continuity. | actions to ensure service continuity. | |||
BFD [RFC5880] provides a low-overhead, short-interval method for | BFD [RFC5880] provides a low-overhead, short-interval method for | |||
detecting faults on the communication path between adjacent | detecting faults on the communication path between adjacent | |||
forwarding engines, which may include interfaces, data links, and the | forwarding engines, which may include interfaces, data links, and the | |||
forwarding engines themselves. BFD offers a unified mechanism to | forwarding engines themselves. BFD offers a unified mechanism to | |||
monitor any media and protocol layers in real time. | monitor any media and protocol layers in real time. | |||
BFD defines two primary modes-Asynchronous mode and Demand mode-to | BFD defines two primary modes -- Asynchronous mode and Demand mode -- | |||
accommodate various deployment scenarios. Additionally, it supports | to accommodate various deployment scenarios. Additionally, it | |||
an Echo function that reduces the level of BFD support required in | supports an Echo function that reduces the level of BFD support | |||
device implementations, as described in Section 3.2 of [RFC5880]. | required in device implementations, as described in Section 3.2 of | |||
[RFC5880]. When the Echo function is activated, the local system | ||||
When the Echo function is activated, the local system sends BFD Echo | sends BFD Echo packets, and the remote system loops back the received | |||
packets, and the remote system loops back the received Echo packets | Echo packets through the forwarding path, as described in Section 5 | |||
through the forwarding path, as described in Section 5 of [RFC5880] | of [RFC5880] and Section 4 of [RFC5881]. If several consecutive BFD | |||
and Section 4 of [RFC5881]. If several consecutive BFD Echo packets | Echo packets are not received by the local system, the BFD session is | |||
are not received by the local system, the BFD session is declared | declared Down. | |||
Down. | ||||
There are two typical scenarios when using the BFD Echo function: | There are two typical scenarios when using the BFD Echo function: | |||
* Full BFD protocol capability with adjunct Echo function | * Full BFD protocol capability with adjunct Echo function | |||
(Affiliated BFD Echo): This scenario requires both the local | (Affiliated BFD Echo): This scenario requires both the local | |||
device and the adjacent device to support the full BFD protocol. | device and the adjacent device to support the full BFD protocol. | |||
This operation remains unchanged from [RFC5880]. | This operation remains unchanged from [RFC5880]. | |||
* BFD Echo-Only method without full BFD protocol capability | * BFD Echo-Only method without full BFD protocol capability | |||
(Unaffiliated BFD Echo): This scenario requires only the local | (Unaffiliated BFD Echo): This scenario requires only the local | |||
skipping to change at page 3, line 35 ¶ | skipping to change at line 123 ¶ | |||
method requires the local device to send packets with one of its | method requires the local device to send packets with one of its | |||
own IP addresses as the destination address, upon receipt of which | own IP addresses as the destination address, upon receipt of which | |||
the adjacent device loops them back to the local device. Also | the adjacent device loops them back to the local device. Also | |||
note that this method monitors the connectivity to a device over a | note that this method monitors the connectivity to a device over a | |||
specific interface and does not verify the availability of a | specific interface and does not verify the availability of a | |||
specific IP address at that device. | specific IP address at that device. | |||
This document specifies the Unaffiliated BFD Echo scenario. | This document specifies the Unaffiliated BFD Echo scenario. | |||
Section 5 of [RFC5880] indicates that the payload of an Affiliated | Section 5 of [RFC5880] indicates that the payload of an Affiliated | |||
BFD Echo packet is a local matter and, therefore, its contents are | BFD Echo packet is a local matter; therefore, its contents are | |||
outside the scope of that specification. This document, however, | outside the scope of that specification. This document, however, | |||
specifies the contents of the Unaffiliated BFD Echo packet and the | specifies the contents of the Unaffiliated BFD Echo packet and the | |||
procedures for handling them. While this may appear to contravene | procedures for handling them. While this may appear to contravene | |||
Section 5 of [RFC5880], the core behavior in that RFC states that the | Section 5 of [RFC5880], the core behavior in that RFC states that the | |||
contents of BFD Echo packets are a local matter; this document is | contents of BFD Echo packets are a local matter; this document is | |||
defining that "local matter". Regarding the selection of IP | defining that "local matter". Regarding the selection of IP | |||
addresses, the rules stated in Section 4 of [RFC5881] are applicable | addresses, the rules stated in Section 4 of [RFC5881] are applicable | |||
to the encapsulation of an Unaffiliated BFD Echo packet. | to the encapsulation of an Unaffiliated BFD Echo packet. | |||
Section 6.2.2 of [BBF-TR-146] describes a use case for the | Section 6.2.2 of [BBF-TR-146] describes a use case for the | |||
Unaffiliated BFD Echo. | Unaffiliated BFD Echo. | |||
This document updates [RFC5880] by defining a new method of BFD Echo- | This document updates [RFC5880] by defining a new method of BFD Echo- | |||
only operation which only impacts the BFD Echo packets sender without | only operation which only impacts the sender of BFD Echo packets | |||
requiring an implementation to support the BFD protocol at the loop- | without requiring an implementation to support the BFD protocol at | |||
back device, such that any IP forwarder can loop-back the BFD Echo | the loopback device, such that any IP forwarder can loop back the BFD | |||
packets. It specifies the use of the Unaffiliated BFD Echo over IPv4 | Echo packets. It specifies the use of the Unaffiliated BFD Echo over | |||
and IPv6 for a single IP hop. The reason why it cannot be used for | IPv4 and IPv6 for a single IP hop. The reason why it cannot be used | |||
multihop paths is that the Unaffiliated BFD Echo packets would be | for multihop paths is that the Unaffiliated BFD Echo packets would be | |||
looped back by the first hop. A full description of the updates to | looped back by the first hop. A full description of the updates to | |||
[RFC5880] is provided in Section 3. | [RFC5880] is provided in Section 3. | |||
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 | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
2. Unaffiliated BFD Echo Procedures | 2. Unaffiliated BFD Echo Procedures | |||
This section specifies the Unaffiliated BFD Echo procedures. | This section specifies the Unaffiliated BFD Echo procedures. | |||
Device A Device B | Device A Device B | |||
+----------------+ +----------------+ | +----------------+ +----------------+ | |||
| | | | | | | | | | |||
| |------------| | | | | |------------| | | | |||
skipping to change at page 4, line 38 ¶ | skipping to change at line 175 ¶ | |||
| | | Unaffiliated BFD Echo | | | | | | Unaffiliated BFD Echo | | | |||
| | -------------------------------| BFD | | | | -------------------------------| BFD | | |||
| | | | packets | | | | | | packets | | |||
| | <-------------------------------| looped | | | | <-------------------------------| looped | | |||
| |------------| | | | | |------------| | | | |||
| | | | | | | | | | |||
| | | | | | | | | | |||
+----------------+ +----------------+ | +----------------+ +----------------+ | |||
BFD supported BFD not supported | BFD supported BFD not supported | |||
Figure 1: Unaffiliated BFD Echo diagram | Figure 1: Unaffiliated BFD Echo | |||
As shown in Figure 1, device A supports BFD, whereas device B is a | As shown in Figure 1, device A supports BFD, whereas device B is a | |||
regular IP forwarder that does not support BFD. Device A would send | regular IP forwarder that does not support BFD. Device A would send | |||
Unaffiliated BFD Echo packets, and after receiving the Unaffiliated | Unaffiliated BFD Echo packets, and after receiving the Unaffiliated | |||
BFD Echo packets sent from device A, the one-hop-away BFD peer device | BFD Echo packets sent from device A, the one-hop-away BFD peer device | |||
B immediately loops them back by normal IP forwarding, this allows | B immediately loops them back by normal IP forwarding. This allows | |||
device A to rapidly detect a connectivity loss to device B. Note | device A to rapidly detect a connectivity loss to device B. Note | |||
that device B would not intercept any received Unaffiliated BFD Echo | that device B would not intercept any received Unaffiliated BFD Echo | |||
packet or parse any BFD protocol field within the Unaffiliated BFD | packet or parse any BFD protocol field within the Unaffiliated BFD | |||
Echo packet. | Echo packet. | |||
An Unaffiliated BFD Echo session is not actually a BFD session | An Unaffiliated BFD Echo session is not actually a BFD session | |||
because there is no coordination of BFD protocol state between the | because there is no coordination of BFD protocol state between the | |||
two link ends: the remote end does not support BFD and so cannot | two link ends: the remote end does not support BFD and so cannot | |||
engage in a BFD session. The local end as an initiator may regard | engage in a BFD session. The local end as an initiator may regard | |||
the Unaffiliated BFD Echo session as a BFD session from its own | the Unaffiliated BFD Echo session as a BFD session from its own | |||
skipping to change at page 7, line 20 ¶ | skipping to change at line 297 ¶ | |||
Echo operation, only the local system has the BFD protocol enabled, | Echo operation, only the local system has the BFD protocol enabled, | |||
while the remote system simply loops back the received BFD Echo | while the remote system simply loops back the received BFD Echo | |||
packets as ordinary data packets, without engaging in the BFD | packets as ordinary data packets, without engaging in the BFD | |||
protocol. | protocol. | |||
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. | |||
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. | ||||
NEW TEXT | | An adjunct to both modes is the Echo function. | |||
An adjunct to both modes is the Echo function, which can also be | ||||
running independently. | ||||
OLD TEXT | NEW TEXT | |||
Since the Echo function is handling the task of detection, the | ||||
rate of periodic transmission of Control packets may be reduced | ||||
(in the case of Asynchronous mode) or eliminated completely (in | ||||
the case of Demand mode). | ||||
NEW TEXT | | An adjunct to both modes is the Echo function, which can also be | |||
Since the Echo function is handling the task of detection, the | | running independently. | |||
rate of periodic transmission of Control packets may be reduced | ||||
(in the case of Asynchronous mode) or eliminated completely (in | OLD TEXT | |||
the case of Demand mode). The Echo function may also be used | ||||
independently, with neither Asynchronous nor Demand mode. | | Since the Echo function is handling the task of detection, the | |||
| rate of periodic transmission of Control packets may be reduced | ||||
| (in the case of Asynchronous mode) or eliminated completely (in | ||||
| the case of Demand mode). | ||||
NEW TEXT | ||||
| Since the Echo function is handling the task of detection, the | ||||
| rate of periodic transmission of Control packets may be reduced | ||||
| (in the case of Asynchronous mode) or eliminated completely (in | ||||
| the case of Demand mode). The Echo function may also be used | ||||
| independently, with neither Asynchronous nor Demand mode. | ||||
The 3rd and 9th paragraphs of Section 6.1 of [RFC5880] are updated as | The 3rd and 9th paragraphs of Section 6.1 of [RFC5880] are updated as | |||
below: | below: | |||
OLD TEXT | OLD TEXT | |||
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 | ||||
allow it. The rate of transmission of Control packets is | ||||
typically kept low when the Echo function is active. | ||||
NEW TEXT | | Once the BFD session is Up, a system can choose to start the Echo | |||
When a system is running with Asynchronous or Demand mode, once | | function if it desires and the other system signals that it will | |||
the BFD session is Up, it can choose to start the Echo function if | | allow it. The rate of transmission of Control packets is | |||
it desires and the other system signals that it will allow it. | | typically kept low when the Echo function is active. | |||
The rate of transmission of Control packets is typically kept low | NEW TEXT | |||
for Asynchronous mode or eliminated completely for Demand mode | ||||
when the Echo function is active. | ||||
OLD TEXT | | When a system is running with Asynchronous or Demand mode, once | |||
If the session goes Down, the transmission of Echo packets (if | | the BFD session is Up, it can choose to start the Echo function if | |||
any) ceases, and the transmission of Control packets goes back to | | it desires and the other system signals that it will allow it. | |||
the slow rate. | | 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. | ||||
NEW TEXT | OLD TEXT | |||
In Asynchronous mode or Demand mode, if the session goes Down, the | ||||
transmission of Echo packets (if any) ceases, and the transmission | | If the session goes Down, the transmission of Echo packets (if | |||
of Control packets goes back to the slow rate. | | any) ceases, and the transmission of Control packets goes back to | |||
| the slow rate. | ||||
NEW TEXT | ||||
| In Asynchronous mode or Demand mode, if the session goes Down, the | ||||
| transmission of Echo packets (if any) ceases, and the transmission | ||||
| of Control packets goes back to the slow rate. | ||||
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 | ||||
choose a sedate reception rate for Control packets, since liveness | ||||
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 | | When a system is using the Echo function, it is advantageous to | |||
When a system is using the Echo function with Asynchronous mode, | | choose a sedate reception rate for Control packets, since liveness | |||
it is advantageous to choose a sedate reception rate for Control | | detection is being handled by the Echo packets. This can be | |||
packets, since liveness detection is being handled by the Echo | | controlled by manipulating the Required Min RX Interval field (see | |||
packets. This can be controlled by manipulating the Required Min | | section 6.8.3). | |||
RX Interval field (see section 6.8.3). Note that a system | ||||
operating in Demand mode would direct the remote system to cease | NEW TEXT | |||
the periodic transmission of BFD Control packets, by setting the | ||||
Demand (D) bit in its BFD Control packets. | | When a system is using the Echo function with Asynchronous mode, | |||
| it is advantageous to choose a sedate reception rate for Control | ||||
| packets, since liveness 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). 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. | ||||
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 | ||||
that the system is sending BFD Echo packets, implying that the | ||||
session is Up and the other system has signaled its willingness to | ||||
loop back Echo packets. | ||||
NEW TEXT | | When a system is said to have "the Echo function active" it means | |||
When a system in Asynchronous or Demand mode is said to have "the | | that the system is sending BFD Echo packets, implying that the | |||
Echo function active" it means that the system is sending BFD Echo | | session is Up and the other system has signaled its willingness to | |||
packets, implying that the session is Up and the other system has | | loop back Echo packets. | |||
signaled its willingness to loop back Echo packets. | ||||
NEW TEXT | ||||
| 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 | ||||
| packets, implying that the session is Up and the other system has | ||||
| signaled its willingness to loop back Echo packets. | ||||
The 7th paragraph of Section 6.8.3 of [RFC5880] is updated as below: | The 7th paragraph of Section 6.8.3 of [RFC5880] is updated as below: | |||
OLD TEXT | OLD TEXT | |||
When the Echo function is active, a system SHOULD set | ||||
bfd.RequiredMinRxInterval to a value of not less than 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. | ||||
NEW TEXT | | When the Echo function is active, a system SHOULD set | |||
When the Echo function is active with Asynchronous mode, a system | | bfd.RequiredMinRxInterval to a value of not less than one second | |||
SHOULD set bfd.RequiredMinRxInterval to a value of not less than | | (1,000,000 microseconds). This is intended to keep received BFD | |||
one second (1,000,000 microseconds). This is intended to keep | | Control traffic at a negligible level, since the actual detection | |||
received BFD Control traffic at a negligible level, since the | | function is being performed using BFD Echo packets. | |||
actual detection function is being performed using BFD Echo | ||||
packets. A system operating in Demand mode would not receive BFD | NEW TEXT | |||
Control traffic. | ||||
| When the Echo function is active with Asynchronous mode, a system | ||||
| SHOULD set bfd.RequiredMinRxInterval to a value of not less than | ||||
| 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. A system operating in Demand mode would not receive BFD | ||||
| Control traffic. | ||||
The 1st and 2nd paragraphs of Section 6.8.9 of [RFC5880] are updated | The 1st and 2nd paragraphs of Section 6.8.9 of [RFC5880] are updated | |||
as below: | as below: | |||
OLD TEXT | OLD TEXT | |||
BFD Echo packets MUST NOT be transmitted when bfd.SessionState is | ||||
not Up. BFD Echo packets MUST NOT be transmitted unless the last | ||||
BFD Control packet received from the remote system contains a | ||||
nonzero value in Required Min Echo RX Interval. | ||||
NEW TEXT | | BFD Echo packets MUST NOT be transmitted when bfd.SessionState is | |||
When a system is using the Echo function with either Asynchronous | | not Up. BFD Echo packets MUST NOT be transmitted unless the last | |||
or Demand mode, BFD Echo packets MUST NOT be transmitted when | | BFD Control packet received from the remote system contains a | |||
bfd.SessionState is not Up, and BFD Echo packets MUST NOT be | | nonzero value in Required Min Echo RX Interval. | |||
transmitted unless the last BFD Control packet received from the | ||||
remote system contains a nonzero value in Required Min Echo RX | ||||
Interval. | ||||
OLD TEXT | NEW TEXT | |||
BFD Echo packets MAY be transmitted when bfd.SessionState is Up. | ||||
The interval between transmitted BFD Echo packets MUST NOT be less | ||||
than the value advertised by the remote system in Required Min | ||||
Echo RX Interval... | ||||
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 MAY be transmitted when | | bfd.SessionState is not Up, and BFD Echo packets MUST NOT be | |||
bfd.SessionState is Up, and the interval between transmitted BFD | | transmitted unless the last BFD Control packet received from the | |||
Echo packets MUST NOT be less than the value advertised by the | | remote system contains a nonzero value in Required Min Echo RX | |||
remote system in Required Min Echo RX Interval... | | Interval. | |||
OLD TEXT | ||||
| BFD Echo packets MAY be transmitted when bfd.SessionState is Up. | ||||
| The interval between transmitted BFD Echo packets MUST NOT be less | ||||
| than the value advertised by the remote system in Required Min | ||||
| Echo RX Interval... | ||||
NEW TEXT | ||||
| When a system is using the Echo function with either Asynchronous | ||||
| or Demand mode, BFD Echo packets MAY be transmitted when | ||||
| bfd.SessionState is Up, and the interval between transmitted BFD | ||||
| Echo packets MUST NOT be less than the value advertised by the | ||||
| remote system in Required Min Echo RX Interval... | ||||
4. Operational Considerations | 4. Operational Considerations | |||
All Operational Considerations from [RFC5880] apply. Since this | All operational considerations from [RFC5880] apply. Since this | |||
mechanism leverages existing BFD machinery, particularly periodic | mechanism leverages existing BFD machinery, particularly periodic | |||
pacing of traffic based on configuration, there's no real possibility | pacing of traffic based on configuration, there's no real possibility | |||
to create congestion. Moreover, creating congestion would be counter | to create congestion. Moreover, creating congestion would be | |||
productive to check the bidirectional connectivity. | counterproductive to check the bidirectional connectivity. | |||
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. By using Unaffiliated BFD Echo, these devices only need to | devices. By using Unaffiliated BFD Echo, these devices only need to | |||
support a basic loopback function. | support a basic loopback function. | |||
As specified in Section 2 of this document, some configuration is | As specified in Section 2 of this document, some configuration is | |||
needed to make the Unaffiliated BFD Echo work, although the | needed to make the Unaffiliated BFD Echo work, although the | |||
configuration won't go beyond the scope of [RFC5880]. At a BFD- | configuration won't go beyond the scope of [RFC5880]. At a BFD- | |||
enabled local system, the Unaffiliated BFD Echo session can coexist | enabled local system, the Unaffiliated BFD Echo session can coexist | |||
with other type of BFD session, in which scenario the remote system | with another type of BFD session. In that scenario, the remote | |||
for the Unaffiliated BFD Echo session must be different from the | system for the Unaffiliated BFD Echo session must be different from | |||
remote system for other type of BFD session, and the local system's | the remote system for the other type of BFD session, and the local | |||
discriminators for different BFD sessions must be different, at the | system's discriminators for different BFD sessions must be different. | |||
same time it's not necessary for the local system to differentiate | At the same time, it's not necessary for the local system to | |||
the Unaffiliated BFD Echo session from other type of BFD session. | differentiate the Unaffiliated BFD Echo session from the other type | |||
of BFD session. | ||||
5. Security Considerations | 5. Security Considerations | |||
All Security Considerations from [RFC5880] and [RFC5881] apply. | All security considerations from [RFC5880] and [RFC5881] apply. | |||
Unaffiliated BFD Echo requires the remote device to loop Unaffiliated | Unaffiliated BFD Echo requires the remote device to loop Unaffiliated | |||
BFD Echo packets. In order to provide this service, the remote | BFD Echo packets. In order to provide this service, the remote | |||
device cannot make use of Unicast Strict Reverse Path Forwarding | device cannot make use of Unicast Strict Reverse Path Forwarding | |||
(RPF) [RFC3704], otherwise the Unaffiliated BFD Echo packets might | (RPF) [RFC3704], otherwise the Unaffiliated BFD Echo packets might | |||
not pass the RPF check at the remote device. | not pass the RPF check at the remote device. | |||
As described in Section 5 of [RFC5880], BFD Echo packets may be | As described in Section 5 of [RFC5880], BFD Echo packets may be | |||
spoofed. Specifically for Unaffiliated BFD Echo, a DoS attacker may | spoofed. Specifically for Unaffiliated BFD Echo, a DoS attacker may | |||
send spoofed Unaffiliated BFD Echo packets to the loop-back device, | send spoofed Unaffiliated BFD Echo packets to the loopback device, so | |||
so some form of authentication SHOULD be included. Considering the | some form of authentication SHOULD be included. Considering the | |||
Unaffiliated BFD Echo packets in this document are also BFD Control | Unaffiliated BFD Echo packets in this document are also BFD Control | |||
packets, the "Authentication Section" as defined in [RFC5880] for BFD | packets, the "Authentication Section" as defined in [RFC5880] for a | |||
Control packet is RECOMMENDED to be included within the Unaffiliated | BFD Control packet is RECOMMENDED to be included within the | |||
BFD Echo packet. | Unaffiliated BFD Echo packet. | |||
As stated in Section 2, in order to avoid unset values being a | As stated in Section 2, in order to avoid unset values being a | |||
potential vector for disclosure of uninitialized memory, all fields | potential vector for disclosure of uninitialized memory, all fields | |||
of the Unaffiliated BFD Echo packet MUST be populated with a certain | of the Unaffiliated BFD Echo packet MUST be populated with a certain | |||
value, even if some of the fields are ignored on receipt. | value, even if some of the fields are ignored on receipt. | |||
6. IANA Considerations | 6. IANA Considerations | |||
This document has no IANA action requested. | This document has no IANA actions. | |||
7. Acknowledgements | ||||
The authors would like to acknowledge Ketan Talaulikar, Greg Mirsky, | ||||
Santosh Pallagatti, Aijun Wang, Eric Vyncke, Adrian Farrel, Tim | ||||
Wicinski, Dhruv Dhody, Stephen Farrell, Gunter Van de Velde, Gyan | ||||
Mishra, Brian Trammell, Gorry Fairhurst, Mahesh Jethanandani, John | ||||
Scudder, Murray Kucherawy, and Zaheduzzaman Sarker for their careful | ||||
review and very helpful comments. | ||||
The authors would like to acknowledge Jeff Haas for his guidance, | ||||
insightful review, and very helpful comments. | ||||
The authors would like to acknowledge Erik Auerswald for his | ||||
insightful comments during the discussion of this document. | ||||
The authors would like to acknowledge Detao Zhao for the very helpful | ||||
discussion. | ||||
8. Contributors | ||||
Liu Aihua | ||||
ZTE | ||||
Email: liu.aihua@zte.com.cn | ||||
Qian Xin | ||||
ZTE | ||||
Email: qian.xin2@zte.com.cn | ||||
Zhao Yanhua | ||||
ZTE | ||||
Email: zhao.yanhua3@zte.com.cn | ||||
9. References | 7. References | |||
9.1. Normative References | 7.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>. | |||
[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>. | |||
[RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | |||
(BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, | (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, | |||
DOI 10.17487/RFC5881, June 2010, | DOI 10.17487/RFC5881, June 2010, | |||
<https://www.rfc-editor.org/info/rfc5881>. | <https://www.rfc-editor.org/info/rfc5881>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
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 | 7.2. Informative References | |||
[BBF-TR-146] | [BBF-TR-146] | |||
Broadband Forum, "BBF Technical Report - Subscriber | Broadband Forum, "TR-146: Subscriber Sessions", Broadband | |||
Sessions Issue 1", 2013, <https://www.broadband- | Forum Technical Report, TR-146, Issue 1, May 2013, | |||
forum.org/technical/download/TR-146.pdf>. | <https://www.broadband-forum.org/technical/download/TR- | |||
146.pdf>. | ||||
[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>. | |||
[RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., Ed., and C. | [RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., Ed., and C. | |||
Pignataro, "The Generalized TTL Security Mechanism | Pignataro, "The Generalized TTL Security Mechanism | |||
(GTSM)", RFC 5082, DOI 10.17487/RFC5082, October 2007, | (GTSM)", RFC 5082, DOI 10.17487/RFC5082, October 2007, | |||
<https://www.rfc-editor.org/info/rfc5082>. | <https://www.rfc-editor.org/info/rfc5082>. | |||
Acknowledgements | ||||
The authors would like to acknowledge Ketan Talaulikar, Greg Mirsky, | ||||
Santosh Pallagatti, Aijun Wang, Éric Vyncke, Adrian Farrel, Tim | ||||
Wicinski, Dhruv Dhody, Stephen Farrell, Gunter Van de Velde, Gyan | ||||
Mishra, Brian Trammell, Gorry Fairhurst, Mahesh Jethanandani, John | ||||
Scudder, Murray Kucherawy, and Zaheduzzaman Sarker for their careful | ||||
reviews and very helpful comments. | ||||
The authors would like to acknowledge Jeff Haas for his guidance, | ||||
insightful review, and very helpful comments. | ||||
The authors would like to acknowledge Erik Auerswald for his | ||||
insightful comments during the discussion of this document. | ||||
The authors would like to acknowledge Detao Zhao for the very helpful | ||||
discussion. | ||||
Contributors | ||||
Liu Aihua | ||||
ZTE | ||||
Email: liu.aihua@zte.com.cn | ||||
Qian Xin | ||||
ZTE | ||||
Email: qian.xin2@zte.com.cn | ||||
Zhao Yanhua | ||||
ZTE | ||||
Email: zhao.yanhua3@zte.com.cn | ||||
Authors' Addresses | Authors' Addresses | |||
Weiqiang Cheng | Weiqiang Cheng | |||
China Mobile | China Mobile | |||
Beijing | Beijing | |||
China | China | |||
Email: chengweiqiang@chinamobile.com | Email: chengweiqiang@chinamobile.com | |||
Ruixue Wang | Ruixue Wang | |||
China Mobile | China Mobile | |||
End of changes. 46 change blocks. | ||||
214 lines changed or deleted | 229 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |