GROW | J. Snijders |
Internet-Draft | NTT |
Intended status: Informational | M. Schmidt |
Expires: June 10, 2017 | i3D.net |
December 7, 2016 |
Usage of Large BGP Communities
draft-ietf-grow-large-communities-usage-00
Examples and inspiration for operators on how to use Large BGP Communities.
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].
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/.
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 June 10, 2017.
Copyright (c) 2016 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 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.
Large BGP Communities [I-D.ietf-idr-large-community] provide a mechanism to signal opaque information between Autonomous Systems. This document presents a set of examples on how Large BGP Communities could be implemented by an operator to achieve various goals. This document draws from experience in Operational Communities such as NANOG and NLNOG.
The opaque nature of Large BGP Communities allows for rapid deployment of new features or changes to the product. Operators are encouraged to publicly publish an up to date version of their routing policy in which they document what each Large BGP Community means.
Large BGP Communities are composed of a 4-octet Global Administrator field followed by two 4-octet Local Data fields. The design pattern described in this document uses a "ASN:Function:Parameter"-approach to fill the three fields.
In deployments of both BGP Communities [RFC1997] and Large BGP Communities, two categories of Communities are recognised:
For each context ideas are provided regarding the contents of each of the three fields in Large BGP Communities.
AS 65551 | ^ | AS 64497 / \ ^ \ / ^ AS 64498 \ | | `<->- AS 64499
Throughout the document a topology of four Autonomous Systems is used to illustrate the usage of Communities in the following configuration:
Informational Communites serve as markers regarding the origin of the route announcement, the relation with the EBGP neighbor or for instance the intended propagation audience. Informational Communities also assist in network operations such as debugging.
The Global Administrator field is set to the ASN which is marking the routes with the Informational Communities. As an example: on a route which AS 64497 announces to AS 64498, AS 64497 might add the Large BGP Community 64497:100:31 to signal to AS 64498 that the route was learned in the Netherlands.
In general the intended audience of Informational Communities are downstream networks, but any adjacent Autonomous System could benefit from receiving these communities.
Action Communities are attached to routes to request non-default behaviour in an adjacent Autonomous System. For instance, Action Communities are used to change the route's propagation characteristics, the route's LOCAL_PREF value or the amount of AS_PATH prepends that should be added when exporting or importing a route.
The Global Administrator field is set to the ASN which is expected to perform a non-default action upon receiving the route. For instance, if AS 64499 would want to request AS 64497 to lower the LOCAL_PREFERENCE below the default, AS 64499 could tag the route with 64497:20:50.
In general the intended audience of Action Communities is an upstream provider.
AS 64497 can inform its downstream networks about the geographical entity where AS 64497 learned a route by marking the route with Large BGP Communities following one or a combination of the following schemes.
AS 64497 could assign a value of 1 to the first Local Data field to designate the function of the parameter in the second Local Data field as ISO-3166-1 numeric country identifiers.
Large BGP Community | Meaning |
---|---|
64497:1:528 | Route learned in Netherlands |
64497:1:392 | Route learned in Japan |
64497:1:840 | Route learned in United States of America |
Example documentation for AS 64497 using Informational Communties describing the origin of routes using ISO 3166-1 numeric identifiers.
AS 64497 could assign a value of 2 to the first Local Data field to designate the function of the parameter in the second Local Data field as an identifier for the macro geographical (continental) regions, geographical sub-regions, or selected economic and other groupings following a set of published identifiers by the United Nations Statistics Division.
Large BGP Community | Meaning |
---|---|
64497:2:2 | Route learned in Africa |
64497:2:9 | Route learned in Oceania |
64497:2:145 | Route learned in Western Asia |
64497:2:150 | Route learned in Europe |
Example documentation for AS 64497 using Informational Communties describing the origin of routes using numeric identifiers provided by the UN Statistics Division.
AS 64497 could assign a value of 3 to the first Local Data field to designate that the second Local Data field contains an identifier showing the relation with the EBGP neighbor from whom the route was received.
Large BGP Community | Meaning |
---|---|
64497:3:1 | Route learned from a customer |
64497:3:2 | Route learned from a peering partner |
64497:3:3 | Route learned from an upstream provider |
Example documentation for AS 64497 using Informational Communties describing the relation with the ASN from which the route was received.
Multiple Informational Communities can be tagged on a route, for example: a route learned in the Netherlands from a customer can contain both 64497:1:528 and 64497:2:150 and 64497:3:1.
As part of the commercial agreement between AS 64497 and AS 64498, AS 64497 might offer AS 64498 certain BGP Traffic Engineering features such as selectively not exporting routes learned from 64498 to certain EBGP neighbors of AS 64497.
AS 64497 might assign function identifier 4 to allow preventing propagation of routes to the ASN listed in the second Local Data field.
Large BGP Community | Meaning |
---|---|
64497:4:2914 | Do not export route to AS 2914 |
64497:4:7018 | Do not export route to AS 3356 |
64497:4:65551 | Do not export route to AS 65551 |
Example documentation for AS 64497 offering Action Communties to limit propagation of routes based on the Peer ASN described in the third field.
AS 64497 might assign function identifier 5 to allow its customers to request selectively not exporting routes on EBGP sessions within a certain geographical area. This example follows the ISO 3166-1 numeric encoding.
Large BGP Community | Meaning |
---|---|
64497:5:528 | Do not export to EBGP neighbors in the Netherlands |
64497:5:392 | Do not export to EBGP neighbors in Japan |
64497:5:840 | Do not export to EBGP neighbors in United States of America |
Example documentation for AS 64497 offering Action Communties to trigger NO_EXPORT on routes only when propagating the route to a certain geographical region.
As part of the commercial agreement between AS 64497 and AS 64498, AS 64497 might offer AS 64498 certain BGP Traffic Engineering features such as selectively prepending the AS_PATH with 64497's ASN to certain EBGP neighbors of AS 64497.
AS 64497 might assign function identifier 6 to allow prepending the AS_PATH on propagation of routes to the ASN listed in the second Local Data field.
Large BGP Community | Meaning |
---|---|
64497:6:2914 | Prepend 64497 once on export to AS 2914 |
64497:6:7018 | Prepend 64497 once on export to AS 7018 |
64497:6:65551 | Prepend 64497 once on export to AS 65551 |
Example documentation for AS 64497 offering Action Communties to trigger prepending of the AS_PATH only when propagating the route to a certain Peer ASN.
AS 64497 might assign function identifier 7 to allow prepending of the AS_PATH on propagation of routes to on any EBGP neighbor's interconnection in the geographical entity listed in the second Local Data field. This example follows the ISO 3166-1 numeric encoding.
Large BGP Community | Meaning |
---|---|
64497:7:528 | Prepend once to EBGP neighbors in the Netherlands |
64497:7:392 | Prepend once to EBGP neighbors in Japan |
64497:7:840 | Prepend once to EBGP neighbors in United States of America |
Example documentation for AS 64497 offering Action Communties to trigger prepending of the AS_PATH only when propagating the route to a certain geographical region.
To be filled in.
Network operators should note the recommendations in Section 11 of BGP Operations and Security [RFC7454].
None.
Thanks to ...
[I-D.ietf-idr-large-community] | Heitz, J., Snijders, J., Patel, K., Bagdonas, I., Simpson, A. and N. Hilliard, "Large BGP Communities", Internet-Draft draft-ietf-idr-large-community-06, October 2016. |
[RFC1997] | Chandra, R., Traina, P. and T. Li, "BGP Communities Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996. |
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC7454] | Durand, J., Pepelnjak, I. and G. Doering, "BGP Operations and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454, February 2015. |