draft-ietf-grow-bmp-local-rib-09.txt   draft-ietf-grow-bmp-local-rib-10.txt 
Global Routing Operations T. Evens Global Routing Operations T. Evens
Internet-Draft S. Bayraktar Internet-Draft S. Bayraktar
Updates: 7854 (if approved) M. Bhardwaj Updates: 7854 (if approved) M. Bhardwaj
Intended status: Standards Track Cisco Systems Intended status: Standards Track Cisco Systems
Expires: 18 July 2021 P. Lucente Expires: 9 September 2021 P. Lucente
NTT Communications NTT Communications
14 January 2021 8 March 2021
Support for Local RIB in BGP Monitoring Protocol (BMP) Support for Local RIB in BGP Monitoring Protocol (BMP)
draft-ietf-grow-bmp-local-rib-09 draft-ietf-grow-bmp-local-rib-10
Abstract Abstract
The BGP Monitoring Protocol (BMP) defines access to various Routing The BGP Monitoring Protocol (BMP) defines access to various Routing
Information Bases (RIBs). This document updates BMP (RFC 7854) by Information Bases (RIBs). This document updates BMP (RFC 7854) by
adding access to the Local Routing Information Base (Loc-RIB), as adding access to the Local Routing Information Base (Loc-RIB), as
defined in RFC 4271. The Loc-RIB contains the routes that have been defined in RFC 4271. The Loc-RIB contains the routes that have been
selected by the local BGP speaker's Decision Process. selected by the local BGP speaker's Decision Process.
Status of This Memo Status of This Memo
skipping to change at page 1, line 37 skipping to change at page 1, line 37
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://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 Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 18 July 2021. This Internet-Draft will expire on 9 September 2021.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 3, line 41 skipping to change at page 3, line 41
| V V | | V V |
| +-----------------------------------------+ | | +-----------------------------------------+ |
| | Loc-RIB | | | | Loc-RIB | |
| +-----------------------------------------+ | | +-----------------------------------------+ |
| | | |
| ROUTER/BGP Instance | | ROUTER/BGP Instance |
\----------------------------------------------------/ \----------------------------------------------------/
Figure 1: BGP peering Adj-RIBs-In into Loc-RIB Figure 1: BGP peering Adj-RIBs-In into Loc-RIB
As shown in Figure 2, Locally originated section 9.4 of [RFC4271] Figure 2 (Locally Originated into Loc-RIB) illustrates how
follows a similar flow where the redistributed or otherwise redistributed or otherwise originated routes get installed into the
originated routes get installed into the Loc-RIB based on the Loc-RIB based on the decision process selection in RFC 4271
decision process selection. [RFC4271].
/--------------------------------------------------------\ /--------------------------------------------------------\
| | | |
| +----------+ +----------+ +----------+ +----------+ | | +----------+ +----------+ +----------+ +----------+ |
| | IS-IS | | OSPF | | Static | | BGP | | | | IS-IS | | OSPF | | Static | | BGP | |
| +----------+ +----------+ +----------+ +----------+ | | +----------+ +----------+ +----------+ +----------+ |
| | | | | | | | | | | |
| | | | | | | |
| | Redistributed or originated into BGP | | | | Redistributed or originated into BGP | |
| | | | | | | |
skipping to change at page 4, line 41 skipping to change at page 4, line 41
flow records to Loc-RIB entries, only need to collect and monitor flow records to Loc-RIB entries, only need to collect and monitor
the routes that are actually selected and used. the routes that are actually selected and used.
Requiring the applications to collect all Adj-RIB-In Post-Policy Requiring the applications to collect all Adj-RIB-In Post-Policy
data forces the applications to receive a potentially large data forces the applications to receive a potentially large
unwanted data set and to perform the BGP decision process unwanted data set and to perform the BGP decision process
selection, which includes having access to the IGP next-hop selection, which includes having access to the IGP next-hop
metrics. While it is possible to obtain the IGP topology metrics. While it is possible to obtain the IGP topology
information using BGP-LS, it requires the application to implement information using BGP-LS, it requires the application to implement
SPF and possibly CSPF based on additional policies. This is SPF and possibly CSPF based on additional policies. This is
overly complex for such a simple application that only needed to overly complex for such a simple application that only needs to
have access to the Loc-RIB. have access to the Loc-RIB.
* It is common to see frequent changes over many BGP peers, but * It is common to see frequent changes over many BGP peers, but
those changes do not always result in the router's Loc-RIB those changes do not always result in the router's Loc-RIB
changing. The change in the Loc-RIB can have a direct impact on changing. The change in the Loc-RIB can have a direct impact on
the forwarding state. It can greatly reduce time to troubleshoot the forwarding state. It can greatly reduce time to troubleshoot
and resolve issues if operators had the history of Loc-RIB and resolve issues if operators have the history of Loc-RIB
changes. For example, a performance issue might have been seen changes. For example, a performance issue might have been seen
for only a duration of 5 minutes. Post troubleshooting this issue for only a duration of 5 minutes. Post troubleshooting this issue
without Loc-RIB history hides any decision based routing changes without Loc-RIB history hides any decision based routing changes
that might have happened during those five minutes. that might have happened during those five minutes.
* Operators may wish to validate the impact of policies applied to * Operators may wish to validate the impact of policies applied to
Adj-RIB-In by analyzing the final decision made by the router when Adj-RIB-In by analyzing the final decision made by the router when
installing into the Loc-RIB. For example, in order to validate if installing into the Loc-RIB. For example, in order to validate if
multi-path prefixes are installed as expected for all advertising multi-path prefixes are installed as expected for all advertising
peers, the Adj-RIB-In Post-Policy and Loc-RIB needs to be peers, the Adj-RIB-In Post-Policy and Loc-RIB needs to be
skipping to change at page 6, line 46 skipping to change at page 6, line 46
Figure 3: Alternative method to monitor Loc-RIB Figure 3: Alternative method to monitor Loc-RIB
The setup needed to monitor the Loc-RIB of a router requires another The setup needed to monitor the Loc-RIB of a router requires another
router with a peering session to the target router that is to be router with a peering session to the target router that is to be
monitored. As shown in Figure 3, the target router Loc-RIB is monitored. As shown in Figure 3, the target router Loc-RIB is
advertised via Adj-RIB-Out to the BMP router over a standard BGP advertised via Adj-RIB-Out to the BMP router over a standard BGP
peering session. The BMP router then forwards Adj-RIB-In Pre-Policy peering session. The BMP router then forwards Adj-RIB-In Pre-Policy
to the BMP receiver. to the BMP receiver.
The current method introduces the need for additional resources: BMP lacking access to Loc-RIB introduces the need for additional
resources:
* Requires at least two routers when only one router was to be * Requires at least two routers when only one router was to be
monitored. monitored.
* Requires additional BGP peering to collect the received updates * Requires additional BGP peering to collect the received updates
when peering may have not even been required in the first place. when peering may have not even been required in the first place.
For example, VRFs with no peers, redistributed BGP-LS with no For example, VRFs with no peers, redistributed BGP-LS with no
peers, segment routing egress peer engineering where no peers have peers, segment routing egress peer engineering where no peers have
link-state address family enabled. link-state address family enabled.
Complexities introduced with current method in order to derive (e.g. Complexities introduced by the lack of access to Loc-RIB in order to
correlate) peer to router Loc-RIB: derive (e.g. correlate) peer to router Loc-RIB:
* Adj-RIB-Out received as Adj-RIB-In from another router may have a * Adj-RIB-Out received as Adj-RIB-In from another router may have a
policy applied that filters, generates aggregates, suppresses more policy applied that filters, generates aggregates, suppresses more
specifics, manipulates attributes, or filters routes. Not only specifics, manipulates attributes, or filters routes. Not only
does this invalidate the Loc-RIB view, it adds complexity when does this invalidate the Loc-RIB view, it adds complexity when
multiple BMP routers may have peering sessions to the same router. multiple BMP routers may have peering sessions to the same router.
The BMP receiver user is left with the error prone task of The BMP receiver user is left with the error prone task of
identifying which peering session is the best representative of identifying which peering session is the best representative of
the Loc-RIB. the Loc-RIB.
skipping to change at page 8, line 4 skipping to change at page 8, line 4
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they 14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they
appear in all capitals, as shown here. appear in all capitals, as shown here.
3. Definitions 3. Definitions
* BGP Instance: it refers to an instance of an instance of BGP-4 * BGP Instance: refers to an instance of an instance of BGP-4
[RFC4271] and considerations in section 8.1 of [RFC7854] do apply [RFC4271] and considerations in section 8.1 of [RFC7854] do apply
to it. to it.
* Adj-RIB-In: As defined in [RFC4271], "The Adj-RIBs-In contains * Adj-RIB-In: As defined in [RFC4271], "The Adj-RIBs-In contains
unprocessed routing information that has been advertised to the unprocessed routing information that has been advertised to the
local BGP speaker by its peers." This is also referred to as the local BGP speaker by its peers." This is also referred to as the
pre-policy Adj-RIB-In in this document. pre-policy Adj-RIB-In in this document.
* Adj-RIB-Out: As defined in [RFC4271], "The Adj-RIBs-Out contains * Adj-RIB-Out: As defined in [RFC4271], "The Adj-RIBs-Out contains
the routes for advertisement to specific peers by means of the the routes for advertisement to specific peers by means of the
skipping to change at page 8, line 47 skipping to change at page 8, line 47
Section 4.2 of [RFC7854] defines a Local Instance Peer type, which is Section 4.2 of [RFC7854] defines a Local Instance Peer type, which is
for the case of non-RD peers that have an instance identifier. for the case of non-RD peers that have an instance identifier.
This document defines the following new peer type: This document defines the following new peer type:
* Peer Type = 3: Loc-RIB Instance Peer * Peer Type = 3: Loc-RIB Instance Peer
4.2. Peer Flags 4.2. Peer Flags
In section 4.2 of [RFC7854], the "locally sourced routes" comment In section 4.2 of [RFC7854], the "locally sourced routes" comment
under the L flag description is removed. Locally sourced routes MUST under the L flag description is removed. If locally sourced routes
be conveyed using the Loc-RIB instance peer type. are communicated using BMP, they MUST be conveyed using the Loc-RIB
instance peer type.
The per-peer header flags for Loc-RIB Instance Peer type are defined The per-peer header flags for Loc-RIB Instance Peer type are defined
as follows: as follows:
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|F| Reserved | |F| Reserved |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
* The F flag indicates that the Loc-RIB is filtered. This MUST be * The F flag indicates that the Loc-RIB is filtered. This MUST be
set when only a subset of Loc-RIB routes is sent to the BMP set when only a subset of Loc-RIB routes is sent to the BMP
collector. collector.
The remaining bits are reserved for future use. They MUST be The remaining bits are reserved for future use. They MUST be
transmitted as 0 and their values MUST be ignored on receipt. transmitted as 0 and their values MUST be ignored on receipt.
5. Loc-RIB Monitoring 5. Loc-RIB Monitoring
The Loc-RIB contains all routes selected by the BGP protocol Decision The Loc-RIB contains all routes selected by the BGP protocol Decision
Process section 9.1 of [RFC4271]. These routes include those learned Process as described in section 9.1 of [RFC4271]. These routes
from BGP peers via its Adj-RIBs-In post-policy, as well as routes include those learned from BGP peers via its Adj-RIBs-In post-policy,
learned by other means section 9.4 of [RFC4271]. Examples of these as well as routes learned by other means as per section 9.4 of
include redistribution of routes from other protocols into BGP or [RFC4271]. Examples of these include redistribution of routes from
otherwise locally originated (ie. aggregate routes). other protocols into BGP or otherwise locally originated (ie.
aggregate routes).
As mentioned in Section 4.2 a subset of Loc-RIB routes MAY be sent to As mentioned in Section 4.2 a subset of Loc-RIB routes MAY be sent to
a BMP collector by setting the F flag. a BMP collector by setting the F flag.
5.1. Per-Peer Header 5.1. Per-Peer Header
All peer messages that include a per-peer header MUST use the All peer messages that include a per-peer header section 4.2 of
following values: [RFC7854] MUST use the following values:
* Peer Type: Set to 3 to indicate Loc-RIB Instance Peer. * Peer Type: Set to 3 to indicate Loc-RIB Instance Peer.
* Peer Distinguisher: Zero filled if the Loc-RIB represents the * Peer Distinguisher: Zero filled if the Loc-RIB represents the
global instance. Otherwise set to the route distinguisher or global instance. Otherwise set to the route distinguisher or
unique locally defined value of the particular instance the Loc- unique locally defined value of the particular instance the Loc-
RIB belongs to. RIB belongs to.
* Peer Address: Zero-filled. Remote peer address is not applicable. * Peer Address: Zero-filled. Remote peer address is not applicable.
The V flag is not applicable with Loc-RIB Instance peer type The V flag is not applicable with Loc-RIB Instance peer type
considering addresses are zero-filed. considering addresses are zero-filed.
* Peer AS: Set to the BGP instance global or default ASN value. * Peer AS: Set to the primary router BGP ASN.
* Peer BGP ID: Set to the BGP instance global or RD (e.g. VRF) * Peer BGP ID: Set to the BGP instance global or RD (e.g. VRF)
specific router-id section 1.1 of [RFC7854]. specific router-id section 1.1 of [RFC7854].
* Timestamp: The time when the encapsulated routes were installed in * Timestamp: The time when the encapsulated routes were installed in
The Loc-RIB, expressed in seconds and microseconds since midnight The Loc-RIB, expressed in seconds and microseconds since midnight
(zero hour), January 1, 1970 (UTC). If zero, the time is (zero hour), January 1, 1970 (UTC). If zero, the time is
unavailable. Precision of the timestamp is implementation- unavailable. Precision of the timestamp is implementation-
dependent. dependent.
skipping to change at page 10, line 23 skipping to change at page 10, line 23
Peer UP notifications follow section 4.10 of [RFC7854] with the Peer UP notifications follow section 4.10 of [RFC7854] with the
following clarifications: following clarifications:
* Local Address: Zero-filled, local address is not applicable. * Local Address: Zero-filled, local address is not applicable.
* Local Port: Set to 0, local port is not applicable. * Local Port: Set to 0, local port is not applicable.
* Remote Port: Set to 0, remote port is not applicable. * Remote Port: Set to 0, remote port is not applicable.
* Sent OPEN Message: This is a fabricated BGP OPEN message. * Sent OPEN Message: This is a fabricated BGP OPEN message.
Capabilities MUST include 4-octet ASN and all necessary Capabilities MUST include the 4-octet ASN and all necessary
capabilities to represent the Loc-RIB route monitoring messages. capabilities to represent the Loc-RIB route monitoring messages.
Only include capabilities if they will be used for Loc-RIB Only include capabilities if they will be used for Loc-RIB
monitoring messages. For example, if add-paths is enabled for monitoring messages. For example, if add-paths is enabled for
IPv6 and Loc-RIB contains additional paths, the add-paths IPv6 and Loc-RIB contains additional paths, the add-paths
capability should be included for IPv6. In the case of add-paths, capability should be included for IPv6. In the case of add-paths,
the capability intent of advertise, receive or both can be ignored the capability intent of advertise, receive or both can be ignored
since the presence of the capability indicates enough that add- since the presence of the capability indicates enough that add-
paths will be used for IPv6. paths will be used for IPv6.
* Received OPEN Message: Repeat of the same Sent Open Message. The * Received OPEN Message: Repeat of the same Sent Open Message. The
skipping to change at page 11, line 44 skipping to change at page 11, line 44
Loc-RIB route monitor messages MUST use 4-byte ASN encoding as Loc-RIB route monitor messages MUST use 4-byte ASN encoding as
indicated in PEER UP sent OPEN message (Section 5.2) capability. indicated in PEER UP sent OPEN message (Section 5.2) capability.
5.4.2. Granularity 5.4.2. Granularity
State compression and throttling SHOULD be used by a BMP sender to State compression and throttling SHOULD be used by a BMP sender to
reduce the amount of route monitoring messages that are transmitted reduce the amount of route monitoring messages that are transmitted
to BMP receivers. With state compression, only the final resultant to BMP receivers. With state compression, only the final resultant
updates are sent. updates are sent.
For example, prefix 10.0.0.0/8 is updated in the Loc-RIB 5 times For example, prefix 192.0.2.0/24 is updated in the Loc-RIB 5 times
within 1 second. State compression of BMP route monitor messages within 1 second. State compression of BMP route monitor messages
results in only the final change being transmitted. The other 4 results in only the final change being transmitted. The other 4
changes are suppressed because they fall within the compression changes are suppressed because they fall within the compression
interval. If no compression was being used, all 5 updates would have interval. If no compression was being used, all 5 updates would have
been transmitted. been transmitted.
A BMP receiver should expect that Loc-RIB route monitoring A BMP receiver should expect that Loc-RIB route monitoring
granularity can be different by BMP sender implementation. granularity can be different by BMP sender implementation.
5.5. Route Mirroring 5.5. Route Mirroring
 End of changes. 16 change blocks. 
26 lines changed or deleted 29 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/