draft-ietf-idr-deprecate-as-sets-02.txt   draft-ietf-idr-deprecate-as-sets-03.txt 
Network Working Group W. Kumari Network Working Group W. Kumari
Internet-Draft Google, Inc. Internet-Draft Google, Inc.
Intended status: Informational January 16, 2011 Intended status: Informational K. Sriram
Expires: July 20, 2011 Expires: October 24, 2011 U.S. NIST
April 22, 2011
Deprecation of BGP AS_SET, AS_CONFED_SET. Deprecation of the use of BGP AS_SET, AS_CONFED_SET.
draft-ietf-idr-deprecate-as-sets-02.txt draft-ietf-idr-deprecate-as-sets-03
Abstract Abstract
This document deprecates the use of the AS_SET and AS_CONFED_SET This document deprecates the use of the AS_SET and AS_CONFED_SET
types of the AS_PATH in BGPv4. This is done to simplify the design types of the AS_PATH in BGPv4. This is done to simplify the design
and implementation of the BGP protocol and to make the semantics of and implementation of the BGP protocol and to make the semantics of
the originator of a route more clear. This will also simplify the the originator of a route more clear. This will also simplify the
design, implementation and deployment of bonging work in the Secure design, implementation and deployment of ongoing work in the Secure
Inter-Domain Routing Working Group. Inter-Domain Routing Working Group.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 20, 2011. This Internet-Draft will expire on October 24, 2011.
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 . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements notation . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements notation . . . . . . . . . . . . . . . . . . . . . 3
3. Deployment and modification of behavior . . . . . . . . . . . . 3 3. Recommendation to Network Operators . . . . . . . . . . . . . . 4
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 4 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 4
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 4 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 4
7. Normative References . . . . . . . . . . . . . . . . . . . . . 4 7. Informative References . . . . . . . . . . . . . . . . . . . . 5
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 5 Appendix A. Proxy Aggregation without AS_SETs . . . . . . . . . . 5
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7
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 ([RFC4271],
Section 4.3) is created by a router that is performing route Section 4.3) is created by a router that is performing route
aggregation and contains an unordered set of ASs that the update has aggregation and contains an unordered set of ASs that the update has
traversed. The AS_CONFED_SET path segment type ([RFC5065]) of the traversed. The AS_CONFED_SET path type ([RFC5065]) of the AS_PATH
AS_PATH attribute is created by a router that is performing route attribute is created by a router that is performing route aggregation
aggregation and contains an unordered set of Member AS Numbers in the and contains an unordered set of Member AS Numbers in the local
local confederation that the update has traversed (AS_CONFED_SETs are confederation that the update has traversed. It is very similar to
very similar to AS_SETs, but are used within a confederation). 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 routes into a new route. This type of aggregation blurs the multiple existing routes into a single new route. This type of
semantics of what it means to originate a route. These can cause aggregation blurs the semantics of what it means to originate a route
operational issues that include reachability problems and traffic which can cause operational issues that include reachability problems
engineering issues. and traffic engineering issues.
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 and, when it is, often contains reserved AS the public network and, when it is used, it is usually used
numbers ([RFC1930]) and / or only a single AS in the AS_SET. The incorrectly -- reserved AS numbers ([RFC1930]) and / or only a single
reduction in table size provided by the aggregation is outweighed by AS in the AS_SET are by far the most common case. The reduction in
additional complexity in the BGP protocol and confusion regarding table size provided by the aggregation is outweighed by additional
what exactly is meant by originating a route. complexity in the BGP protocol and confusion regarding what exactly
is meant by originating a 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,
using the exact match of the others prefix in some advertisement and
configuring the aggregation differently elsewhere. The key to
configuring this correctly was to form the aggregate at the border in
the outbound BGP policy and omit prefixes from the AS that the
aggregate was being advertised to. The AS_SET therefore allowed this
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
intended use. Without AS_SET aggregates must always contain only
less specific prefixes (not less than or equal to), and must never
aggregate an exact match. Since this practice is thought to no
longer be widely used, it is thought to be safe to deprecate the use
of AS_SET.
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. Deployment and modification of behavior 3. Recommendation to Network Operators
Operators are strongly advised to not generate any new announcements Operators are strongly advised to not generate any new announcements
containing AS_SETs or AS_CONFED_SETs and to withdraw any existing containing AS_SETs or AS_CONFED_SETs. If they have already announced
routes containing them as soon as possible. As with any change, the routes with AS_SETs or AS_CONFED_SETs in them, then they should
operator should understand the full implications of the change. withdraw and re-announce those prefixes without AS_SETs in the
updates. This may require undoing the aggregation that was
previously performed, and announcing more specifics. Route
aggregation is possible under some conditions without the use of
AS_SETs (please see Appendix A for relevant discussion and
suggestions). As with any change, the operator should understand the
full implications of the 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]) may not support routes with AS_SETs / Identifiers" ([RFC3779]) may 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. them. Future BGP implementations may also do the same.
It is expected that, even before the deployment of these It is expected that, even before the deployment of these
technologies, operators may begin filtering routers that contain technologies, operators may begin filtering routes that contain
AS_SETs or AS_CONFED_SETs. AS_SETs or AS_CONFED_SETs.
4. IANA Considerations 4. IANA Considerations
This document contains no IANA considerations. This document requires no IANA actions.
5. Security Considerations 5. Security Considerations
By removing support for the AS_SET path segment type of the AS_PATH This document discourages the use of aggregation techniques that
attribute future BGP implementations can be simplified. This will create AS_SETs. Future work will update the protocol to remove
also simplify the design and implementation of the RPKI and systems support for the AS_SET path segment type of the AS_PATH attribute.
that will rely on it. By removing corner cases we remove complexity This will remove complexity and code that is not exercised very
and code that is not exercised very often, which decreases the attack often, which decreases the attack surface. This will also simplify
surface. the design and implementation of the RPKI and systems that will rely
on it.
6. Acknowledgements 6. Acknowledgements
The author would like to thank Tony Li, Randy Bush, John Scudder, The authors would like to thank Tony Li, Randy Bush, John Scudder,
Chris Morrow, Danny McPherson, Douglas Montgomery, Enke Chen, Florian Curtis Villamizar, Danny McPherson, Chris Morrow, Tom Petch, Ilya
Weimer, Ilya Varlashkin, Jakob Heitz, John Leslie, Keyur Patel, Paul Varlashkin as well as Douglas Montgomery, Enke Chen, Florian Weimer,
Jakma, Rob Austein, Russ Housley, Sandra Murphy, Sriram Kotikalapudi, Jakob Heitz, John Leslie, Keyur Patel, Paul Jakma, Rob Austein, Russ
Steve Bellovin, Steve Kent, Steve Padgett, Alfred Hones, Tom Petch, Housley, Sandra Murphy, Steve Bellovin, Steve Kent, Steve Padgett,
Alvaro Retana, everyone in IDR and everyone else who provided input. Alfred Hones, Alvaro Retana, everyone in IDR and everyone else who
provided input.
Apologies to those who I may have missed, it was not intentional. Apologies to those who I may have missed, it was not intentional.
7. Normative References 7. Informative References
[RFC1930] Hawkinson, J. and T. Bates, "Guidelines for creation, [RFC1930] Hawkinson, J. and T. Bates, "Guidelines for creation,
selection, and registration of an Autonomous System (AS)", selection, and registration of an Autonomous System (AS)",
BCP 6, RFC 1930, March 1996. 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 [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
Addresses and AS Identifiers", RFC 3779, June 2004. Addresses and AS Identifiers", RFC 3779, June 2004.
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", RFC 4271, January 2006. Protocol 4 (BGP-4)", RFC 4271, January 2006.
[RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous
System Confederations for BGP", RFC 5065, August 2007. System Confederations for BGP", RFC 5065, August 2007.
Author's Address Appendix A. Proxy Aggregation without AS_SETs
Using the illustration in Figure 1 below, we attempt to point out how
an aggregating AS can perform proxy aggregation without using an
AS_SET in the aggregate announcement.
In Figure 1, more specific prefixes p0/24, p1/24, p2/24, and p3/24
are originated by AS-A, AS-B, AS-C, and AS-D, respectively. AS-E and
AS-F choose not to aggregate; they forward the more specifics to
AS-G. AS-G aggregates the four more specifics into a single less
specific prefix p/22, and propagates updates in BGP to its neighbors
(including AS-E and AS-F) to announce the p/22 prefix. If G were to
insert the AS_SET [A,B,C,D,E,F] in the update, then AS-E and AS-F
will be aware of the looping possibility and not install the route
for p/22. The undesirable consequence here would be that AS-E would
not have reachability to p2/24 and p3/24, and similarly AS-F would
not have reachability to p0/24 and p1/24. So there is a hidden
downside of this nature in proxy aggregation with the use of AS_SET.
Now consider the case when AS-G performs the same aggregation but
does not use an AS_SET in the aggregate announcement. The following
recommendation is in order:
o An AS should proxy aggregate only prefixes which belong to its
administrative domain.
With this recommendation in mind, we attempt to explain here how the
data-plane looping possibility can still be avoided, and the
reachability problem identified above is also prevented.
In Figure 1, please take note of the aggregate announcements (without
AS_SET) from AS-G to its neighbors. Absent the AS_SET in the
aggregate announcement, now AS-E and AS-F would install the route for
p/22 via AS-G in their routing tables. So AS-E will have
reachability to p2/24 and p3/24, and similarly AS-F will have
reachability to p0/24 and p1/24. Also, the looping possibility
between AS-E and AS-G (and likewise between AS-F and AS-G) is avoided
provided that AS-G observes a slight caution in its aggregation
decision and packet forwarding. As already stated, AS-G should
aggregate only those prefixes which belong in its admin domain, and
secondly if any of those prefixes are withdrawn then AS-G should drop
the route for that prefix from its FIB even though it still maintains
the aggregation and continues to announce p/22 to its neighbors. If
AS-E were to withdraw a prefix (say, p1/24) then AS-G will no longer
forward packets for that prefix to AS-E. Hence, under said
circumstance, even though AS-E may forward packets for p1/24 to AS-G,
those packets will be dropped at AS-G and thus data-plane looping
would not occur. The other reason for recommending aggregation of
prefixes from within the same admin domain is that in that case, the
aggregating AS (AS-G in the example) can create a ROA (in the RPKI
repository) for the aggregate (p/22) showing itself (AS-G) as the
origin.
p0/24--A Update {E,A, p0/24} -->
\ Update {E,B, p1/24} -->
E-------------------------------\
/ <-- Update {G, p/22} \
p1/24--B (w/o AS_SET) \
or \
<-- Update {G,[A,B,C,D,E,F], p/22} \
(with AS_SET) \
\
\
\
\
G---------H
<-- Update {G, p/22} / --->
(w/o AS_SET) / same aggregate
or / update as sent
p2/24--C <-- Update {G,[A,B,C,D,E,F], p/22} / to E or F
\ (with AS_SET) /
F-----------------------------------/
/ Update {F,C, p2/24} -->
p3/24--D Update {F,D, p3/24} -->
Note: p0/24+p1/24+p2/24+p3/24 = p/22
BGP speaker G has chosen to Aggregate
Figure 1: Illustration for discussion of loop possibility in data
forwarding when AS_SET is not used and how it can be mitigated.
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
U.S. NIST
100 Bureau Drive
Gaithersburg, MD 20899
US
Phone: +1 301 975 3973
Email: ksriram@nist.gov
 End of changes. 18 change blocks. 
43 lines changed or deleted 150 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/