draft-ietf-grow-collection-communities-08.txt | rfc4384.txt | |||
---|---|---|---|---|
GROW WG D. Meyer | Network Working Group D. Meyer | |||
Request for Comments: 4384 February 2006 | ||||
Expires: February 23, 2006 | BCP: 114 | |||
Category: Best Current Practice | ||||
BGP Communities for Data Collection | BGP Communities for Data Collection | |||
draft-ietf-grow-collection-communities-08 | ||||
Status of this Memo | ||||
By submitting this Internet-Draft, each author represents that any | ||||
applicable patent or other IPR claims of which he or she is aware | ||||
have been or will be disclosed, and any of which he or she becomes | ||||
aware will be disclosed, in accordance with Section 6 of BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | Status of This Memo | |||
Task Force (IETF), its areas, and its working groups. Note that | ||||
other groups may also distribute working documents as Internet- | ||||
Drafts. | ||||
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." | ||||
The list of current Internet-Drafts can be accessed at | ||||
http://www.ietf.org/ietf/1id-abstracts.txt. | ||||
The list of Internet-Draft Shadow Directories can be accessed at | ||||
http://www.ietf.org/shadow.html. | ||||
This Internet-Draft will expire on February 23, 2006. | This document specifies an Internet Best Current Practices for the | |||
Internet Community, and requests discussion and suggestions for | ||||
improvements. Distribution of this memo is unlimited. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (C) The Internet Society (2005). | Copyright (C) The Internet Society (2006). | |||
Abstract | Abstract | |||
BGP communities (RFC 1997) are used by service providers for many | BGP communities (RFC 1997) are used by service providers for many | |||
purposes, including tagging of customer, peer, and geographically | purposes, including tagging of customer, peer, and geographically | |||
originated routes. Such tagging is typically used to control the | originated routes. Such tagging is typically used to control the | |||
scope of redistribution of routes within a provider's network, and to | scope of redistribution of routes within a provider's network and to | |||
its peers and customers. With the advent of large scale BGP data | its peers and customers. With the advent of large-scale BGP data | |||
collection (and associated research), it has become clear that the | collection (and associated research), it has become clear that the | |||
information carried in such communities is essential for a deeper | information carried in such communities is essential for a deeper | |||
understanding of the global routing system. This memo defines | understanding of the global routing system. This memo defines | |||
standard (outbound) communities and their encodings for export to BGP | standard (outbound) communities and their encodings for export to BGP | |||
route collectors. | route collectors. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction ....................................................2 | |||
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Definitions .....................................................3 | |||
2.1. Peers and Peering . . . . . . . . . . . . . . . . . . . . 3 | 2.1. Peers and Peering ..........................................3 | |||
2.2. Customer Routes . . . . . . . . . . . . . . . . . . . . . 4 | 2.2. Customer Routes ............................................3 | |||
2.3. Peer Routes . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.3. Peer Routes ................................................3 | |||
2.4. Internal Routes . . . . . . . . . . . . . . . . . . . . . 4 | 2.4. Internal Routes ............................................4 | |||
2.5. Internal More Specific Routes . . . . . . . . . . . . . . 4 | 2.5. Internal More Specific Routes ..............................4 | |||
2.6. Special Purpose Routes . . . . . . . . . . . . . . . . . . 4 | 2.6. Special Purpose Routes .....................................4 | |||
2.7. Upstream Routes . . . . . . . . . . . . . . . . . . . . . 4 | 2.7. Upstream Routes ............................................4 | |||
2.8. National Routes . . . . . . . . . . . . . . . . . . . . . 5 | 2.8. National Routes ............................................4 | |||
2.9. Regional Routes . . . . . . . . . . . . . . . . . . . . . 5 | 2.9. Regional Routes ............................................4 | |||
3. RFC 1997 Community Encoding and Values . . . . . . . . . . . . 5 | 3. RFC 1997 Community Encoding and Values ..........................5 | |||
4. Community Values for BGP Data Collection . . . . . . . . . . . 5 | 4. Community Values for BGP Data Collection ........................5 | |||
4.1. Extended Communities . . . . . . . . . . . . . . . . . . . 7 | 4.1. Extended Communities .......................................7 | |||
4.2. Four-octet AS specific extended communities . . . . . . . 8 | 4.2. Four-Octet AS Specific Extended Communities ................9 | |||
5. Note on BGP UPDATE Packing . . . . . . . . . . . . . . . . . . 9 | 5. Note on BGP UPDATE Packing ......................................9 | |||
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 | 6. Acknowledgements ................................................9 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 7. Security Considerations ........................................10 | |||
7.1. Total Path Attribute Length . . . . . . . . . . . . . . . 9 | 7.1. Total Path Attribute Length ...............................10 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | 8. IANA Considerations ............................................10 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 9. References .....................................................11 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . . 10 | 9.1. Normative References ......................................11 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . . 11 | 9.2. Informative References ....................................11 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12 | ||||
Intellectual Property and Copyright Statements . . . . . . . . . . 13 | ||||
1. Introduction | 1. Introduction | |||
BGP communities [RFC1997] are used by service providers for many | BGP communities [RFC1997] are used by service providers for many | |||
purposes, including tagging of customer, peer, and geographically | purposes, including tagging of customer, peer, and geographically | |||
originated routes. Such tagging is typically used to control the | originated routes. Such tagging is typically used to control the | |||
scope of redistribution of routes within a providers network, and to | scope of redistribution of routes within a provider's network and to | |||
its customers and peers. Communities are also used for a wide | its customers and peers. Communities are also used for a wide | |||
variety of other applications, such as allowing customers to set | variety of other applications, such as allowing customers to set | |||
attributes such as LOCAL_PREF [RFC1771] by sending appropriate | attributes such as LOCAL_PREF [RFC1771] by sending appropriate | |||
communities to their service provider. Other applications include | communities to their service provider. Other applications include | |||
signaling various types of VPNs (e.g., VPLS [I-D.ietf-ppvpn-vpls- | signaling various types of Virtual Private Networks (VPNs) (e.g., | |||
requirements]), and carrying link bandwidth for traffic engineering | Virtual Private LAN Service (VPLS) [VPLS]), and carrying link | |||
applications [I-D.ietf-idr-bgp-ext-communities]. | bandwidth for traffic engineering applications [RFC4360]. | |||
With the advent of large scale BGP data collection [RV][RIS] (and | With the advent of large-scale BGP data collection [RV] [RIS] (and | |||
associated research), it has become clear that the geographical and | associated research), it has become clear that the geographical and | |||
topological information, as well as the relationship the provider has | topological information, as well as the relationship the provider has | |||
to the source of a route (e.g., transit, peer, or customer), carried | to the source of a route (e.g., transit, peer, or customer), carried | |||
in such communities is essential for a deeper understanding of the | in such communities is essential for a deeper understanding of the | |||
global routing system. This memo defines standard communities for | global routing system. This memo defines standard communities for | |||
export to BGP route collectors. These communities represent a | export to BGP route collectors. These communities represent a | |||
significant part of information carried by service providers as of | significant part of information carried by service providers as of | |||
this writing, and as such could be useful for internal use by service | this writing, and as such could be useful for internal use by service | |||
providers. However, such use is beyond the scope of this memo. | providers. However, such use is beyond the scope of this memo. | |||
Finally, those involved in BGP data analysis are encouraged to verify | Finally, those involved in BGP data analysis are encouraged to verify | |||
with their data sources as to which peers implement this scheme (as | with their data sources as to which peers implement this scheme (as | |||
there is a large amount of existing data as well as many legacy | there is a large amount of existing data as well as many legacy | |||
peerings). | peerings). | |||
The remainder of this memo is organized as follows. Section 2 | The remainder of this memo is organized as follows. Section 2 | |||
provides both the definition of terms used as well as the semantics | provides the definition of terms used as well as the semantics of the | |||
of the communities used for BGP data collection, and section 3 | communities used for BGP data collection, and Section 3 defines the | |||
defines the corresponding encodings for RFC 1997 [RFC1997] | corresponding encodings for RFC 1997 [RFC1997] communities. Finally, | |||
communities. Finally, section 4 defines the encodings for use with | Section 4 defines the encodings for use with extended communities | |||
extended communities [I-D.ietf-idr-bgp-ext-communities]. | [RFC4360]. | |||
2. Definitions | 2. Definitions | |||
In this section, we define the terms used and the categories of | In this section, we define the terms used and the categories of | |||
routes that may be tagged with communities. This tagging is often | routes that may be tagged with communities. This tagging is often | |||
refered to as coloring, and we refer to a route's "color" as its | referred to as coloring, and we refer to a route's "color" as its | |||
community value. The categories defined here are loosely modeled on | community value. The categories defined here are loosely modeled on | |||
those described in [WANG] and [HUSTON]. | those described in [WANG] and [HUSTON]. | |||
2.1. Peers and Peering | 2.1. Peers and Peering | |||
Consider two network service providers, A and B. Service providers A | Consider two network service providers, A and B. Service providers A | |||
and B are defined to be peers when (i). A and B exchange routes via | and B are defined to be peers when (i) A and B exchange routes via | |||
BGP, and (ii). traffic exchange between A and B is settlement-free. | BGP, and (ii) traffic exchange between A and B is settlement-free. | |||
This arrangement is also typically known as "peering". Peers | This arrangement is also typically known as "peering". Peers | |||
typically exchange only their respective customer routes (see | typically exchange only their respective customer routes (see | |||
"Customer Routes" below), and hence exchange only their respective | "Customer Routes" below), and hence exchange only their respective | |||
customer traffic. See [HUSTON] for a more in-depth discussion of the | customer traffic. See [HUSTON] for a more in-depth discussion of the | |||
business models surrounding peers and peering. | business models surrounding peers and peering. | |||
2.2. Customer Routes | 2.2. Customer Routes | |||
Customer routes are those routes which are heard from a customer via | Customer routes are those routes that are heard from a customer via | |||
BGP and are propagated to peers and other customers. Note that a | BGP and are propagated to peers and other customers. Note that a | |||
customer can be an enterprise or another network service provider. | customer can be an enterprise or another network service provider. | |||
These routes are sometimes called client routes [HUSTON]. | These routes are sometimes called client routes [HUSTON]. | |||
2.3. Peer Routes | 2.3. Peer Routes | |||
Peer routes are those routes heard from peers via BGP, and not | Peer routes are those routes heard from peers via BGP, and not | |||
propagated to other peers. In particular, these routes are only | propagated to other peers. In particular, these routes are only | |||
propagated to the service provider's customers. | propagated to the service provider's customers. | |||
2.4. Internal Routes | 2.4. Internal Routes | |||
Internal routes are those routes that a service provider originates | Internal routes are those routes that a service provider originates | |||
and passes to its peers and customers. These routes are frequently | and passes to its peers and customers. These routes are frequently | |||
taken out of the address space allocated to a provider. | taken out of the address space allocated to a provider. | |||
2.5. Internal More Specific Routes | 2.5. Internal More Specific Routes | |||
Internal more-specific routes are those routes which are frequently | Internal more specific routes are those routes that are frequently | |||
used for circuit load balancing purposes, IGP route reduction, and | used for circuit load balancing purposes and Interior Gateway | |||
also may correspond to customer services which are not visible | Protocol (IGP) route reduction. They also may correspond to customer | |||
outside the service provider's network. Internal more specific | services that are not visible outside the service provider's network. | |||
routes are not exported to any external peer. | Internal more specific routes are not exported to any external peer. | |||
2.6. Special Purpose Routes | 2.6. Special Purpose Routes | |||
Special purpose routes are those routes which do not fall into any of | Special purpose routes are those routes that do not fall into any of | |||
the other classes described here. In those cases in which such | the other classes described here. In those cases in which such | |||
routes need to be distinguished, a service provider may color such | routes need to be distinguished, a service provider may color such | |||
routes with a unique value. Examples of special purpose routes | routes with a unique value. Examples of special purpose routes | |||
include anycast routes, and routes for overlay networks. | include anycast routes and routes for overlay networks. | |||
2.7. Upstream Routes | 2.7. Upstream Routes | |||
Upstream routes are typically learned from upstream service provider | Upstream routes are typically learned from an upstream service | |||
as part of a transit service contract executed with the upstream | provider as part of a transit service contract executed with the | |||
provider. | upstream provider. | |||
2.8. National Routes | 2.8. National Routes | |||
These are route sets that are sourced from and/or received within a | These are route sets that are sourced from and/or received within a | |||
particular country. | particular country. | |||
2.9. Regional Routes | 2.9. Regional Routes | |||
Several global backbones implement regional policy based on their | Several global backbones implement regional policy based on their | |||
deployed footprint, and on strategic and business imperatives. | deployed footprint and on strategic and business imperatives. | |||
Service providers often have settlement-free interconnections with an | Service providers often have settlement-free interconnections with an | |||
AS in one region, and that same AS is a customer in another region. | Autonomous System (AS) in one region, and that same AS is a customer | |||
This mandates use of regional routing, including community attributes | in another region. This mandates use of regional routing, including | |||
set by the network in question to allow easy discrimination among | community attributes set by the network in question to allow easy | |||
regional routes. For example, service providers may treat a route | discrimination among regional routes. For example, service providers | |||
set received from another service provider in Europe differently than | may treat a route set received from another service provider in | |||
the same route set received in North America, as it is common | Europe differently than the same route set received in North America, | |||
practice to sell transit in one region while peering in the other. | as it is common practice to sell transit in one region while peering | |||
in the other. | ||||
3. RFC 1997 Community Encoding and Values | 3. RFC 1997 Community Encoding and Values | |||
In this section we provide RFC 1997 [RFC1997] community values for | In this section, we provide RFC 1997 [RFC1997] community values for | |||
the categories described above. RFC 1997 communities are encoded as | the categories described above. RFC 1997 communities are encoded as | |||
BGP Type Code 8, and are treated as 32 bit values ranging from | BGP Type Code 8, and are treated as 32-bit values ranging from | |||
0x0000000 through 0xFFFFFFF. The values 0x0000000 through 0x0000FFFF | 0x0000000 through 0xFFFFFFF. The values 0x0000000 through 0x0000FFFF | |||
and 0xFFFF0000 through 0xFFFFFFFF are reserved. | and 0xFFFF0000 through 0xFFFFFFFF are reserved. | |||
The best current practice among service providers is to use the high | The best current practice among service providers is to use the | |||
order two octets to represent the provider's AS number, and the low | high-order two octets to represent the provider's AS number, and the | |||
order two octets to represent the classification of the route, as | low-order two octets to represent the classification of the route, as | |||
depicted below: | depicted below: | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| <AS> | <Value> | | | <AS> | <Value> | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
where <AS> is the 16 bit AS number. For example, the encoding | where <AS> is the 16-bit AS number. For example, the encoding | |||
0x2A7C029A would represent the AS 10876 with value 666. | 0x2A7C029A would represent the AS 10876 with value 666. | |||
4. Community Values for BGP Data Collection | 4. Community Values for BGP Data Collection | |||
In this section we define the RFC 1997 community encoding for the | In this section, we define the RFC 1997 community encoding for the | |||
route types described above for use in BGP data collection. It is | route types described above for use in BGP data collection. It is | |||
anticipated that a service provider's internal community values will | anticipated that a service provider's internal community values will | |||
be converted to these standard values for output to a route | be converted to these standard values for output to a route | |||
collector. | collector. | |||
This memo follows the best current practice of using the basic format | This memo follows the best current practice of using the basic format | |||
<AS>:<Value>. The values for the route categories are described in | <AS>:<Value>. The values for the route categories are described in | |||
the following table: | the following table: | |||
Category Value | Category Value | |||
skipping to change at page 6, line 44 | skipping to change at page 7, line 4 | |||
and <R> takes the values: | and <R> takes the values: | |||
Africa (AF) 00001 | Africa (AF) 00001 | |||
Oceania (OC) 00010 | Oceania (OC) 00010 | |||
Asia (AS) 00011 | Asia (AS) 00011 | |||
Antarctica (AQ) 00100 | Antarctica (AQ) 00100 | |||
Europe (EU) 00101 | Europe (EU) 00101 | |||
Latin America/Caribbean Islands (LAC) 00110 | Latin America/Caribbean Islands (LAC) 00110 | |||
North America (NA) 00111 | North America (NA) 00111 | |||
Reserved 01000-11111 | Reserved 01000-11111 | |||
Figure 2: Initially Assigned Community Values | ||||
That is: | That is: | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| <AS> | <R> |X| <CC> | | | <AS> | <R> |X| <CC> | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
For example, the encoding for a national route over a terrestrial | For example, the encoding for a national route over a terrestrial | |||
link in AS 10876 from the Fiji Islands would be: | link in AS 10876 from the Fiji Islands would be: | |||
<AS> = 10876 = 0x2A7C | <AS> = 10876 = 0x2A7C | |||
<R> = 00010 | <R> = 00010 | |||
<X> = 0 | <X> = 0 | |||
<CC> = Fiji Islands Country Code = 242 = 0011110010 | <CC> = Fiji Islands Country Code = 242 = 0011110010 | |||
In this case, the low order 16 bits are 0001000011110010 = 0x10F2 | In this case, the low-order 16 bits are 0001000011110010 = 0x10F2. | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x2A7C | 0x10F2 | | | 0x2A7C | 0x10F2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Note that a configuration language might allow the specification of | Note that a configuration language might allow the specification of | |||
this community as 10876:4338 (0x10F2 == 4338 decimal). | this community as 10876:4338 (0x10F2 == 4338 decimal). | |||
Finally, note that these categories are not intended to be mutually | Finally, note that these categories are not intended to be mutually | |||
exclusive, and multiple communities can be attached where | exclusive, and multiple communities can be attached where | |||
appropriate. | appropriate. | |||
4.1. Extended Communities | 4.1. Extended Communities | |||
In some cases, the values and their encodings described in Section 4 | In some cases, the values and their encoding described in Section 4 | |||
may clash with a service provider's existing community assignments. | may clash with a service provider's existing community assignments. | |||
Extended communities [I-D.ietf-idr-bgp-ext-communities] provide a | Extended communities [RFC4360] provide a convenient mechanism that | |||
convenient mechanism that can be used to avoid such clashes. | can be used to avoid such clashes. | |||
The Extended Communities Attribute is a transitive optional BGP | The Extended Communities attribute is a transitive optional BGP | |||
attribute with the Type Code 16, and consists of a set of extended | attribute with the Type Code 16 and consists of a set of extended | |||
communities of the following format: | communities of the following format: | |||
0 1 2 3 | 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 | 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(*) | | | | Type high | Type low(*) | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Value | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Value | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
For purposes of BGP data collection, we encode the communities | For purposes of BGP data collection, we encode the communities | |||
described in Section 4 using the two-octet AS specific extended | described in Section 4 using the two-octet AS specific extended | |||
community type, which has the following format: | community type, which has the following format: | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x00 | Sub-Type | Global Administrator | | | 0x00 | Sub-Type | Global Administrator | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Local Administrator | | | Local Administrator | | |||
skipping to change at page 8, line 17 | skipping to change at page 8, line 26 | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x00 | Sub-Type | Global Administrator | | | 0x00 | Sub-Type | Global Administrator | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Local Administrator | | | Local Administrator | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The two-octet AS specific extended community attribute encodes the | The two-octet AS specific extended community attribute encodes the | |||
service provider's two octet Autonomous System number (as assigned by | service provider's two-octet Autonomous System number (as assigned by | |||
a Regional Internet Registry, or RIR) in the Global Administrator | a Regional Internet Registry, or RIR) in the Global Administrator | |||
field, and the Local Administrator field may encode any information. | field, and the Local Administrator field may encode any information. | |||
This memo assigns Sub-Type 0x0008 for BGP data collection, and | This memo assigns Sub-Type 0x0008 for BGP data collection, and | |||
specifies that the <Value> field, as defined in section 3.1, is | specifies that the <Value> field, as defined in Section 3.1, is | |||
carried in the low order octets of the Local Administrator field. | carried in the low-order octets of the Local Administrator field. | |||
The two high order octets of the Local Administrator field are | The two high-order octets of the Local Administrator field are | |||
reserved, and are set to 0x00 when sending and ignored upon receipt. | reserved, and are set to 0x00 when sending and ignored upon receipt. | |||
For example, the extended community encoding for 10876:4338 | For example, the extended community encoding for 10876:4338 | |||
(representing a terrestrial national route in AS 10876 from the Fiji | (representing a terrestrial national route in AS 10876 from the Fiji | |||
Islands) would be: | Islands) would be: | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x00 | 0x0008 | 0x2A7C | | | 0x00 | 0x0008 | 0x2A7C | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x00 | 0x00 | 0x10F2 | | | 0x00 | 0x00 | 0x10F2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
4.2. Four-octet AS specific extended communities | 4.2. Four-Octet AS Specific Extended Communities | |||
The four-octet AS specific extended community is encoded as follows: | The four-octet AS specific extended community is encoded as follows: | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x02 | 0x0008 | Global Administrator | | | 0x02 | 0x0008 | Global Administrator | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Global Administrator (cont.) | 0x10F2 | | | Global Administrator (cont.) | 0x10F2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
In this case, the 4 octet Global Administrator sub-field contains a | In this case, the four-octet Global Administrator sub-field contains | |||
4-octets Autonomous System number assigned by the IANA. | a four-octet Autonomous System number assigned by the IANA. | |||
5. Note on BGP UPDATE Packing | 5. Note on BGP UPDATE Packing | |||
Note that data collection communities have the potential of making | Note that data collection communities have the potential of making | |||
the attribute set of a specific route more unique than it would be | the attribute set of a specific route more unique than it would be | |||
otherwise (since each route collects data that is specific to it's | otherwise (since each route collects data that is specific to its | |||
path inside one or more ASes). This, in turn, can affect whether | path inside one or more ASes). This, in turn, can affect whether | |||
multiple routes can be grouped in the same BGP update message, and | multiple routes can be grouped in the same BGP update message, and it | |||
may lead to increased use of bandwidth, router CPU cycles, and | may lead to increased use of bandwidth, router CPU cycles, and | |||
memory. | memory. | |||
6. Acknowledgments | 6. Acknowledgements | |||
The community encoding described in this memo germinated from an | The community encoding described in this memo germinated from an | |||
interesting suggestion from Akira Kato at WIDE. In particular, the | interesting suggestion from Akira Kato at WIDE. In particular, the | |||
idea would be to use the collection community values to select paths | idea would be to use the collection community values to select paths | |||
that would result in (hopefully) more efficient access to various | that would result in (hopefully) more efficient access to various | |||
services. For example, in the case of RFC 3258 [RFC3258] based DNS | services. For example, in the case of RFC 3258 [RFC3258] based DNS | |||
anycast service, BGP routers may see multiple paths to the same | anycast service, BGP routers may see multiple paths to the same | |||
prefix, and others might be coming from the same origin with | prefix, and others might be coming from the same origin with | |||
different paths, but others might be from different region/country | different paths, but others might be from different region/country | |||
(with the same origin AS). | (with the same origin AS). | |||
Joe Abley, Randy Bush, Sean Donelan, Xenofontas Dimitropoulos, Vijay | Joe Abley, Randy Bush, Sean Donelan, Xenofontas Dimitropoulos, Vijay | |||
Gill, John Heasley, Geoff Huston, Steve Huter, Michael Patton, | Gill, John Heasley, Geoff Huston, Steve Huter, Michael Patton, | |||
Olivier Marce, Ryan McDowell, Rob Rockell, Rob Thomas, Pekka Savola, | Olivier Marce, Ryan McDowell, Rob Rockell, Rob Thomas, Pekka Savola, | |||
Patrick Verkaik and Alex Zinin all made many insightful comments on | Patrick Verkaik, and Alex Zinin all made many insightful comments on | |||
early versions of this draft. Henk Uijterwaal suggested the use of | early versions of this document. Henk Uijterwaal suggested the use | |||
the ISO-3166-2 country codes. | of the ISO-3166-2 country codes. | |||
7. Security Considerations | 7. Security Considerations | |||
While this memo introduces no additional security considerations into | While this memo introduces no additional security considerations into | |||
the BGP protocol, the information contained in the communities | the BGP protocol, the information contained in the communities | |||
defined in this memo may in some cases reveal network structure that | defined in this memo may in some cases reveal network structure that | |||
was not previously visible outside the provider's network. As a | was not previously visible outside the provider's network. As a | |||
result, care should be taken when exporting such communities to route | result, care should be taken when exporting such communities to route | |||
collectors. Finally, routes exported to a route collector should | collectors. Finally, routes exported to a route collector should | |||
also be tagged with the NO_EXPORT community (0xFFFFFF01). | also be tagged with the NO_EXPORT community (0xFFFFFF01). | |||
7.1. Total Path Attribute Length | 7.1. Total Path Attribute Length | |||
The communities described in this memo are intended for use on egress | The communities described in this memo are intended for use on egress | |||
to a route collector. Hence an operator may choose to overwrite its | to a route collector. Hence an operator may choose to overwrite its | |||
internal communities with the values specified in this memo when | internal communities with the values specified in this memo when | |||
exporting routes to a route collector. However, operators should in | exporting routes to a route collector. However, operators should in | |||
general ensure that the behavior of their BGP implementation is well- | general ensure that the behavior of their BGP implementation is | |||
defined when the addition of an attribute causes a PDU to exceed 4096 | well-defined when the addition of an attribute causes a PDU to exceed | |||
octets. For example, since it is common practice to use community | 4096 octets. For example, since it is common practice to use | |||
attributes to implement policy (among other functionality such as | community attributes to implement policy (among other functionality | |||
allowing customers to set attributes such as LOCAL_PREF), the | such as allowing customers to set attributes such as LOCAL_PREF), the | |||
behavior of an implementation when the attribute space overflows is | behavior of an implementation when the attribute space overflows is | |||
crucial. Among other behaviors, an implementation might usurp the | crucial. Among other behaviors, an implementation might usurp the | |||
intended attribute data or otherwise cause indeterminate failures. | intended attribute data or otherwise cause indeterminate failures. | |||
These behaviors can result in unanticipated community attribute sets, | These behaviors can result in unanticipated community attribute sets, | |||
and hence result in unintended policy implications. | and hence result in unintended policy implications. | |||
8. IANA Considerations | 8. IANA Considerations | |||
This memo assigns a new Sub-Type for the AS specific extended | This memo assigns a new Sub-Type for the AS specific extended | |||
community type in the First Come First Served extended transitive | community type in the First Come First Served extended transitive | |||
category. In particular, the IANA should assign Sub-type 0x0008 as | category. The IANA has assigned Sub-Type 0x0008 as defined in | |||
defined in Section 4.1. | Section 4.1. | |||
In addition, this memo instructs the IANA to create two registries | In addition, the IANA has created two registries for BGP Data | |||
for BGP Data Collection Communities, one for standard communities and | Collection Communities, one for standard communities and one for | |||
one for extended communities. Both of these registries should | extended communities. Both of these registries will initially be | |||
initially be populated by the values described in Section 4. IETF | populated by the values described in Section 4. IETF Consensus, as | |||
Consensus, usually through the Global Routing Operations Working | described in [RFC2434], usually through the Global Routing Operations | |||
Group (grow) is required for the assignment of new values in these | Working Group (grow), is required for the assignment of new values in | |||
registries (in particular, for <Value> or <R>), as described in | these registries (in particular, for <Value> or <R> in the table of | |||
Figure 2 [RFC2434]. | values for the route categories in Section 4). | |||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[RFC1771] Rekhter, Y. and T. Li, "A Border Gateway Protocol 4 | [ISO3166] "ISO 3166 Maintenance agency (ISO 3166/MA)", Web | |||
(BGP-4)", RFC 1771, March 1995. | Page: http://www.iso.org/iso/en/prods-services/ | |||
iso3166ma/index.html, 2004. | ||||
[RFC1997] Chandrasekeran, R., Traina, P., and T. Li, "BGP | ||||
Communities Attribute", RFC 1997, August 1996. | ||||
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an | [RFC1771] Rekhter, Y. and T. Li (Editors), "A Border Gateway | |||
IANA Considerations Section in RFCs", BCP 26, RFC 2434, | Protocol (BGP-4)", RFC 1771, March 1995. | |||
October 1998. | ||||
[I-D.ietf-idr-bgp-ext-communities] | [RFC1997] Chandra, R. and P. Traina, "BGP Communities | |||
Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended | Attribute", RFC 1997, August 1996. | |||
Communities Attribute", | ||||
draft-ietf-idr-bgp-ext-communities-07 (work in progress), | ||||
March 2004. | ||||
[ISO3166] "ISO 3166 Maintenance agency (ISO 3166/MA)", Web Page: | [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended | |||
http://www.iso.org/iso/en/prods-services/iso3166ma/ | Communities Attribute", RFC 4360, January 2006. | |||
index.html, 2004. | ||||
9.2. Informative References | 9.2. Informative References | |||
[I-D.ietf-ppvpn-vpls-requirements] | [HUSTON] Huston, G., "Interconnection, Peering, and | |||
Augustyn, W., "Requirements for Virtual Private LAN | Settlements", | |||
Services (VPLS)", draft-ietf-ppvpn-vpls-requirements-00 | http://www.isoc.org/inet99/proceedings/1e/1e_1.htm | |||
(work in progress), March 2002. | ||||
[RIS] "The RIPE Routing Information Service", Web | [RFC2434] Narten, T., and H. Alvestrand, "Guidelines for | |||
Page: http://www.ripe.net/ris, 2004. | Writing an IANA Considerations Section in RFCs", BCP | |||
26, RFC 2434, October 1998. | ||||
[RV] Meyer, D., "The Routeviews Project", Web | [RFC3258] Hardie, T., "Distributing Authoritative Name Servers | |||
Page: http://www.routeviews.org, 2002. | via Shared Unicast Addresses", RFC 3258, April 2002. | |||
[RIS] "The RIPE Routing Information Service", Web Page: | ||||
http://www.ripe.net/ris, 2004. | ||||
[RV] Meyer, D., "The Routeviews Project", Web Page: | ||||
http://www.routeviews.org, 2002. | ||||
[VPLS] Kompella, K., et al., "Virtual Private LAN Service", | ||||
Work in Progress, April 2005. | ||||
[WANG] Wang, F. and L. Gao, "Inferring and Characterizing | [WANG] Wang, F. and L. Gao, "Inferring and Characterizing | |||
Internet Routing Policies", ACM SIGCOMM Internet | Internet Routing Policies", ACM SIGCOMM Internet | |||
Measurement Conference, 2003. | Measurement Conference 2003. | |||
[HUSTON] Huston, G., "Interconnection, Peering, and Settlements", | ||||
Web | ||||
Page: http://www.isoc.org/inet99/proceedings/1e/1e_1.htm, | ||||
2003. | ||||
Author's Address | Author's Address | |||
David Meyer | David Meyer | |||
Email: dmm@1-4-5.net | EMail: dmm@1-4-5.net | |||
Intellectual Property Statement | Full Copyright Statement | |||
Copyright (C) The Internet Society (2006). | ||||
This document is subject to the rights, licenses and restrictions | ||||
contained in BCP 78, and except as set forth therein, the authors | ||||
retain all their rights. | ||||
This document and the information contained herein are provided on an | ||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | ||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | ||||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ||||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | ||||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
Intellectual Property | ||||
The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |||
Intellectual Property Rights or other rights that might be claimed to | Intellectual Property Rights or other rights that might be claimed to | |||
pertain to the implementation or use of the technology described in | pertain to the implementation or use of the technology described in | |||
this document or the extent to which any license under such rights | this document or the extent to which any license under such rights | |||
might or might not be available; nor does it represent that it has | might or might not be available; nor does it represent that it has | |||
made any independent effort to identify any such rights. Information | made any independent effort to identify any such rights. Information | |||
on the procedures with respect to rights in RFC documents can be | on the procedures with respect to rights in RFC documents can be | |||
found in BCP 78 and BCP 79. | found in BCP 78 and BCP 79. | |||
skipping to change at page 13, line 29 | skipping to change at page 12, line 45 | |||
such proprietary rights by implementers or users of this | such proprietary rights by implementers or users of this | |||
specification can be obtained from the IETF on-line IPR repository at | specification can be obtained from the IETF on-line IPR repository at | |||
http://www.ietf.org/ipr. | http://www.ietf.org/ipr. | |||
The IETF invites any interested party to bring to its attention any | The IETF invites any interested party to bring to its attention any | |||
copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |||
rights that may cover technology that may be required to implement | rights that may cover technology that may be required to implement | |||
this standard. Please address the information to the IETF at | this standard. Please address the information to the IETF at | |||
ietf-ipr@ietf.org. | ietf-ipr@ietf.org. | |||
Disclaimer of Validity | Acknowledgement | |||
This document and the information contained herein are provided on an | ||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | ||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | ||||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ||||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | ||||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
Copyright Statement | ||||
Copyright (C) The Internet Society (2005). This document is subject | ||||
to the rights, licenses and restrictions contained in BCP 78, and | ||||
except as set forth therein, the authors retain all their rights. | ||||
Acknowledgment | ||||
Funding for the RFC Editor function is currently provided by the | Funding for the RFC Editor function is provided by the IETF | |||
Internet Society. | Administrative Support Activity (IASA). | |||
End of changes. 54 change blocks. | ||||
180 lines changed or deleted | 155 lines changed or added | |||
This html diff was produced by rfcdiff 1.29, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |