draft-ietf-idr-bgp-open-policy-19.txt | draft-ietf-idr-bgp-open-policy-20.txt | |||
---|---|---|---|---|
Network Working Group A. Azimov | Network Working Group A. Azimov | |||
Internet-Draft Qrator Labs & Yandex | Internet-Draft Qrator Labs & Yandex | |||
Intended status: Standards Track E. Bogomazov | Intended status: Standards Track E. Bogomazov | |||
Expires: July 11, 2022 Qrator Labs | Expires: July 22, 2022 Qrator Labs | |||
R. Bush | R. Bush | |||
Internet Initiative Japan & Arrcus, Inc. | Internet Initiative Japan & Arrcus, Inc. | |||
K. Patel | K. Patel | |||
Arrcus | Arrcus | |||
K. Sriram | K. Sriram | |||
USA NIST | USA NIST | |||
January 7, 2022 | January 18, 2022 | |||
Route Leak Prevention and Detection using Roles in UPDATE and OPEN | Route Leak Prevention and Detection using Roles in UPDATE and OPEN | |||
Messages | Messages | |||
draft-ietf-idr-bgp-open-policy-19 | draft-ietf-idr-bgp-open-policy-20 | |||
Abstract | Abstract | |||
Route leaks are the propagation of BGP prefixes that violate | Route leaks are the propagation of BGP prefixes that violate | |||
assumptions of BGP topology relationships, e.g., announcing a route | assumptions of BGP topology relationships, e.g., announcing a route | |||
learned from one transit provider to another transit provider or a | learned from one transit provider to another transit provider or a | |||
lateral (i.e., non-transit) peer or announcing a route learned from | lateral (i.e., non-transit) peer or announcing a route learned from | |||
one lateral peer to another lateral peer or a transit provider. | one lateral peer to another lateral peer or a transit provider. | |||
These are usually the result of misconfigured or absent BGP route | These are usually the result of misconfigured or absent BGP route | |||
filtering or lack of coordination between autonomous systems (ASes). | filtering or lack of coordination between autonomous systems (ASes). | |||
skipping to change at page 2, line 20 ¶ | skipping to change at page 2, line 20 ¶ | |||
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 11, 2022. | This Internet-Draft will expire on July 22, 2022. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 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 . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Peering Relationships . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Peering Relationships . . . . . . . . . . . . . . . . . . 4 | |||
3. BGP Role . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. BGP Role . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.1. BGP Role Capability . . . . . . . . . . . . . . . . . . . 5 | 3.1. BGP Role Capability . . . . . . . . . . . . . . . . . . . 5 | |||
3.2. Role Correctness . . . . . . . . . . . . . . . . . . . . 6 | 3.2. Role Correctness . . . . . . . . . . . . . . . . . . . . 6 | |||
4. BGP Only to Customer (OTC) Attribute . . . . . . . . . . . . 7 | 4. BGP Only to Customer (OTC) Attribute . . . . . . . . . . . . 7 | |||
5. Additional Considerations . . . . . . . . . . . . . . . . . . 9 | 5. Additional Considerations . . . . . . . . . . . . . . . . . . 8 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 11 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 11 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 12 | 8.2. Informative References . . . . . . . . . . . . . . . . . 12 | |||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 12 | Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
1. Introduction | 1. Introduction | |||
Route leaks are the propagation of BGP prefixes that violate | Route leaks are the propagation of BGP prefixes that violate | |||
assumptions of BGP topology relationships, e.g., announcing a route | assumptions of BGP topology relationships, e.g., announcing a route | |||
learned from one transit provider to another transit provider or a | learned from one transit provider to another transit provider or a | |||
lateral (i.e., non-transit) peer or announcing a route learned from | lateral (i.e., non-transit) peer or announcing a route learned from | |||
one lateral peer to another lateral peer or a transit provider | one lateral peer to another lateral peer or a transit provider | |||
[RFC7908]. These are usually the result of misconfigured or absent | [RFC7908]. These are usually the result of misconfigured or absent | |||
BGP route filtering or lack of coordination between autonomous | BGP route filtering or lack of coordination between autonomous | |||
skipping to change at page 3, line 28 ¶ | skipping to change at page 3, line 28 ¶ | |||
Existing approaches to leak prevention rely on marking routes by | Existing approaches to leak prevention rely on marking routes by | |||
operator configuration, with no check that the configuration | operator configuration, with no check that the configuration | |||
corresponds to that of the eBGP neighbor, or enforcement that the two | corresponds to that of the eBGP neighbor, or enforcement that the two | |||
eBGP speakers agree on the relationship. This document enhances the | eBGP speakers agree on the relationship. This document enhances the | |||
BGP OPEN message to establish an agreement of the relationship on | BGP OPEN message to establish an agreement of the relationship on | |||
each eBGP session between autonomous systems in order to enforce | each eBGP session between autonomous systems in order to enforce | |||
appropriate configuration on both sides. Propagated routes are then | appropriate configuration on both sides. Propagated routes are then | |||
marked according to the agreed relationship, allowing both prevention | marked according to the agreed relationship, allowing both prevention | |||
and detection of route leaks. | and detection of route leaks. | |||
This document provides configuration automation using BGP Roles, | This document specifies a means of replacing the operator driven | |||
which are negotiated using a BGP Role Capability in the OPEN message | configuration-based method of route leak prevention, described above, | |||
[RFC5492]. An eBGP speaker may require the use of this capability | with a built-in method for route leak prevention and detection. | |||
and confirmation of BGP Role with a neighbor for the BGP OPEN to | ||||
succeed. | This method uses a new configuration parameter, BGP Role, which is | |||
negotiated using a BGP Role Capability in the OPEN message [RFC5492]. | ||||
An eBGP speaker may require the use of this capability and | ||||
confirmation of BGP Role with a neighbor for the BGP OPEN to succeed. | ||||
An optional, transitive BGP Path Attribute, called Only to Customer | An optional, transitive BGP Path Attribute, called Only to Customer | |||
(OTC), is specified in Section 4. It prevents ASes from creating | (OTC), is specified in Section 4. It prevents ASes from creating | |||
leaks and detects leaks created by the ASes in the middle of an AS | leaks and detects leaks created by the ASes in the middle of an AS | |||
path. The main focus/applicability is the Internet (IPv4 and IPv6 | path. The main focus/applicability is the Internet (IPv4 and IPv6 | |||
unicast route advertisements). | unicast route advertisements). | |||
1.1. Terminology | 2. Terminology | |||
In the rest of this document, the term "Peer" is used to refer to a | ||||
"lateral (i.e., non-transit) peer" for simplicity. Also, the terms | ||||
Provider and Customer are used to refer to a transit provider and a | ||||
transit customer, respectively. Further, the terms RS and RS-Client | ||||
are used to refer to a Route Server and its client, respectively. | ||||
The terms "local AS" and "remote AS" are used to refer to the two | The terms "local AS" and "remote AS" are used to refer to the two | |||
ends of an eBGP session. The "local AS" is the AS where the protocol | ends of an eBGP session. The "local AS" is the AS where the protocol | |||
action being described is to be performed, and "remote AS" is the AS | action being described is to be performed, and "remote AS" is the AS | |||
at the other end of the eBGP session in consideration. | at the other end of the eBGP session in consideration. | |||
The use of the term "route is ineligible" in this document has the | The use of the term "route is ineligible" in this document has the | |||
same meaning as in [RFC4271], i.e., "route is ineligible to be | same meaning as in [RFC4271], i.e., "route is ineligible to be | |||
installed in Loc-RIB and will be excluded from the next phase of | installed in Loc-RIB and will be excluded from the next phase of | |||
route selection." | route selection." | |||
2. Peering Relationships | 2.1. Peering Relationships | |||
The terms defined and used in this document (see below) do not | The terms defined and used in this document (see below) do not | |||
necessarily represent business relationships based on payment | necessarily represent business relationships based on payment | |||
agreements. These terms are used to represent restrictions on BGP | agreements. These terms are used to represent restrictions on BGP | |||
route propagation, sometimes known as the Gao-Rexford model [Gao]. | route propagation, sometimes known as the Gao-Rexford model [Gao]. | |||
The following is a list of BGP Roles for eBGP peering and the | The following is a list of BGP Roles for eBGP peering and the | |||
corresponding rules for route propagation: | corresponding rules for route propagation: | |||
Provider: MAY propagate any available route to a Customer. | Provider: MAY propagate any available route to a Customer. | |||
Customer: MAY propagate any route learned from a Customer, or | Customer: MAY propagate any route learned from a Customer, or | |||
locally originated, to a Provider. All other routes MUST NOT be | locally originated, to a Provider. All other routes MUST NOT be | |||
propagated. | propagated. | |||
Route Server (RS): MAY propagate any available route to a Route | Route Server (RS): MAY propagate any available route to a Route | |||
Server Client (RS-Client). | Server Client (RS-Client). | |||
RS-Client: MAY propagate any route learned from a Customer, or | Route Server Client (RS-Client): MAY propagate any route learned | |||
locally originated, to an RS. All other routes MUST NOT be | from a Customer, or locally originated, to an RS. All other | |||
propagated. | routes MUST NOT be propagated. | |||
Peer: MAY propagate any route learned from a Customer, or locally | Peer: MAY propagate any route learned from a Customer, or locally | |||
originated, to a Peer. All other routes MUST NOT be propagated. | originated, to a Peer. All other routes MUST NOT be propagated. | |||
If the local AS has one of the above Roles (in the order shown), then | If the local AS has one of the above Roles (in the order shown), then | |||
the corresponding peering relationship with the remote AS is | the corresponding peering relationship with the remote AS is | |||
Provider-to-Customer, Customer-to-Provider, RS-to-RS-Client, RS- | Provider-to-Customer, Customer-to-Provider, RS-to-RS-Client, RS- | |||
Client-to-RS, or Peer-to-Peer (i.e., lateral peers), respectively. | Client-to-RS, or Peer-to-Peer (i.e., lateral peers), respectively. | |||
These are called normal peering relationships. | These are called normal peering relationships. | |||
skipping to change at page 5, line 14 ¶ | skipping to change at page 5, line 10 ¶ | |||
As specified in Section 4, the Only to Customer (OTC) Attribute is | As specified in Section 4, the Only to Customer (OTC) Attribute is | |||
used to identify all the routes in the AS that have been received | used to identify all the routes in the AS that have been received | |||
from a Peer, Provider, or RS. | from a Peer, Provider, or RS. | |||
3. BGP Role | 3. BGP Role | |||
The BGP Role characterizes the relationship between the eBGP speakers | The BGP Role characterizes the relationship between the eBGP speakers | |||
forming a session. One of the Roles described below SHOULD be | forming a session. One of the Roles described below SHOULD be | |||
configured at the local AS for each eBGP session (see definitions in | configured at the local AS for each eBGP session (see definitions in | |||
Section 1.1) based on the local AS's knowledge of its Role. The only | Section 2) based on the local AS's knowledge of its Role. The only | |||
exception is when the eBGP connection is Complex (see Section 5). | exception is when the eBGP connection is Complex (see Section 5). | |||
BGP Roles are mutually confirmed using the BGP Role Capability | BGP Roles are mutually confirmed using the BGP Role Capability | |||
(described in Section 3.1) on each eBGP session. | (described in Section 3.1) on each eBGP session. | |||
Allowed Roles for eBGP sessions are: | Allowed Roles for eBGP sessions are: | |||
o Provider - the local AS is a transit Provider of the remote AS; | o Provider - the local AS is a transit Provider of the remote AS; | |||
o Customer - the local AS is a transit Customer of the remote AS; | o Customer - the local AS is a transit Customer of the remote AS; | |||
skipping to change at page 6, line 30 ¶ | skipping to change at page 6, line 17 ¶ | |||
NOT advertise multiple versions of the BGP Role Capability. | NOT advertise multiple versions of the BGP Role Capability. | |||
3.2. Role Correctness | 3.2. Role Correctness | |||
Section 3.1 described how BGP Role encodes the relationship on each | Section 3.1 described how BGP Role encodes the relationship on each | |||
eBGP session between autonomous systems (ASes). | eBGP session between autonomous systems (ASes). | |||
The mere receipt of BGP Role Capability does not automatically | The mere receipt of BGP Role Capability does not automatically | |||
guarantee the Role agreement between two eBGP neighbors. If the BGP | guarantee the Role agreement between two eBGP neighbors. If the BGP | |||
Role Capability is advertised, and one is also received from the | Role Capability is advertised, and one is also received from the | |||
peer, the roles MUST correspond to the relationships in Table 2. If | peer, the Roles MUST correspond to the relationships in Table 2. If | |||
the roles do not correspond, the BGP speaker MUST reject the | the Roles do not correspond, the BGP speaker MUST reject the | |||
connection using the Role Mismatch Notification (code 2, subcode | connection using the Role Mismatch Notification (code 2, subcode | |||
TBD). | TBD). | |||
+---------------+----------------+ | +---------------+----------------+ | |||
| Local AS Role | Remote AS Role | | | Local AS Role | Remote AS Role | | |||
+---------------+----------------+ | +---------------+----------------+ | |||
| Provider | Customer | | | Provider | Customer | | |||
| Customer | Provider | | | Customer | Provider | | |||
| RS | RS-Client | | | RS | RS-Client | | |||
| RS-Client | RS | | | RS-Client | RS | | |||
skipping to change at page 7, line 30 ¶ | skipping to change at page 7, line 16 ¶ | |||
Attribute in the received UPDATE message) is used in the route leak | Attribute in the received UPDATE message) is used in the route leak | |||
prevention and detection procedures described in Section 4. | prevention and detection procedures described in Section 4. | |||
4. BGP Only to Customer (OTC) Attribute | 4. BGP Only to Customer (OTC) Attribute | |||
The Only to Customer (OTC) Attribute is an optional transitive path | The Only to Customer (OTC) Attribute is an optional transitive path | |||
attribute of the UPDATE message with Attribute Type Code 35 and a | attribute of the UPDATE message with Attribute Type Code 35 and a | |||
length of 4 octets. The purpose of this attribute is to guarantee | length of 4 octets. The purpose of this attribute is to guarantee | |||
that once a route is sent to a Customer, Peer, or RS-Client, it will | that once a route is sent to a Customer, Peer, or RS-Client, it will | |||
subsequently go only to Customers. The attribute value is an AS | subsequently go only to Customers. The attribute value is an AS | |||
number (ASN) determined by the policy described below. | number (ASN) determined by the procedures described below. | |||
The following ingress policy applies to the processing of the OTC | The following ingress procedure applies to the processing of the OTC | |||
Attribute: | Attribute on route receipt: | |||
1. If a route with the OTC Attribute is received from a Customer or | 1. If a route with the OTC Attribute is received from a Customer or | |||
RS-Client, then it is a route leak and MUST be considered | RS-Client, then it is a route leak and MUST be considered | |||
ineligible (see Section 1.1). | ineligible (see Section 2). | |||
2. If a route with the OTC Attribute is received from a Peer and the | 2. If a route with the OTC Attribute is received from a Peer and the | |||
Attribute has a value that is not equal to the remote (i.e., | Attribute has a value that is not equal to the remote (i.e., | |||
Peer's) AS number, then it is a route leak and MUST be considered | Peer's) AS number, then it is a route leak and MUST be considered | |||
ineligible. | ineligible. | |||
3. If a route is received from a Provider, Peer, or RS, and the OTC | 3. If a route is received from a Provider, Peer, or RS, and the OTC | |||
Attribute is not present, then it MUST be added with a value | Attribute is not present, then it MUST be added with a value | |||
equal to the AS number of the remote AS. | equal to the AS number of the remote AS. | |||
The following egress policy applies to the processing of the OTC | The following egress procedure applies to the processing of the OTC | |||
Attribute: | Attribute on route advertisement: | |||
1. If a route is to be advertised to a Customer, Peer, or RS-Client | 1. If a route is to be advertised to a Customer, Peer, or RS-Client | |||
(when the sender is an RS), and the OTC Attribute is not present, | (when the sender is an RS), and the OTC Attribute is not present, | |||
then an OTC Attribute MUST be added with a value equal to the AS | then an OTC Attribute MUST be added with a value equal to the AS | |||
number of the local AS. | number of the local AS. | |||
2. If a route already contains the OTC Attribute, it MUST NOT be | 2. If a route already contains the OTC Attribute, it MUST NOT be | |||
propagated to Providers, Peers, or RS(s). | propagated to Providers, Peers, or RS(s). | |||
The described policies provide both leak prevention for the local AS | The above-described procedures provide both leak prevention for the | |||
and leak detection and mitigation multiple hops away. In the case of | local AS and leak detection and mitigation multiple hops away. In | |||
prevention at the local AS, the presence of an OTC Attribute | the case of prevention at the local AS, the presence of an OTC | |||
indicates to the egress router that the route was learned from a | Attribute indicates to the egress router that the route was learned | |||
Peer, Provider, or RS, and it can be advertised only to the | from a Peer, Provider, or RS, and it can be advertised only to the | |||
customers. The same OTC Attribute which is set locally also provides | customers. The same OTC Attribute which is set locally also provides | |||
a way to detect route leaks by an AS multiple hops away if a route is | a way to detect route leaks by an AS multiple hops away if a route is | |||
received from a Customer, Peer, or RS-Client. | received from a Customer, Peer, or RS-Client. For example, if an AS | |||
sets the OTC Attribute on a route sent to a Peer and the route is | ||||
subsequently received by a compliant AS from a Customer, then the | ||||
receiving AS detects (based on the presence of the OTC Attribute) | ||||
that the route is a leak. | ||||
The OTC Attribute may be set by the egress policy of the remote AS or | The OTC Attribute might be set at the egress of the remote AS or at | |||
by the ingress policy of the local AS. In both scenarios, the OTC | the ingress of the local AS, i.e., if the remote AS is noncompliant | |||
value will be the same. This makes the scheme more robust and | with this specification, then the local AS will have to set the OTC | |||
benefits early adopters. | Attribute if it is absent. In both scenarios, the OTC value will be | |||
the same. This makes the scheme more robust and benefits early | ||||
adopters. | ||||
If an eBGP speaker receives an UPDATE with an OTC Attribute with a | If an eBGP speaker receives an UPDATE with an OTC Attribute with a | |||
length different from 4 octets, then the UPDATE SHALL be considered | length different from 4 octets, then the UPDATE SHALL be considered | |||
malformed. If malformed, the UPDATE message SHALL be handled using | malformed. If malformed, the UPDATE message SHALL be handled using | |||
the approach of "treat-as-withdraw" [RFC7606]. | the approach of "treat-as-withdraw" [RFC7606]. | |||
The procedures specified in this document are NOT RECOMMENDED to be | The procedures specified in this document are NOT RECOMMENDED to be | |||
used between autonomous systems in an AS Confederation [RFC5065]. If | used between autonomous systems in an AS Confederation [RFC5065]. If | |||
an OTC Attribute is added on egress from the AS Confederation, its | an OTC Attribute is added on egress from the AS Confederation, its | |||
value MUST equal the AS Confederation Identifier. Also, on egress | value MUST equal the AS Confederation Identifier. Also, on egress | |||
skipping to change at page 8, line 47 ¶ | skipping to change at page 8, line 39 ¶ | |||
The procedures specified in this document in scenarios that use | The procedures specified in this document in scenarios that use | |||
private AS numbers behind an Internet-facing ASN (e.g., a data center | private AS numbers behind an Internet-facing ASN (e.g., a data center | |||
network [RFC7938] or stub customer) may be used, but any details are | network [RFC7938] or stub customer) may be used, but any details are | |||
outside the scope of this document. On egress from the Internet- | outside the scope of this document. On egress from the Internet- | |||
facing AS, the OTC Attribute MUST NOT contain a value other than the | facing AS, the OTC Attribute MUST NOT contain a value other than the | |||
Internet-facing ASN. | Internet-facing ASN. | |||
Once the OTC Attribute has been set, it MUST be preserved unchanged | Once the OTC Attribute has been set, it MUST be preserved unchanged | |||
(this also applies to an AS Confederation). | (this also applies to an AS Confederation). | |||
The described ingress and egress policies are applicable only for | The described ingress and egress procedures are applicable only for | |||
unicast IPv4 and IPv6 address families and MUST NOT be applied to | unicast IPv4 and IPv6 address families and MUST NOT be applied to | |||
other address families by default. The operator MUST NOT have the | other address families by default. The operator MUST NOT have the | |||
ability to modify the policies defined in this section. | ability to modify the procedures defined in this section. | |||
5. Additional Considerations | 5. Additional Considerations | |||
Roles MUST NOT be configured on an eBGP session with a Complex | Roles MUST NOT be configured on an eBGP session with a Complex | |||
peering relationship. If multiple eBGP sessions can segregate the | peering relationship. If multiple eBGP sessions can segregate the | |||
Complex peering relationship into eBGP sessions with normal peering | Complex peering relationship into eBGP sessions with normal peering | |||
relationships, BGP Roles SHOULD be used on each of the resulting eBGP | relationships, BGP Roles SHOULD be used on each of the resulting eBGP | |||
sessions. | sessions. | |||
An operator may want to achieve an equivalent outcome by configuring | An operator may want to achieve an equivalent outcome by configuring | |||
policies on a per-prefix basis to follow the definitions of peering | policies on a per-prefix basis to follow the definitions of peering | |||
relations as described in Section 2. However, in this case, there | relations as described in Section 2.1. However, in this case, there | |||
are no built-in measures to check the correctness of the per-prefix | are no built-in measures to check the correctness of the per-prefix | |||
peering configuration. | peering configuration. | |||
The incorrect setting of BGP Roles and/or OTC Attributes may affect | The incorrect setting of BGP Roles and/or OTC Attributes may affect | |||
prefix propagation. Further, this document does not specify any | prefix propagation. Further, this document does not specify any | |||
special handling of incorrect AS numbers in the OTC Attribute. | special handling of incorrect AS numbers in the OTC Attribute. | |||
In AS migration scenarios [RFC7705], a given router may represent | ||||
itself as any one of several different ASes. This should not be a | ||||
problem since the egress procedures in Section 4 specify that the OTC | ||||
Attribute is to be attached as part of route transmission. | ||||
Therefore, a router is expected to set the OTC value equal to the ASN | ||||
it is currently representing itself as. | ||||
6. IANA Considerations | 6. IANA Considerations | |||
IANA has registered a new BGP Capability (Section 3.1) in the | IANA has registered a new BGP Capability (Section 3.1) in the | |||
"Capability Codes" registry's "IETF Review" range [RFC5492]. The | "Capability Codes" registry's "IETF Review" range [RFC5492]. The | |||
description for the new capability is "BGP Role". IANA has assigned | description for the new capability is "BGP Role". IANA has assigned | |||
the value 9 [to be removed upon publication: | the value 9 [to be removed upon publication: | |||
https://www.iana.org/assignments/capability-codes/capability- | https://www.iana.org/assignments/capability-codes/capability- | |||
codes.xhtml]. This document is the reference for the new capability. | codes.xhtml]. This document is the reference for the new capability. | |||
The BGP Role capability includes a Value field, for which IANA is | The BGP Role capability includes a Value field, for which IANA is | |||
skipping to change at page 10, line 29 ¶ | skipping to change at page 10, line 29 ¶ | |||
7. Security Considerations | 7. Security Considerations | |||
The security considerations of BGP (as specified in [RFC4271] and | The security considerations of BGP (as specified in [RFC4271] and | |||
[RFC4272]) apply. | [RFC4272]) apply. | |||
This document proposes a mechanism using BGP Role for the prevention | This document proposes a mechanism using BGP Role for the prevention | |||
and detection of route leaks that are the result of BGP policy | and detection of route leaks that are the result of BGP policy | |||
misconfiguration. A misconfiguration of the BGP Role may affect | misconfiguration. A misconfiguration of the BGP Role may affect | |||
prefix propagation. For example, if a downstream (i.e., towards a | prefix propagation. For example, if a downstream (i.e., towards a | |||
Customer) peering link were misconfigured with a Provider or Peer | Customer) peering link were misconfigured with a Provider or Peer | |||
role, this will limit the number of prefixes that can be advertised | Role, this will limit the number of prefixes that can be advertised | |||
in this direction. On the other hand, if an upstream provider were | in this direction. On the other hand, if an upstream provider were | |||
misconfigured (by a local AS) with the Customer role, this may result | misconfigured (by a local AS) with the Customer Role, this may result | |||
in propagating routes that are received from other Providers or | in propagating routes that are received from other Providers or | |||
Peers. But the BGP Role negotiation and the resulting confirmation | Peers. But the BGP Role negotiation and the resulting confirmation | |||
of Roles make such misconfigurations unlikely. | of Roles make such misconfigurations unlikely. | |||
Setting the strict mode of operation for BGP Role negotiation as the | Setting the strict mode of operation for BGP Role negotiation as the | |||
default may result in a situation where the eBGP session will not | default may result in a situation where the eBGP session will not | |||
come up after a software update. Implementations with such default | come up after a software update. Implementations with such default | |||
behavior are strongly discouraged. | behavior are strongly discouraged. | |||
Removing the OTC Attribute or changing its value can limit the | Removing the OTC Attribute or changing its value can limit the | |||
skipping to change at page 12, line 17 ¶ | skipping to change at page 12, line 17 ¶ | |||
[Gao] Gao, L. and J. Rexford, "Stable Internet routing without | [Gao] Gao, L. and J. Rexford, "Stable Internet routing without | |||
global coordination", IEEE/ACM Transactions on | global coordination", IEEE/ACM Transactions on | |||
Networking, Volume 9, Issue 6, pp 689-692, DOI | Networking, Volume 9, Issue 6, pp 689-692, DOI | |||
10.1109/90.974523, December 2001, | 10.1109/90.974523, December 2001, | |||
<https://ieeexplore.ieee.org/document/974523>. | <https://ieeexplore.ieee.org/document/974523>. | |||
[RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", | [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", | |||
RFC 4272, DOI 10.17487/RFC4272, January 2006, | RFC 4272, DOI 10.17487/RFC4272, January 2006, | |||
<https://www.rfc-editor.org/info/rfc4272>. | <https://www.rfc-editor.org/info/rfc4272>. | |||
[RFC7705] George, W. and S. Amante, "Autonomous System Migration | ||||
Mechanisms and Their Effects on the BGP AS_PATH | ||||
Attribute", RFC 7705, DOI 10.17487/RFC7705, November 2015, | ||||
<https://www.rfc-editor.org/info/rfc7705>. | ||||
[RFC7938] Lapukhov, P., Premji, A., and J. Mitchell, Ed., "Use of | [RFC7938] Lapukhov, P., Premji, A., and J. Mitchell, Ed., "Use of | |||
BGP for Routing in Large-Scale Data Centers", RFC 7938, | BGP for Routing in Large-Scale Data Centers", RFC 7938, | |||
DOI 10.17487/RFC7938, August 2016, | DOI 10.17487/RFC7938, August 2016, | |||
<https://www.rfc-editor.org/info/rfc7938>. | <https://www.rfc-editor.org/info/rfc7938>. | |||
[RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol | [RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol | |||
Specification", RFC 8205, DOI 10.17487/RFC8205, September | Specification", RFC 8205, DOI 10.17487/RFC8205, September | |||
2017, <https://www.rfc-editor.org/info/rfc8205>. | 2017, <https://www.rfc-editor.org/info/rfc8205>. | |||
Acknowledgments | Acknowledgments | |||
End of changes. 27 change blocks. | ||||
48 lines changed or deleted | 63 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/ |