Network Working Group                                            R. Bush
Internet-Draft                                 Internet Initiative Japan
Intended status: Standards Track                                 J. Haas
Expires: March 25, 2021                                       J. Scudder
                                                  Juniper Networks, Inc.
                                                               A. Nipper
                                                              C. Dietzel
                                                                  DE-CIX
                                                      September 21, 2020


        Making Route Servers Aware of Data Link Failures at IXPs
                        draft-ietf-idr-rs-bfd-09

Abstract

   When BGP route servers are used, the data plane is not congruent with
   the control plane.  Therefore, peers at an Internet exchange can lose
   data connectivity without the control plane being aware of it, and
   packets are lost.  This document proposes the use of a newly defined
   BGP Subsequent Address Family Identifier (SAFI) both to allow the
   route server to request its clients use BFD to track data plane
   connectivity to their peers' addresses, and for the clients to signal
   that connectivity state back to the route server.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to
   be interpreted as described in [RFC2119] only when they appear in all
   upper case.  They may also appear in lower or mixed case as English
   words, without normative meaning.

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




Bush, et al.             Expires March 25, 2021                 [Page 1]


Internet-Draft Making RSes aware of IXP Data Link FailuresSeptember 2020


   This Internet-Draft will expire on March 25, 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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Definitions . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Next Hop Validation . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  ReachAsk  . . . . . . . . . . . . . . . . . . . . . . . .   6
     4.2.  LocReach  . . . . . . . . . . . . . . . . . . . . . . . .   6
     4.3.  ReachTell . . . . . . . . . . . . . . . . . . . . . . . .   7
     4.4.  NHIB  . . . . . . . . . . . . . . . . . . . . . . . . . .   7
   5.  Advertising NH-Reach state in BGP . . . . . . . . . . . . . .   7
   6.  Client Procedures for NH-Reach Changes  . . . . . . . . . . .   9
   7.  Recommendations for Using BFD . . . . . . . . . . . . . . . .   9
   8.  Other Considerations  . . . . . . . . . . . . . . . . . . . .  10
   9.  Acknolwedgments . . . . . . . . . . . . . . . . . . . . . . .  10
   10. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
   11. Security Considerations . . . . . . . . . . . . . . . . . . .  10
   12. References  . . . . . . . . . . . . . . . . . . . . . . . . .  11
     12.1.  Normative References . . . . . . . . . . . . . . . . . .  11
     12.2.  Informative References . . . . . . . . . . . . . . . . .  12
   Appendix A.  Summary of Document Changes  . . . . . . . . . . . .  12
   Appendix B.  Other Forms of Connectity Checks . . . . . . . . . .  12
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  13

1.  Introduction

   In configurations (typically Internet Exchange Points (IXPs)) where
   EBGP routing information is exchanged between client routers through
   the agency of a route server (RS) [RFC7947], but traffic is exchanged
   directly, operational issues can arise when partial data plane
   connectivity exists among the route server client routers.  Since the



Bush, et al.             Expires March 25, 2021                 [Page 2]


Internet-Draft Making RSes aware of IXP Data Link FailuresSeptember 2020


   data plane is not congruent with the control plane, the client
   routers on the IXP can lose data connectivity without the control
   plane - the route server - being aware of it, resulting in
   significant data loss.

   To remedy this, two basic problems need to be solved:

   1.  Client routers must have a means of verifying connectivity
       amongst themselves, and
   2.  Client routers must have a means of communicating the knowledge
       of the failure (and restoration) back to the route server.

   The first can be solved by application of Bidirectional Forwarding
   Detection [RFC5880].  The second can be solved by exchanging BGP
   routes which use the NH-Reach Subsequent Address Family Identifier
   (SAFI) defined in this document.

   Throughout this document, we generally assume that the route server
   being discussed is able to represent different RIBs towards different
   clients, as discussed in section 2.3.2.1 of [RFC7947].  If this is
   not the case, the procedures described here to allow BFD to be
   automatically provisioned between clients still have value; however,
   the procedures for signaling reachability back to the route server
   may not.

   Throughout this document, we refer to the "route server", "RS" or
   just "server" and the "client" to describe the two BGP routers
   engaging in the exchange of information.  We observe that there could
   be other applications for this extension.  Our use of terminology is
   intended for clarity of description, and not to limit the future
   applicability of the proposal.

   [I-D.ietf-idr-bgp-bestpath-selection-criteria] discusses enhancement
   of the route resolvability condition of section 9.1.2.1 of [RFC4271]
   to include next hop reachability and path availability checks.  This
   specification represents in part an instance of such, implemented
   using BFD as the OAM mechanism.

2.  Definitions

   o  Indirect peer: If a route server is configured such that routes
      from a given client might be sent to some other client, or vice-
      versa, those two clients are considered to be indirect peers.
   o  Indirect Peer's Address, IPA, next hop: We refer frequently to a
      next hop.  It should generally be clear from context what is
      intended, almost always an address associated with an indirect
      peer (the exception, when an indirect peer sends a third party
      next hop, is discussed in Section 3).  In Section 5 we discuss the



