draft-ietf-idr-deprecate-as-sets-06.txt   rfc6472.txt 
Network Working Group W. Kumari Internet Engineering Task Force (IETF) W. Kumari
Internet-Draft Google, Inc. Request for Comments: 6472 Google, Inc.
Intended status: BCP K. Sriram BCP: 172 K. Sriram
Expires: April 9, 2012 U.S. NIST Category: Best Current Practice U.S. NIST
October 07, 2011 ISSN: 2070-1721 December 2011
Recommendation for Not Using AS_SET and AS_CONFED_SET in BGP Recommendation for Not Using AS_SET and AS_CONFED_SET in BGP
draft-ietf-idr-deprecate-as-sets-06
Abstract Abstract
This document recommends against the use of the AS_SET and This document recommends against the use of the AS_SET and
AS_CONFED_SET types of the AS_PATH in BGPv4. This is done to AS_CONFED_SET types of the AS_PATH in BGPv4. This is done to
simplify the design and implementation of the BGP protocol and to simplify the design and implementation of BGP and to make the
make the semantics of the originator of a route more clear. This semantics of the originator of a route more clear. This will also
will also simplify the design, implementation and deployment of simplify the design, implementation, and deployment of ongoing work
ongoing work in the Secure Inter-Domain Routing Working Group. in the Secure Inter-Domain Routing Working Group.
Status of this Memo
This Internet-Draft is submitted in full conformance with the Status of This Memo
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering This memo documents an Internet Best Current Practice.
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
BCPs is available in Section 2 of RFC 5741.
This Internet-Draft will expire on April 9, 2012. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6472.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction ....................................................2
2. Requirements notation . . . . . . . . . . . . . . . . . . . . . 4 2. Requirements Notation ...........................................3
3. Recommendation to Network Operators . . . . . . . . . . . . . . 4 3. Recommendation to Network Operators .............................3
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4 4. Security Considerations .........................................4
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 4 5. Acknowledgements ................................................4
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 6. References ......................................................4
7. Informative References . . . . . . . . . . . . . . . . . . . . 5 6.1. Normative References .......................................4
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 5 6.2. Informative References .....................................4
1. Introduction 1. Introduction
The AS_SET path segment type of the AS_PATH attribute ([RFC4271], The AS_SET path segment type of the AS_PATH attribute (Sections 4.3
Section 4.3) is created by a router that is performing route and 5.1.2 of [RFC4271]) is created by a router that is performing
aggregation and contains an unordered set of ASs that the update has route aggregation and contains an unordered set of Autonomous Systems
traversed. The AS_CONFED_SET path type ([RFC5065]) of the AS_PATH (ASes) that the update has traversed. The AS_CONFED_SET path type
attribute is created by a router that is performing route aggregation ([RFC5065]) of the AS_PATH attribute is created by a router that is
and contains an unordered set of Member AS Numbers in the local performing route aggregation and contains an unordered set of Member
confederation that the update has traversed. It is very similar to AS Numbers in the local confederation that the update has traversed.
AS_SETs but is used within a confederation. It is very similar to AS_SETs but is used within a confederation.
By performing aggregation, a router is, in essence, combining By performing aggregation, a router is, in essence, combining
multiple existing routes into a single new route. This type of multiple existing routes into a single new route. This type of
aggregation blurs the semantics of what it means to originate a aggregation blurs the semantics of what it means to originate a
route. Said aggregation can therefore cause operational issues such route. Said aggregation can therefore cause operational issues, such
as not being able to authenticate a route origin for the aggregate as not being able to authenticate a route origin for the aggregate
prefix in new BGP security technologies (such as those that take prefix in new BGP security technologies (such as those that take
advantage of the "X.509 Extensions for IP Addresses and AS advantage of the "X.509 Extensions for IP Addresses and AS
Identifiers" [RFC3779]). This in turn would result in reachability Identifiers" [RFC3779]). This in turn would result in reachability
problems for aggregated prefix and its components (i.e., more problems for the aggregated prefix and its components (i.e., more
specifics). Said aggregation also creates traffic engineering issues specifics). Said aggregation also creates traffic engineering
because the precise path information for the component prefixes is issues, because the precise path information for the component
not preserved. prefixes is not preserved.
From analysis of past Internet routing data it is apparent that From analysis of past Internet routing data, it is apparent that
aggregation that involves AS_SETs is very seldom used in practice on aggregation that involves AS_SETs is very seldom used in practice on
the public network [analysis] and, when it is used, it is usually the public network [Analysis] and, when it is used, it is usually
used incorrectly -- reserved AS numbers ([RFC1930]) and / or only a used incorrectly -- reserved AS numbers ([RFC1930]) and/or only a
single AS in the AS_SET are by far the most common case. Because the single AS in the AS_SET are by far the most common case. Because the
aggregation involving AS_SETs is very rarely used, the reduction in aggregation involving AS_SETs is very rarely used, the reduction in
table size provided by said aggregation is extremely small, and any table size provided by said aggregation is extremely small, and any
advantage thereof is outweighed by additional complexity in the BGP advantage thereof is outweighed by additional complexity in BGP. As
protocol. As noted above, said aggregation also poses impediments to noted above, said aggregation also poses impediments to
implementation of said new BGP security technologies. implementation of said new BGP security technologies.
In the past, AS_SET had been used in a few rare cases to allow route In the past, AS_SET had been used in a few rare cases to allow route
aggregation where two or more providers could form the same prefix, aggregation where two or more providers could form the same prefix,
using the exact match of the other's prefix in some advertisement and using the exact match of the other's prefix in some advertisement and
configuring the aggregation differently elsewhere. The key to configuring the aggregation differently elsewhere. The key to
configuring this correctly was to form the aggregate at the border in configuring this correctly was to form the aggregate at the border in
the outbound BGP policy and omit prefixes from the AS that the the outbound BGP policy and omit prefixes from the AS that the
aggregate was being advertised to. The AS_SET therefore allowed this aggregate was being advertised to. The AS_SET therefore allowed this
practice without the loss of BGP's AS_PATH loop protection. This use practice without the loss of BGP's AS_PATH loop protection. This use
of AS_SET served a purpose which fell in line with the original of AS_SET served a purpose that fell in line with the original
intended use. Without use of AS_SET, aggregates must always contain intended use. Without the use of AS_SET, aggregates must always
only less specific prefixes (not less than or equal to), and must contain only less specific prefixes (not less than or equal to), and
never aggregate an exact match. must never aggregate an exact match.
2. Requirements notation 2. Requirements Notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. Recommendation to Network Operators 3. Recommendation to Network Operators
It is RECOMMENDED that operators not generate any new announcements It is RECOMMENDED that operators not generate any new announcements
containing AS_SETs or AS_CONFED_SETs. If they have already announced containing AS_SETs or AS_CONFED_SETs. If they have already announced
routes with AS_SETs or AS_CONFED_SETs in them, then they SHOULD routes with AS_SETs or AS_CONFED_SETs in them, then they SHOULD
withdraw those routes and re-announce routes for the component withdraw those routes and re-announce routes for the component
prefixes (i.e., the more specifics of the previously aggregated prefixes (i.e., the additional specifics of the previously aggregated
prefix) without AS_SETs in the updates. This involves undoing the prefix) without AS_SETs in the updates. This involves undoing the
aggregation that was previously performed (with AS_SETs), and aggregation that was previously performed (with AS_SETs), and
announcing more specifics (without AS_SETs). Route aggregation that announcing more specifics (without AS_SETs). Route aggregation that
was previously performed by proxy aggregation (i.e., without the use was previously performed by proxy aggregation (i.e., without the use
of AS_SETs) is still possible under some conditions. As with any of AS_SETs) is still possible under some conditions. As with any
change, the operator should understand the full implications of the change, the operator should understand the full implications of the
change. change.
It is worth noting that new technologies (such as those that take It is worth noting that new technologies (such as those that take
advantage of the "X.509 Extensions for IP Addresses and AS advantage of the "X.509 Extensions for IP Addresses and AS
Identifiers" [RFC3779]) might not support routes with AS_SETs / Identifiers" [RFC3779]) might not support routes with AS_SETs/
AS_CONFED_SETs in them, and may treat as infeasible routes containing AS_CONFED_SETs in them, and may treat as infeasible routes containing
them. Future BGP implementations may also do the same. It is them. Future BGP implementations may also do the same. It is
expected that, even before the deployment of these new or future expected that, even before the deployment of these new or future
technologies, operators may filter routes with AS_SETs / technologies, operators may filter routes with AS_SETs/AS_CONFED_SETs
AS_CONFED_SETs in them. Other than making that observation, this in them. Other than making that observation, this document is not
document is not intended to make any recommendation for how an intended to make any recommendation for how an operator should behave
operator should behave when receiving a route with AS_SET or when receiving a route with AS_SET or AS_CONFED_SET in it. This
AS_CONFED_SET in it. This document's focus is entirely on the sender document's focus is entirely on the sender side, as discussed in the
side as discussed in the preceding paragraph. preceding paragraph.
4. IANA Considerations
This document requires no IANA actions.
5. Security Considerations 4. Security Considerations
This document discourages the use of aggregation techniques that This document discourages the use of aggregation techniques that
create AS_SETs. Future work may update the protocol to remove create AS_SETs. Future work may update the protocol to remove
support for the AS_SET path segment type of the AS_PATH attribute. support for the AS_SET path segment type of the AS_PATH attribute.
This will remove complexity and code that is not exercised very This future work will remove complexity and code that are not
often, which decreases the attack surface. This will also simplify exercised very often, thereby decreasing the attack surface. This
the design and implementation of the RPKI and systems that will rely future work will also simplify the design and implementation of the
on it. Resource Public Key Infrastructure (RPKI) and systems that will
rely on it.
6. Acknowledgements 5. Acknowledgements
The authors would like to thank Tony Li, Randy Bush, John Scudder, The authors would like to thank Tony Li, Randy Bush, John Scudder,
Curtis Villamizar, Danny McPherson, Chris Morrow, Tom Petch, Ilya Curtis Villamizar, Danny McPherson, Chris Morrow, Tom Petch, and Ilya
Varlashkin as well as Douglas Montgomery, Enke Chen, Florian Weimer, Varlashkin, as well as Douglas Montgomery, Enke Chen, Florian Weimer,
Jakob Heitz, John Leslie, Keyur Patel, Paul Jakma, Rob Austein, Russ Jakob Heitz, John Leslie, Keyur Patel, Paul Jakma, Rob Austein, Russ
Housley, Sandra Murphy, Steve Bellovin, Steve Kent, Steve Padgett, Housley, Sandra Murphy, Steve Bellovin, Steve Kent, Steve Padgett,
Alfred Hones, Alvaro Retana, everyone in IDR and everyone else who Alfred Hoenes, Alvaro Retana, everyone in the IDR working group, and
provided input everyone else who provided input.
Apologies to those who we may have missed, it was not intentional. Apologies to those who we may have missed; it was not intentional.
7. Informative References 6. References
[RFC1930] Hawkinson, J. and T. Bates, "Guidelines for creation, 6.1. Normative References
selection, and registration of an Autonomous System (AS)",
BCP 6, RFC 1930, March 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP 6.2. Informative References
Addresses and AS Identifiers", RFC 3779, June 2004.
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway [Analysis] Sriram, K. and D. Montgomery, "Measurement Data on AS_SET
Protocol 4 (BGP-4)", RFC 4271, January 2006. and AGGREGATOR: Implications for {Prefix, Origin}
Validation Algorithms", SIDR WG presentation, IETF 78,
July 2010, <www.antd.nist.gov/~ksriram/
AS_SET_Aggregator_Stats.pdf>.
[RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous [RFC1930] Hawkinson, J. and T. Bates, "Guidelines for creation,
System Confederations for BGP", RFC 5065, August 2007. selection, and registration of an Autonomous System
(AS)", BCP 6, RFC 1930, March 1996.
[analysis] [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
Sriram, K., "Measurement Data on AS_SET and AGGREGATOR, Addresses and AS Identifiers", RFC 3779, June 2004.
SIDR WG presentation, IETF-78", July 2010, < http://
www.antd.nist.gov/~ksriram/AS_SET_Aggregator_Stats.pdf>. [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271,
January 2006.
[RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous
System Confederations for BGP", RFC 5065, August 2007.
Authors' Addresses Authors' Addresses
Warren Kumari Warren Kumari
Google, Inc. Google, Inc.
1600 Amphitheatre Parkway 1600 Amphitheatre Parkway
Mountain View, CA 94043 Mountain View, CA 94043
US US
Phone: +1 571 748 4373 Phone: +1 571 748 4373
Email: warren@kumari.net EMail: warren@kumari.net
Kotikalapudi Sriram Kotikalapudi Sriram
U.S. NIST U.S. NIST
100 Bureau Drive 100 Bureau Drive
Gaithersburg, MD 20899 Gaithersburg, MD 20899
US US
Phone: +1 301 975 3973 Phone: +1 301 975 3973
Email: ksriram@nist.gov EMail: ksriram@nist.gov
 End of changes. 34 change blocks. 
94 lines changed or deleted 93 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/