Internet DRAFT - draft-mohanty-idr-rtc-hierarchical-rr

draft-mohanty-idr-rtc-hierarchical-rr







Network Working Group                                       S R. Mohanty
Internet-Draft                                                J. Alcaide
Intended status: Standards Track                                M. Ghosh
Expires: 8 September 2023                            Cisco Systems, Inc.
                                                            7 March 2023


 A solution to the Hierarchical Route Reflector issue in RT Constraints
                draft-mohanty-idr-rtc-hierarchical-rr-00

Abstract

   Route Target Constraints (RTC) is used to build a VPN route
   distribution graph such that routers only receive VPN routes
   corresponding to specified route-targets (RT) that they are
   interested in.  This is done by exchanging the route-targets as
   routes in the RTC address-family and a corresponding "RT filter" is
   installed that influences the VPN route advertisement.  In networks
   employing hierarchical Route Reflectors (RR) the use of RTC can lead
   to incorrect VPN route distribution and loss in connectivity as
   detailed in an earlier draft . Two solutions were provided to
   overcome the problem.

   This draft presents a method with suggested modifications to the RTC
   RFC in order to solve the hierarchical RR RTC problem in an efficient
   manner.

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 8 September 2023.

Copyright Notice

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



Mohanty, et al.         Expires 8 September 2023                [Page 1]

Internet-Draft       Hierarchical RR RT-Constraints           March 2023


   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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Requirements Language . . . . . . . . . . . . . . . . . . . .   2
   2.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  RTC and RR Rules  . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Problem Definition  . . . . . . . . . . . . . . . . . . . . .   3
   5.  Proposed Solution . . . . . . . . . . . . . . . . . . . . . .   6
     5.1.  Sender Advertisement Rule . . . . . . . . . . . . . . . .   6
     5.2.  Receiver Acceptance Rule  . . . . . . . . . . . . . . . .   7
   6.  Conclusion  . . . . . . . . . . . . . . . . . . . . . . . . .   7
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   8.  Operational Considerations  . . . . . . . . . . . . . . . . .   8
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   10. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   8
   11. Normative References  . . . . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Requirements Language

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

   Hierarchical RR [RFC4456] deployments with VPN [RFC4364] working in
   conjunction with RTC [RFC4684] may result in sub-optimal and
   incorrect VPN route distribution that is nicely described in
   [I-D.ietf-idr-rtc-hierarchical-rr].  The root reason for this is the
   way the RR rules for RTC are defined in [RFC4684].  The authors of
   [I-D.ietf-idr-rtc-hierarchical-rr] furnish two solutions for the
   problem, one based on add-paths and the other based on diverse-paths
   constructs.  In this memo, we present another another solution to the
   very same problem.








Mohanty, et al.         Expires 8 September 2023                [Page 2]

Internet-Draft       Hierarchical RR RT-Constraints           March 2023


3.  RTC and RR Rules

   When advertising RT membership NLRI to a route-reflector client,
   Section 3.2 of [RFC4684] advocates the advertising RR to set the
   ORIGINATOR_ID attribute [RFC4456] to its own router-id, and the Next-
   hop attribute to be set to the local address for that session.
   However, this creates the issue in hierarchical RR setups as
   explained in [I-D.ietf-idr-rtc-hierarchical-rr].  Fig. 1 represents
   the same Figure as in [I-D.ietf-idr-rtc-hierarchical-rr].  When RR-2
   and RR-3 advertise RT-1 to RR-1, the latter will choose one of the
   routes to be best and will advertise the same to RR-2 and RR-3
   respectively after setting the ORIGINATOR_ID and next-hop to itself.
   Note that RR-1 will also add its own CLUSTER_ID [RFC4456]to the
   CLUSTER_LIST but importantly not overwrite the CLUSTER_ID of the
   sender.  This leads to the issue explained in
   [I-D.ietf-idr-rtc-hierarchical-rr].

4.  Problem Definition

   In the Fig 1, when RR-1 chooses the route from RR-2 as the best
   route, and formats the next-hop and ORIGINATOR_ID as explained above
   and then advertises the route to RR-2, RR-2 will drop the route
   reflected from RR-1 because of the CLUSTER_ID check.




























Mohanty, et al.         Expires 8 September 2023                [Page 3]

Internet-Draft       Hierarchical RR RT-Constraints           March 2023


                       +---------------------------------+
                       |              +----+             |
                       |        Clu-1 |RR-1|             |
                       |             /+----+\            |
                       |            /        \           |
                       |         +----+    +----+        |
                       |  Clu-2  |RR-2|    |RR-3|  Clu-3 |
                       |         +-/--+    +/--\+        |
                       |          /        /    \        |
                       |     +----+    +----+    +----+  |
                       |     |PE-1|    |PE-2|    |PE-3|  |
                       |     +----+    +----+    +----+  |
                       |       |          |         |    |
                       +-------|----------|---------|----+
                          RT-1 |     RT-1 |         | RT-1
                       +--------+   +--------+    +--------+
                       |  VPN-1 |   |  VPN-1 |    |  VPN-1 |
                       +--------+   +--------+    +--------+





                Figure 1 Hierarchical RR Setup with RTC



                                  Figure 1

   RR-2 will therefore not form the outbound filter of RT-1 towards RR-1
   which means that after convergence RR-2 will not advertise VPN routes
   to RR-1 anymore.  This leads to an incorrect VPN route distribution
   across the network.


   In the scenario of Fig 2.  CE-1 is multi-homed to PE-1 and PE-2 and
   wants to communicate with CE-2 which is behind PE-4.  As explained
   earlier, because RR-1 chooses RR-2 path as best in the RTC family,
   RR-1 is only receiving the VPN route from RR-3 (and not RR-2) in the
   steady state.











