Internet Engineering Task Force (IETF) R. Aggarwal
Request for Comments: 5884 K. Kompella
Updates: 1122 Juniper Networks
Category: Standards Track T. Nadeau
ISSN: 2070-1721 BT
G. Swallow
Cisco Systems, Inc.
June 2010
Bidirectional Forwarding Detection (BFD)
for MPLS Label Switched Paths (LSPs)
Abstract
One desirable application of Bidirectional Forwarding Detection (BFD)
is to detect a Multiprotocol Label Switching (MPLS) Label Switched
Path (LSP) data plane failure. LSP Ping is an existing mechanism for
detecting MPLS data plane failures and for verifying the MPLS LSP
data plane against the control plane. BFD can be used for the
former, but not for the latter. However, the control plane
processing required for BFD Control packets is relatively smaller
than the processing required for LSP Ping messages. A combination of
LSP Ping and BFD can be used to provide faster data plane failure
detection and/or make it possible to provide such detection on a
greater number of LSPs. This document describes the applicability of
BFD in relation to LSP Ping for this application. It also describes
procedures for using BFD in this environment.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc5884.
Aggarwal, et al. Standards Track [Page 1]
RFC 5884 BFD for MPLS LSPs June 2010
Copyright Notice
Copyright (c) 2010 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
(http://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.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Table of Contents
1. Introduction ....................................................3
2. Specification of Requirements ...................................3
3. Applicability ...................................................3
3.1. BFD for MPLS LSPs: Motivation ..............................3
3.2. Using BFD in Conjunction with LSP Ping .....................5
4. Theory of Operation .............................................6
5. Initialization and Demultiplexing ...............................7
6. Session Establishment ...........................................7
6.1. BFD Discriminator TLV in LSP Ping ..........................8
7. Encapsulation ...................................................8
8. Security Considerations .........................................9
9. IANA Considerations ............................................10
10. Acknowledgments ...............................................10
11. References ....................................................10
11.1. Normative References .....................................10
11.2. Informative References ...................................10
Aggarwal, et al. Standards Track [Page 2]
RFC 5884 BFD for MPLS LSPs June 2010
1. Introduction
One desirable application of Bidirectional Forwarding Detection (BFD)
is to track the liveness of a Multiprotocol Label Switching (MPLS)
Label Switched Path (LSP). In particular, BFD can be used to detect
a data plane failure in the forwarding path of an MPLS LSP. LSP Ping
[RFC4379] is an existing mechanism for detecting MPLS LSP data plane
failures and for verifying the MPLS LSP data plane against the
control plane. This document describes the applicability of BFD in
relation to LSP Ping for detecting MPLS LSP data plane failures. It
also describes procedures for using BFD for detecting MPLS LSP data
plane failures.
2. Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
3. Applicability
In the event of an MPLS LSP failing to deliver data traffic, it may
not always be possible to detect the failure using the MPLS control
plane. For instance, the control plane of the MPLS LSP may be
functional while the data plane may be mis-forwarding or dropping
data. Hence, there is a need for a mechanism to detect a data plane
failure in the MPLS LSP path [RFC4377].
3.1. BFD for MPLS LSPs: Motivation
LSP Ping described in [RFC4379] is an existing mechanism for
detecting an MPLS LSP data plane failure. In addition, LSP Ping also
provides a mechanism for verifying the MPLS control plane against the
data plane. This is done by ensuring that the LSP is mapped to the
same Forwarding Equivalence Class (FEC), at the egress, as the
ingress.
BFD cannot be used for verifying the MPLS control plane against the
data plane. However, BFD can be used to detect a data plane failure
in the forwarding path of an MPLS LSP. The LSP may be associated
with any of the following FECs:
a) Resource Reservation Protocol (RSVP) LSP_Tunnel IPv4/IPv6
Session [RFC3209]
b) Label Distribution Protocol (LDP) IPv4/IPv6 prefix [RFC5036]
c) Virtual Private Network (VPN) IPv4/IPv6 prefix [RFC4364]
Aggarwal, et al. Standards Track [Page 3]
RFC 5884 BFD for MPLS LSPs June 2010
d) Layer 2 VPN [L2-VPN]
e) Pseudowires based on PWid FEC and Generalized PWid FEC
[RFC4447]
f) Border Gateway Protocol (BGP) labeled prefixes [RFC3107]
LSP Ping includes extensive control plane verification. BFD, on the
other hand, was designed as a lightweight means of testing only the
data plane. As a result, LSP Ping is computationally more expensive
than BFD for detecting MPLS LSP data plane faults. BFD is also more
suitable for being implemented in hardware or firmware due to its
fixed packet format. Thus, the use of BFD for detecting MPLS LSP
data plane faults has the following advantages:
a) Support for fault detection for greater number of LSPs.
b) Fast detection. Detection with sub-second granularity is
considered as fast detection. LSP Ping is intended to be used
in an environment where fault detection messages are exchanged,
either for diagnostic purposes or for infrequent periodic fault
detection, in the order of tens of seconds or minutes. Hence,
it is not appropriate for fast detection. BFD, on the other
hand, is designed for sub-second fault detection intervals.
Following are some potential cases when fast detection may be
desirable for MPLS LSPs:
1. In the case of a bypass LSP used for a facility-based link
or node protection [RFC4090]. In this case, the bypass LSP
is essentially being used as an alternate link to protect
one or more LSPs. It represents an aggregate and is used to
carry data traffic belonging to one or more LSPs, when the
link or the node being protected fails. Hence, fast failure
detection of the bypass LSP may be desirable particularly in
the event of link or node failure when the data traffic is
moved to the bypass LSP.
2. MPLS Pseudowires (PWs). Fast detection may be desired for
MPLS PWs depending on i) the model used to layer the MPLS
network with the Layer 2 network, and ii) the service that
the PW is emulating. For a non-overlay model between the
Layer 2 network and the MPLS network, the provider may rely
on PW fault detection to provide service status to the end-
systems. Also, in that case, interworking scenarios such as
ATM/Frame Relay interworking may force periodic PW fault
detection messages. Depending on the requirements of the
service that the MPLS PW is emulating, fast failure
detection may be desirable.
Aggarwal, et al. Standards Track [Page 4]
RFC 5884 BFD for MPLS LSPs June 2010
There may be other potential cases where fast failure detection is
desired for MPLS LSPs.
3.2. Using BFD in Conjunction with LSP Ping
BFD can be used for MPLS LSP data plane fault detection. However, it
does not have all the functionality of LSP Ping. In particular, it
cannot be used for verifying the control plane against the data
plane. LSP Ping performs the following functions that are outside
the scope of BFD:
a) Association of an LSP Ping Echo request message with a FEC. In
the case of Penultimate Hop Popping (PHP) or when the egress
Label Switching Router (LSR) distributes an explicit null label
to the penultimate hop router, for a single label stack LSP,
the only way to associate a fault detection message with a FEC
is by carrying the FEC in the message. LSP Ping provides this
functionality. Next-hop label allocation also makes it
necessary to carry the FEC in the fault detection message as
the label alone is not sufficient to identify the LSP being
verified. In addition, presence of the FEC in the Echo request
message makes it possible to verify the control plane against
the data plane at the egress LSR.
b) Equal Cost Multi-Path (ECMP) considerations. LSP Ping
traceroute makes it possible to probe multiple alternate paths
for LDP IP FECs.
c) Traceroute. LSP Ping supports traceroute for a FEC and it can
be used for fault isolation.
Hence, BFD is used in conjunction with LSP Ping for MPLS LSP fault
detection:
i) LSP Ping is used for bootstrapping the BFD session as described
later in this document.
ii) BFD is used to exchange fault detection (i.e., BFD session)
packets at the required detection interval.
iii) LSP Ping is used to periodically verify the control plane
against the data plane by ensuring that the LSP is mapped to
the same FEC, at the egress, as the ingress.
Aggarwal, et al. Standards Track [Page 5]
RFC 5884 BFD for MPLS LSPs June 2010
4. Theory of Operation
To use BFD for fault detection on an MPLS LSP, a BFD session MUST be
established for that particular MPLS LSP. BFD Control packets MUST
be sent along the same data path as the LSP being verified and are
processed by the BFD processing module of the egress LSR. If the LSP
is associated with multiple FECs, a BFD session SHOULD be established
for each FEC. For instance, this may happen in the case of next-hop
label allocation. Hence, the operation is conceptually similar to
the data plane fault detection procedures of LSP Ping.
If MPLS fast-reroute is being used for the MPLS LSP, the use of BFD
for fault detection can result in false fault detections if the BFD
fault detection interval is less than the MPLS fast-reroute
switchover time. When MPLS fast-reroute is triggered because of a
link or node failure, BFD Control packets will be dropped until
traffic is switched on to the backup LSP. If the time taken to
perform the switchover exceeds the BFD fault detection interval, a
fault will be declared even though the MPLS LSP is being locally
repaired. To avoid this, the BFD fault detection interval should be
greater than the fast-reroute switchover time. An implementation
SHOULD provide configuration options to control the BFD fault
detection interval.
If there are multiple alternate paths from an ingress LSR to an
egress LSR for an LDP IP FEC, LSP Ping traceroute MAY be used to
determine each of these alternate paths. A BFD session SHOULD be
established for each alternate path that is discovered.
Periodic LSP Ping Echo request messages SHOULD be sent by the ingress
LSR to the egress LSR along the same data path as the LSP. This is
to periodically verify the control plane against the data plane by
ensuring that the LSP is mapped to the same FEC, at the egress, as
the ingress. The rate of generation of these LSP Ping Echo request
messages SHOULD be significantly less than the rate of generation of
the BFD Control packets. An implementation MAY provide configuration
options to control the rate of generation of the periodic LSP Ping
Echo request messages.
To enable fault detection procedures specified in this document, for
a particular MPLS LSP, this document requires the ingress and egress
LSRs to be configured. This includes configuration for supporting
BFD and LSP Ping as specified in this document. It also includes
configuration that enables the ingress LSR to determine the method
used by the egress LSR to identify Operations, Administration, and
Maintenance (OAM) packets, e.g., whether the Time to Live (TTL) of
the innermost MPLS label needs to be set to 1 to enable the egress
Aggarwal, et al. Standards Track [Page 6]
RFC 5884 BFD for MPLS LSPs June 2010
LSR to identify the OAM packet. For fault detection for MPLS PWs,
this document assumes that the PW control channel type [RFC5085] is
configured and the support of LSP Ping is also configured.
5. Initialization and Demultiplexing
A BFD session may be established for a FEC associated with an MPLS
LSP. As described above, in the case of PHP or when the egress LSR
distributes an explicit null label to the penultimate hop router, or
next-hop label allocation, the BFD Control packet received by the
egress LSR does not contain sufficient information to associate it
with a BFD session. Hence, the demultiplexing MUST be done using the
remote discriminator field in the received BFD Control packet. The
exchange of BFD discriminators for this purpose is described in the
next section.
6. Session Establishment
A BFD session is bootstrapped using LSP Ping. This specification
describes procedures only for BFD asynchronous mode. BFD demand mode
is outside the scope of this specification. Further, the use of the
Echo function is outside the scope of this specification. The
initiation of fault detection for a particular