draft-ietf-grow-route-leak-detection-mitigation-02.txt   draft-ietf-grow-route-leak-detection-mitigation-03.txt 
IDR and SIDR K. Sriram, Ed. IDR and SIDR K. Sriram, Ed.
Internet-Draft USA NIST Internet-Draft USA NIST
Intended status: Standards Track A. Azimov, Ed. Intended status: Standards Track A. Azimov, Ed.
Expires: July 28, 2020 Yandex Expires: January 28, 2021 Yandex
January 25, 2020 July 27, 2020
Methods for Detection and Mitigation of BGP Route Leaks Methods for Detection and Mitigation of BGP Route Leaks
draft-ietf-grow-route-leak-detection-mitigation-02 draft-ietf-grow-route-leak-detection-mitigation-03
Abstract Abstract
Problem definition for route leaks and enumeration of types of route Problem definition for route leaks and enumeration of types of route
leaks are provided in [RFC7908]. This document describes a new well- leaks are provided in RFC 7908. This document describes a new well-
known Large Community that provides a way for route leak prevention, known Large Community that provides a way for route-leak prevention,
detection, and mitigation. The configuration process for this detection, and mitigation. The configuration process for this
Community can be automated with the methodology for setting BGP roles Community can be automated with the methodology for setting BGP roles
that is described in ietf-idr-bgp-open-policy draft. that is described in ietf-idr-bgp-open-policy draft.
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 July 28, 2020. This Internet-Draft will expire on January 28, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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
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 . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Peering Relationships . . . . . . . . . . . . . . . . . . . . 2 2. Peering Relationships . . . . . . . . . . . . . . . . . . . . 3
3. Community vs Attribute . . . . . . . . . . . . . . . . . . . 3 3. Community vs Attribute . . . . . . . . . . . . . . . . . . . 3
4. Down Only Community . . . . . . . . . . . . . . . . . . . . . 4 4. Down Only Community . . . . . . . . . . . . . . . . . . . . . 4
4.1. Route Leak Mitigation . . . . . . . . . . . . . . . . . . 5 4.1. Route-Leak Mitigation . . . . . . . . . . . . . . . . . . 5
4.2. Only Marking . . . . . . . . . . . . . . . . . . . . . . 6 4.2. Only Marking . . . . . . . . . . . . . . . . . . . . . . 6
5. Implementation Considerations . . . . . . . . . . . . . . . . 6 5. Implementation Considerations . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7
8. Informative References . . . . . . . . . . . . . . . . . . . 7 8. Informative References . . . . . . . . . . . . . . . . . . . 7
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 8 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 8
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
[RFC7908] provides a definition of the route leak problem and RFC 7908 [RFC7908] provides a definition of the route-leak problem
enumerates several types of route leaks. For this document, the and enumerates several types of route leaks. For this document, the
definition that is applied is that a route leak occurs when a route definition that is applied is that a route leak occurs when a route
received from a transit provider or a lateral peer is forwarded received from a transit provider or a lateral peer is forwarded
(against commonly used policy) to another transit provider or a (against commonly used policy) to another transit provider or a
lateral peer. The commonly used policy is that a route received from lateral peer. The commonly used policy is that a route received from
a transit provider or a lateral peer MAY be forwarded only to a transit provider or a lateral peer MAY be forwarded only to
customers. customers.
This document describes a solution for prevention, detection and This document describes a solution for prevention, detection and
mitigation route leaks which is based on conveying route-leak mitigation route leaks which is based on conveying route-leak
detection information in a well-known BGP Large Community. The detection information in a transitive well-known BGP Large Community.
configuration process for the Large Community MUST be defined The configuration process for the Large Community MUST be defined
according to peering relations between ISPs. This process can be according to peering relations between ISPs. This process can be
automated with the methodology for setting BGP roles that is automated with the methodology for setting BGP roles that is
described in [I-D.ietf-idr-bgp-open-policy]. described in [I-D.ietf-idr-bgp-open-policy].
The techniques described in this document can be incrementally The techniques described in this document can be incrementally
deployed. If a group of big ISPs and/or Internet Exchanges (IXes) deployed. If a pair of ISPs and/or Internet Exchanges (IXes) deploy
deploy the proposed techniques, then they would be helping each other the proposed techniques, then they would detect and mitigate any
by blocking route leaks that can happen between them. route leaks that occur in an AS path between them even when other
ASes in the path are not upgraded.
2. Peering Relationships 2. Peering Relationships
As described in [I-D.ietf-idr-bgp-open-policy] there are several As described in [I-D.ietf-idr-bgp-open-policy] there are several
common peering relations between eBGP neighbors: common peering relations between eBGP neighbors:
o Provider - sender is a transit provider of the neighbor; o Provider - sender is a transit provider of the neighbor;
o Customer - sender is a customer of the neighbor; o Customer - sender is a customer of the neighbor;
skipping to change at page 3, line 35 skipping to change at page 3, line 40
'down only' policy. This signal would facilitate a way to stop the 'down only' policy. This signal would facilitate a way to stop the
propagation of leaked prefixes. propagation of leaked prefixes.
To improve reliability and cover for non-participating preceding To improve reliability and cover for non-participating preceding
neighbor, the signal should be set on both receiver and sender sides. neighbor, the signal should be set on both receiver and sender sides.
3. Community vs Attribute 3. Community vs Attribute
This section presents a brief discussion of the advantages and This section presents a brief discussion of the advantages and
disadvantages of communities and BGP path attributes for the purpose disadvantages of communities and BGP path attributes for the purpose
of route leak detection. of route-leak detection.
A transitive path attribute is a native way to implement the route- A transitive path attribute is a native way to implement the route-
leak detection signal. Based on the way BGP protocol works, the use leak detection signal. Based on the way BGP protocol works, the use
of a transitive attribute makes it more certain that the route-leak of a transitive attribute makes it more certain that the route-leak
detection signal would pass unaltered through non-participating detection signal would pass unaltered through non-participating
(i.e., not upgraded) BGP routers. The main disadvantage of this (i.e., not upgraded) BGP routers. The main disadvantage of this
approach is that the deployment of a new BGP attribute requires a approach is that the deployment of a new BGP attribute requires a
software upgrade in router OS which may delay wide adoption for software upgrade in router OS which may delay wide adoption for
years. years.
On the other hand, BGP communities do not require a router OS update. On the other hand, BGP Communities do not require a router OS update.
The potential disadvantage of using a Community for the route-leak The potential disadvantage of using a Community for the route-leak
detection signal is that it is more likely to be dropped somewhere detection signal is that it is more likely to be dropped somewhere
along the way in the AS path. Currently, the use of BGP Communities along the way in the AS path. Currently, the use of BGP Communities
is somewhat overloaded. BGP Communities are already used for is somewhat overloaded. BGP Communities are already used for
numerous applications: different types of route marking, route policy numerous applications: different types of route marking, route policy
control, black-holing, etc. It is observed that some ASes seem to control, blackholing, etc. It is observed that some ASes seem to
purposefully or accidentally remove transitive communities on purposefully or accidentally remove transitive communities on
receipt, sometimes well-known ones. Perhaps this issue may be receipt, sometimes well-known ones. Perhaps this issue may be
mitigated with strong policy guidance related to the handling of mitigated with strong policy guidance related to the handling of
Communities. Communities.
Due to frequently occurring regional and global disruptions in Due to frequently occurring regional and global disruptions in
Internet connectivity, it is critical to move forward with a solution Internet connectivity, it is critical to move forward with a solution
that is viable in the near term. That solution would be route leak that is viable in the near term. That solution would be route-leak
detection using BGP Community. detection using BGP Community.
Large Communities have much higher capacity, and therefore they are Large Communities have much higher capacity, and therefore they are
likely to be less overloaded. Hence, Large Community is proposed to likely to be less overloaded. Hence, Large Community is proposed to
be used for route-leak detection. This document suggests reserving be used for route-leak detection. This document suggests reserving
<TBD1> class for the purpose of transitive well-known Large <TBD1> class for the purpose of transitive well-known Large
Communities that MUST NOT be stripped on ingress or egress. Communities that MUST NOT be stripped on ingress or egress.
While it is not part of this document, the route-leak detection While it is not a part of this document, the route-leak detection
signal described here can also be carried in a BGP path attribute, signal described here can also be carried in a transitive BGP Path
and the same prevention and mitigation techniques as described here Attribute, and similar prevention and mitigation techniques as
would apply. The authors are pursuing a separate internet draft in described here would apply (see [I-D.ietf-idr-bgp-open-policy]).
the IDR WG on that approach.
4. Down Only Community 4. Down Only Community
This section specifies the semantics of route-leak-detection This section specifies the semantics of route-leak detection
Community and its usage. This Community is given the specific name Community and its usage. This Community is given the specific name
Down Only (DO) Community. The DO Community is carried in a BGP Large Down Only (DO) Community. The DO Community is carried in a BGP Large
Community with a format as shown in Figure 1. Community with a format as shown in Figure 1.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TBD1 (class for transitive well-known Large Communities) | | TBD1 (class for transitive well-known Large Communities) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TBD2 (subclass for DO) | | TBD2 (subclass for DO) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ASN | | ASN |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Format of the DO Community using a Large Community Figure 1: Format of the DO Community using a Large Community
[RFC8092]. [RFC8092].
The authors studied different options for route leak mitigation. The The authors studied different options for route-leak mitigation. The
main options considered are (1) drop detected route leaks and (2) main options considered are (1) drop detected route leaks and (2)
deprioritize detected route leaks. It can be demonstrated that the deprioritize detected route leaks. It can be demonstrated that the
loose mode that uses deprioritization is not safe. Traffic loose mode that uses deprioritization is not safe. Traffic
Engineering (TE) technique which limit prefix visibility are quite Engineering (TE) techniques which limit prefix visibility are quite
common. It may happen that a more specific TE prefix is sent only to common. It may happen that a more specific TE prefix is sent only to
downstream ASes or to IX(es)/selected peers, and a control Community downstream ASes or to IX(es)/selected peers, and a control Community
is used to restrict its propagation. If such a more specific prefix is used to restrict its propagation. If such a more specific prefix
is leaked, deprioritization will not stop such a route leak from is leaked, deprioritization will not stop such a route leak from
propagating. In addition, propagation of leaked prefixes based on propagating. In addition, propagation of leaked prefixes based on
deprioritization may result in priority loops leading to BGP wedgies deprioritization may result in priority loops leading to BGP wedgies
[RFC4264] or even persistent route oscillations. [RFC4264] or even persistent route oscillations.
So, the only truly safe way to implement route leak mitigation is to So, the only truly safe way to implement route-leak mitigation is to
drop detected route leaks. The ingress and egress policies drop detected route leaks. The ingress and egress policies
corresponding to 'drop detected route leaks' is described in corresponding to 'drop detected route leaks' is described in
Section 4.1. This policy SHOULD be used as a default behavior. Section 4.1. This policy SHOULD be used as a default behavior.
Nevertheless, early adopters might want to deploy only the signaling Nevertheless, early adopters might want to deploy only the signaling
and perhaps use it only for diagnostics before applying any route and perhaps use it only for diagnostics before applying any route-
leak mitigation policy. They are also encouraged to use slightly leak mitigation policy. They are also encouraged to use slightly
limited marking, which is described in Section 4.2. limited marking, which is described in Section 4.2.
4.1. Route Leak Mitigation 4.1. Route-Leak Mitigation
This section describes the eBGP ingress and egress policies that MUST This section describes the eBGP ingress and egress policies that MUST
be used to perform route leak prevention, detection and mitigation be used to perform route-leak prevention, detection and mitigation
using the DO Community. using the DO Community.
The ingress policy MUST use the following procedure: The ingress policy MUST use the following procedure:
1. If a route with DO Community set (i.e., DO is attached) is 1. If a route with DO Community set (i.e., DO is attached) is
received from a Customer or RS-client, then it is a route leak received from a Customer or RS-client, then it is a route leak
and MUST be rejected. The procedure halts. and MUST be rejected. The procedure halts.
2. If a route with DO Community set is received from Peer (non- 2. If a route with DO Community set is received from Peer (non-
transit) and DO value is not equal to the sending neighbor's ASN, transit) and DO value is not equal to the sending neighbor's ASN,
skipping to change at page 6, line 43 skipping to change at page 6, line 46
1. If a route is sent to a Customer or RS-client, then the DO 1. If a route is sent to a Customer or RS-client, then the DO
Community MUST be added with value equal to the ASN of the Community MUST be added with value equal to the ASN of the
sender. sender.
2. If DO Community is not set and the route is sent to a Peer, then 2. If DO Community is not set and the route is sent to a Peer, then
the DO Community MUST be added with value equal to the ASN of the the DO Community MUST be added with value equal to the ASN of the
sender. sender.
These above procedures specify setting DO signal in a way that can be These above procedures specify setting DO signal in a way that can be
used to evaluate the potential impact of route leak mitigation policy used to evaluate the potential impact of route-leak mitigation policy
before deploying strict dropping of detected route leaks. before deploying strict dropping of detected route leaks.
5. Implementation Considerations 5. Implementation Considerations
It was observed that the majority of BGP implementations does not It was observed that the majority of BGP implementations do not
support negative match for communities like a:b:!c. Considering that support negative match for communities like a:b:!c. Considering that
it is suggested to replace the second rule from ingress policy with it is suggested to replace the second rule from ingress policy with
the following: the following:
If a route with DO Community set is received from a Peer and DO value If a route with DO Community set is received from a Peer and DO value
is equal to the sending neighbor's ASN, then it is a valid route, is equal to the sending neighbor's ASN, then it is a valid route,
otherwise it is a route leak. The procedure halts. otherwise it is a route leak. The procedure halts.
This rule is based on a weaker assumption that a peer that is doing This rule is based on a weaker assumption that a peer that is doing
marking is also doing filtering (dropping detected leaks). That is marking is also doing filtering (dropping detected leaks). That is
why networks that do not follow the route leak mitigation policy in why networks that do not follow the route-leak mitigation policy in
Section 4.1 MUST carefully follow marking rules described in Section 4.1 MUST carefully follow marking rules described in
Section 4.2. Section 4.2.
6. IANA Considerations 6. IANA Considerations
The draft suggests to reserve a Global Administrator ID <TBD1> for The draft suggests to reserve a Global Administrator ID <TBD1> for
transitive well-known Large Community registry. IANA is requested to transitive well-known Large Community registry. IANA is requested to
register a subclass <TBD2> for DO Community in this registry. register a subclass <TBD2> for DO Community in this registry.
7. Security Considerations 7. Security Considerations
In specific circumstances in a state of partial adoption, route leak In specific circumstances in a state of partial adoption, route-leak
mitigation mechanism can result in Denial of Service (DoS) for the mitigation mechanism can result in Denial of Service (DoS) for the
victim prefix. Such a scenario may happen only for a prefix that has victim prefix. Such a scenario may happen only for a prefix that has
a single path from the originator to a Tier-1 ISP and only when the a single path from the originator to a Tier-1 ISP and only when the
prefix is not covered with a less specific prefix with multiple paths prefix is not covered with a less specific prefix with multiple paths
to the Tier-1 ISP. If, in such unreliable topology, route leak is to the Tier-1 ISP. If, in such unreliable topology, route leak is
injected somewhere inside this single path, then it may be rejected injected somewhere inside this single path, then it may be rejected
by upper layer providers in the path, thus limiting prefix by upper layer providers in the path, thus limiting prefix
visibility. While such anomaly is unlikely to happen, such an issue visibility. While such anomaly is unlikely to happen, such an issue
should be easy to debug, since it directly affects the sequence of should be easy to debug, since it directly affects the sequence of
originator's providers. originator's providers.
skipping to change at page 7, line 46 skipping to change at page 8, line 8
Community propagates beyond its intended perimeter and causes harm Community propagates beyond its intended perimeter and causes harm
[streibelt]. However, that concern does not apply to the DO [streibelt]. However, that concern does not apply to the DO
Community because it is a transitive Community that must propagate as Community because it is a transitive Community that must propagate as
far as the update goes. far as the update goes.
8. Informative References 8. Informative References
[I-D.ietf-idr-bgp-open-policy] [I-D.ietf-idr-bgp-open-policy]
Azimov, A., Bogomazov, E., Bush, R., Patel, K., and K. Azimov, A., Bogomazov, E., Bush, R., Patel, K., and K.
Sriram, "Route Leak Prevention using Roles in Update and Sriram, "Route Leak Prevention using Roles in Update and
Open messages", draft-ietf-idr-bgp-open-policy-07 (work in Open messages", draft-ietf-idr-bgp-open-policy-13 (work in
progress), January 2020. progress), July 2020.
[RFC4264] Griffin, T. and G. Huston, "BGP Wedgies", RFC 4264, [RFC4264] Griffin, T. and G. Huston, "BGP Wedgies", RFC 4264,
DOI 10.17487/RFC4264, November 2005, DOI 10.17487/RFC4264, November 2005,
<https://www.rfc-editor.org/info/rfc4264>. <https://www.rfc-editor.org/info/rfc4264>.
[RFC7908] Sriram, K., Montgomery, D., McPherson, D., Osterweil, E., [RFC7908] Sriram, K., Montgomery, D., McPherson, D., Osterweil, E.,
and B. Dickson, "Problem Definition and Classification of and B. Dickson, "Problem Definition and Classification of
BGP Route Leaks", RFC 7908, DOI 10.17487/RFC7908, June BGP Route Leaks", RFC 7908, DOI 10.17487/RFC7908, June
2016, <https://www.rfc-editor.org/info/rfc7908>. 2016, <https://www.rfc-editor.org/info/rfc7908>.
 End of changes. 27 change blocks. 
38 lines changed or deleted 38 lines changed or added

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