Network Working Group E. Chen
Internet Draft N. Shen
Intended Status: Informational Cisco Systems
Expiration Date: February 4, 2019 R. Raszuk
Bloomberg LP
August 3, 2018
Unsolicited BFD for Sessionless Applicationsdraft-chen-bfd-unsolicited-03.txt
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on February 4, 2019.
Copyright Notice
Copyright (c) 2018 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
Chen, Shen & Raszuk [Page 1]

Internet Draft draft-chen-bfd-unsolicited-03.txt August 2018
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Abstract
For operational simplification of "sessionless" applications using
BFD, in this document we present procedures for "unsolicited BFD"
that allow a BFD session to be initiated by only one side, and be
established without explicit per-session configuration or
registration by the other side (subject to certain per-interface or
per-router policies).
1. Introduction
The current implementation and deployment practice for BFD ([RFC5880]
and [RFC5881]) usually requires BFD sessions be explicitly configured
or registered on both sides. This requirement is not an issue when an
application like BGP [RFC4271] has the concept of a "session" that
involves both sides for its establishment. However, this requirement
can be operationally challenging when the prerequisite "session" does
not naturally exist between two endpoints in an application.
Simultaneous configuration and coordination may be required on both
sides for BFD to take effect. For example:
o When BFD is used to keep track of the "liveness" of the nexthop
of static routes. Although only one side may need the BFD
functionality, currently both sides need to be involved in
specific configuration and coordination and in some cases
static routes are created unnecessarily just for BFD.
o When BFD is used to keep track of the "liveness" of the
third-pary nexthop of BGP routes received from the Route Server
[RFC7947] at an Internet Exchange Point (IXP). As the
third-party nexthop is different from the peering address of
the Route Server, for BFD to work, currently two routers peering
with the Route Server need to have routes and nexthops from each
other (although indirectly via the Router Server), and the
nexthop of each router must be present at the same time. These
issues are also discussed in [I-D.ietf-idr-rs-bfd].
Clearly it is beneficial and desirable to reduce or eliminate
unnecessary configurations and coordination in these "sessionless"
applications using BFD.
In this document we present procedures for "unsolicited BFD" that
allow a BFD session to be initiated by only one side, and be
established without explicit per-session configuration or
Chen, Shen & Raszuk [Page 2]

Internet Draft draft-chen-bfd-unsolicited-03.txt August 2018
registration by the other side (subject to certain per-interface or
per-router policies).
With "unsolicited BFD" there is potential risk for excessive resource
usage by BFD from "unexpected" remote systems. To mitigate such
risks, several mechanisms are recommended in the Security
Considerations section.
Compared to the "Seamless BFD" [RFC7880], this proposal involves only
minor procedural enhancements to the widely deployed BFD itself.
Thus we believe that this proposal is inherently simpler in the
protocol itself and deployment. As an example, it does not require
the exchange of BFD discriminators over an out-of-band channel before
the BFD session bring-up.
When BGP Add-Path [RFC7911] is deployed at an IXP using the Route
Server, multiple BGP paths (when exist) can be made available to the
clients of the Router Server as described in [RFC7947]. The
"unsolicited BFD" can be used in BGP route selection by these clients
to eliminate paths with "inaccessible nexthops".
1.1. 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].
2. Procedures for Unsolicited BFD
With "unsolicited BFD", one side takes the "Active role" and the
other side takes only the "Passive role" as described in [RFC5880].
On the passive side, the "unsolicited BFD" SHOULD be configured
explicitly on an interface. The BFD parameters can be either per-
interface or per-router based. It MAY also choose to use the
parameters that the active side uses in its BFD Control packets. The
"Discriminator", however, MUST be chosen to allow multiple
unsolicited BFD sessions.
The active side initiates the BFD Control packets as specified in
[RFC5880]. The passive side does not initiates the BFD Control
packets.
When the passive side receives a BFD Control packet from the active
side with 0 as the "remote-discriminator", and it does not find an
existing session with the same source address as in the packet and
Chen, Shen & Raszuk [Page 3]

Internet Draft draft-chen-bfd-unsolicited-03.txt August 2018
"unsolicited BFD" is allowed on the interface by local policy, it
SHOULD then create a matching BFD session toward the active side
(based on the source address and destination address in the BFD
Control packet) as if the session were locally registered. It would
then start sending the BFD Control packets and perform necessary
procedure for bringing up, maintaining and tearing down the BFD
session. If the BFD session fails to get established within certain
specified time, or if an established BFD session goes down, the
passive side would stop sending BFD Control packets and delete the
BFD session created until the BFD Control packets is initiated by the
active side again.
The "Passive role" may change to the "Active role" when a local
client registers for the same BFD session, and from the "Active role
" to the "Passive role " when there is no longer any locally
registered client for the BFD session.
3. IANA Considerations
This documents makes no IANA requests.
4. Security Considerations
The same security considerations as those described in [RFC5880] and
[RFC5881] apply to this document. With "unsolicited BFD" there is
potential risk for excessive resource usage by BFD from "unexpected"
remote systems. To mitigate such risks, the following measures are
RECOMMENDED:
o Limit the feature to specific interfaces, and to a single-hop
BFD with "TTL=255" [RFC5082]. In addition make sure the source
address of an incoming BFD packet belongs to the subnet of the
interface from which the BFD packet is received.
o Apply "access control" to allow BFD packets only from certain
subnets or hosts.
o Deploy the feature only in certain "trustworthy" environment,
e.g., at an IXP, or between a provider and its customers.
o Adjust BFD parameters as needed for the particular deployment
and scale.
o Use BFD authentication.
Chen, Shen & Raszuk [Page 4]