Bush, et al.             Expires March 25, 2021                 [Page 3]


Internet-Draft Making RSes aware of IXP Data Link FailuresSeptember 2020


      MP-BGP [RFC4760] Next Hop field; this is distinguished by its
      capitalization and should also be clear from context.  Later in
      that section we define the Indirect Peer's Address field of the
      NLRI, also called "IPA".  It will be clear to the reader that this
      refers to the "next hops" discussed elsewhere in the document, but
      we don't use the name "next hop" for this field to avoid confusion
      with the pre-existing next hop path attribute of [RFC4271] and
      attribute field of [RFC4760].
   o  RS: Route Server.  See [RFC7947].

3.  Overview

   As with the base BGP protocol, we model the function of this
   extension as the interaction between a conceptual set of databases:

   o  ReachAsk: The reachability request database.  A database of next
      hops (host addresses) for which data plane reachability is being
      queried.
   o  ReachAsk-Out: A set of queries sent to the client.
   o  ReachAsk-In: A set of queries received from the route server.
   o  ReachTell: The reachability response database.  A database of
      responses to ReachAsk queries, indicating what is known about data
      plane reachability.
   o  ReachTell-Out: The responses being sent to the route server.
   o  ReachTell-In: The response received from the client.
   o  LocReach: The local reachability database.
   o  NHIB: Next Hop Information Base.  Stores what is known about the
      client's reachability to its next hops.























Bush, et al.             Expires March 25, 2021                 [Page 4]


Internet-Draft Making RSes aware of IXP Data Link FailuresSeptember 2020


   +--------------------------------------------------------+
   |   +------------+    +------------+    +------------+   |
   |   |    Per-    |    | Configured |    |    Per-    |   |
   |   |   Client   |    |  indirect  |    |   Client   |   |
   |   |    NHIB    |    |   peers    |    |    RIB     |   |
   |   +-----^------+    +------------+    +-----+------+   |
   |         |                         \         |          |
   |   +-----+------+                   `-->-----v------+   |
   |   |ReachTell-In|                      |ReachAsk-Out|   |
   |   +------^-----+     Route Server     +-----+------+   |
   +----------|----------------------------------|----------+
              |                                  |
              |                                  |
              |                                  |
              |                                  |
   +----------|----------------------------------|----------+
   |   +------+------+       RS Client     +-----v-----+    |
   |   |ReachTell-Out|                     |ReachAsk-In|    |
   |   +------^------+                     +-----+-----+    |
   |          |          +------------+          |          |
   |          |          |            |          |          |
   |          `----------+  LocReach  <----------'          |
   |                     |            |                     |
   |                     +------------+                     |
   +--------------------------------------------------------+

   Route Server, RS Client, and Reachability Ask and Tell databases with
                               In/Out Queues

   In outline, the route server requests its client to track
   connectivity for all the potential next hops the RS might send to the
   client, by sending these next hops as ReachAsk "routes".  The client
   tracks connectivity using BFD and reports its connectivity status to
   the RS using ReachTell "routes".  Connectivity status may be that the
   next hop is reachable, unreachable, or unknown.  Once the RS has been
   informed by the client of its connectivity, it uses this information
   to influence the route selection the RS performs on behalf of the
   client.  Details are elaborated in the following sections.

4.  Next Hop Validation

   Below, we detail procedures where a route server tells its client
   router about other client next hops by sending it ReachAsk routes and
   the client router verifies connectivity to those other client routers
   and communicates its findings back to the RS using ReachTell routes.
   The RS uses the received ReachTell routes as input to the NHIB and
   hence the route selection process it performs on behalf of the
   client.



Bush, et al.             Expires March 25, 2021                 [Page 5]


Internet-Draft Making RSes aware of IXP Data Link FailuresSeptember 2020


4.1.  ReachAsk

   The route server maintains a ReachAsk database for each client that
   supports this proposal, that is, for each client that has advertised
   support (Section 5) for the NH-Reach SAFI.  This database is the
   union of:

   o  The set of next hops found in the associated per-client Loc-RIB
      (see section 2.3.2.1 of [RFC7947]).
   o  The set of addresses of this client's indirect peers (Section 2).
   o  The RS MAY also add other entries, for example under configuration
      control.

   We note that under most circumstances, the first (Loc-RIB next hops)
   set will be a subset of the second (indirect peers) set.  For this
   not to be the case, a client would have to have sent a "third party"
   next hop [RFC4271] to the server.  To cover such a case, an
   implementation MAY note any such next hops, and include them in its
   list of indirect peers.  (This implies that if a third party next hop
   for client C is conveyed to client A, not only will C be placed in
   A's ReachAsk database, but A will be placed in C's ReachAsk
   database.)

   The contents of the ReachAsk database are communicated to the client
   using the NLRI format and procedures described in Section 5.