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]