--- 1/draft-ietf-grow-bmp-local-rib-00.txt 2018-02-23 18:13:10.368135099 -0800 +++ 2/draft-ietf-grow-bmp-local-rib-01.txt 2018-02-23 18:13:10.404135947 -0800 @@ -1,58 +1,58 @@ Global Routing Operations T. Evens Internet-Draft S. Bayraktar Updates: 7854 (if approved) M. Bhardwaj Intended status: Standards Track Cisco Systems -Expires: December 11, 2017 P. Lucente +Expires: August 27, 2018 P. Lucente NTT Communications - June 9, 2017 + February 23, 2018 Support for Local RIB in BGP Monitoring Protocol (BMP) - draft-ietf-grow-bmp-local-rib-00 + draft-ietf-grow-bmp-local-rib-01 Abstract The BGP Monitoring Protocol (BMP) defines access to the Adj-RIB-In and locally originated routes (e.g. routes distributed into BGP from protocols such as static) but not access to the BGP instance Loc-RIB. This document updates the BGP Monitoring Protocol (BMP) RFC 7854 by adding access to the BGP instance Local-RIB, as defined in RFC 4271 the routes that have been selected by the local BGP speaker's Decision Process. These are the routes over all peers, locally originated, and after best-path selection. 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 http://datatracker.ietf.org/drafts/current/. + 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 December 11, 2017. + This Internet-Draft will expire on August 27, 2018. Copyright Notice - Copyright (c) 2017 IETF Trust and the persons identified as the + 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 + (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 @@ -61,38 +61,38 @@ 3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 7 4. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . . . 8 4.1. Peer Type . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2. Peer Flags . . . . . . . . . . . . . . . . . . . . . . . 8 5. Loc-RIB Monitoring . . . . . . . . . . . . . . . . . . . . . 9 5.1. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . 9 5.2. Peer UP Notification . . . . . . . . . . . . . . . . . . 9 5.2.1. Peer UP Information . . . . . . . . . . . . . . . . . 10 5.3. Peer Down Notification . . . . . . . . . . . . . . . . . 10 5.4. Route Monitoring . . . . . . . . . . . . . . . . . . . . 10 - 5.4.1. ASN Encoding . . . . . . . . . . . . . . . . . . . . 10 - 5.4.2. Granularity . . . . . . . . . . . . . . . . . . . . . 10 + 5.4.1. ASN Encoding . . . . . . . . . . . . . . . . . . . . 11 + 5.4.2. Granularity . . . . . . . . . . . . . . . . . . . . . 11 5.5. Route Mirroring . . . . . . . . . . . . . . . . . . . . . 11 5.6. Statistics Report . . . . . . . . . . . . . . . . . . . . 11 6. Other Considerations . . . . . . . . . . . . . . . . . . . . 11 6.1. Loc-RIB Implementation . . . . . . . . . . . . . . . . . 11 - 6.1.1. Multiple Loc-RIB Peers . . . . . . . . . . . . . . . 11 + 6.1.1. Multiple Loc-RIB Peers . . . . . . . . . . . . . . . 12 6.1.2. Filtering Loc-RIB to BMP Receivers . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 8.1. BMP Peer Type . . . . . . . . . . . . . . . . . . . . . . 12 - 8.2. BMP Peer Flags . . . . . . . . . . . . . . . . . . . . . 12 - 8.3. Peer UP Information TLV . . . . . . . . . . . . . . . . . 12 + 8.2. BMP Peer Flags . . . . . . . . . . . . . . . . . . . . . 13 + 8.3. Peer UP Information TLV . . . . . . . . . . . . . . . . . 13 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 9.1. Normative References . . . . . . . . . . . . . . . . . . 13 9.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 13 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 1. Introduction The BGP Monitoring Protocol (BMP) suggests that locally originated routes are locally sourced routes, such as redistributed or otherwise added routes to the BGP instance by the local router. It does not specify routes that are in the BGP instance Loc-RIB, such as routes after best-path selection. Figure 1 shows the flow of received routes from one or more BGP peers @@ -189,23 +189,22 @@ paths is not enabled or if maximum number of equal paths are different from Loc-RIB to routes advertised. This document adds Loc-RIB to the BGP Monitoring Protocol and replaces Section 8.2 [RFC7854] Locally Originated Routes. 1.1. Current Method to Monitor Loc-RIB Loc-RIB is used to build Adj-RIB-Out when advertising routes to a peer. It is therefore possible to derive the Loc-RIB of a router by - monitoring the Adj-RIB-In Pre-Policy from another router. While it - is possible to derive the Loc-RIB, it is also error prone and - complex. + monitoring the Adj-RIB-In Pre-Policy from another router. At scale + this becomes overly complex and error prone. /------------------------------------------------------\ | ROUTER1 BGP Instance | | | | +--------------------------------------------+ | | | Loc-RIB | | | +--------------------------------------------+ | | | | | | +------------------+ +------------------+ | | | Peer-ROUTER2 | | Peer-ROUTER3 | | @@ -253,21 +252,21 @@ link-state address family enabled. Complexities introduced with current method in order to derive (e.g. correlate) peer to router Loc-RIB: o Adj-RIB-Out received as Adj-RIB-In from another router may have a policy applied that filters, generates aggregates, suppresses more specifics, manipulates attributes, or filters routes. Not only does this invalidate the Loc-RIB view, it adds complexity when multiple BMP routers may have peering sessions to the same router. - The BMP receiver user is left with the erroneous task of + The BMP receiver user is left with the error prone task of identifying which peering session is the best representative of the Loc-RIB. o BGP peering is designed to work between administrative domains and therefore does not need to include internal system level information of each peering router (e.g. the system name or version information). In order to derive a Loc-RIB to a router, the router name or other system information is needed. The BMP receiver and user are forced to do some type of correlation using what information is available in the peering session (e.g. peering @@ -309,20 +308,25 @@ of the Loc-RIB but may contain additional routes based on BGP peering configuration. o Post-Policy Adj-RIB-Out: The result of applying outbound policy to an Adj-RIB-Out. This MUST be what is actually sent to the peer. 4. Per-Peer Header 4.1. Peer Type + A new peer type is defined for Loc-RIB to distinguish that it + represents Loc-RIB with or without RD and local instances. + Section 4.2 [RFC7854] defines a Local Instance Peer type, which is + for the case of non-RD peers that have an instance identifier. + This document defines the following new peer type: o Peer Type = TBD: Loc-RIB Instance Peer 4.2. Peer Flags In section 4.2 [RFC7854], the "locally sourced routes" comment under the L flag description is removed. Locally sourced routes MUST be conveyed using the Loc-RIB instance peer type. @@ -341,20 +345,30 @@ transmitted as 0 and their values MUST be ignored on receipt. 5. Loc-RIB Monitoring Loc-RIB contains all routes from BGP peers as well as any and all routes redistributed or otherwise locally originated. In this context, only the BGP instance Loc-RIB is included. Routes from other routing protocols that have not been redistributed, originated by or into BGP, or received via Adj-RIB-In are not considered. + Loc-RIB in this context does not attempt to maintain a pre-policy and + post-policy representation. Loc-RIB is the selected and used routes, + which is equivalent to post-policy. + + For example, VRF "Blue" imports several targets but filters out + specific routes. The end result of VRF "Blue" Loc-RIB is conveyed. + Even though the import is filtered, the result is complete for VRF + "Blue" Loc-RIB. The F flag is not set in this case since the Loc-RIB + is complete and not filtered to the BMP receiver. + 5.1. Per-Peer Header All peer messages that include a per-peer header MUST use the following values: o Peer Type: Set to TBD to indicate Loc-RIB Instance Peer. o Peer Distinguisher: Zero filled if the Loc-RIB represents the global instance. Otherwise set to the route distinguisher or unique locally defined value of the particular instance the Loc- @@ -399,46 +413,51 @@ The following peer UP information TLV types are added: o Type = TBD: VRF/Table Name. The Information field contains an ASCII string whose value MUST be equal to the value of the VRF or table name (e.g. RD instance name) being conveyed. The string size MUST be within the range of 1 to 255 bytes. The VRF/Table Name TLV is optionally included. For consistency, it is RECOMMENDED that the VRF/Table Name always be included. The default value of "global" SHOULD be used for the default Loc-RIB - instance with a zero-filled distinguisher. + instance with a zero-filled distinguisher. If the TLV is + included, then it SHOULD also be included in the Peer Down + notification. 5.3. Peer Down Notification Peer down notification SHOULD follow the section 4.9 [RFC7854] reason 2. + The VRF/Table Name informational TLV SHOULD be included if it was in + the Peer UP. + 5.4. Route Monitoring Route Monitoring messages are used for initial synchronization of the Loc-RIB. They are also used to convey incremental Loc-RIB changes. As defined in section 4.3 [RFC7854], "Following the common BMP header and per-peer header is a BGP Update PDU." 5.4.1. ASN Encoding Loc-RIB route monitor messages MUST use 4-byte ASN encoding as indicated in PEER UP sent OPEN message (Section 5.2) capability. 5.4.2. Granularity - State compression and throttling maybe used by a BMP sender - implementation to reduce the amount of route monitoring messages that - are transmitted to BMP receivers. With state compression, only the - final resultant updates are sent. + State compression and throttling SHOULD be used by a BMP sender to + reduce the amount of route monitoring messages that are transmitted + to BMP receivers. With state compression, only the final resultant + updates are sent. For example, prefix 10.0.0.0/8 is updated in the Loc-RIB 5 times within 1 second. State compression of BMP route monitor messages results in only the final change being transmitted. The other 4 changes are suppressed because they fall within the compression interval. If no compression was being used, all 5 updates would have been transmitted. A BMP receiver SHOULD expect that Loc-RIB route monitoring granularity can be different by BMP sender implementation. @@ -530,31 +549,31 @@ table name (e.g. RD instance name) being conveyed. The string size MUST be within the range of 1 to 255 bytes. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, - . + . [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, - . + . [RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP Monitoring Protocol (BMP)", RFC 7854, DOI 10.17487/RFC7854, June 2016, - . + . 9.2. URIs [1] https://www.iana.org/assignments/bmp-parameters/bmp- parameters.xhtml Acknowledgements The authors would like to thank John Scudder for his valuable input.