Re: [Idr] Why do we define so many communities for BGP

Jeffrey Haas <jhaas@pfrc.org> Tue, 08 November 2016 15:14 UTC

Return-Path: <jhaas@slice.pfrc.org>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 574A1129781; Tue, 8 Nov 2016 07:14:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.399
X-Spam-Level:
X-Spam-Status: No, score=-3.399 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-1.497, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 72phC3vd7Q8X; Tue, 8 Nov 2016 07:14:19 -0800 (PST)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id B6A681296D6; Tue, 8 Nov 2016 07:14:18 -0800 (PST)
Received: by slice.pfrc.org (Postfix, from userid 1001) id 3E6341E337; Tue, 8 Nov 2016 10:17:01 -0500 (EST)
Date: Tue, 8 Nov 2016 10:17:01 -0500
From: Jeffrey Haas <jhaas@pfrc.org>
To: "lizhenqiang@chinamobile.com" <lizhenqiang@chinamobile.com>
Message-ID: <20161108151701.GA23018@pfrc.org>
References: <2016110819514874384911@chinamobile.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <2016110819514874384911@chinamobile.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/KcdvYrc0YS06Ve_JO8v2Oljq2-0>
Cc: idr <idr@ietf.org>, "draft-ietf-idr-large-community.all" <draft-ietf-idr-large-community.all@ietf.org>, "draft-ietf-idr-wide-bgp-communities.all" <draft-ietf-idr-wide-bgp-communities.all@ietf.org>, idr-chairs <idr-chairs@ietf.org>
Subject: Re: [Idr] Why do we define so many communities for BGP
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 08 Nov 2016 15:14:25 -0000

[Removing individual draft aliases.]

On Tue, Nov 08, 2016 at 07:51:52PM +0800, lizhenqiang@chinamobile.com wrote:
> I am confused by large community defined in draft-ietf-idr-large-community, wide community defined in draft-ietf-idr-wide-bgp-communities, extended community defined in RFC4360, community defined in RFC1997. Why do we need so many kinds of BGP communities? Can the large community be encoded in type 3 wide community? Thank you for your explaination.

With specific regard to version wide communities draft -03, as part of
discussion with the large communities authors on various encoding options,
-03 was issued to provide suitable talking points about how various
behaviors could be accomplished under a common header.  As Job noted, the
fundamental differences in the proposals resulted in large communities not
utilizing the common header.

Wide communities was not really intended to be a generic 1997 replacement
and is intended to cover different goals.  We will be restoring the -02
common header format so Huawei's prototype is again conformant and other
prototypes will utilize that format.

The Type 2 wide community which covered the 4:4 will similarly be removed
since its functionality is covered by large comms.

----

With regard to the more general question, routing marking mechanisms
continue to vary in format mostly to cover differing use cases.  Extended
communities, for example, were originally deployed primarily for BGP VPN use
cases.  They've proven flexible enough to cover similar abstract marking for
a number of other applications, although as Job noted the 4:4 case wasn't
able to fit into that format.

RFC 1997 communities proved to be a good marking mechanism for generic
applications over the years.  For single-state marking, the well known
communities fit well into that.  Large communities covered the general need
to expand the ability to fit AS numbers in a 1997 style marking mechanism
for 4-byte ASes.  As you've also noticed, those authors also added an
additional field expanding the scope of 1997 communities to add the
flexibility to add another "parameter".

Wide communities is intended to cover more "intent-based" route marking.

As a fundamental CS observation, it is understood that all marking
mechanisms that have scoped namespaces can be collapsed into a smaller
number of equivalence classes.  This is effectively how 1997 community
policy has been implemented over the years, with the mapping of
functionality in those ECs present in a service provider's published
community policy.  However, equivalence classes make operational work more
difficult since it removes more natural human and machine readable versions
of the policy elements.  It's this property that has encouraged a
diversification in marking mechanisms.

-- Jeff