draft-ietf-grow-bmp-local-rib-00.txt   draft-ietf-grow-bmp-local-rib-01.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: December 11, 2017 P. Lucente Expires: August 27, 2018 P. Lucente
NTT Communications NTT Communications
June 9, 2017 February 23, 2018
Support for Local RIB in BGP Monitoring Protocol (BMP) Support for Local RIB in BGP Monitoring Protocol (BMP)
draft-ietf-grow-bmp-local-rib-00 draft-ietf-grow-bmp-local-rib-01
Abstract Abstract
The BGP Monitoring Protocol (BMP) defines access to the Adj-RIB-In The BGP Monitoring Protocol (BMP) defines access to the Adj-RIB-In
and locally originated routes (e.g. routes distributed into BGP from and locally originated routes (e.g. routes distributed into BGP from
protocols such as static) but not access to the BGP instance Loc-RIB. protocols such as static) but not access to the BGP instance Loc-RIB.
This document updates the BGP Monitoring Protocol (BMP) RFC 7854 by This document updates the BGP Monitoring Protocol (BMP) RFC 7854 by
adding access to the BGP instance Local-RIB, as defined in RFC 4271 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 the routes that have been selected by the local BGP speaker's
Decision Process. These are the routes over all peers, locally Decision Process. These are the routes over all peers, locally
originated, and after best-path selection. originated, and after best-path selection.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 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 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 December 11, 2017. This Internet-Draft will expire on August 27, 2018.
Copyright Notice 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. 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 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 publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
skipping to change at page 2, line 26 skipping to change at page 2, line 26
3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . . . 8 4. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . . . 8
4.1. Peer Type . . . . . . . . . . . . . . . . . . . . . . . . 8 4.1. Peer Type . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2. Peer Flags . . . . . . . . . . . . . . . . . . . . . . . 8 4.2. Peer Flags . . . . . . . . . . . . . . . . . . . . . . . 8
5. Loc-RIB Monitoring . . . . . . . . . . . . . . . . . . . . . 9 5. Loc-RIB Monitoring . . . . . . . . . . . . . . . . . . . . . 9
5.1. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . 9 5.1. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . 9
5.2. Peer UP Notification . . . . . . . . . . . . . . . . . . 9 5.2. Peer UP Notification . . . . . . . . . . . . . . . . . . 9
5.2.1. Peer UP Information . . . . . . . . . . . . . . . . . 10 5.2.1. Peer UP Information . . . . . . . . . . . . . . . . . 10
5.3. Peer Down Notification . . . . . . . . . . . . . . . . . 10 5.3. Peer Down Notification . . . . . . . . . . . . . . . . . 10
5.4. Route Monitoring . . . . . . . . . . . . . . . . . . . . 10 5.4. Route Monitoring . . . . . . . . . . . . . . . . . . . . 10
5.4.1. ASN Encoding . . . . . . . . . . . . . . . . . . . . 10 5.4.1. ASN Encoding . . . . . . . . . . . . . . . . . . . . 11
5.4.2. Granularity . . . . . . . . . . . . . . . . . . . . . 10 5.4.2. Granularity . . . . . . . . . . . . . . . . . . . . . 11
5.5. Route Mirroring . . . . . . . . . . . . . . . . . . . . . 11 5.5. Route Mirroring . . . . . . . . . . . . . . . . . . . . . 11
5.6. Statistics Report . . . . . . . . . . . . . . . . . . . . 11 5.6. Statistics Report . . . . . . . . . . . . . . . . . . . . 11
6. Other Considerations . . . . . . . . . . . . . . . . . . . . 11 6. Other Considerations . . . . . . . . . . . . . . . . . . . . 11
6.1. Loc-RIB Implementation . . . . . . . . . . . . . . . . . 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 6.1.2. Filtering Loc-RIB to BMP Receivers . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
8.1. BMP Peer Type . . . . . . . . . . . . . . . . . . . . . . 12 8.1. BMP Peer Type . . . . . . . . . . . . . . . . . . . . . . 12
8.2. BMP Peer Flags . . . . . . . . . . . . . . . . . . . . . 12 8.2. BMP Peer Flags . . . . . . . . . . . . . . . . . . . . . 13
8.3. Peer UP Information TLV . . . . . . . . . . . . . . . . . 12 8.3. Peer UP Information TLV . . . . . . . . . . . . . . . . . 13
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 13
9.1. Normative References . . . . . . . . . . . . . . . . . . 13 9.1. Normative References . . . . . . . . . . . . . . . . . . 13
9.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 13 9.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 13 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
The BGP Monitoring Protocol (BMP) suggests that locally originated The BGP Monitoring Protocol (BMP) suggests that locally originated
routes are locally sourced routes, such as redistributed or otherwise routes are locally sourced routes, such as redistributed or otherwise
added routes to the BGP instance by the local router. It does not 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 specify routes that are in the BGP instance Loc-RIB, such as routes
after best-path selection. after best-path selection.
Figure 1 shows the flow of received routes from one or more BGP peers Figure 1 shows the flow of received routes from one or more BGP peers
skipping to change at page 5, line 27 skipping to change at page 5, line 27
paths is not enabled or if maximum number of equal paths are paths is not enabled or if maximum number of equal paths are
different from Loc-RIB to routes advertised. different from Loc-RIB to routes advertised.
This document adds Loc-RIB to the BGP Monitoring Protocol and This document adds Loc-RIB to the BGP Monitoring Protocol and
replaces Section 8.2 [RFC7854] Locally Originated Routes. replaces Section 8.2 [RFC7854] Locally Originated Routes.
1.1. Current Method to Monitor Loc-RIB 1.1. Current Method to Monitor Loc-RIB
Loc-RIB is used to build Adj-RIB-Out when advertising routes to a 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 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 monitoring the Adj-RIB-In Pre-Policy from another router. At scale
is possible to derive the Loc-RIB, it is also error prone and this becomes overly complex and error prone.
complex.
/------------------------------------------------------\ /------------------------------------------------------\
| ROUTER1 BGP Instance | | ROUTER1 BGP Instance |
| | | |
| +--------------------------------------------+ | | +--------------------------------------------+ |
| | Loc-RIB | | | | Loc-RIB | |
| +--------------------------------------------+ | | +--------------------------------------------+ |
| | | | | | | |
| +------------------+ +------------------+ | | +------------------+ +------------------+ |
| | Peer-ROUTER2 | | Peer-ROUTER3 | | | | Peer-ROUTER2 | | Peer-ROUTER3 | |
skipping to change at page 7, line 19 skipping to change at page 7, line 19
link-state address family enabled. link-state address family enabled.
Complexities introduced with current method in order to derive (e.g. Complexities introduced with current method in order to derive (e.g.
correlate) peer to router Loc-RIB: correlate) peer to router Loc-RIB:
o Adj-RIB-Out received as Adj-RIB-In from another router may have a o 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 erroneous 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.
o BGP peering is designed to work between administrative domains and o BGP peering is designed to work between administrative domains and
therefore does not need to include internal system level therefore does not need to include internal system level
information of each peering router (e.g. the system name or information of each peering router (e.g. the system name or
version information). In order to derive a Loc-RIB to a router, version information). In order to derive a Loc-RIB to a router,
the router name or other system information is needed. The BMP the router name or other system information is needed. The BMP
receiver and user are forced to do some type of correlation using receiver and user are forced to do some type of correlation using
what information is available in the peering session (e.g. peering what information is available in the peering session (e.g. peering
skipping to change at page 8, line 26 skipping to change at page 8, line 26
of the Loc-RIB but may contain additional routes based on BGP of the Loc-RIB but may contain additional routes based on BGP
peering configuration. peering configuration.
o Post-Policy Adj-RIB-Out: The result of applying outbound policy to 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. an Adj-RIB-Out. This MUST be what is actually sent to the peer.
4. Per-Peer Header 4. Per-Peer Header
4.1. Peer Type 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: This document defines the following new peer type:
o Peer Type = TBD: Loc-RIB Instance Peer o Peer Type = TBD: Loc-RIB Instance Peer
4.2. Peer Flags 4.2. Peer Flags
In section 4.2 [RFC7854], the "locally sourced routes" comment under In section 4.2 [RFC7854], the "locally sourced routes" comment under
the L flag description is removed. Locally sourced routes MUST be the L flag description is removed. Locally sourced routes MUST be
conveyed using the Loc-RIB instance peer type. conveyed using the Loc-RIB instance peer type.
skipping to change at page 9, line 13 skipping to change at page 9, line 16
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
Loc-RIB contains all routes from BGP peers as well as any and all Loc-RIB contains all routes from BGP peers as well as any and all
routes redistributed or otherwise locally originated. In this routes redistributed or otherwise locally originated. In this
context, only the BGP instance Loc-RIB is included. Routes from context, only the BGP instance Loc-RIB is included. Routes from
other routing protocols that have not been redistributed, originated other routing protocols that have not been redistributed, originated
by or into BGP, or received via Adj-RIB-In are not considered. 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 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 MUST use the
following values: following values:
o Peer Type: Set to TBD to indicate Loc-RIB Instance Peer. o Peer Type: Set to TBD to indicate Loc-RIB Instance Peer.
o Peer Distinguisher: Zero filled if the Loc-RIB represents the o 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-
skipping to change at page 10, line 22 skipping to change at page 10, line 35
The following peer UP information TLV types are added: The following peer UP information TLV types are added:
o Type = TBD: VRF/Table Name. The Information field contains an 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 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 table name (e.g. RD instance name) being conveyed. The string
size MUST be within the range of 1 to 255 bytes. size MUST be within the range of 1 to 255 bytes.
The VRF/Table Name TLV is optionally included. For consistency, The VRF/Table Name TLV is optionally included. For consistency,
it is RECOMMENDED that the VRF/Table Name always be included. The it is RECOMMENDED that the VRF/Table Name always be included. The
default value of "global" SHOULD be used for the default Loc-RIB 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 5.3. Peer Down Notification
Peer down notification SHOULD follow the section 4.9 [RFC7854] reason Peer down notification SHOULD follow the section 4.9 [RFC7854] reason
2. 2.
The VRF/Table Name informational TLV SHOULD be included if it was in
the Peer UP.
5.4. Route Monitoring 5.4. Route Monitoring
Route Monitoring messages are used for initial synchronization of the Route Monitoring messages are used for initial synchronization of the
Loc-RIB. They are also used to convey incremental Loc-RIB changes. Loc-RIB. They are also used to convey incremental Loc-RIB changes.
As defined in section 4.3 [RFC7854], "Following the common BMP header As defined in section 4.3 [RFC7854], "Following the common BMP header
and per-peer header is a BGP Update PDU." and per-peer header is a BGP Update PDU."
5.4.1. ASN Encoding 5.4.1. ASN Encoding
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 maybe used by a BMP sender State compression and throttling SHOULD be used by a BMP sender to
implementation to reduce the amount of route monitoring messages that reduce the amount of route monitoring messages that are transmitted
are transmitted to BMP receivers. With state compression, only the to BMP receivers. With state compression, only the final resultant
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 10.0.0.0/8 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.
skipping to change at page 13, line 12 skipping to change at page 13, line 30
table name (e.g. RD instance name) being conveyed. The string table name (e.g. RD instance name) being conveyed. The string
size MUST be within the range of 1 to 255 bytes. size MUST be within the range of 1 to 255 bytes.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006, DOI 10.17487/RFC4271, January 2006,
<http://www.rfc-editor.org/info/rfc4271>. <https://www.rfc-editor.org/info/rfc4271>.
[RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP [RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP
Monitoring Protocol (BMP)", RFC 7854, Monitoring Protocol (BMP)", RFC 7854,
DOI 10.17487/RFC7854, June 2016, DOI 10.17487/RFC7854, June 2016,
<http://www.rfc-editor.org/info/rfc7854>. <https://www.rfc-editor.org/info/rfc7854>.
9.2. URIs 9.2. URIs
[1] https://www.iana.org/assignments/bmp-parameters/bmp- [1] https://www.iana.org/assignments/bmp-parameters/bmp-
parameters.xhtml parameters.xhtml
Acknowledgements Acknowledgements
The authors would like to thank John Scudder for his valuable input. The authors would like to thank John Scudder for his valuable input.
 End of changes. 21 change blocks. 
25 lines changed or deleted 44 lines changed or added

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