Internet DRAFT - draft-agarwal-bgp-proxy-community
draft-agarwal-bgp-proxy-community
Internet Engineering Task Force Sharad Agarwal
INTERNET DRAFT U.C. Berkeley
Timothy G. Griffin
Intel Research
Expires: July 2004 January 2004
BGP Proxy Community Community
<draft-agarwal-bgp-proxy-community-00.txt>
Status of this Document
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
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.
The key words "MUST"", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC 2119].
This document is an individual submission. Comments are solicited and
should be addressed to the author(s).
Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved.
Sharad Agarwal, and Timothy G. Griffin [Page 1]
INTERNET-DRAFT Expires: July 2004 January 2004
Abstract
This document describes a Flexible BGP Community Attribute that
encodes a request for a remote AS to send another community to a
specified neighbor when announcing the route.
Sharad Agarwal, and Timothy G. Griffin [Page 2]
INTERNET-DRAFT Expires: July 2004 January 2004
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Proxy Community Community. . . . . . . . . . . . . . . . . . . 4
3. Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Operations . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Intellectual Property. . . . . . . . . . . . . . . . . . . . . 9
6. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 9
7. Security Considerations. . . . . . . . . . . . . . . . . . . . 10
8. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 10
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
9.1. Normative References. . . . . . . . . . . . . . . . . . . . 11
9.2. Informative References. . . . . . . . . . . . . . . . . . . 11
10. Author's Addresses. . . . . . . . . . . . . . . . . . . . . . 13
11. Full Copyright Statement. . . . . . . . . . . . . . . . . . . 13
Sharad Agarwal, and Timothy G. Griffin [Page 3]
INTERNET-DRAFT Expires: July 2004 January 2004
1. Introduction
BGP communities [RFC1997] have become a critical part of implementing
interdomain routing policies [QB02]. Communities provide network
operators with an open-ended framework that allows routes to be
tagged with information at one router that is then used in the
routing policies of another router. Initially, communities were used
primarily to classify routes within an AS (customer routes, peer
routes, upstream routes), where the classifications determine which
routes are exported to which kinds of neighbors (customer routes to
everyone, upstream and peer routes to customers only). It has become
more and more common for communities to be used to signal information
between ASes. For example, many ISPs provide customers with
communities that control the relative preference of their routes, the
scope of their routes, and so on. Finally, communities are starting
to be used to signal information to distant (not adjacent) ASes.
Geographic communities described in [QB02] are just one example.
Other types of "action-at-a-distance" communities have been proposed
for traffic engineering. For example, [BCH^+03] proposes several
(extended) communities that control the redistribution of routes
toward specific ASes, while [H03] defines the NOPEER community for
controlling the "long range" scope of routes.
In this document we propose a community that can carry another
community to be attached to a route when it is sent to a distant AS.
We call this the BGP Proxy Community Community. Abstractly, a Proxy
Community Community value can be thought as a tuple (A1, A2, c),
which represents a request directed at AS A1 to send community c to
AS A2 when the associated route is sent to AS A2.
There are a number of motivations for controlling the sending of a
specific community value from one distant AS to its neighbor. A route
prefix may be reachable at a distant AS via multiple AS paths. The
originating AS of that route may wish to influence the selection of
one of these paths. This use of the community provides a form of
destination based traffic engineering. This document does not attempt
to address all such motivations of the use of Proxy Community
Communities.
2. Proxy Community Community
Proxy Community Community values are implemented as Flexible
Community values [L03]. From that document, we find that each
Flexible Community is encoded as a variable length attribute with the
following encoding scheme:
- Transitivity Field: 1 bit
Sharad Agarwal, and Timothy G. Griffin Section 2. [Page 4]
INTERNET-DRAFT Expires: July 2004 January 2004
- Structure Field: 7 bits
- Type Field: 2 octets
- Originating ASN Field: 4 octets
- Length Field: 1 octet
- Value Field: 0-255 octets
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|T| Struct. | Type | Originating |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ASN | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value Field (0-255 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The fields are defined as follows.
T = Transitivity bit. This bit can take two values:
Value 0: The community is transitive across ASes
Value 1: The community is non-transitive across ASes This field
is set to 0 for Proxy Community Community values.
Struct = Structure field. This field is split into two sub-fields:
0
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|T|L| Struct. |
+-+-+-+-+-+-+-+-+
L - Local bit. This bit can take two values:
Value 0: The Structure is Locally Defined.
Value 1: The Structure is Well Known. This sub-field is set to
1 for Proxy Community Community values.
Struct - Structure sub-field. There are four well known structure
values:
Value 0x01: ASN
Value 0x02: IPv4 address
Value 0x03: IPv6 address
Value 0x04: Neighbor class This sub-field is set to 0x01 for
Proxy Community Community values.
Type = Type field. This field is split into two sub-fields:
1 2
8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
Sharad Agarwal, and Timothy G. Griffin Section 2. [Page 5]
INTERNET-DRAFT Expires: July 2004 January 2004
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L - Local bit. This bit can take two values:
Value 0: The Type is Locally Defined.
Value 1: The Type is Well Known. This sub-field is set to 1
for Proxy Community Community values.
Type - Type sub-field. The following values are already defined
[L03]:
Value 0x0001: NO_EXPORT
Value 0x0002: ONLY_EXPORT
Value 0x0003: ANNOUNCE_WITH
Value 0x0004: PREPEND
Value 0x0005: ROUTE_TARGET
Value 0x0006: ROUTE_ORIGIN
Value 0x0007: LINK_BANDWIDTH The sub-field value for Proxy
Community Community values is to be assigned by IANA.
Originating ASN - Originating ASN field. This field contains the ASN
that added the Proxy Community Community to the route. In the case of
a two octet ASN, the first two octets are set to zero, as padding.
Length - Length of value field. This field specifies the number of
octets in the length of the value field. For Proxy Community
Community values, this length value must be at least 0x0D. The value
depends on the kind of BGP Community that is encoded in the value
field. An RFC 1997 BGP Community [RFC1997] occupies four octets, and
in this case, the length of value field will contain 0x0D. A BGP
Extended Community [STR03] occupies eight octets, and in this case,
the length of value field will contain 0x11. A Flexible BGP Community
[L03] occupies at least eight octets and thus the length of value
field will be at least 0x11.
Value - Value field. For Proxy Community Community values, the value
field is split into four sub-fields:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Proxy ASN |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Target ASN |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Attr. Type Code| Community Value (0-247 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Sharad Agarwal, and Timothy G. Griffin Section 2. [Page 6]
INTERNET-DRAFT Expires: July 2004 January 2004
Proxy ASN - Proxy ASN sub-field. This sub-field contains the ASN that
should act upon this Proxy Community Community value. The Proxy ASN
should add the BGP Community specified in the Community Value sub-
field to the route when announcing it to the ASN specified by the
Target ASN sub-field. The Proxy ASN should remove this Proxy
Community Community value when announcing this route to any AS. In
the case of a two octet ASN, the first two octets are set to zero, as
padding.
Target ASN - Target ASN sub-field. This sub-field contains the ASN
that receives the embedded community value specified in the Community
Value sub-field. In the case of a two octet ASN, the first two octets
are set to zero, as padding.
Attr. Type Code - Attribute Type Code sub-field. This sub-field
contains the Attribute Type Code for the value specified in the
Community Value sub-field. It can take one of three values. RFC 1997
BGP Communities [RFC1997] have an Attribute Type Code value of 0x08.
BGP Extended Communities [STR03] use a value of 0x10. The value for
Flexible BGP Communities [L03] has not yet been determined.
Community Value - Community Value sub-field. This sub-field contains
the BGP Community value that the Proxy ASN should set when announcing
the route to the Target ASN. The value of the Attribute Type Code
sub-field will determine what kind of community value it contains.
3. Example
+-------------+ +---------+ +---------+ +---------+
| 12.0.0.0/8 | | | | | | |
| AS A1 |=======| AS A2 |=======| AS A4 |=======| AS A6 |
| | | | | | | |
+-------------+ +---------+ +---------+ +---------+
| | | |
| | | |
| | +---------+ | |
| | | | | |
| +==| AS A5 |==+ |
| | | |
| +---------+ |
| |
| |
| +---------+ |
| | | |
+======================| AS A3 |======+
| |
+---------+
Sharad Agarwal, and Timothy G. Griffin Section 3. [Page 7]
INTERNET-DRAFT Expires: July 2004 January 2004
In the example shown above, when AS4 receives 12.0.0.0/8 it has three
AS paths available (A2, A1), (A5, A2, A1) and (A3, A1). The
originating AS A1 desires traffic from AS A6 to traverse the AS path
(A4, A5, A2, A1). AS A4 publishes BGP Community Attribute values that
allow the setting of the BGP LOCAL_PREF attribute [RFC1998]. BGP
Community value A4:0xFFFF sets the BGP LOCAL_PREF to the highest
value 0xFFFFFFFF. Thus, AS A1 attaches the following Flexible BGP
Community value to the route for route prefix 12.0.0.0/8:
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| 0x01 |1| TBD BY IANA | 0x00 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x00 | A1 | 0x0D |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x0000 | A5 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x0000 | A4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x08 | A4 | 0xFF |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF |
+-+-+-+-+-+-+-+-+
Due to the addition of this BGP Attribute, the route is re-announced
to AS A2, which re-announces it to AS A4 and AS A5. Since AS A5 is
the Proxy AS, it strips the Proxy Community value and sends the
community value it contains (A4:0xFFFF) with the route to the target
peer (AS A4 in this case). AS A4 sets the BGP LOCAL_PREF for this
route to 0xFFFFFFFF and causes this route to be preferred over all
others. AS A6 receives the route with AS path (A4, A5, A2, A1).
4. Operations
A route MAY carry multiple BGP Proxy Community Community values. Each
value MAY specify a different Proxy ASN.
Multiple BGP Proxy Community Community values MAY be specified for
the same Proxy ASN but different Target ASN. In this case, a BGP
speaker in the Proxy ASN SHOULD apply only the Community Values
specified in the BGP Proxy Community Community value for the relevant
Target ASN when advertising to that Target ASN.
Multiple BGP Proxy Community Community values MAY be specified for
the same Proxy ASN and the same Target ASN. In this case, a BGP
speaker in the Proxy ASN SHOULD apply each of the Community Values
Sharad Agarwal, and Timothy G. Griffin Section 4. [Page 8]
INTERNET-DRAFT Expires: July 2004 January 2004
specified in each BGP Proxy Community Community value when
advertising to the Target ASN. It SHOULD apply them in the same order
as they exist in the route.
A BGP speaker receiving a route MAY append a BGP Proxy Community
Community value to the route when propagating it to its peers.
A BGP speaker receiving a route with the BGP Proxy Community
Community value MAY modify it according to the local policy.
A BGP speaker in the Proxy ASN SHOULD remove the BGP Proxy Community
Community value from the route when advertising it across the
Autonomous system boundary. However, the value SHOULD NOT be removed
when advertising the route across the BGP Confederation boundary.
A BGP speaker not in the Proxy ASN SHOULD NOT remove the BGP Proxy
Community Community value from the route when advertising it across
the Autonomous system boundary.
5. Intellectual Property
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11 [RFC2028].
Copies of claims of rights made available for publication and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementors or users of this
specification can be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
6. Acknowledgments
We thank Dave Meyer and Vijay Gill for their suggestions and
feedback.
Sharad Agarwal, and Timothy G. Griffin Section 6. [Page 9]
INTERNET-DRAFT Expires: July 2004 January 2004
7. Security Considerations
BGP does not provide any specific mechanisms to prevent the
unauthorized alteration, addition or deletion of routing information
by an intermediate routing agent, without the knowledge of the
originating routing agent. The Proxy Community Community does not
change this underlying security issue. However, the addition or
modification of this community by an intermediate routing agent may
allow traffic destined to a route prefix to traverse an intermediate
entity with malicious intent, or cause a denial of service by making
the route prefix unreachable.
8. IANA Considerations
This document requests that a new Flexible BGP communities type sub-
field value be assigned by IANA by IETF consensus as defined in RFC
2434 [RFC2434]. There are seven types already defined [L03]. If no
other types have been assigned, Proxy Community Community can take
value 0x0008.
Sharad Agarwal, and Timothy G. Griffin Section 8. [Page 10]
INTERNET-DRAFT Expires: July 2004 January 2004
9. References
9.1. Normative References
[BCH^+03] O. Bonaventure, S. De Cnodder, J. Haas, B. Quoitin,
and R. White, "Controlling the redistribution of BGP
routes", draft-ietf-grow-bgp-redistribution-00.txt,
work in progress, June 2003.
[H03] G. Huston, "NOPEER community for BGP route scope
control", draft-ietf-ptomaine-nopeer-03.txt, work in
progress, May 2003.
[L03] A. Lange, "Flexible BGP Communities",
draft-lange-flexible-bgp-communities-01.txt, work in
progress, June 2003.
[QB02] B. Quoitin and O. Bonaventure, "A survey of the
utilization of the BGP community attribute", Technical
report Infonet-TR-2002-02,
http://www.infonet.fundp.ac.be/doc/tr/, March 2002.
[QUB02] B. Quoitin, S. Uhlig, and O. Bonaventure, "Using
redistribution communities for interdomain traffic
engineering", COST263 Workshop of Quality of Future
Internet Services, LNCS Springer-Verlag, October 2002.
[RFC1997] R. Chandra, P. Traina and T. Li, "BGP Communities
Attribute", RFC 1997, August 1996.
[RFC1998] E. Chen and T. Bates, "An Application of the BGP
Community Attribute in Multi-home Routing", RFC 1998,
August 1996.
[STR03] S. Sangli, D. Tappan, and Y. Rekhter, "BGP Extended
Communities Attribute",
draft-ietf-idr-bgp-ext-communities-06.txt, work in
progress, August 2003.
9.2. Informative References
[RFC2026] Bradner, S., "The Internet Standards Process --
Revision 3", RFC 2026/BCP 9, October, 1996.
[RFC2028] Hovey, R. and S. Bradner, "The Organizations
Sharad Agarwal, and Timothy G. Griffin Section 9.2. [Page 11]
INTERNET-DRAFT Expires: July 2004 January 2004
Involved in the IETF Standards Process", RFC
2028/BCP 11, October, 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to
Indicate Requirement Levels", RFC 2119, March,
1997.
[RFC2434] Narten, T., and H. Alvestrand, "Guidelines for
Writing an IANA Considerations Section in RFCs",
RFC 2434/BCP 26, October 1998.
Sharad Agarwal, and Timothy G. Griffin Section 9.2. [Page 12]
INTERNET-DRAFT Expires: July 2004 January 2004
10. Author's Addresses
Sharad Agarwal
University of California, Berkeley
Email: sagarwal@cs.berkeley.edu
URL : http://www.cs.berkeley.edu/~sagarwal/
Timothy G. Griffin
Intel Research, Cambridge
Email: tim.griffin@intel.com
URL: http://www.cambridge.intel-research.net/~tgriffin/
11. Full Copyright Statement
Copyright (C) The Internet Society (2004). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
Sharad Agarwal, and Timothy G. Griffin Section 11. [Page 13]