IDR                                                             J. Heitz
Internet-Draft                                                     Cisco
Intended status: Standards Track                                K. Patel
Expires: March 27, April 4, 2017                                            Arrcus
                                                             J. Snijders
                                                                     NTT
                                                             I. Bagdonas
                                                                 Equinix
                                                              A. Simpson
                                                                   Nokia
                                                      September 23,
                                                         October 1, 2016

                         Large BGP Communities
                   draft-ietf-idr-large-community-00
                   draft-ietf-idr-large-community-01

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 the Large BGP Community attribute, an
   extension to BGP [RFC4271] to
   address this need with (RFC 4271).  This attribute provides a new extended form of the BGP community
   Attribute. mechanism to
   signal opaque information within separate namespaces to aid in
   routing management.  The attribute is suitable for use in 4-byte ASNs
   (RFC 6793).

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, April 4, 2017.

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 Communities Attribute . . . . . . . . . . . . . . . .   3
   3.  Aggregation . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Textual Representation  . . . . . . . . . . . . . . . . . . .   4
   4.
   5.  Reserved Large BGP Community values . . . . . . . . . . . . .   4
   6.  Error Handling  . . . . . . . . . . . . . . . . . . . . . . .   4
   5.   5
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   6.
   8.  Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION   5
   7.
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   8.  Acknowledgements   6
   10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   6
   9.
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     9.1.   7
     11.1.  Normative References . . . . . . . . . . . . . . . . . .   6
     9.2.   7
     11.2.  Informative References . . . . . . . . . . . . . . . . .   7
     9.3.
     11.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
   attach BGP communities to routes via the RPL to identify intrinsic differentia properties of a route
   these routes.  These properties may include information such as its the
   route origin country location, or
   specify specification of a RPL routing policy action to
   be taken, or one that has been taken, on and may apply to an individual
   route or to a group of routes.  Because BGP communities are optional
   transitive BGP attributes, these differentia and actions
   identified by the BGP communities may be acted upon or
   otherwise utilized used by the RPL routing policies in any other Autonomous System (AS) in the Internet, often are
   and often Systems (ASes)
   on the goal of adding a community is to signal an AS one or
   more AS-hops away. Internet.

   [RFC1997] BGP Communities Attributes are 4-octet four-octet values split into
   two 2-octet
   values where the individual two-octet words.  The most significant word is usually
   interpreted as an Autonomous System number Number (ASN) and the least
   significant word is a locally defined value whose meaning is
   defined assigned
   by operators the operator of that the Autonomous System.  This operator-
   defined value is System in the aforementioned differentia or RPL action. most significant
   word.

   Since the adoption of Four-octet four-octet ASNs [RFC6793], the BGP Communities
   Attribute can no longer accommodate this encoding because it is only
   large enough to hold encoding, as the ASN.  Some operators have also expressed a
   need for more than 2-octets of operator-defined values.
   specification in [RFC1997] contains only four octets.  This has led does not
   allow 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. specify any locally significant values.

   To address this, these shortcomings, this document defines a Large
   Community BGP attribute is defined to encode Attribute encoded as one or more 12-octet values values, each
   consisting of a Four-octet
   Autonomous System Number four-octet ASN and two 4 octet four-octet operator-defined values for
   differentia or actions defined by
   values, each of which can be used to denote properties or actions
   significant to that Autonomous System. ASN.

2.  Large BGP Community Communities Attribute

   This document creates the Large Communities BGP path attribute as an
   optional transitive attribute of variable length.  All routes with
   the Large Community Communities attribute belong to the communities community specified 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 Communities 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                      Global Administrator                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Local Data Part 1                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Local Data Part 2                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Global Administrator:  A four-octet namespace identifier.  This
      SHOULD be an Autonomous System Number:  The Four-octet ASN of the operator with
      whom definition of the final two 4-octet values lies. Number assigned by IANA.

   Local Data part Part 1:  4-octet  A four-octet operator-defined value.

   Local Data part Part 2:  4-octet  A four-octet operator-defined value.

   The Global Administrator field is intended to allow different
   Autonomous Systems to define Large Communities without collision.
   Implementations MUST allow the operator to specify any value for the
   Global Administrator field.

   There is no significance to the order in which Large Communities are
   encoded in a path attributes field and a receiving speaker MAY
   retransmit them in an order different from which it received them.

   Duplicate Large Communities SHOULD NOT be transmitted.  A receiving
   speaker SHOULD silently remove duplicate Large Communities from a BGP
   UPDATE message.

   There are no routing semantics implied by the Global Administrator
   field.

3.  Aggregation

   If a range of routes is aggregated and the resulting aggregates
   attribute section does not carry the ATOMIC_AGGREGATE attribute, then
   the resulting aggregate should have a Large Communities path
   attribute which contains all of the large communities from all of the
   aggregated routes.

