draft-ietf-grow-collection-communities-06.txt | draft-ietf-grow-collection-communities-07.txt | |||
---|---|---|---|---|
INTERNET-DRAFT D. Meyer | GROW WG D. Meyer | |||
draft-ietf-grow-collection-communities-06.txt | ||||
Category Best Current Practice | ||||
Expires: March 2005 September 2004 | ||||
BGP Communities for Data Collection | Expires: February 18, 2006 | |||
<draft-ietf-grow-collection-communities-06.txt> | ||||
Status of this Memo | BGP Communities for Data Collection | |||
draft-ietf-grow-collection-communities-07 | ||||
Status of this Memo | Status of this Memo | |||
This document is an Internet-Draft and is subject to all | By submitting this Internet-Draft, each author represents that any | |||
provisions of section 3 of RFC 3667. By submitting this | applicable patent or other IPR claims of which he or she is aware | |||
Internet-Draft, each author represents that any applicable | have been or will be disclosed, and any of which he or she becomes | |||
patent or other IPR claims of which he or she is aware have | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
been or will be disclosed, and any of which he or she become | ||||
aware will be disclosed, in accordance with RFC 3668. | ||||
Internet-Drafts are working documents of the Internet | Internet-Drafts are working documents of the Internet Engineering | |||
Engineering Task Force (IETF), its areas, and its working | Task Force (IETF), its areas, and its working groups. Note that | |||
groups. Note that other groups may also distribute working | other groups may also distribute working documents as Internet- | |||
documents as Internet-Drafts. | Drafts. | |||
Internet-Drafts are draft documents valid for a maximum of six | Internet-Drafts are draft documents valid for a maximum of six months | |||
months and may be updated, replaced, or obsoleted by other | and may be updated, replaced, or obsoleted by other documents at any | |||
documents at any time. It is inappropriate to use | time. It is inappropriate to use Internet-Drafts as reference | |||
Internet-Drafts as reference material or to cite them other | material or to cite them other than as "work in progress." | |||
than as "work in progress." | ||||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed | The list of Internet-Draft Shadow Directories can be accessed at | |||
at http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This document is a product of the GROW WG. Comments should be | This Internet-Draft will expire on February 18, 2006. | |||
addressed to the author, or the mailing list at | ||||
grow@lists.uoregon.edu. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (C) The Internet Society (2004). All Rights Reserved. | Copyright (C) The Internet Society (2005). | |||
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 . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2.1. Peers and Peering . . . . . . . . . . . . . . . . . . . . . 5 | 2.1. Peers and Peering . . . . . . . . . . . . . . . . . . . . 3 | |||
2.2. Customer Routes . . . . . . . . . . . . . . . . . . . . . . 5 | 2.2. Customer Routes . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.3. Peer Routes . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2.3. Peer Routes . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.4. Internal Routes . . . . . . . . . . . . . . . . . . . . . . 5 | 2.4. Internal Routes . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.5. Internal More Specific Routes . . . . . . . . . . . . . . . 5 | 2.5. Internal More Specific Routes . . . . . . . . . . . . . . 4 | |||
2.6. Special Purpose Routes. . . . . . . . . . . . . . . . . . . 6 | 2.6. Special Purpose Routes . . . . . . . . . . . . . . . . . . 4 | |||
2.7. Upstream Routes . . . . . . . . . . . . . . . . . . . . . . 6 | 2.7. Upstream Routes . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.8. National Routes . . . . . . . . . . . . . . . . . . . . . . 6 | 2.8. National Routes . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.9. Regional Routes . . . . . . . . . . . . . . . . . . . . . . 6 | 2.9. Regional Routes . . . . . . . . . . . . . . . . . . . . . 5 | |||
3. RFC 1997 Community Encoding and Values . . . . . . . . . . . . 7 | 3. RFC 1997 Community Encoding and Values . . . . . . . . . . . . 5 | |||
3.1. Community Values for BGP Data Collection. . . . . . . . . . 7 | 4. Community Values for BGP Data Collection . . . . . . . . . . . 5 | |||
4. Extended Communities . . . . . . . . . . . . . . . . . . . . . 9 | 4.1. Extended Communities . . . . . . . . . . . . . . . . . . . 7 | |||
4.1. Four-octet AS specific extended communities . . . . . . . . 11 | 4.2. Four-octet AS specific extended communities . . . . . . . 8 | |||
5. Note on BGP Update Packing . . . . . . . . . . . . . . . . . . 11 | 5. Note on BGP UPDATE Packing . . . . . . . . . . . . . . . . . . 9 | |||
6. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 11 | 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
7. Security Considerations. . . . . . . . . . . . . . . . . . . . 13 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
7.1. Total Path Attribute Length . . . . . . . . . . . . . . . . 13 | 7.1. Total Path Attribute Length . . . . . . . . . . . . . . . 9 | |||
8. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 13 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
9.1. Normative References. . . . . . . . . . . . . . . . . . . . 14 | 9.1. Normative References . . . . . . . . . . . . . . . . . . . 10 | |||
9.2. Informative References. . . . . . . . . . . . . . . . . . . 14 | 9.2. Informative References . . . . . . . . . . . . . . . . . . 11 | |||
10. Author's Addresses. . . . . . . . . . . . . . . . . . . . . . 15 | 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 providers network, and to | |||
its customers and peers. Communities are also used for a wide variety | its customers and peers. Communities are also used for a wide | |||
of other applications, such as allowing customers to set attributes | variety of other applications, such as allowing customers to set | |||
such as LOCAL_PREF [RFC1771] by sending appropriate communities to | attributes such as LOCAL_PREF [RFC1771] by sending appropriate | |||
their service provider. Other applications include signaling various | communities to their service provider. Other applications include | |||
types of VPNs (e.g., VPLS [VPLS]), and carrying link bandwidth for | signaling various types of VPNs (e.g., VPLS [I-D.ietf-ppvpn-vpls- | |||
traffic engineering applications [EXTCOMM]. | requirements]), and carrying link bandwidth for traffic engineering | |||
applications [I-D.ietf-idr-bgp-ext-communities]. | ||||
With the advent of large scale BGP data collection [RIS,ROUTEVIEWS] | With the advent of large scale BGP data collection [RV][RIS] (and | |||
(and associated research), it has become clear that the geographical | associated research), it has become clear that the geographical and | |||
and topological information, as well as the relationship the provider | topological information, as well as the relationship the provider has | |||
has to the source of a route (e.g., transit, peer, or customer), | to the source of a route (e.g., transit, peer, or customer), carried | |||
carried in such communities is essential for a deeper understanding | in such communities is essential for a deeper understanding of the | |||
of the global routing system. This memo defines standard communities | global routing system. This memo defines standard communities for | |||
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 both the definition of terms used as well as the semantics | |||
of the communities used for BGP data collection, and section 3 | of the communities used for BGP data collection, and section 3 | |||
defines the corresponding encodings for RFC 1997 [RFC1997] | defines the corresponding encodings for RFC 1997 [RFC1997] | |||
communities. Finally, section 4 defines the encodings for use with | communities. Finally, section 4 defines the encodings for use with | |||
extended communities [EXTCOMM]. | extended communities [I-D.ietf-idr-bgp-ext-communities]. | |||
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 | refered 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 | |||
skipping to change at page 6, line 4 | skipping to change at page 4, line 36 | |||
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 which are frequently | |||
used for circuit load balancing purposes, IGP route reduction, and | used for circuit load balancing purposes, IGP route reduction, and | |||
also may correspond to customer services which are not visible | also may correspond to customer services which are not visible | |||
outside the service provider's network. Internal more specific routes | outside the service provider's network. Internal more specific | |||
are not exported to any external peer. | 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 which do not fall into any of | |||
the other classes described here. In those cases in which such routes | the other classes described here. In those cases in which such | |||
need to be distinguished, a service provider may color such routes | routes need to be distinguished, a service provider may color such | |||
with a unique value. Examples of special purpose routes include | routes with a unique value. Examples of special purpose routes | |||
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 upstream service provider | |||
as part of a transit service contract executed with the upstream | as part of a transit service contract executed with the upstream | |||
provider. | 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. | AS in one region, and that same AS is a customer in another region. | |||
This mandates use of regional routing, including community attributes | This mandates use of regional routing, including community attributes | |||
set by the network in question to allow easy discrimination among | set by the network in question to allow easy discrimination among | |||
regional routes. For example, service providers may treat a route set | regional routes. For example, service providers may treat a route | |||
received from another service provider in Europe differently than the | set received from another service provider in Europe differently than | |||
same route set received in North America, as it is common practice to | the same route set received in North America, as it is common | |||
sell transit in one region while peering in the other. | 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 high | |||
skipping to change at page 7, line 27 | skipping to change at page 5, line 45 | |||
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. | |||
3.1. 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: | |||
skipping to change at page 8, line 21 | skipping to change at page 6, line 26 | |||
Internal More Specific Routes <AS>:0000000000000100 | Internal More Specific Routes <AS>:0000000000000100 | |||
Special Purpose Routes <AS>:0000000000000101 | Special Purpose Routes <AS>:0000000000000101 | |||
Upstream Routes <AS>:0000000000000110 | Upstream Routes <AS>:0000000000000110 | |||
Reserved <AS>:0000000000000111- | Reserved <AS>:0000000000000111- | |||
<AS>:0000011111111111 | <AS>:0000011111111111 | |||
National and Regional Routes <AS>:0000100000000000- | National and Regional Routes <AS>:0000100000000000- | |||
<AS>:1111111111111111 | <AS>:1111111111111111 | |||
Encoded as <AS>:<R><X><CC> | Encoded as <AS>:<R><X><CC> | |||
Reserved National and Regional values <AS>:0100000000000000- | Reserved National and Regional values <AS>:0100000000000000- | |||
<AS>:1111111111111111 | <AS>:1111111111111111 | |||
Where | Where | |||
<AS> is the 16-bit AS | <AS> is the 16-bit AS | |||
<R> is the 5-bit Region Identifier | <R> is the 5-bit Region Identifier | |||
<X> is the 1-bit satellite link indication | <X> is the 1-bit satellite link indication | |||
X = 1 for satellite links, 0 otherwise | X = 1 for satellite links, 0 otherwise | |||
<CC> is the 10-bit ISO-3166-2 country code | <CC> is the 10-bit ISO-3166-2 country code [ISO3166] | |||
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: | |||
skipping to change at page 9, line 35 | skipping to change at page 7, line 34 | |||
| 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. Extended Communities | 4.1. Extended Communities | |||
In some cases, the encoding described in section 3.1 may clash with a | In some cases, the values and their encodings described in Section 4 | |||
service provider's existing community assignments. Extended | may clash with a service provider's existing community assignments. | |||
communities [EXTCOMM] provide a convenient mechanism that can be used | Extended communities [I-D.ietf-idr-bgp-ext-communities] provide a | |||
to avoid such clashes. | convenient mechanism that 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 | | |||
skipping to change at page 10, line 12 | skipping to change at page 8, line 4 | |||
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 3.1 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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
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 0x05 for BGP data collection, and | This memo assigns Sub-Type 0x0006 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. The | carried in the low order octets of the Local Administrator field. | |||
two high order octets of the Local Administrator field are reserved, | The two high order octets of the Local Administrator field are | |||
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 | 0x05 | 0x2A7C | | | 0x00 | 0x0006 | 0x2A7C | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x00 | 0x00 | 0x10F2 | | | 0x00 | 0x00 | 0x10F2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
4.1. 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 | 0x05 | Global Administrator | | | 0x02 | 0x0006 | 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 4 octet Global Administrator sub-field contains a | |||
4-octets Autonomous System number assigned by the IANA. | 4-octets 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 it's | |||
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 | |||
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. Acknowledgments | |||
skipping to change at page 13, line 12 | skipping to change at page 9, line 42 | |||
early versions of this draft. Henk Uijterwaal suggested the use of | early versions of this draft. Henk Uijterwaal suggested the use of | |||
the ISO-3166-2 country codes. | 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 also | collectors. Finally, routes exported to a route collector should | |||
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 well- | |||
defined when the addition of an attribute causes a PDU to exceed 4096 | defined when the addition of an attribute causes a PDU to exceed 4096 | |||
octets. For example, since it is common practice to use community | octets. For example, since it is common practice to use community | |||
skipping to change at page 13, line 35 | skipping to change at page 10, line 20 | |||
allowing customers to set attributes such as LOCAL_PREF), the | 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 particular, the IANA should assign Sub-type 0x05, | community type in the First Come First Served extended transitive | |||
using the "First Come First Served" policy defined in RFC 2434 | category. In particular, the IANA should assign Sub-type 0x0006 as | |||
[RFC2434], for the Sub-Type defined in Section 4. This corresponds to | defined in Section 4.1. | |||
a Type Field value of 0x0005. | ||||
In addition, this memo instructs the IANA to create two registries | ||||
for BGP Data Collection Communities, one for standard communities and | ||||
one for extended communities. Both of these registries should | ||||
initially be populated by the values described in Section 4. IETF | ||||
Consensus, usually through the Global Routing Operations Working | ||||
Group (grow) is required for the assignment of new values in these | ||||
registries (in particular, for <Value> or <R>), as described in | ||||
Figure 2 [RFC2434]. | ||||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[EXTCOMM] Sangali, S., D. Tappan and Y. Rekhter, "BGP Extended | [RFC1771] Rekhter, Y. and T. Li, "A Border Gateway Protocol 4 | |||
Communities Attribute", draft-ietf-idr-bgp-ext-communities-07.txt, | (BGP-4)", RFC 1771, March 1995. | |||
Work in progress. | ||||
[ISO-3166-2] http://www.iso.org/iso/en/prods-services/iso3166ma/index.html | [RFC1997] Chandrasekeran, R., Traina, P., and T. Li, "BGP | |||
Communities Attribute", RFC 1997, August 1996. | ||||
[RIS-ISO-3166] ftp://ftp.ripe.net/iso3166-countrycodes.txt | [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an | |||
IANA Considerations Section in RFCs", BCP 26, RFC 2434, | ||||
October 1998. | ||||
[RFC1771] Rekhter, Y. and T. Li (Editors), "A Border | [I-D.ietf-idr-bgp-ext-communities] | |||
Gateway Protocol (BGP-4)", RFC 1771, March 1995. | Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended | |||
Communities Attribute", | ||||
draft-ietf-idr-bgp-ext-communities-07 (work in progress), | ||||
March 2004. | ||||
[RFC1997] Chandra, R. and P. Traina, "BGP Communities | [ISO3166] "ISO 3166 Maintenance agency (ISO 3166/MA)", Web Page: | |||
Attribute", RFC 1997, August 1996. | http://www.iso.org/iso/en/prods-services/iso3166ma/ | |||
index.html, 2004. | ||||
9.2. Informative References | 9.2. Informative References | |||
[HUSTON] Huston, G., "Interconnection, Peering, and Settlements", | [I-D.ietf-ppvpn-vpls-requirements] | |||
http://www.isoc.org/inet99/proceedings/1e/1e_1.htm | Augustyn, W., "Requirements for Virtual Private LAN | |||
Services (VPLS)", draft-ietf-ppvpn-vpls-requirements-00 | ||||
[RFC2028] Hovey, R. and S. Bradner, "The Organizations | (work in progress), March 2002. | |||
Involved in the IETF Standards Process", BCP 11, | ||||
RFC 2028, October 1996. | ||||
[RFC2434] Narten, T., and H. Alvestrand, "Guidelines for | ||||
Writing an IANA Considerations Section in RFCs", | ||||
BCP 26, RFC 2434, October 1998. | ||||
[RFC3258] Hardie, T., "Distributing Authoritative Name | ||||
Servers via Shared Unicast Addresses", RFC 3258, | ||||
April 2002. | ||||
[RIS] "Routing Information Service", http://www.ripe.net/ris | [RIS] "The RIPE Routing Information Service", Web | |||
Page: http://www.ripe.net/ris, 2004. | ||||
[ROUTEVIEWS] "The Routeviews Project", http://www.routeviews.org | [RV] Meyer, D., "The Routeviews Project", Web | |||
[VPLS] Kompella, K., et al., "Virtual Private LAN | Page: http://www.routeviews.org, 2002. | |||
Service", draft-ietf-l2vpn-vpls-bgp-02.txt, | ||||
Work in Progress. | ||||
[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. | |||
10. Author's Addresses | [HUSTON] Huston, G., "Interconnection, Peering, and Settlements", | |||
Web | ||||
Page: http://www.isoc.org/inet99/proceedings/1e/1e_1.htm, | ||||
2003. | ||||
Author's Address | ||||
David Meyer | David Meyer | |||
EMail: dmm@1-4-5.net | ||||
Email: dmm@1-4-5.net | ||||
Intellectual Property Statement | Intellectual Property Statement | |||
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 | |||
skipping to change at page 16, line 9 | skipping to change at page 13, line 41 | |||
This document and the information contained herein are provided on an | This document and the information contained herein are provided on an | |||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | |||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | |||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | |||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | |||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |||
Copyright Statement | Copyright Statement | |||
Copyright (C) The Internet Society (2004). This document is subject | Copyright (C) The Internet Society (2005). This document is subject | |||
to the rights, licenses and restrictions contained in BCP 78, and | to the rights, licenses and restrictions contained in BCP 78, and | |||
except as set forth therein, the authors retain all their rights. | except as set forth therein, the authors retain all their rights. | |||
Acknowledgment | Acknowledgment | |||
Funding for the RFC Editor function is currently provided by the | Funding for the RFC Editor function is currently provided by the | |||
Internet Society. | Internet Society. | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |