| < draft-cw-bfd-unaffiliated-echo-00.txt | draft-cw-bfd-unaffiliated-echo-01.txt > | |||
|---|---|---|---|---|
| BFD Working Group W. Cheng | BFD Working Group W. Cheng | |||
| Internet-Draft R. Wang | Internet-Draft R. Wang | |||
| Intended status: Informational China Mobile | Intended status: Informational China Mobile | |||
| Expires: September 8, 2020 X. Min | Expires: January 14, 2021 X. Min | |||
| A. Liu | A. Liu | |||
| ZTE | ZTE Corp. | |||
| March 7, 2020 | R. Rahman | |||
| Cisco Systems | ||||
| July 13, 2020 | ||||
| Unaffiliated BFD Echo Function | Unaffiliated BFD Echo Function | |||
| draft-cw-bfd-unaffiliated-echo-00 | draft-cw-bfd-unaffiliated-echo-01 | |||
| 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 | |||
| devices and notify upper-layer applications [RFC5880]. BFD has | two forwarding engines. This document proposes a use of BFD echo | |||
| asynchronous detecting mode and demand detection mode to satisfy | where the local system supports BFD but the neighboring system does | |||
| different scenarios, also supports echo function as an adjunct to | not support BFD. | |||
| both modes to reduce the device requirement for BFD. | ||||
| Unaffiliated BFD echo function described in this document reuses the | ||||
| BFD echo function as described in [RFC5880] and [RFC5881], but | ||||
| independent of BFD asynchronous mode or BFD demand mode, that means | ||||
| it doesn't need BFD protocol capability of state machine, but only | ||||
| BFD echo function to a deployed device supporting BFD detection. | ||||
| When using unaffiliated BFD echo function, just the local device | ||||
| works on BFD protocol and the BFD peer doesn't, which only loopback | ||||
| the received BFD echo packets as usual data packets without enabling | ||||
| BFD protocol. | ||||
| 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 | ||||
| known in the field BFD deployment. | ||||
| 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 September 8, 2020. | This Internet-Draft will expire on January 14, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 31 ¶ | skipping to change at page 2, line 17 ¶ | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Unaffiliated BFD Echo Behavior . . . . . . . . . . . . . . . 3 | 2. Unaffiliated BFD Echo Behavior . . . . . . . . . . . . . . . 3 | |||
| 3. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 5 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 5 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 5 | 7.2. Informative References . . . . . . . . . . . . . . . . . 5 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 1. Introduction | 1. Introduction | |||
| To minimize the impact of device faults on services and improve | To minimize the impact of device 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 is a low-overhead, short-duration method to detect faults on the | BFD [RFC5880] is a low-overhead, short-duration method to detect | |||
| path between adjacent forwarding engines. The faults can be | faults on the path between adjacent forwarding engines. The faults | |||
| interface, data link, and even forwarding engine faults. It is a | can be interface, data link, and even forwarding engine faults. It | |||
| single, unified mechanism to monitor any media and protocol layers in | is a single, unified mechanism to monitor any media and protocol | |||
| real time. | layers in real time. | |||
| BFD has asynchronous detecting mode and demand detection mode to | BFD defines asynchronous mode to satisfy various deployment | |||
| satisfy different scenarios, also supports echo function to reduce | scenarios, also supports echo function to reduce the device | |||
| the device requirement for BFD. When the echo function is activated, | requirement for BFD. When the echo function is activated, the local | |||
| the local system sends a BFD control packet and the remote system | system sends a BFD echo packet and the remote system loops back the | |||
| loops back the packet through the forwarding path. If several | packet through the forwarding path. If several consecutive echo | |||
| consecutive echo packets are not received, the session is declared to | packets are not received, the session is declared to be Down. | |||
| be Down. | ||||
| When using BFD echo function, it is not clear whether the devices | When using BFD echo function, it is not clear whether the devices | |||
| using echo function need to support the full BFD procotol, including | using echo function need to support the full BFD procotol, including | |||
| maintaining the state machine of BFD session as described in | maintaining the state machine of BFD session as described in | |||
| [RFC5880] and [RFC5881]. According to different understanding, there | [RFC5880] and [RFC5881]. According to different understanding, there | |||
| are two typical scenarios as below: | are two typical scenarios as below: | |||
| 1. Full BFD procotol capability with affiliated echo function: | 1. Full BFD procotol capability with affiliated echo function: | |||
| this scenario requires all the devices to support BFD protocol. | this scenario requires both the local device and the neighboring | |||
| device to support BFD protocol. | ||||
| 2. Only BFD echo function without full BFD procotol capability: | 2. Only BFD echo function without full BFD procotol capability: | |||
| this scenario requires only the local device to support sending | this scenario requires only the local device to support sending | |||
| BFD packets. | BFD packets. | |||
| The two typical scenarios are both reasonable and useful, and the | The two typical scenarios are both reasonable and useful, and the | |||
| latter is referred to as unaffiliated BFD echo function in this | latter is referred to as unaffiliated BFD echo function in this | |||
| document. | document. | |||
| Unaffiliated BFD echo function described in this document reuses the | Unaffiliated BFD echo function described in this document reuses the | |||
| BFD echo function as described in [RFC5880] and [RFC5881], but | BFD echo function as described in [RFC5880] and [RFC5881], but | |||
| independent of BFD asynchronous mode or BFD demand mode, that means | independent of BFD asynchronous mode, that means it doesn't need BFD | |||
| it doesn't need BFD protocol capability of state machine, but only | protocol capability of state machine, but only BFD echo function to a | |||
| BFD echo function to a deployed device supporting BFD detection. | deployed device supporting BFD detection. When using unaffiliated | |||
| When using unaffiliated BFD echo function, just the local device | BFD echo function, just the local device works on BFD protocol and | |||
| works on BFD protocol and the BFD peer doesn't, which only loopback | the BFD peer doesn't, which only loopback the received BFD echo | |||
| the received BFD echo packets as usual data packets without enabling | packets as usual data packets without enabling BFD protocol. | |||
| BFD protocol. | ||||
| 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 function, and at least one more use case is | |||
| known in the field BFD deployment. | known in the field BFD deployment. | |||
| 2. Unaffiliated BFD Echo Behavior | 2. Unaffiliated BFD Echo Behavior | |||
| With the more and more application of BFD detection, there are some | With the more and more application of BFD detection, there are some | |||
| scenarios the BFD echo function is deployed. And due to the | scenarios the BFD echo function is deployed. And due to the | |||
| different capabilities of the devices deploying BFD echo function, | different capabilities of the devices deploying BFD echo function, | |||
| skipping to change at page 4, line 18 ¶ | skipping to change at page 3, line 51 ¶ | |||
| After receiving a BFD echo packet, the device that does not support | After receiving a BFD echo packet, the device that does not support | |||
| BFD protocol immediately loops back the packet by normal IP | BFD protocol immediately loops back the packet by normal IP | |||
| forwarding, implementing quick link failure detection. As shown in | forwarding, implementing quick link failure detection. As shown in | |||
| Figure 1, device A supports BFD, whereas device B does not support | Figure 1, device A supports BFD, whereas device B does not support | |||
| BFD. To rapidly detect any faults with the IP link between device A | BFD. To rapidly detect any faults with the IP link between device A | |||
| and device B, a BFD echo session can be provisioned and created at | and device B, a BFD echo session can be provisioned and created at | |||
| device A, and device A starts sending BFD echo packets, which should | device A, and device A starts sending BFD echo packets, which should | |||
| include a BFD echo session demultiplexing field, such as BFD | include a BFD echo session demultiplexing field, such as BFD | |||
| discriminator defined in [RFC5880]. After receiving the BFD echo | discriminator defined in [RFC5880]. After receiving the BFD echo | |||
| packets sent from device A, device B immediately loops back them, | packets sent from device A, device B immediately loops back them, | |||
| implementing rapid link fault detection. | this allows device A to rapidly detect a connectivity loss to device | |||
| B. | ||||
| Device A Device B | Device A Device B | |||
| BFD echo session | BFD echo session | |||
| BFD Enabled BFD Echo packets loopback | BFD Enabled BFD Echo packets loopback | |||
| +--------+ +---------+ | +--------+ +---------+ | |||
| | A |---------------------------------| B | | | A |---------------------------------| B | | |||
| | |Inf 1 Inf 1| | | | |Inf 1 Inf 1| | | |||
| +--------+10.1.1.1/24 10.1.1.2/24+---------+ | +--------+10.1.1.1/24 10.1.1.2/24+---------+ | |||
| BFD is supported. BFD is not supported. | BFD is supported. BFD is not supported. | |||
| skipping to change at page 4, line 43 ¶ | skipping to change at page 4, line 28 ¶ | |||
| Unaffiliated BFD echo function is reasonable and useful. Firstly, | Unaffiliated BFD echo function is reasonable and useful. Firstly, | |||
| unaffiliated BFD echo can use BFD protocol capability in the local | unaffiliated BFD echo can use BFD protocol capability in the local | |||
| BFD-supported device, while using IP forwarding capability in the | BFD-supported device, while using IP forwarding capability in the | |||
| peer non-BFD-supported device, so unaffiliated BFD echo can support | peer non-BFD-supported device, so unaffiliated BFD echo can support | |||
| fast detecting and manage BFD sessions very effectively. Secondly, | fast detecting and manage BFD sessions very effectively. Secondly, | |||
| it is scalable when using unaffiliated BFD echo to adapt to different | it is scalable when using unaffiliated BFD echo to adapt to different | |||
| capabilities of devices. | capabilities of devices. | |||
| 4. Security Considerations | 4. Security Considerations | |||
| TBD. | Unicast Reverse Path Forwarding (uRPF), as specified in [RFC3704] and | |||
| [RFC8704], is a security feature that prevents the IP address | ||||
| spoofing attacks which is commonly used in DoS, DDoS. uRPF has two | ||||
| modes called strict mode and loose mode. uRPF strict mode means that | ||||
| the router will perform checks for all incoming packets on a certain | ||||
| interface: whether the router has a matching entry for the source IP | ||||
| in the routing table and whether the router uses the same interface | ||||
| to reach this source IP as where the router received this packet on. | ||||
| Note that the use of BFD echo function would prevent the use of uRPF | ||||
| in strict mode. | ||||
| 5. IANA Considerations | 5. IANA Considerations | |||
| This document has no IANA action requested. | This document has no IANA action requested. | |||
| 6. Acknowledgements | 6. Acknowledgements | |||
| TBD. | TBD. | |||
| 7. References | 7. References | |||
| skipping to change at page 5, line 10 ¶ | skipping to change at page 5, line 4 ¶ | |||
| 5. IANA Considerations | 5. IANA Considerations | |||
| This document has no IANA action requested. | This document has no IANA action requested. | |||
| 6. Acknowledgements | 6. Acknowledgements | |||
| TBD. | TBD. | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [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>. | |||
| 7.2. Informative References | 7.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>. | |||
| [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed | ||||
| Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March | ||||
| 2004, <https://www.rfc-editor.org/info/rfc3704>. | ||||
| [RFC8704] Sriram, K., Montgomery, D., and J. Haas, "Enhanced | ||||
| Feasible-Path Unicast Reverse Path Forwarding", BCP 84, | ||||
| RFC 8704, DOI 10.17487/RFC8704, February 2020, | ||||
| <https://www.rfc-editor.org/info/rfc8704>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Weiqiang Cheng | Weiqiang Cheng | |||
| China Mobile | China Mobile | |||
| Beijing | Beijing | |||
| CN | CN | |||
| Email: chengweiqiang@chinamobile.com | Email: chengweiqiang@chinamobile.com | |||
| Ruixue Wang | Ruixue Wang | |||
| skipping to change at page 5, line 44 ¶ | skipping to change at page 6, line 4 ¶ | |||
| CN | CN | |||
| Email: chengweiqiang@chinamobile.com | Email: chengweiqiang@chinamobile.com | |||
| Ruixue Wang | Ruixue Wang | |||
| China Mobile | China Mobile | |||
| Beijing | Beijing | |||
| CN | CN | |||
| Email: wangruixue@chinamobile.com | Email: wangruixue@chinamobile.com | |||
| Xiao Min | Xiao Min | |||
| ZTE | ZTE Corp. | |||
| Nanjing | Nanjing | |||
| CN | CN | |||
| Email: xiao.min2@zte.com.cn | Email: xiao.min2@zte.com.cn | |||
| Aihua Liu | Aihua Liu | |||
| ZTE | ZTE Corp. | |||
| Shenzhen | Shenzhen | |||
| CN | CN | |||
| Email: liu.aihua@zte.com.cn | Email: liu.aihua@zte.com.cn | |||
| Reshad Rahman | ||||
| Cisco Systems | ||||
| Kanata | ||||
| CA | ||||
| Email: rrahman@cisco.com | ||||
| End of changes. 19 change blocks. | ||||
| 51 lines changed or deleted | 55 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/ | ||||