IDR Working Group R. Raszuk
Internet-Draft Cisco Systems
Intended status: Standards Track H. Gredler
Expires: January 5, 2011 Juniper Networks
July 4, 2010
Wide BGP Communities
draft-raszuk-wide-bgp-communities-00
Abstract
Communicating various routing policies via route tagging plays an
important role in external BGP peering relations. The most common
tool used today to attach various information about routes is
realized with the use of BGP communities. Such information is
important for the peering AS to perform some mutually agreed actions
without the need to maintain a separate offline database for each
pair of prefix and an associated with it requested set of action
entries.
The problem arises for customers which are assigned a 4 octet AS
numbers as current definition of BGP communities are of total of 4
octets in length.
This document proposes the solution to this problem by defining new
type of BGP Extended Community attribute which is to be used to pass
routing policy information between peers. Such new type could be
used to pass existing routing policies which are communicated today
by Internet Service Providers in standard BGP Community Attribute
which have two octet AS numbers as well as those which already got
assigned 4 octet AS numbers from their respected Internet routing
registries.
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."
Raszuk & Gredler Expires January 5, 2011 [Page 1]
Internet-Draft wide-bgp-communities July 2010
This Internet-Draft will expire on January 5, 2011.
Copyright Notice
Copyright (c) 2010 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.
Raszuk & Gredler Expires January 5, 2011 [Page 2]
Internet-Draft wide-bgp-communities July 2010
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Wide BGP Community . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Wide BGP Community . . . . . . . . . . . . . . . . . . . . 5
3. Globally significant pre-defined values . . . . . . . . . . . 7
3.1. Well Known Standard BGP Communities . . . . . . . . . . . 7
3.2. Registered pre-defined Wide BGP Communities . . . . . . . 7
3.2.1. General Registered Wide BGP Communities . . . . . . . 8
3.2.2. Advertisement control Registered Wide BGP
Communities . . . . . . . . . . . . . . . . . . . . . 10
3.2.3. AS source marking Registered Wide BGP Communities . . 12
3.2.4. Return path influencing Registered Wide BGP
Communities . . . . . . . . . . . . . . . . . . . . . 13
3.2.5. AS_PATH modifying Registered Wide BGP Communities . . 14
3.2.6. Geographic source marking Registered Wide BGP
Communities . . . . . . . . . . . . . . . . . . . . . 16
3.2.7. Local Preference Registered Wide BGP Communities . . . 17
3.2.8. AS_PATH TTL Registered Wide BGP Communities . . . . . 18
4. Encoding examples . . . . . . . . . . . . . . . . . . . . . . 19
5. Operational considerations . . . . . . . . . . . . . . . . . . 20
6. Security considerations . . . . . . . . . . . . . . . . . . . 20
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 23
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 24
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24
10.1. Normative References . . . . . . . . . . . . . . . . . . . 24
10.2. Informative References . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24
Raszuk & Gredler Expires January 5, 2011 [Page 3]
Internet-Draft wide-bgp-communities July 2010
1. Introduction
RFC 1997 [RFC1997] defines a BGP Community Attribute to be used as a
tool to contain in BGP update message various additional information
about routes which may help to automate peering administration. As
defined in RFC 1997 [RFC1997] BGP Communities attribute consists of
one or more sets of four octet values, where each one of them
specifies a different community. Except two reserved ranges the
encoding of community values mandates that first two octets are to
contain the Autonomous System number followed by next two octets
containing locally defined value.
With the introduction of 4-octet Autonomous System numbers by RFC
4893 [RFC4893] it became obvious that BGP Communities as specified in
RFC 1997 will not be able to accommodate new AS encoding. In fact
RFC 4893 explicitly recommends use of four octets AS specific
extended communities as a way to encode new 4 octet AS numbers.
Unfortunately both the RFC 4893 as well as proposal for new extended
community encoding which would contain 4 octet AS numbers do not
define a new sub-type value which would allow to carry routing
policies in BGP extended communities. Authors believe that defining
a new regular type of BGP Extended Communities for both two-octet and
four-octet Autonomous System addresses a real operational problem of
today's networks or of internet exchange points operators.
While defining a new type of any tool there is always a unique
opportunity to specify a subset of well recognized behaviors. Second
part of this document lists the most commonly used today BGP
communities as well as provides a new registry for future
definitions.
2. Wide BGP Community
The BGP Extended Communities attribute as defined in RFC 4360
[RFC4360] is a transitive optional BGP attribute with the Type Code
16 and consists of a set of extended communities of the following
format:
Raszuk & Gredler Expires January 5, 2011 [Page 4]
Internet-Draft wide-bgp-communities July 2010
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type high | Type low(*) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Value |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(*) Present for Extended types only, used for the Value field
otherwise.
Figure1: The Extended Community Attribute
For the purposes of encoding for Wide BGP Communities a new extended
community type has been defined below.
2.1. Wide BGP Community
Wide BGP Community is a BGP Extended Community of a regular type with
Type Field comprising of 1 octet and Value Field comprising of 7
octets.
Wide BGP Community is encoded 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x06 or 0x46 | ACTIONS | 2 or 4 octet AS number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 or 4 octet AS number | Community Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure2: Wide BGP Community
For the purpose of scoping propagation of Wide BGP Communities across
Autonomous System boundaries document recommends to define two
values. The value of the high type of this regular extended
community is 0x06 which indicates transitiveness across Autonomous
System boundaries and 0x46 to indicate non-transitiveness across an
Autonomous System boundary. *Values are to be confirmed by IANA*
The remaining 7 octets are encoded as follows:
ACTIONS: 1 octet
Raszuk & Gredler Expires January 5, 2011 [Page 5]
Internet-Draft wide-bgp-communities July 2010
1 2 3 4 5 6 7 8
+---+---+---+---+---+---+---+---+
| ACTIONS |
+---+---+---+---+---+---+---+---+
Figure2: Wide BGP Community Actions 1 octet
The Actions octet allows for explicit indication of the requested
execution meaning or level of attached Wide BGP Community value.
0x00 - Default action. No special handling.
0x01 - Informational Only Support Indicator - Used to signal that
attached Wide BGP Community is supported by given Autonomous
System. That is particularly useful for AS specific Wide BGP
Communities which are to be executed on remote transit domains or
target domains. No execution is required on Wide BGP Communities
propagate with this Action flag.
0x02 - Mandatory Execution - Indicates that an action encoded in
attached Wide BGP Community is of mandatory execution type and
therefor if given community is recognized it must be executed. If
not executed for example due to local policy the bgp update
message containing such Wide BGP Community must be dropped.
However it needs to be pointed that as BGP communities are
optional by design and therefor could be filtered at any network
boundary the semantics of this action do not change that. The
specified action does not change the base definition of BGP
communities.
0x03..0x7F - Reserved for future extensions
0x80..0xFF - Open for operator's own use
2 or 4 octet Autonomous System number: 4 octets
The Autonomous System number which indicates the originator of
given Wide BGP Community or the target Autonomous System number
given Wide BGP Community may be referring to.
When Autonomous System is a two octet number the first two octets
of this 4 octet value are to be filled with zeros.
Two special values are reserved in the Autonomous System number
field: 0x00000000 - to indicate "None of Autonomous Systems" and
value of 0xFFFFFFFF - to indicate "All of Autonomous Systems".
The detailed interpretation will be provided when describing each
Raszuk & Gredler Expires January 5, 2011 [Page 6]
Internet-Draft wide-bgp-communities July 2010
given community type which would intend to utilize the reserved
Autonomous System number.
Community Value: 2 octets
The Wide BGP Community value encoded in this field indicates
private or registered Wide BGP Community type which defines what
set of actions a router is requested or recommended to take upon
reception of routes with such tags.
3. Globally significant pre-defined values
3.1. Well Known Standard BGP Communities
According to RFC 1997 as well as to IANA's Well-Known BGP Communities
registry today the following BGP communities are defined to have
global significance:
0xFFFF0000 planned-shut [draft-francois-bgp-gshut]
0xFFFFFF01 NO_EXPORT [RFC1997]
0xFFFFFF02 NO_ADVERTISE [RFC1997]
0xFFFFFF03 NO_EXPORT_SUBCONFED [RFC1997]
0xFFFFFF04 NOPEER [RFC3765]
This document recommends for simplicity as well as for avoidance of
backward compatibility issues the continued use of BGP Standard
Community Attribute type 8 as defined in RFC 1997 to distribute non
Autonomous System specific Well-Known BGP Communities.
3.2. Registered pre-defined Wide BGP Communities
It has been requested numerous times to have a globally unified way
to express some particular Autonomous System based routing policies.
When defining a new way to encode bgp communities we have an
opportunity to define set of new registered routing policies and
route markings which could be passed between Autonomous Systems
resulting in their common interpretation.
This document will request IANA to define and maintain a new registry
for pre-defined Wide BGP Communities. The reserved pool of AS#:
0xB000-0xFFFF (20479 values) has been defined for their allocations.
The allocation policy is on a first come first served basis.
It is recommended that an implementation supports by an explicit
Raszuk & Gredler Expires January 5, 2011 [Page 7]
Internet-Draft wide-bgp-communities July 2010
enabling all defined below Registered Wide BGP Communities.
Depending on the BGP implementation support it is recommended that an
implementation would support Registered Wide BGP Communities without
breaking static or dynamic peer/update groups. However it needs to
be pointed out that support of all Registered Wide BGP Communities is
not mandatory. It will be perfectly valid for any BGP implementation
to support only subset of Wide BGP Communities.
It is strongly advised that each Autonomous System does an inbound
verification of received Wide BGP Communities from all of its EBGP
peers before accepting them and propagating within their own domain.
The document does not mandate nor enforces that given registered type
value of Wide BGP Community would be of transitive 0x06 or non-
transitive 0x46 type. It is for the operator to determine the
propagation scope of such community when appending it to routing
information. However the document will provide a transitiveness
scope recommendation to defined communities.
The following Wide BGP Communities have global significance and their
execution should be uniformly implemented by any BGP speaker
supporting given set of Wide BGP Communities.
In general there are two kinds of semantics for Autonomous System
number present in the body of Registered Wide BGP Community: SRC_AS
which indicates that the value corresponds to the Autonomous System
number which constructed and appended given community and PARAM_AS
which indicates that execution of given community is depended on
evaluation of Autonomous System number present in this community.
Unless explicitly indicated otherwise the Autonomous System number
inserted into Wide BGP Communities are of SRC_AS type.
3.2.1. General Registered Wide BGP Communities
Format:
NAME (type_code)
Recommended scope of use: local-domain or multi-domain.
Recommended post execution action: "execute and drop" or "execute
and forward" or "N/A".
Description.
SRC_AS:BLACKHOLE (AS:0xB000)
Raszuk & Gredler Expires January 5, 2011 [Page 8]
Internet-Draft wide-bgp-communities July 2010
Scope: multi-domain.
Post exec: execute and forward.
All transit traffic to destinations for which advertised routes
carry such Wide BGP Community containing this value should be
dropped. It is recommended that specified Autonomous System
number should be eligible and verified by BGP Origin Validation
functionality to advertise given BGP destinations.
SRC_AS:BLACKHOLE_FROM_PEER (AS:0xB001)
Scope: multi-domain.
Post exec: execute and forward.
All transit traffic to destinations for which advertised routes
carry such Wide BGP Community containing this value should be
dropped when coming from peers. It is recommended that specified
Autonomous System number should be eligible and verified by BGP
Origin Validation functionality to advertise given BGP
destinations.
SRC_AS:BLACKHOLE_FROM_UPSTREAM (AS:0xB002)
Scope: multi-domain.
Post exec: execute and forward.
All transit traffic to destinations for which advertised routes
carry such Wide BGP Community containing this value should be
dropped when coming from upstream providers. It is recommended
that specified Autonomous System number should be eligible and
verified by BGP Origin Validation functionality to advertise given
BGP destinations.
SRC_AS:SOURCE_BLACKHOLE (AS:0xB003)
Scope: multi-domain.
Post exec: execute and forward.
All transit traffic which source addresses have been tagged by
such Wide BGP Community should be dropped. It is recommended that
specified Autonomous System number should be eligible and verified
by BGP Origin Validation functionality to advertise given BGP
destinations.
Raszuk & Gredler Expires January 5, 2011 [Page 9]
Internet-Draft wide-bgp-communities July 2010
SRC_AS:SOURCE_DO_RPF (AS:0xB004)
Scope: multi-domain.
Post exec: execute and forward.
All transit traffic which source addresses have been tagged by
such Wide BGP Community should be subject to Reverse Path
Forwarding check when crossing Autonomous System boundaries.
Autonomous System number specified in the body of this community
should directly indicate the peering interfaces on which such RPF
check should be performed.
SRC_AS:HIGH_PRIORITY_PREFIX (AS:0xB005)
Scope: local-domain.
Post exec: N/A (tagging only).
BGP prefixes carrying such Wide BGP Community should be advertised
to restarting peers before other prefixes received by given BGP
speaker.
SRC_AS:ATTACK_TARGET (AS:0xB006)
Scope: multi-domain.
Post exec: N/A (tagging only)
The ATTACK_TARGET Registered Wide BGP Community indicates that BGP
prefixes carrying such community are receiving unusual amount of
unwanted traffic most likely due to some form of network attack.
Network devices capable of analyzing and mitigating such attacks
can use such community as a hint on what destinations to focus the
most.
3.2.2. Advertisement control Registered Wide BGP Communities
PARAM_AS:NO_ADVERTISE (AS:0xB080)
Scope: multi-domain.
Post exec: N/A - Entire update get's dropped.
All routes received which carry such Wide BGP Community containing
this value MUST NOT be advertised to BGP peer which Autonomous
System number has been listed in the body of this community.
Raszuk & Gredler Expires January 5, 2011 [Page 10]
Internet-Draft wide-bgp-communities July 2010
Semantically specifying the reserved Autonomous System value of
0xFFFFFFFF (Any AS) would be an equivalent of using NO_ADVERTISE
Well-Known Standard BGP Community Attribute.
PARAM_AS:ADVERTISE_TO (AS:0xB081)
Scope: multi-domain.
Post exec: execute and drop.
All routes received carrying such Wide BGP Community containing
this value MUST ONLY be advertised to BGP peer which Autonomous
System number is specified in the body of this community.
SRC_AS:ADVERTISE_NO_PEER (AS:0xB082)
Scope: multi-domain.
Post exec: execute and drop
All routes advertised by an Autonomous System carrying such Wide
BGP Community containing this value should NOT be advertised to
any of its peering partners.
SRC_AS:ADVERTISE_NO_UPSTREAM (AS:0xB083)
Scope: multi-domain.
Post exec: execute and drop
All routes advertised by an Autonomous System carrying such Wide
BGP Community containing this value should NOT be advertised to
any of its upstream providers.
SRC_AS:ADVERTISE_NO_CUSTOMER (AS:0xB084)
Scope: multi-domain.
Post exec: execute and drop
All routes advertised by an Autonomous System carrying such Wide
BGP Community containing this value should NOT be advertised to
any of its customers.
PARAM_AS:ADVERTISE_TO_SET_NO_EXPORT (AS:0xB085)
Raszuk & Gredler Expires January 5, 2011 [Page 11]
Internet-Draft wide-bgp-communities July 2010
Scope: multi-domain.
Post exec: execute and drop
All routes received carrying such Wide BGP Community containing
this value MUST ONLY be advertised to BGP peer which Autonomous
System number is specified in the body of this community. If not
already present during advertisement NO_EXPORT Standard BGP
Community should be inserted.
3.2.3. AS source marking Registered Wide BGP Communities
SRC_AS:FROM_PEER (AS:0xB100)
Scope: local-domain.
Post exec: N/A (tagging only)
Autonomous System may attach this community to routes received
from their EBGP peers to later, when advertising them outside the
domain, apply or relax local policies only on such group of
destinations.
SRC_AS:FROM_CUSTOMER (AS:0xB101)
Scope: local-domain.
Post exec: N/A (tagging only)
Autonomous System may attach this community to routes received
from their EBGP peers to later, when advertising them outside the
domain, apply or relax local policies only on such group of
destinations.
SRC_AS:INTERNAL (AS:0xB102)
Scope: local-domain.
Post exec: N/A (tagging only)
Autonomous System may attach this community to routes originated
in their own domain to later, when advertising them outside the
domain, apply or relax local policies only on such group of
destinations.
SRC_AS:FROM_UPSTREAM (AS:0xB103)
Raszuk & Gredler Expires January 5, 2011 [Page 12]
Internet-Draft wide-bgp-communities July 2010
Scope: local-domain.
Post exec: N/A (tagging only)
Autonomous System may attach this community to routes received
from their EBGP peers to later, when advertising them outside the
domain, apply or relax local policies only on such group of
destinations.
SRC_AS:FROM_IX (AS:0xB104)
Scope: local-domain.
Post exec: N/A (tagging only)
Autonomous System may attach this community to routes received
from their EBGP peering sessions with the Internet Exchange peers
or with Route Server to later, when advertising them outside the
domain, apply or relax local policies only on such group of
destinations.
PARAM_AS:LEARNED_FROM (AS:0xB105)
Scope: local-domain.
Post exec: N/A (tagging only)
Autonomous System may attach this community to routes received
from their EBGP peer by explicitly tagging routes with their
peer's Autonomous System number instead of inserting their own
local AS number.
3.2.4. Return path influencing Registered Wide BGP Communities
PARAM_AS:PATH_HINT (AS:0xB180)
Scope: multi-domain.
Post exec: execute and forward.
Autonomous System receiving such Wide BGP Community value should
prefer for BGP prefixes received with such community (for example
by increasing value of local preference on ingress), a BGP path
which traverses Autonomous System number which has been specified
in this community.
PARAM_AS:PATH_NEGATIVE_HINT (AS:0xB181)
Raszuk & Gredler Expires January 5, 2011 [Page 13]
Internet-Draft wide-bgp-communities July 2010
Scope: multi-domain.
Post exec: execute and forward.
Autonomous System receiving such Wide BGP Community value should
prefer for BGP prefixes received with such community (for example
by decreasing value of local preference on ingress), a BGP path
which DOES NOT traverses Autonomous System number which has been
specified in the body of this community.
3.2.5. AS_PATH modifying Registered Wide BGP Communities
PARAM_AS:PREPEND_BY (AS:0xB200..0xB20F)
Scope: multi-domain.
Post exec: execute and drop.
The Autonomous System specified in the body of such Wide BGP
Community should prepend 1..15 times its own Autonomous System
number when advertising routes tagged with this community to all
of its external peers. Value of 0xB200 indicates the support for
AS:PREPEND_BY Wide BGP Community and values of 0xB201..0xB20F
indicate the required number of 1..15 prepended Autonomous System
numbers.
PARAM_AS:PREPEND_TO (AS:0xB210..0xB21F)
Scope: multi-domain.
Post exec: execute and drop.
A BGP domain receiving routes tagged with this community should
prepend 1..15 times its own Autonomous System number when
advertising them to an Autonomous System indicated in the body of
this community. Value of 0xB210 indicates the support for AS:
PREPEND_TO Wide BGP Community and values of 0xB211..0xB21F
indicate the required number of 1..15 prepended Autonomous System
numbers. After execution this community should be removed from
further bgp propagation.
SRC_AS:PREPEND_UPSTREAM (AS:0xB220..0xB22F)
Scope: multi-domain.
Post exec: execute and drop.
Raszuk & Gredler Expires January 5, 2011 [Page 14]
Internet-Draft wide-bgp-communities July 2010
An Autonomous System when advertising routes tagged with this
community value should prepend 1..15 times its own Autonomous
System number when advertising them to all of its upstream
providers. Value of 0xB220 indicates the support for AS:
PREPEND_UPSTREAM Wide BGP Community and values of 0xB221..0xB22F
indicate the required number of 1..15 prepended Autonomous System
numbers. This community should not be propagated to EBGP
neighbors.
SRC_AS:PREPEND_PEERS (AS:0xB230..0xB23F)
Scope: multi-domain.
Post exec: execute and drop.
An Autonomous System advertising routes tagged with this community
should prepend 1..15 times its own Autonomous System number when
advertising them to all of its peers. Value of 0xB230 indicates
the support for AS:PREPEND_PEERS Wide BGP Community and values of
0xB231..0xB23F indicate the required number of 1..15 prepended
Autonomous System numbers. This community should not be
propagated to EBGP neighbors.
SRC_AS:PREPEND_CUSTOMERS (AS:0xB240..0xB24F)
Scope: multi-domain.
Post exec: execute and drop.
An Autonomous System advertising routes tagged with this community
should prepend 1..15 times its own Autonomous System number when
advertising them to all of its customers. Value of 0xB240
indicates the support for AS:PREPEND_CUSTOMERS Wide BGP Community
and values of 0xB241..0xB24F indicate the required number of 1..15
prepended Autonomous System numbers. This community should not be
propagated to EBGP neighbors.
PARAM_AS:REPLACE_BY (AS:0xB250)
Scope: multi-domain.
Post exec: execute and drop.
All routes marked with such Wide BGP Community advertised by an
Autonomous System to all of its external peers should have any
occurrence of an Autonomous System number specified replaced with
advertising domain's local Autonomous System number. After
execution this community should be removed from further bgp
Raszuk & Gredler Expires January 5, 2011 [Page 15]
Internet-Draft wide-bgp-communities July 2010
propagation.
3.2.6. Geographic source marking Registered Wide BGP Communities
SRC_AS:PEER_ROUTE (AS:0xB280..0xB28F)
Scope: local-domain or multi-domain.
Post exec: N/A (tagging only).
Autonomous System may mark routes received from their peers by
constructing Wide BGP Community to contain their Autonomous System
number and well-known pre-defined geographic localization
community value as per below mapping table:
0xB280 - North America
0xB281 - Central America
0xB282 - South America
0xB283 - Europe
0xB284 - Asia
0xB285 - Japan
0xB286 - ANZ
0xB287 - Africa
0xB288 - Unspecified Region
0xB289 .. 0xB28F - Free
SRC_AS:UPSTREAM_ROUTE (AS:0xB290..0xB29F)
Scope: local-domain or multi-domain.
Post exec: N/A (tagging only).
Autonomous System may mark routes received from their upstreams by
constructing Wide BGP Community to contain their Autonomous System
number and well-known pre-defined geographic localization
community value as per below mapping table:
Raszuk & Gredler Expires January 5, 2011 [Page 16]
Internet-Draft wide-bgp-communities July 2010
0xB290 - North America
0xB291 - Central America
0xB292 - South America
0xB293 - Europe
0xB294 - Asia
0xB295 - Japan
0xB296 - ANZ
0xB297 - Africa
0xB298 - Unspecified Region
0xB299 .. 0xB29F - Free
SRC_AS:CUSTOMER_ROUTE (AS:0xB2A0..0xB2AF)
Scope: local-domain or multi-domain.
Post exec: N/A (tagging only).
Autonomous System may mark routes received from their customers by
constructing Wide BGP Community to contain their Autonomous System
number and well-known pre-defined geographic localization
community value as per below mapping table:
0xB2A0 - North America
0xB2A1 - Central America
0xB2A2 - South America
0xB2A3 - Europe
0xB2A4 - Asia
0xB2A5 - Japan
0xB2A6 - ANZ
0xB2A7 - Africa
0xB2A8 - Unspecified Region
0xB2A9 .. 0xB2AF - Free
3.2.7. Local Preference Registered Wide BGP Communities
SRC_AS:LOCAL_PREF (AS:0xB300..0xB30F)
Scope:multi-domain.
Post exec: execute and drop.
Autonomous System may suggest to its EBGP neighbor the following
relative adjustments to the value of local preference as specified
by given domain's local policy. The below table indicates the
values of recommended increment and decrement local preference
normalized by X. X is used by local domain operator to normalize
absolute increment or decrement values for a given policies.
Raszuk & Gredler Expires January 5, 2011 [Page 17]
Internet-Draft wide-bgp-communities July 2010
0xB300 - Used to indicate support for AS:LOCAL_PREF
0xB301 - Decrement Local Pref by X*20
0xB302 - Decrement Local Pref by X*40
0xB303 - Decrement Local Pref by X*60
0xB304 - Decrement Local Pref by X*80
0xB305 - Decrement Local Pref by X*100
0xB306 - Increment Local Pref by X*20
0xB307 - Increment Local Pref by X*40
0xB308 - Increment Local Pref by X*60
0xB309 - Increment Local Pref by X*80
0xB30A - Increment Local Pref by X*100
0xB30B - Unallocated
0xB30C - Unallocated
0xB30D - Unallocated
0xB30E - Unallocated
0xB30F - Unallocated
3.2.8. AS_PATH TTL Registered Wide BGP Communities
SRC_AS:AS_PATH_TTL (AS:0xB310..0xB31F)
Scope: multi-domain.
Post exec: execute and forward.
Autonomous System may suggest to drop advertised prefix by any
transit network if its AS_PATH attribute length would be equal or
greater to encoded value both inbound or outbound of EBGP session.
The below table indicates the value of recommended encoding of
AS_PATH length which should result in prefix drop:
Raszuk & Gredler Expires January 5, 2011 [Page 18]
Internet-Draft wide-bgp-communities July 2010
0xB310 - Used to indicate support for AS:AS_PATH_TTL
0xB311 - Drop if AS_PATH >= 1
0xB312 - Drop if AS_PATH >= 2
0xB313 - Drop if AS_PATH >= 3
0xB314 - Drop if AS_PATH >= 4
0xB315 - Drop if AS_PATH >= 5
0xB316 - Drop if AS_PATH >= 6
0xB317 - Drop if AS_PATH >= 7
0xB318 - Drop if AS_PATH >= 8
0xB319 - Drop if AS_PATH >= 9
0xB31A - Drop if AS_PATH >= 10
0xB31B - Drop if AS_PATH >= 11
0xB31C - Drop if AS_PATH >= 12
0xB31D - Drop if AS_PATH >= 13
0xB31E - Drop if AS_PATH >= 14
0xB31F - Drop if AS_PATH >= 15
4. Encoding examples
The 0xBBBB non mandatory and transitive Wide BGP Community encoding
by AS 1 would be of below form:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x06 | 0x00 | 0x0000 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x0001 | 0xBBBB |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The same 0xBBBB Wide BGP Community, but non-transitive and mandatory
encoding by AS 131072 would be of below form:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x46 | 0x80 | 0x0002 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x00 | 0x00 | 0xBBBB |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Raszuk & Gredler Expires January 5, 2011 [Page 19]
Internet-Draft wide-bgp-communities July 2010
5. Operational considerations
Having two different ways to propagate locally assigned BGP
communities, one via use of Standard BGP Community attribute and the
other one via use of Wide BGP Community may seem to potentially cause
problems when considering propagation of conflicting actions.
However it needs to be noticed and pointed out that today even within
Standard BGP Communities operator or operators may append similar
conflicting information to already existing community propagation
tool set.
It is therefor recommended that any implementation when supporting
both standard and wide BGP communities will allow for their easy
inbound and outbound policing. For the actual execution all
communities should be treated as union and if supported by an
implementation their execution permission are to be a local
configuration matter.
When advertising as well as during insertion of Wide BGP Communities
which are predefined as range of values - only use of one value of
selected range is allowed.
6. Security considerations
All the security considerations for BGP Communities as well as for
BGP Extended Communities RFCs apply here.
7. IANA Considerations
This document defines a new regular type of BGP Extended Communities
Attribute called Wide BGP Communities. For this new type IANA is to
allocate new type values in the corresponding registries:
Registry Name: BGP Extended Communities Type - regular, transitive
This document makes the following assignments for the regular,
transitive Wide BGP Communities:
Name Type Value
---- ----------
Wide BGP Community 0x06
Registry Name: BGP Extended Communities Type - regular, non-
Raszuk & Gredler Expires January 5, 2011 [Page 20]
Internet-Draft wide-bgp-communities July 2010
transitive
This document makes the following assignments for the regular, non-
transitive Wide BGP Communities:
Name Type Value
---- ----------
Wide BGP Community 0x46
This document requests IANA to define and maintain a new registry
named: "Registered Wide BGP Communities Actions". The reserved pool
of AS#:0x00-0x80 has been defined for its allocations. The
allocation policy is on a first come first served basis.
This document makes the following assignments for the Registered Wide
BGP Community Actions values:
Name Type Value
---- ----------
Default action 0x00
Informational Only Support Indicator 0x01
Mandatory 0x02
Reserved for further allocations 0x03..0x7F
Open for operator's own use 0x80..0xFF
This document requests IANA to define and maintain a new registry
named: "Registered Wide BGP Communities Values". The reserved pool
of AS#:0xB000-0xFFFF has been defined for its allocations. The
allocation policy is on a first come first served basis.
This document makes the following assignments for the Registered Wide
BGP Community values:
Name Type Value
---- ----------
BLACKHOLE 0xB000
BLACKHOLE_FROM_PEER 0xB001
BLACKHOLE_FROM_UPSTREAM 0xB002
SOURCE_BLACKHOLE 0xB003
SOURCE_DO_RPF 0xB004
Raszuk & Gredler Expires January 5, 2011 [Page 21]
Internet-Draft wide-bgp-communities July 2010
HIGH_PRIORITY_PREFIX 0xB005
ATTACK_TARGET 0xB006
General_Free_Pool 0xB007..0xB07F
NO_ADVERTISE 0xB080
ADVERTISE_TO 0xB081
ADVERTISE_NO_PEER 0xB082
ADVERTISE_NO_UPSTREAM 0xB083
ADVERTISE_NO_CUSTOMER 0xB084
ADVERTISE_TO_SET_NO_EXPORT 0xB085
Advertising_Free_Pool 0xB086..0xB0FF
FROM_PEER 0xB100
FROM_CUSTOMER 0xB101
INTERNAL 0xB102
FROM_UPSTREAM 0xB103
FROM_IX 0xB104
LEARNED_FROM 0xB105
Marking_Free_Pool 0xB106..0xB17F
PATH_HINT 0xB180
PATH_NEGATIVE_HINT 0xB181
Path_Control_Free_Pool 0xB182..0xB1FF
PREPEND_BY 0xB201..0xB20F
PREPEND_TO 0xB211..0xB21F
PREPEND_UPSTREAM 0xB221..0xB22F
PREPEND_PEERS 0xB231..0xB23F
PREPEND_CUSTOMERS 0xB241..0xB24F
REPLACE_BY 0xB250
AS_Path_Modify_Free_Pool 0xB251..0xB27F
PEER_ROUTE 0xB280..0xB28F
UPSTREAM_ROUTE 0xB290..0xB29F
CUSTOMER_ROUTE 0xB2A0..0xB2AF
Geo_Free_Pool 0xB2B0..0xB2FF
LOCAL_PREF 0xB300..0xB30A
Local_Pref_Unallocated 0xB30B..0xB30F
AS_PATH_TTL 0xB310..0xB31F
Free_Pool 0xB320..0xFFFF
Raszuk & Gredler Expires January 5, 2011 [Page 22]
Internet-Draft wide-bgp-communities July 2010
8. Contributors
The following people contributed significantly to the content of the
document:
Bruno Decraene
France Telecom
38-40 rue du General Leclerc
92794 Issi Moulineaux cedex 9
France
Email: bruno.decraene@orange-ftgroup.com
Shintaro Kojima
OTEMACHI 1st. SQUARE EAST TOWER, 3F
1-5-1, Otemachi,
Chiyoda-ku, Tokyo 100-0004
Japan
Email: koji@mfeed.ad.jp
Juan Alcaide
Cisco Systems
Research Triangle Park, NC
United States
Email: jalcaide@cisco.com
Burjiz Pithawala
Cisco Systems
170 West Tasman Dr
San Jose, CA
United States
Email: bpithaw@cisco.com
Saku Ytti
TDC Oy
Mechelininkatu 1a
00094 TDC
Finland
Email: ytti@tdc.net
Raszuk & Gredler Expires January 5, 2011 [Page 23]
Internet-Draft wide-bgp-communities July 2010
9. Acknowledgments
Authors would like to thank Enke Chen, Keyur Patel, Pedro Marques and
Alton Lo for their valuable input.
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", RFC 4271, January 2006.
[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
Communities Attribute", RFC 4360, February 2006.
10.2. Informative References
[RFC1997] Chandrasekeran, R., Traina, P., and T. Li, "BGP
Communities Attribute", RFC 1997, August 1996.
[RFC1998] Chen, E. and T. Bates, "An Application of the BGP
Community Attribute in Multi-home Routing", RFC 1998,
August 1996.
[RFC4384] Meyer, D., "BGP Communities for Data Collection", BCP 114,
RFC 4384, February 2006.
[RFC4893] Vohra, Q. and E. Chen, "BGP Support for Four-octet AS
Number Space", RFC 4893, May 2007.
[RFC5668] Rekhter, Y., Sangli, S., and D. Tappan, "4-Octet AS
Specific BGP Extended Community", RFC 5668, October 2009.
Authors' Addresses
Robert Raszuk
Cisco Systems
170 West Tasman Drive
San Jose, CA 95134
US
Email: raszuk@cisco.com
Raszuk & Gredler Expires January 5, 2011 [Page 24]
Internet-Draft wide-bgp-communities July 2010
Hannes Gredler
Juniper Networks
1194 N.Mathilda Ave
Sunnyvale, CA 94089
US
Email: hannes@juniper.net
Raszuk & Gredler Expires January 5, 2011 [Page 25]