RFC 5882
RFC 5882
RFC 5882
Katz
Request for Comments: 5882 D. Ward
Category: Standards Track Juniper Networks
ISSN: 2070-1721 June 2010
Abstract
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
Table of Contents
1. Introduction ....................................................3
1.1. Conventions Used in This Document ..........................3
2. Overview ........................................................3
3. Basic Interaction between BFD Sessions and Clients ..............4
3.1. Session State Hysteresis ...................................4
3.2. AdminDown State ............................................5
3.3. Hitless Establishment/Reestablishment of BFD State .........5
4. Control Protocol Interactions ...................................6
4.1. Adjacency Establishment ....................................6
4.2. Reaction to BFD Session State Changes ......................7
4.2.1. Control Protocols with a Single Data Protocol .......7
4.2.2. Control Protocols with Multiple Data Protocols ......8
4.3. Interactions with Graceful Restart Mechanisms ..............8
4.3.1. BFD Fate Independent of the Control Plane ...........9
4.3.2. BFD Shares Fate with the Control Plane ..............9
4.4. Interactions with Multiple Control Protocols ..............10
5. Interactions with Non-Protocol Functions .......................10
6. Data Protocols and Demultiplexing ..............................11
7. Multiple Link Subnetworks ......................................11
7.1. Complete Decoupling .......................................12
7.2. Layer N-1 Hints ...........................................12
7.3. Aggregating BFD Sessions ..................................12
7.4. Combinations of Scenarios .................................12
8. Other Application Issues .......................................13
9. Interoperability Issues ........................................13
10. Specific Protocol Interactions (Non-Normative) ................13
10.1. BFD Interactions with OSPFv2, OSPFv3, and IS-IS ..........14
10.1.1. Session Establishment .............................14
10.1.2. Reaction to BFD State Changes .....................14
10.1.3. OSPF Virtual Links ................................15
10.2. Interactions with BGP ....................................15
10.3. Interactions with RIP ....................................15
11. Security Considerations .......................................16
12. References ....................................................16
12.1. Normative References .....................................16
12.2. Informative References ...................................16
1. Introduction
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 RFC 2119 [KEYWORDS].
2. Overview
If the session state on either the local or remote system (if known)
is AdminDown, BFD has been administratively disabled, and the
establishment of a control protocol adjacency MUST be allowed.
The setting of BFD’s various timing parameters and modes are not
subject to standardization. Note that all protocols sharing a
session will operate using the same parameters. The mechanism for
choosing the parameters among those desired by the various protocols
Note that many control protocols assume full connectivity between all
systems on multiaccess media such as LANs. If BFD is running on only
a subset of systems on such a network, and adjacency establishment is
blocked by the absence of a BFD session, the assumptions of the
control protocol may be violated, with unpredictable results.
With individual routing topologies for each data protocol, only the
failed data protocol needs to be rerouted around the failed path.
If BFD is implemented in the forwarding plane and does not share fate
with the control plane on either system (the "C" bit is set in the
BFD Control packets in both directions), control protocol restarts
should not affect the BFD session. In this case, a BFD session
failure implies that data can no longer be forwarded, so any Graceful
Restart in progress at the time of the BFD session failure SHOULD be
aborted in order to avoid black holes, and a topology change SHOULD
be signaled in the control protocol.
If BFD shares fate with the control plane on either system (the "C"
bit is clear in either direction), a BFD session failure cannot be
disentangled from other events taking place in the control plane. In
many cases, the BFD session will fail as a side effect of the restart
taking place. As such, it would be best to avoid aborting any
Graceful Restart taking place, if possible (since otherwise BFD and
Graceful Restart cannot coexist).
BFD session status may be used to affect other system functions that
are not protocol based (for example, static routes). If the path to
a remote system fails, it may be desirable to avoid passing traffic
to that remote system, so the local system may wish to take internal
measures to accomplish this (such as withdrawing a static route and
withdrawing that route from routing protocols).
The simplest approach is to simply run BFD over the layer N path,
with no interaction with the layer N-1 mechanisms. Doing so assumes
that the layer N-1 mechanism will deal with connectivity issues in
individual layer N-1 links. BFD will declare a failure in the layer
N path only when the session times out.
This approach will work whether or not the layer N-1 neighbor is the
same as the layer N neighbor.
This approach will also work whether or not the layer N-1 neighbor is
the same as the layer N neighbor.
Another approach would be to use BFD on each layer N-1 link and to
aggregate the state of the multiple sessions into a single indication
to the layer N clients. This approach has the advantage that it is
independent of the layer N-1 technology. However, this approach only
works if the layer N neighbor is the same as the layer N-1 neighbor
(a single hop at layer N-1).
9. Interoperability Issues
The interaction between BFD and other protocols and control functions
is very loosely coupled. The actions taken are based on existing
mechanisms in those protocols and functions, so interoperability
problems are very unlikely unless BFD is applied in contradictory
ways (such as a BFD session failure causing one implementation to go
down and another implementation to come up). In fact, BFD may be
advising one system for a particular control function but not the
other; the only impact of this would be potentially asymmetric
control protocol failure detection.
The most obvious choice for triggering BFD session establishment with
these protocols would be to use the discovery mechanism inherent in
the Hello protocols in OSPF and IS-IS to bootstrap the establishment
of the BFD session. Any BFD sessions established to support OSPF and
IS-IS across a single IP hop must operate in accordance with
[BFD-1HOP].
IS-IS may be used to support only one data protocol, or multiple data
protocols. [ISIS] specifies a common topology for multiple data
protocols, but work is under way to support multiple topologies. If
multiple topologies are used to support multiple data protocols (or
multiple classes of service of the same data protocol), the topology-
specific path associated with a failing BFD session should no longer
be advertised in IS-IS Label Switched Paths (LSPs) in order to signal
a lack of connectivity. Otherwise, a failing BFD session should be
signaled by simulating an IS-IS adjacency failure.
In the case of RIP, when the BFD session associated with a neighbor
fails, an expiration of the "timeout" timer for each route installed
from the neighbor (for which the neighbor is the next hop) should be
simulated.
Note that if a BFD session fails, and a route is received from that
neighbor with a next hop address that is not the address of the
neighbor itself, the route will linger until it naturally times out
12. References
[BGP] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, January
2006.
[BGP-GRACE] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y.
Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724,
January 2007.
[ISIS] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
dual environments", RFC 1195, December 1990.
[OSPFv2] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.
[OSPFv3] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
for IPv6", RFC 5340, July 2008.
[RIP] Malkin, G., "RIP Version 2", STD 56, RFC 2453, November
1998.
Authors’ Addresses
Dave Katz
Juniper Networks
1194 N. Mathilda Ave.
Sunnyvale, CA 94089-1206
USA
Phone: +1-408-745-2000
EMail: dkatz@juniper.net
Dave Ward
Juniper Networks
1194 N. Mathilda Ave.
Sunnyvale, CA 94089-1206
USA
Phone: +1-408-745-2000
EMail: dward@juniper.net