Mohanty, et al.         Expires 8 September 2023                [Page 4]

Internet-Draft       Hierarchical RR RT-Constraints           March 2023


                     +---------------------------------+
                     |              +----+    +-----+  |  +------------+
                     |        Clu-1 |RR-1| ---|PE-4 |- - -| VPN-1 (CE2)|
                     |             /+----+\   +-----+  |  +------------+
                     |            /        \           |
                     |         +----+    +----+        |
                     |  Clu-2  |RR-2|    |RR-3|  Clu-3 |
                     |         +-/--+    +--\-+        |
                     |          /            \         |
                     |     +----+           +----+     |
                     |     |PE-1|           |PE-2|     |
                     |     +----+           +--/-+     |
                     |         \             /         |
                     +----------\-----------/----------+
                                 \   RT-1  /
                                 +--------+ ----|
                                 |  VPN-1 (CE1) |
                                  --------------|


             Figure 2 Hierarchical RR Setup with RTC with dual-homed CE



                               Figure 2

   Notice that even though the link between between RR-3 and RR-1 comes
   down, The RR-2 PATH still remains as best in the RTC address-family
   at RR-1 and the VPN route advertisements to RR-1 from RR-2 still
   continue to be blocked.  Thus even though there is an alternative
   connectivity from CE-1 to PE-4 via PE-1, RR-2 and RR-1, the BGP VPN
   routes cannot be sent.  In fact CE-1 is completely cut-off from rest
   of the network.  Generalizing, it means that in a hierarchical RR
   with only a single first-level RR as its client, the solution is
   completely broken.  Notice that without RTC, RR-1 would have both VPN
   paths and the loss of connectivity to RR-3 would just result in local
   convergence at RR-1 subject to the time when the path from RR-2
   becomes best.


   The solutions presented in [I-D.ietf-idr-rtc-hierarchical-rr] are
   based on

   a.  Addpath, RR-1 will advertise both the paths from RR-2 and RR-3 to
       RR-2 and RR-3 so that each of the first level RRS will accept at
       least one of the routes and install the filter





Mohanty, et al.         Expires 8 September 2023                [Page 5]

Internet-Draft       Hierarchical RR RT-Constraints           March 2023


   b.  When RR-1 will advertise the best-path to a client or non-client
       speaker, and that speaker is the one whose path is the best, the
       advertising router will use the most "diverse" path (different
       next-hop and ORIGINATOR_ID than the best-path) to accomplish the
       same goal, i.e. the path will be accepted at the receiving
       speaker

   In the next section, we provide a solution, that does not require
   add-path and also improves upon [RFC4684] while solving this
   hierarchical RR issue in RTC.

5.  Proposed Solution

   A problem that [RFC4684] does not address is limiting the number for
   VPN routes advertised to AN RR when only one client advertises RTC
   routes.  Consider in Figure 1 that PE-1 is the only one advertising a
   RTC route to RR-2.  RR-2 will advertise back the route towards PE-1
   (with next-hop/ORIGINATOR_ID rewriting to avoid PE-1 discarding the
   route).  PE-1 will advertise VPN routes towards RR-1, which is
   unnecessary and wastes resources on RR-1.

5.1.  Sender Advertisement Rule

   In the description that follows we define Attribute diversity to mean
   RTC routes with different ORIGINATOR_ID attribute (or router-id of
   the peer it is received from if ORIGINATOR_ID does not exist), or
   different first CLUSTER_ID inside the CLUSTER_LIST (an empty
   CLUSTER_ID is different to any other non-empty CLUSTER_ID).
   Diversity for ORIGINATOR_ID is typically used for first level RRs,
   diversity for CLUSTER_LIST is typically used for higher level RRs.

   Both diversity attributes can be used in combination when the RR has
   a mix of clients (that are themselves RRs and non-RRs).  The
   underlying assumptions for looking at CLUSTER_ID for attribute
   diversity is that any clients that are also route-reflectors and have
   the same CLUSTER_ID, will themselves have the same set of clients.
   Imagine a a higher level RR receiving the same route from two lower
   level RRs with the same CLUSTER_ID.  It will not reflect back the RTC
   if only the same CLUSTER_ID is received from its clients (as first
   CLUSTER_ID in the CLUSTER_LIST).

   The following rule modifies the [RFC4684].

   *  A RTC route is reflected from a client to a client (including the
      client the route is received from), only when there is enough
      attribute diversity amongst the RTC routes received from all the
      clients.




Mohanty, et al.         Expires 8 September 2023                [Page 6]

