IDR J. Heitz
Internet-Draft Cisco
Intended status: Standards Track K. Patel
Expires: March 27, 2017 Arrcus
J. Snijders
NTT
I. Bagdonas
Equinix
A. Simpson
Nokia
September 23, 2016
Large BGP Communities
draft-ietf-idr-large-community-00
Abstract
The BGP Communities Attribute [RFC1997] is heavily used by operators,
but is inadequate to represent large enough values, particularly
Four-octet Autonomous System numbers [RFC6793] plus additional
values. This document describes an extension to BGP [RFC4271] to
address this need with a new extended form of the BGP community
Attribute.
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].
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/.
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 March 27, 2017.
Heitz, et al. Expires March 27, 2017 [Page 1]
Internet-Draft Large BGP Communities September 2016
Copyright Notice
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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Large BGP Community Attribute . . . . . . . . . . . . . . . . 3
3. Textual Representation . . . . . . . . . . . . . . . . . . . 4
4. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . 5
6. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
9.1. Normative References . . . . . . . . . . . . . . . . . . 6
9.2. Informative References . . . . . . . . . . . . . . . . . 7
9.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
BGP implementations typically support a routing policy language (RPL)
to control the distribution of routing information. Network
operators add BGP communities to routes via the RPL to identify
intrinsic differentia of a route such as its origin country or
specify a RPL action to be taken, or one that has been taken, on an
individual route or group of routes. Because BGP communities are
optional transitive BGP attributes, these differentia and actions
identified by the communities may be acted upon or otherwise utilized
by the RPL in any Autonomous System (AS) in the Internet, often are
and often the goal of adding a community is to signal an AS one or
more AS-hops away.
BGP Communities Attributes are 4-octet values split into two 2-octet
values where the most significant word is an Autonomous System number
(ASN) and the least significant word is a value whose meaning is
Heitz, et al. Expires March 27, 2017 [Page 2]
Internet-Draft Large BGP Communities September 2016
defined by operators of that Autonomous System. This operator-
defined value is the aforementioned differentia or RPL action.
Since the adoption of Four-octet ASNs [RFC6793], the BGP Communities
Attribute can no longer accommodate this encoding because it is only
large enough to hold the ASN. Some operators have also expressed a
need for more than 2-octets of operator-defined values. This has led
operators to create obtuse mappings to fit within 2-octets, the use
of which are tedious and error prone and still can not accommodate
all use-cases.
To address this, a Large Community BGP attribute is defined to encode
one or more 12-octet values each consisting of a Four-octet
Autonomous System Number and two 4 octet operator-defined values for
differentia or actions defined by that Autonomous System.
2. Large BGP Community Attribute
This document creates the Large Communities BGP path attribute as an
optional transitive attribute of variable length. All routes with
the Large Community attribute belong to the communities in the
attribute.
The Large COMMUNITIES attribute has Type Code TBD - RFC EDITOR fill-
in IANA assigned value.
The attribute consists of one or more 12-octet values. Each 12-octet
Large Community value represents three 4-octet values, as follows:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Autonomous System Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Data Part 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Data Part 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Autonomous System Number: The Four-octet ASN of the operator with
whom definition of the final two 4-octet values lies.
Local Data part 1: 4-octet operator-defined value.
Local Data part 2: 4-octet operator-defined value.
Heitz, et al. Expires March 27, 2017 [Page 3]
Internet-Draft Large BGP Communities September 2016
3. Textual Representation
The textual representation of BGP Communities [RFC1997] in RPLs and
the networking community is known well as two 2-octet unsigned
integers and is often represented as such, separated a colon. For
example, 65000:12345 (ASN:differentia).
Large Communities MUST be represented similarly, as three 4-octet
unsigned integers with no leading zeros. An integer MUST NOT be
omitted, even when zero. Implementations MUST represent Large
Communities in RPL in a manner consistent with their representation
of BGP Communities [RFC1997]. For example, 65000:1:2 (ASN:Local Data
Part 1:Local Data Part 2) or 65000:0:0.
The following Large BGP Communities textual specification uses the
Augmented Backus-Naur Form (ABNF) notation as specified in [RFC5234].
positive-digit = "1" / "2" / "3" /
"4" / "5" / "6" /
"7" / "8" / "9"
digit = "0" / positive-digit
non-zero-int = positive-digit *9digit
part = "0" / non-zero-int ; max value is 4294967295
large-community = part ":" part ":" part
Vendors MAY provide other textual representations.
4. Error Handling
The error handling of Large Community is as follows:
o A Large Community BGP Path Attribute with a length of zero MUST be
ignored upon receipt and removed when sending.
o A Large Community attribute SHALL be considered malformed if its
length is not a non-zero multiple of 12 bytes.
o A BGP UPDATE message with a malformed Large Community attribute
SHALL be handled using the approach of "treat-as-withdraw" as
described in section 2 [RFC7606].
Heitz, et al. Expires March 27, 2017 [Page 4]
Internet-Draft Large BGP Communities September 2016
5. Security Considerations
This extension to BGP has similar security implications as BGP
Communities [RFC1997].
underlying security issues. Specifically, an AS relying on the BGP
attributes carried in BGP must have trust in every AS in the path to
the source of the route, as any AS in the path may have altered or
deleted attributes or added false attributes. Specifying the
mechanism(s) to provide such trust is beyond the scope of this
document.
6. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION
This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in [RFC7942].
The description of implementations in this section is intended to
assist the IETF in its decision processes in progressing drafts to
RFCs. Please note that the listing of any individual implementation
here does not imply endorsement by the IETF. Furthermore, no effort
has been spent to verify the information presented here that was
supplied by IETF contributors. This is not intended as, and must not
be construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may
exist.
As of today these vendors have produced an implementation of Large
BGP Community:
o Cisco IOS XR
o ExaBGP
o GoBGP
The latest implementation news is tracked at
http://largebgpcommunities.net/ [1].
7. IANA Considerations
IANA is requested to assign a BGP path attribute value for the Large
Community attribute.
Heitz, et al. Expires March 27, 2017 [Page 5]
Internet-Draft Large BGP Communities September 2016
8. Acknowledgements
The authors would like to thank Ruediger Volk, Russ White, Acee
Lindem, Shyam Sethuram, Jared Mauch, Joel M. Halpern, Nick Hilliard,
Jeffrey Haas, John Heasley, Gunter van de Velde, Marco Marzetti,
Eduardo Ascenco Reis, Mark Schouten, Paul Hoogsteder, Martijn
Schmidt, Greg Hankins, Acee Lindem, Bertrand Duvivier, Barry
O'Donovan, Grzegorz Janoszka, Linda Dunbar, Marco Davids, Gaurab Raj
Upadhaya, Jeff Tantsura, Teun Vink, Adam Davenport, Theodore Baschak,
Pier Carlo Chiodi, Nabeel Cocker, Ian Dickinson, Jan Baggen, Duncan
Lockwood, David Farmer, Randy Bush, Wim Henderickx, Stefan Plug, Kay
Rechthien, Rob Shakir, Warren Kumari, Gert Doering, Thomas King,
Mikael Abrahamsson, Wesley Steehouwer, Sander Steffann, Brad
Dreisbach, Martin Millnert, Christopher Morrow, Jay Borkenhagen,
Arnold Nipper, Joe Provo, Niels Bakker, Bill Fenner, Tom Daly, Ben
Maddison, Alexander Azimov, Brian Dickson and Peter van Dijk for
their support, insightful review and comments.
9. References
9.1. Normative References
[RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities
Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996,
<http://www.rfc-editor.org/info/rfc1997>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[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,
<http://www.rfc-editor.org/info/rfc4271>.
[RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet
Autonomous System (AS) Number Space", RFC 6793,
DOI 10.17487/RFC6793, December 2012,
<http://www.rfc-editor.org/info/rfc6793>.
[RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K.
Patel, "Revised Error Handling for BGP UPDATE Messages",
RFC 7606, DOI 10.17487/RFC7606, August 2015,
<http://www.rfc-editor.org/info/rfc7606>.
Heitz, et al. Expires March 27, 2017 [Page 6]
Internet-Draft Large BGP Communities September 2016
9.2. Informative References
[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234,
DOI 10.17487/RFC5234, January 2008,
<http://www.rfc-editor.org/info/rfc5234>.
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running
Code: The Implementation Status Section", BCP 205,
RFC 7942, DOI 10.17487/RFC7942, July 2016,
<http://www.rfc-editor.org/info/rfc7942>.
9.3. URIs
[1] https://largebgpcommunities.net
Authors' Addresses
Jakob Heitz
Cisco
170 West Tasman Drive
San Jose, CA 95054
USA
Email: jheitz@cisco.com
Keyur Patel
Arrcus, Inc
Email: keyur@arrcus.com
Job Snijders
NTT Communications
Theodorus Majofskistraat 100
Amsterdam 1065 SZ
NL
Email: job@ntt.net
Ignas Bagdonas
Equinix
London
UK
Email: ibagdona.ietf@gmail.com
Heitz, et al. Expires March 27, 2017 [Page 7]
Internet-Draft Large BGP Communities September 2016
Adam Simpson
Nokia
600 March Road
Ottawa Ontario K2K 2E6
Canada
Email: adam.1.simpson@nokia.com
Heitz, et al. Expires March 27, 2017 [Page 8]