BFD Working Group W. Cheng
Internet-Draft R. Wang
Intended status: Informational China Mobile
Expires: January 14, 2021 X. Min
A. Liu
ZTE Corp.
R. Rahman
Cisco Systems
July 13, 2020

Unaffiliated BFD Echo Function
draft-cw-bfd-unaffiliated-echo-01

Abstract

Bidirectional Forwarding Detection (BFD) is a fault detection protocol that can quickly determine a communication failure between two forwarding engines. This document proposes a use of BFD echo where the local system supports BFD but the neighboring system does not support BFD.

Status of This Memo

This Internet-Draft is submitted in full conformance with the 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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on January 14, 2021.

Copyright Notice

Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

To minimize the impact of device faults on services and improve network availability, a network device must be able to quickly detect faults in communication with adjacent devices. Measures can then be taken to promptly rectify the faults to ensure service continuity.

BFD [RFC5880] is a low-overhead, short-duration method to detect faults on the path between adjacent forwarding engines. The faults can be interface, data link, and even forwarding engine faults. It is a single, unified mechanism to monitor any media and protocol layers in real time.

BFD defines asynchronous mode to satisfy various deployment scenarios, also supports echo function to reduce the device requirement for BFD. When the echo function is activated, the local system sends a BFD echo packet and the remote system loops back the packet through the forwarding path. If several consecutive echo packets are not received, the session is declared to be Down.

When using BFD echo function, it is not clear whether the devices using echo function need to support the full BFD procotol, including maintaining the state machine of BFD session as described in [RFC5880] and [RFC5881]. According to different understanding, there are two typical scenarios as below:

The two typical scenarios are both reasonable and useful, and the latter is referred to as unaffiliated BFD echo function in this document.

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, 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.

2. Unaffiliated BFD Echo Behavior

With the more and more application of BFD detection, there are some scenarios the BFD echo function is deployed. And due to the different capabilities of the devices deploying BFD echo function, it's required to apply unaffiliated BFD echo to the devices that couldn't afford the overhead of the full BFD protocol capablity, such as the servers running virtual machines or some Internet of Things (IoT) devices. Unaffiliated BFD echo can be used when two devices are connected and only one of them supports BFD protocol capability. A BFD echo session can be established at the device that supports BFD, and the device will send the BFD echo packets with the IP address destined for itself, whereas the other peer device just loopback the received BFD echo packets.

After receiving a BFD echo packet, the device that does not support BFD protocol immediately loops back the packet by normal IP forwarding, implementing quick link failure detection. As shown in 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 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 include a BFD echo session demultiplexing field, such as BFD discriminator defined in [RFC5880]. After receiving the BFD echo packets sent from device A, device B immediately loops back them, this allows device A to rapidly detect a connectivity loss to device B.

    
Device A                                   Device B
                   BFD echo session
BFD Enabled                                BFD Echo packets loopback
+--------+                                 +---------+
|   A    |---------------------------------|   B     |
|        |Inf 1                       Inf 1|         |
+--------+10.1.1.1/24           10.1.1.2/24+---------+    
BFD is supported.                 BFD is not supported.
     
    

Figure 1: Unaffiliated BFD Echo deployment scenario

3. Discussion

Unaffiliated BFD echo function is reasonable and useful. Firstly, unaffiliated BFD echo can use BFD protocol capability in the local BFD-supported device, while using IP forwarding capability in the peer non-BFD-supported device, so unaffiliated BFD echo can support fast detecting and manage BFD sessions very effectively. Secondly, it is scalable when using unaffiliated BFD echo to adapt to different capabilities of devices.

4. Security Considerations

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

This document has no IANA action requested.

6. Acknowledgements

TBD.

7. References

7.1. Normative References

[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010.
[RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, DOI 10.17487/RFC5881, June 2010.

7.2. Informative References

[BBF-TR-146] Broadband Forum, "BBF Technical Report - Subscriber Sessions Issue 1", 2013.
[RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March 2004.
[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.

Authors' Addresses

Weiqiang Cheng China Mobile Beijing, CN EMail: chengweiqiang@chinamobile.com
Ruixue Wang China Mobile Beijing, CN EMail: wangruixue@chinamobile.com
Xiao Min ZTE Corp. Nanjing, CN EMail: xiao.min2@zte.com.cn
Aihua Liu ZTE Corp. Shenzhen, CN EMail: liu.aihua@zte.com.cn
Reshad Rahman Cisco Systems Kanata, CA EMail: rrahman@cisco.com