| < 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/ | ||||