4.  Textual Representation

   The textual representation of

   BGP Communities [RFC1997] are usually represented in RPLs and
   the networking community is known well routing policy
   languages as two 2-octet individual two-octet unsigned integers and is often represented as such, separated by
   a colon.  For colon; for example, 65000:12345 (ASN:differentia). 64496:12345.

   BGP Large Communities implementations MUST represent Large
   Communities in a manner similar to their representation of BGP
   Communities [RFC1997].  Large Communities MUST be represented similarly, as
   three 4-octet separate four-octet unsigned integers in decimal format with no
   leading zeros.  An integer  These integers MUST NOT be omitted, even when zero.  Implementations MUST represent
   For example, 64496:4294967295:2 or 64496:0:0.

   Vendors MAY provide other textual representations.  For example, a
   vendor's routing policy language may use a separator other than a
   colon or may require keywords or characters prepending or postpending
   the Large Communities in RPL in attribute.  Such differences are permitted.
   However, each implementation MUST make a manner consistent with their representation
   of BGP Communities [RFC1997].  For example, 65000:1:2 (ASN:Local available
   that depicts the integers in decimal and in the following order:
   Global Administrator, Local Data Part 1:Local 1, Local Data Part 2) or 65000:0:0. 2.

5.  Reserved Large BGP Community values

   The following Large BGP Communities textual specification uses the
   Augmented Backus-Naur Form (ABNF) notation as specified Community attribute values 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. the following ranges are
   reserved:

            0:0:0 -          0:4294967295:4294967295
        65535:0:0 -      65535:4294967295:4294967295
   4294967295:0:0 - 4294967295:4294967295:4294967295

6.  Error Handling

   The error handling of Large Community Communities is as follows:

   o  A Large Community Communities BGP Path Attribute with a length of zero MUST
      be ignored upon receipt and removed when sending.

   o  A Large Community Communities 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 Communities attribute
      SHALL be handled using the approach of "treat-as-withdraw" as
      described in section 2 [RFC7606].

   The BGP Large Communities Global Administrator field may contain any
   value, and a Large Communities attribute MUST NOT be considered
   malformed if the Global Administrator field contains an unallocated,
   unassigned or reserved ASN or is set to one of the reserved Large BGP
   Community values defined in Section 5.

   A receiving speaker MUST NOT consider duplicate Large Communities
   attributes in a BGP UPDATE message to be malformed.

7.  Security Considerations

   This extension to BGP has similar security implications as BGP
   Communities [RFC1997]. [RFC1997] and BGP Extended Communities [RFC4360].

   This document does not change any underlying security issues. issues
   associated with any other BGP Communities mechanism.  Specifically,
   an AS relying on the Large BGP
   attributes Community attribute carried in BGP
   must have trust in every other AS in the path to
   the source of the route, path, as any AS intermediate
   Autonomous System in the path may have altered or added, deleted attributes or added false attributes. altered the
   Large BGP Community attribute.  Specifying the
   mechanism(s) mechanism to provide
   such trust is beyond the scope of this document.

6.

   Network administrators should note the recommendations in Section 11
   of BGP Operations and Security [RFC7454].

8.  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

   o  BIRD

   The latest implementation news is tracked at
   http://largebgpcommunities.net/ [1].

7.

9.  IANA Considerations

   IANA is requested to assign a BGP path attribute has assigned value for 30 (LARGE_COMMUNITY Attribute) in the Large
   Community attribute.

8.  Acknowledgements "BGP
   Path Attributes" sub-registry under the "Border Gateway Protocol
   (BGP) Parameters" registry.

10.  Acknowledgments

   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 Dickson, Peter van Dijk Dijk, Julian
   Seifert, Tom Petch and Tom Scholl for their support, insightful
   review and comments.

9.

11.  References

9.1.

11.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>.

9.2.

11.2.  Informative References

   [RFC5234]  Crocker,

   [RFC4360]  Sangli, S., Tappan, D., Ed. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", STD 68, Y. Rekhter, "BGP Extended
              Communities Attribute", RFC 5234, 4360, DOI 10.17487/RFC5234, January 2008,
              <http://www.rfc-editor.org/info/rfc5234>. 10.17487/RFC4360,
              February 2006, <http://www.rfc-editor.org/info/rfc4360>.

   [RFC7454]  Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations
              and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454,
              February 2015, <http://www.rfc-editor.org/info/rfc7454>.

   [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.

11.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

   Adam Simpson
   Nokia
   600 March Road
   Ottawa  Ontario K2K 2E6
   Canada

   Email: adam.1.simpson@nokia.com