Internet-Draft       Hierarchical RR RT-Constraints           March 2023


   The rule above will apply as well to a top level RR, guaranteeing
   that top level RR does not have unnecessary routes.

5.2.  Receiver Acceptance Rule

   We need to take care that when reflecting back a RTC route to the
   advertising client, this client does not discard the update.  RFC
   4684 mandates to overwrite next-hop to self and the ORIGINATOR_ID to
   our local router-id when advertising RTC route a route reflector
   client (section 3.2, rule (i) ).  This rule can be extended to take
   care of the case where the reflection happens at a higher level RR
   (See Rule(1) below).  Additionally, no attribute overwriting is
   deemed necessary when reflecting a RTC route from client to non-
   client.  Thus, the following rule is added to RFC 4684.

   1.  When reflecting a RTC route from RR client to RR client, NEXT_HOP
       attribute is overwritten to self, ORIGINATOR _ID is set or
       overwritten to local router-id, and first CLUSTER_ID of
       CLUSTER_LIST (if not empty) is overwritten to local CLUSTER_ID
       (this is before regular CLUSTER_ID prepending; thus advertised
       CLUSTER_LIST may have two repeated CLUSTER_ID at the beginning).

   2.  when a RR receives an RT-Constraint route that contains its own
       CLUSTER_ID or ORIGINATOR_ID, it ignores the CLUSTER_ID/
       ORIGINATOR_ID check and does not discard the path but keep it as
       "Received-only".  Treating the path as "Received-only" removes it
       from best-path computation considerations but allows to install
       the VPN filter.

   With the Rule 1. since we are over-writing the cluster-id, the
   receiver will accept the route.  With Rule 2., in the above Fig. 1
   and 2 when RR-2 receives the update from RR-1, it will accept the
   route and will treat it as "Received-only".  However, although the
   route will not be eligible for advertisement, but since this route is
   accepted, the VPN filter is installed and VPN routes will be
   advertised from RR-2 to RR-1.  Both rules are exclusive of each
   other.

6.  Conclusion

   With the procedures it is not necessary for the RR to know in which
   level it is operating.  The above rules are compatible.  We always
   advertise best-path for any rule and it is easily seen that RR-2 will
   accept the RT Constraint path advertised from RR-1 . Since the path
   is accepted, the RT Filter at RR-2 will pass the VPN routes, and the
   problem scenarios are resolved accordingly.





Mohanty, et al.         Expires 8 September 2023                [Page 7]

Internet-Draft       Hierarchical RR RT-Constraints           March 2023


   With this specification in the RT-Constraint address-family, we solve
   both the incorrect and sub-optimal issues as mentioned above.  There
   is no need for add-paths.  We can also optimize over [RFC4684] on RTC
   advertisements based on diversity of ORIGINATOR_ID and CLUSTER_ID so
   that a higher level RR does not have to be populated with VPN routes
   with a specific RT if that RT is not present in other clusters.

7.  IANA Considerations

   None.

8.  Operational Considerations

   TBD.

9.  Security Considerations

   This document raises no new security issues for RT Constraints.

10.  Acknowledgements

   The authors would like to thank Swadesh Agrawal and M.  Mirza for
   useful discussions related to hierarchical RR RTC.

11.  Normative References

   [I-D.ietf-idr-rtc-hierarchical-rr]
              Dong, J., Chen, M., and R. Raszuk, "Extensions to RT-
              Constrain in Hierarchical Route Reflection Scenarios",
              Work in Progress, Internet-Draft, draft-ietf-idr-rtc-
              hierarchical-rr-03, 3 July 2017,
              <https://datatracker.ietf.org/doc/html/draft-ietf-idr-rtc-
              hierarchical-rr-03>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
              Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
              2006, <https://www.rfc-editor.org/info/rfc4364>.

   [RFC4456]  Bates, T., Chen, E., and R. Chandra, "BGP Route
              Reflection: An Alternative to Full Mesh Internal BGP
              (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006,
              <https://www.rfc-editor.org/info/rfc4456>.




Mohanty, et al.         Expires 8 September 2023                [Page 8]

Internet-Draft       Hierarchical RR RT-Constraints           March 2023


   [RFC4684]  Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk,
              R., Patel, K., and J. Guichard, "Constrained Route
              Distribution for Border Gateway Protocol/MultiProtocol
              Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual
              Private Networks (VPNs)", RFC 4684, DOI 10.17487/RFC4684,
              November 2006, <https://www.rfc-editor.org/info/rfc4684>.

Authors' Addresses

   Satya Ranjan Mohanty
   Cisco Systems, Inc.
   225 West Tasman Drive
   San Jose, CA 95134
   United States of America
   Email: satyamoh@cisco.com


   Juan Alcaide
   Cisco Systems, Inc.
   225 West Tasman Drive
   San Jose, CA 95134
   United States of America
   Email: jalcaide@cisco.com


   Mrinmoy Ghosh
   Cisco Systems, Inc.
   225 West Tasman Drive
   San Jose, CA 95134
   United States of America
   Email: mrghosh@cisco.com




















Mohanty, et al.         Expires 8 September 2023                [Page 9]