< draft-ietf-idr-deprecate-as-set-confed-set-00.txt   draft-ietf-idr-deprecate-as-set-confed-set-01.txt >
Network Working Group W. Kumari Network Working Group W. Kumari
Internet-Draft Google, Inc. Internet-Draft Google, Inc.
Intended status: Standards Track K. Sriram Obsoletes: 6472 (if approved) K. Sriram
Expires: March 6, 2020 USA NIST Updates: 4271 5065 (if approved) L. Hannachi
September 3, 2019 Intended status: Standards Track USA NIST
Expires: May 1, 2020 October 29, 2019
Deprecation of AS_SET and AS_CONFED_SET in BGP Deprecation of AS_SET and AS_CONFED_SET in BGP
draft-ietf-idr-deprecate-as-set-confed-set-00 draft-ietf-idr-deprecate-as-set-confed-set-01
Abstract Abstract
BCP 172 (i.e., RFC 6472) recommends not using AS_SET and BCP 172 (i.e., RFC 6472) recommends not using AS_SET and
AS_CONFED_SET in Border Gateway Protocol (BGP). This document AS_CONFED_SET in the Border Gateway Protocol. This document advances
updates RFC 4271 and proscribes the use of the AS_SET and this recommendation to a standards requirement in BGP; it proscribes
AS_CONFED_SET types of path segments in the AS_PATH. This is done to the use of the AS_SET and AS_CONFED_SET types of path segments in the
simplify the design and implementation of BGP and to make the AS_PATH. This is done to simplify the design and implementation of
semantics of the originator of a route clearer. This will also BGP and to make the semantics of the originator of a route clearer.
simplify the design, implementation, and deployment of various BGP This will also simplify the design, implementation, and deployment of
security mechanisms. various BGP security mechanisms. This document (if approved) updates
RFC 4271 and RFC 5065 by eliminating AS_SET and AS_CONFED_SET types,
and obsoletes RFC 6472.
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://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 March 6, 2020. This Internet-Draft will expire on May 1, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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
skipping to change at page 2, line 14 skipping to change at page 2, line 17
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 . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Recommendation to Network Operators . . . . . . . . . . . . . 3 3. Recommendation to Network Operators . . . . . . . . . . . . . 3
4. Security Considerations . . . . . . . . . . . . . . . . . . . 4 4. Updates to Existing RFCs . . . . . . . . . . . . . . . . . . 4
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 5. Security Considerations . . . . . . . . . . . . . . . . . . . 4
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5
7.1. Normative References . . . . . . . . . . . . . . . . . . 4 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.2. Informative References . . . . . . . . . . . . . . . . . 5 8.1. Normative References . . . . . . . . . . . . . . . . . . 5
8.2. Informative References . . . . . . . . . . . . . . . . . 5
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction 1. Introduction
BCP 172 [RFC6472] makes a recommendation for not using AS_SET and BCP 172 [RFC6472] makes a recommendation for not using AS_SET (see
AS_CONFED_SET in Border Gateway Protocol (BGP). This document [RFC4271]) and AS_CONFED_SET (see [RFC5065]) in the Border Gateway
advances the recommendation to a standards requirement in BGP. It Protocol (BGP). This document advances the BCP recommendation to a
updates [RFC4271] and proscribes the use of the AS_SET and standards requirement in BGP; it proscribes the use of the AS_SET and
AS_CONFED_SET types of path segments in the AS_PATH. AS_CONFED_SET types of path segments in the AS_PATH.
The AS_SET path segment in the AS_PATH attribute (Sections 4.3 and The AS_SET path segment in the AS_PATH attribute (Sections 4.3 and
5.1.2 of [RFC4271]) is created by a router that is performing route 5.1.2 of [RFC4271]) is created by a router that is performing route
aggregation and contains an unordered set of Autonomous Systems aggregation and contains an unordered set of Autonomous Systems
(ASes) that the update has traversed. The AS_CONFED_SET path segment (ASes) that the update has traversed. The AS_CONFED_SET path segment
(see [RFC5065]) in the AS_PATH attribute is created by a router that (see [RFC5065]) in the AS_PATH attribute is created by a router that
is performing route aggregation and contains an unordered set of is performing route aggregation and contains an unordered set of
Member AS Numbers in the local confederation that the update has Member AS Numbers in the local confederation that the update has
traversed. It is very similar to AS_SETs but is used within a traversed. It is very similar to AS_SETs but is used within a
confederation. confederation.
By performing aggregation, a router is combining multiple existing By performing aggregation, a router is combining multiple existing
routes into a single new route. The aggregation together with the routes into a single new route. The aggregation together with the
use of AS_SET blurs the semantics of origin AS for the prefix being use of AS_SET blurs the semantics of origin AS for the prefix being
announced. Therefore, the aggregation with AS_SET (or AS_CONFED_SET) announced. Therefore, the aggregation with AS_SET (or AS_CONFED_SET)
can cause operational issues, such as not being able to authenticate can cause operational issues, such as not being able to authenticate
a route origin for the aggregate prefix in new BGP security a route origin for the aggregate prefix in new BGP security
technologies such as those that take advantage of X.509 extensions technologies such as those that take advantage of X.509 extensions
for IP addresses and AS identifiers [RFC3779] [RFC6811] [RFC8205]. for IP addresses and AS identifiers [RFC3779] [RFC6480] [RFC6811]
This in turn could result in reachability problems for the aggregated
prefix and its components (i.e., more-specific prefixes). The [RFC8205]. This in turn could result in reachability problems for
aggregation as described above could also create traffic engineering the aggregated prefix and its components (i.e., more-specific
issues, because the precise path information for the component prefixes). The aggregation as described above could also create
prefixes are not preserved. traffic engineering issues, because the precise path information for
the component prefixes are 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 Internet [Analysis] and when it is used, it is often used the public Internet [Analysis] and when it is used, it is often used
incorrectly -- reserved AS numbers ([RFC1930]) and/or only a single incorrectly -- only a single AS in the AS_SET are by far the most
AS in the AS_SET are by far the most common cases. Because the common cases. Also, very often the same AS appears in the
aggregation involving AS_SETs is very rarely used, the reduction in AS_SEQUENCE and the AS_SET in the BGP update. The occurrence of
table size provided by said aggregation is extremely small, and any reserved AS numbers ([IANA-SP-ASN]) is also somewhat frequent.
Because the aggregation involving AS_SETs is very rarely used, the
reduction in table size provided by this is extremely small, and any
advantage thereof is outweighed by additional complexity in BGP. As advantage thereof is outweighed by additional complexity in BGP. As
noted above, said aggregation also poses impediments to noted above, AS_SETs also pose impediments to implementation of new
implementation of new BGP security technologies. 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 aggregate aggregation where two or more providers could form the same aggregate
prefix, using the exact match of the other's aggregate prefix in some prefix, using the exact match of the other's aggregate prefix in some
advertisement and configuring the aggregation differently elsewhere. advertisement and configuring the aggregation differently elsewhere.
The key to configuring this correctly was to form the aggregate at 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 the border in the outbound BGP policy and omit prefixes from the AS
that the aggregate was being advertised to. The AS_SET therefore that the aggregate was being advertised to. The AS_SET therefore
allowed this practice without the loss of BGP's AS_PATH loop allowed this practice without the loss of BGP's AS_PATH loop
protection. This use of AS_SET served a purpose that fell in line protection. This use of AS_SET served a purpose that fell in line
skipping to change at page 3, line 41 skipping to change at page 3, line 47
2. Requirements Language 2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Recommendation to Network Operators 3. Recommendation to Network Operators
Operators MUST NOT generate any new announcements containing AS_SETs Network operators MUST NOT generate any new announcements containing
or AS_CONFED_SETs. If they have already announced routes with AS_SETs or AS_CONFED_SETs. If they have already announced routes
AS_SETs or AS_CONFED_SETs in them, then they MUST withdraw those with AS_SETs or AS_CONFED_SETs in them, then they MUST withdraw those
routes and re-announce routes for the component prefixes (i.e., the routes and re-announce routes for the component prefixes (i.e., the
more-specific prefixes subsumed by the previously aggregated prefix) more-specific routes subsumed by the previously aggregated route)
without AS_SETs or CONFED_SETs in the updates. Route aggregation without AS_SETs or AS_CONFED_SETs in the updates. A sending router
that was previously performed by proxy aggregation (i.e., without the MUST not generate a BGP UPDATE with AS_SET or AS_CONFED_SET. A
use of AS_SETs) is still possible under some conditions. When doing receiving router MUST treat the announced routes in a BGP UPDATE with
this, operators MUST form the aggregate at the border in the outbound AS_SET or AS_CONFED_SET as withdrawn routes.
BGP policy and omit any prefixes from the AS that the aggregate was
being advertised to. As with any change, the operator should If a network operator wishes to consider a BGP UPDATE with AS_SET or
understand the full implications of the change. AS_CONFED_SET for path selection, they MAY have a feature (knob) in
the router to opt to do so. The operator should understand the full
implications of choosing this option.
Route aggregation that was previously performed by proxy aggregation
without the use of AS_SETs is still possible under some conditions.
When doing this, operators MUST form the aggregate at the border in
the outbound BGP policy and omit any prefixes from the AS that the
aggregate is being advertised to. As with any change, the operator
should understand the full implications of the change.
It is worth noting that new BGP security technologies (such as those It is worth noting that new BGP security technologies (such as those
that take advantage of X.509 extensions for IP addresses and AS that take advantage of X.509 extensions for IP addresses and AS
identifiers [RFC3779] [RFC6811] [RFC8205]) might not support routes identifiers [RFC3779] [RFC6480] [RFC6811] [RFC8205]) might not
with AS_SETs/AS_CONFED_SETs in them, and may treat routes containing support routes with AS_SETs/AS_CONFED_SETs in them, and may treat
them as infeasible. Future BGP implementations may also do the same. routes containing them as infeasible even before the updated BGP in
It is expected that, even before the deployment of these new or this document is implemented.
future technologies, operators may filter routes with AS_SETs/
AS_CONFED_SETs in them. Other than making that observation, this
document is not intended to make any recommendation for how an
implementation should behave when receiving a route with AS_SET or
AS_CONFED_SET in it. This document's focus is entirely on the sender
side, as discussed in the preceding paragraph.
4. Security Considerations 4. Updates to Existing RFCs
This document eliminates AS_PATH segment type 1, namely, AS_SET that
is specified in Section 4.3 of [RFC4271]. That is, in a future
specification of BGP -- one that would obsolete RFC 4271 -- the use
of AS_SET will not be specified.
This document also eliminates AS_PATH segment type 4, namely,
AS_CONFED_SET that is specified in Section 3 of [RFC5065]. That is,
in a future specification of Autonomous System Confederations for BGP
-- one that would obsolete RFC 5065 -- the use of AS_CONFED_SET will
not be specified.
5. Security Considerations
This document obsoletes the use of aggregation techniques that create This document obsoletes the use of aggregation techniques that create
AS_SETs or AS_CONFED_SETs. Obsoleting these path segment types from AS_SETs or AS_CONFED_SETs. Obsoleting these path segment types from
BGP and removal of the related code from implementations would BGP and removal of the related code from implementations would
potentially decrease the attack surface for BGP. potentially decrease the attack surface for BGP. Deployments of new
BGP security technologies [RFC6480] [RFC6811] [RFC8205] benefit
greatly if AS_SET and AS_CONFED_SET are not used in BGP.
5. IANA Considerations 6. IANA Considerations
This document requires no IANA actions. This document requires no IANA actions.
6. Acknowledgements 7. Acknowledgements
The authors would like to thank Tony Li, Randy Bush, John Scudder, The authors would like to thank Jeffery Haas, John Heasley, Job
Curtis Villamizar, Danny McPherson, Chris Morrow, Tom Petch, Ilya Snijders, Jared Mauch, Jakob Heitz, Keyur Patel, Douglas Montgomery,
Varlashkin, Douglas Montgomery, Enke Chen, Florian Weimer, Jakob Randy Bush, Susan Hares, John Scudder, Curtis Villamizar, Danny
Heitz, John Leslie, Keyur Patel, Paul Jakma, Rob Austein, Russ McPherson, Chris Morrow, Tom Petch, Ilya Varlashkin, Enke Chen, Tony
Li, Florian Weimer, John Leslie, Paul Jakma, Rob Austein, Russ
Housley, Sandra Murphy, Steve Bellovin, Steve Kent, Steve Padgett, Housley, Sandra Murphy, Steve Bellovin, Steve Kent, Steve Padgett,
Alfred Hoenes, and Alvaro Retana. Alfred Hoenes, and Alvaro Retana for comments and suggestions.
7. References 8. References
7.1. Normative References 8.1. Normative References
[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, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006, DOI 10.17487/RFC4271, January 2006,
<https://www.rfc-editor.org/info/rfc4271>. <https://www.rfc-editor.org/info/rfc4271>.
[RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous
System Confederations for BGP", RFC 5065, System Confederations for BGP", RFC 5065,
DOI 10.17487/RFC5065, August 2007, DOI 10.17487/RFC5065, August 2007,
<https://www.rfc-editor.org/info/rfc5065>. <https://www.rfc-editor.org/info/rfc5065>.
7.2. Informative References 8.2. Informative References
[Analysis] [Analysis]
Sriram, K. and D. Montgomery, "Measurement Data on AS_SET Hannachi, L. and K. Sriram, "Detailed analysis of AS_SETs
and AGGREGATOR: Implications for {Prefix, Origin} in BGP updates", NIST Robust Inter-domain Routing Project
Validation Algorithms", SIDR WG presentation, IETF 78, Website , October 2019,
July 2010, <http://www.nist.gov/itl/antd/upload/ <https://www.nist.gov/sites/default/files/
AS_SET_Aggregator_Stats.pdf>. documents/2019/10/23/detailed-as_set-analysis.txt>.
[RFC1930] Hawkinson, J. and T. Bates, "Guidelines for creation, [IANA-SP-ASN]
selection, and registration of an Autonomous System (AS)", "Special-Purpose Autonomous System (AS) Numbers",
BCP 6, RFC 1930, DOI 10.17487/RFC1930, March 1996, <https://www.iana.org/assignments/iana-as-numbers-special-
<https://www.rfc-editor.org/info/rfc1930>. registry/iana-as-numbers-special-registry.xhtml>.
[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, Addresses and AS Identifiers", RFC 3779,
DOI 10.17487/RFC3779, June 2004, DOI 10.17487/RFC3779, June 2004,
<https://www.rfc-editor.org/info/rfc3779>. <https://www.rfc-editor.org/info/rfc3779>.
[RFC6472] Kumari, W. and K. Sriram, "Recommendation for Not Using [RFC6472] Kumari, W. and K. Sriram, "Recommendation for Not Using
AS_SET and AS_CONFED_SET in BGP", BCP 172, RFC 6472, AS_SET and AS_CONFED_SET in BGP", BCP 172, RFC 6472,
DOI 10.17487/RFC6472, December 2011, DOI 10.17487/RFC6472, December 2011,
<https://www.rfc-editor.org/info/rfc6472>. <https://www.rfc-editor.org/info/rfc6472>.
[RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support
Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480,
February 2012, <https://www.rfc-editor.org/info/rfc6480>.
[RFC6811] Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R. [RFC6811] Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R.
Austein, "BGP Prefix Origin Validation", RFC 6811, Austein, "BGP Prefix Origin Validation", RFC 6811,
DOI 10.17487/RFC6811, January 2013, DOI 10.17487/RFC6811, January 2013,
<https://www.rfc-editor.org/info/rfc6811>. <https://www.rfc-editor.org/info/rfc6811>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol [RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol
skipping to change at line 254 skipping to change at page 7, line 4
Email: warren@kumari.net Email: warren@kumari.net
Kotikalapudi Sriram Kotikalapudi Sriram
USA NIST USA 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: sriram.ietf@gmail.com Email: sriram.ietf@gmail.com
Lilia Hannachi
USA NIST
100 Bureau Drive
Gaithersburg, MD 20899
US
Phone: +1 301 975 3259
Email: lilia.hannachi@nist.gov
 End of changes. 25 change blocks. 
76 lines changed or deleted 106 lines changed or added

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