draft-ietf-idr-bgp-flowspec-oid-08.txt   draft-ietf-idr-bgp-flowspec-oid-09.txt 
Network Working Group J. Uttaro Network Working Group J. Uttaro
Internet-Draft AT&T Internet-Draft AT&T
Updates: 5575bis (if approved) J. Alcaide Updates: 5575bis (if approved) J. Alcaide
Intended status: Standards Track C. Filsfils Intended status: Standards Track C. Filsfils
Expires: November 10, 2019 D. Smith Expires: January 9, 2020 D. Smith
Cisco Cisco
P. Mohapatra P. Mohapatra
Sproute Networks Sproute Networks
May 9, 2019 July 8, 2019
Revised Validation Procedure for BGP Flow Specifications Revised Validation Procedure for BGP Flow Specifications
draft-ietf-idr-bgp-flowspec-oid-08 draft-ietf-idr-bgp-flowspec-oid-09
Abstract Abstract
This document describes a modification to the validation procedure This document describes a modification to the validation procedure
defined in RFC 5575bis for the dissemination of BGP flow defined in RFC 5575bis for the dissemination of BGP Flow
specifications. RFC 5575bis requires that the originator of the flow Specifications. RFC 5575bis requires that the originator of the Flow
specification matches the originator of the best-match unicast route Specification matches the originator of the best-match unicast route
for the destination prefix embedded in the flow specification. This for the destination prefix embedded in the Flow Specification. This
allows only BGP speakers within the data forwarding path (such as allows only BGP speakers within the data forwarding path (such as
autonomous system border routers) to originate BGP flow autonomous system border routers) to originate BGP Flow
specifications. Though it is possible to disseminate such flow Specifications. Though it is possible to disseminate such Flow
specifications directly from border routers, it may be operationally Specifications directly from border routers, it may be operationally
cumbersome in an autonomous system with a large number of border cumbersome in an autonomous system with a large number of border
routers having complex BGP policies. The modification proposed routers having complex BGP policies. The modification proposed
herein enables flow specifications to be originated from a herein enables Flow Specifications to be originated from a
centralized BGP route controller. centralized BGP route controller.
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 November 10, 2019. This Internet-Draft will expire on January 9, 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
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. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 1. Requirements Language . . . . . . . . . . . . . . . . . . . . 2
2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Revised Validation Procedure . . . . . . . . . . . . . . . . 5 4. Revised Validation Procedure . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 4.1. Revision of Route Feasibility . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 4.2. Revision of AS_PATH Validation . . . . . . . . . . . . . 6
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 5. Other RFC5575bis Considerations . . . . . . . . . . . . . . . 7
8. Normative References . . . . . . . . . . . . . . . . . . . . 7 6. Topology Considerations . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10
10. Normative References . . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Requirements Language 1. 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", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
2. Motivation 2. Introduction
[RFC5575bis] defined a new BGP [RFC4271] capability that can be used
to distribute traffic Flow Specifications amongst BGP speakers in
support of traffic filtering. The primary intention of [RFC5575bis]
is to enable downstream autonomous systems to signal traffic
filtering policies to upstream autonomous systems. In this way,
traffic is filtered closer to the source and the upstream autonomous
system(s) avoid carrying the traffic to the downstream autonomous
system only to be discarded. [RFC5575bis] also enables more granular
traffic filtering based upon upper layer protocol information (e.g.,
protocol port numbers) as opposed to coarse IP destination prefix-
based filtering. Flow specification NLRIs received from a BGP peer
are subject to validity checks before being considered feasible and
subsequently installed within the respective Adj-RIB-In.
The validation procedure defined within [RFC5575bis] requires that
the originator of the Flow Specification NLRI matches the originator
of the best-match unicast route for the destination prefix embedded
in the Flow Specification. This allows only BGP speakers within the
data forwarding path (such as autonomous system border routers) to
originate BGP Flow Specification NLRIs. Though it is possible to
disseminate such Flow Specification NLRIs directly from border
routers, it may be operationally cumbersome in an autonomous system
with a large number of border routers having complex BGP policies.
This document describes a modification to the [RFC5575bis] validation
procedure allowing Flow Specification NLRIs to be originated from a
centralized BGP route controller within the local autonomous system
that is not in the data forwarding path. While the proposed
modification cannot be used for inter-domain coordination of traffic
filtering, it greatly simplifies distribution of intra-domain traffic
filtering policies within an autonomous system which has a large
number of border routers having complex BGP policies. By relaxing
the validation procedure for iBGP, the proposed modification allows
Flow Specifications to be distributed in a standard and scalable
manner throughout an autonomous system.
3. Motivation
Step (a) of the validation procedure in [RFC5575bis], section 6 is Step (a) of the validation procedure in [RFC5575bis], section 6 is
defined with the underlying assumption that the flow specification defined with the underlying assumption that the Flow Specification
NLRI traverses the same path, in the inter-domain and intra-domain NLRI traverses the same path, in the inter-domain and intra-domain
route distribution graph, as that of the longest-match unicast route route distribution graph, as that of the longest-match unicast route
for the destination prefix embedded in the flow specification. for the destination prefix embedded in the Flow Specification.
In the case of inter-domain traffic filtering, for example, the flow In the case of inter-domain traffic filtering, the Flow Specification
specification originator at the egress border routers of ASN1 (RTR-D originator at the egress border routers of an AS (e.g. RTR-D and
and RTR-E in figure 1) matches the EBGP neighbor that advertised the RTR-E of ASN1 in figure 1) matches the eBGP neighbor that advertised
longest match destination prefix (RTR-F and RTR-G respectively). the longest match destination prefix (see RTR-F and RTR-G
Similarly, at the ingress border routers of ASN1 (RTR-A and RTR-B in respectively in figure 1). Similarly, at the ingress border routers
figure 1), the flow specification originator matches the egress IBGP of ASN (see RTR-A and RTR-B of ASN1 in figure 1), the Flow
border routers that had advertised the unicast route for the best- Specification originator matches the egress iBGP border routers that
match destination prefix (RTR-D and RTR-E respectively). This is had advertised the unicast route for the best-match destination
true even when ingress border routers select paths from different prefix (see RTR-D and RTR-E respectively in figure 1). This is true
egress border routers as best path based upon IGP distance (as an even when ingress border routers select paths from different egress
example, RTR-A chooses RTR-D's path as best; RTR-B chooses RTR-E as border routers as best path based upon IGP distance. For example, in
the best path). figure 1:
RTR-A chooses RTR-D's path as best
RTR-B chooses RTR-E as the best path
/ - - - - - - - - - - - - - - / - - - - - - - - - - - - - -
| ASN1 | | ASN1 |
+-------+ +-------+ +-------+ +-------+
| | | | | | | | | | | |
| RTR-A | | RTR-B | | RTR-A | | RTR-B |
| | | | | | | | | | | |
+-------+ +-------+ +-------+ +-------+
| \ / | | \ / |
IBGP \ / IBGP iBGP \ / iBGP
| \ / | | \ / |
+-------+ +-------+
| | | | | | | |
| RTR-C | | RTR-C |
| | RC | | | | RC | |
+-------+ +-------+
| / \ | | / \ |
/ \ / \
| IBGP / \ IBGP | | iBGP / \ iBGP |
+-------+ +-------+ +-------+ +-------+
| | RTR-D | | RTR-E | | | | RTR-D | | RTR-E | |
| | | | | | | |
| | | | | | | | | | | |
+-------+ +-------+ +-------+ +-------+
| | | | | | | |
- - -|- - - - - - - - -|- - -/ - - -|- - - - - - - - -|- - -/
| EBGP EBGP | | eBGP eBGP |
- - -|- - - - - - - - -|- - -/ - - -|- - - - - - - - -|- - -/
| | | | | | | |
+-------+ +-------+ +-------+ +-------+
| | | | | | | | | | | |
| RTR-F | | RTR-G | | RTR-F | | RTR-G |
| | | | | | | | | | | |
+-------+ +-------+ +-------+ +-------+
| ASN2 | | ASN2 |
/ - - - - - - - - - - - - - - / - - - - - - - - - - - - - -
Figure 1 Figure 1
It is highly desirable that each ASN is able to protect itself It is highly desirable that the mechanisms exist to protect each ASN
independently from network security attacks using the BGP flow independently from network security attacks using the BGP Flow
specification NLRI for intra-domain purposes only. Network operators Specification NLRI for intra-domain purposes only. Network operators
often deploy a dedicated Security Operations Center (SOC) within often deploy a dedicated Security Operations Center (SOC) within
their ASN to monitor and detect such security attacks. To mitigate their ASN to monitor and detect such security attacks. To mitigate
attacks in a scalable intra-domain manner, operators require the attacks within a domain (AS or group of ASes), operators require the
ability to originate intra-domain flow specification NLRIs from a ability to originate intra-domain Flow Specification NLRIs from a
central BGP route controller that is not within the data forwarding central BGP route controller that is not within the data forwarding
plane. In this way, operators can direct border routers within their plane. In this way, operators can direct border routers within their
ASN with specific attack mitigation actions (drop the traffic, ASN with specific attack mitigation actions (drop the traffic,
forward to a clean-pipe center, etc.). To originate a flow forward to a clean-pipe center, etc.).
specification NLRI, a central BGP route controller must set itself as
the originator in the flowspec NLRI. This is necessary given the
route controller is originating the flow specification not reflecting
it, and to avoid the complexity of having to determine the egress
border router whose path was chosen as the best in each of the
ingress border routers. It thus becomes necessary to modify step (a)
of the [RFC5575bis] validation procedure such that an IBGP peer that
is not within the data forwarding plane may originate flow
specification NLRIs.
3. Introduction
[RFC5575bis] defined a new BGP capability that can be used to To originate a Flow Specification NLRI, a central BGP route
distribute traffic flow specifications amongst BGP speakers in controller must set itself as the originator in the Flow
support of traffic filtering. The primary intention of [RFC5575bis] Specification NLRI. This is necessary given the route controller is
is to enable downstream autonomous systems to signal traffic originating the Flow Specification rather than reflecting it, and to
filtering policies to upstream autonomous systems. In this way, avoid the complexity of having to determine the egress border router
traffic is filtered closer to the source and the upstream autonomous whose path was chosen as the best in each of the ingress border
system(s) avoid carrying the traffic to the downstream autonomous routers. Thus, it is necessary to modify step (a) of the
system only to be discarded. [RFC5575bis] also enables more granular [RFC5575bis] validation procedure such that an iBGP peer that is not
traffic filtering based upon upper layer protocol information (e.g., within the data forwarding plane may originate Flow Specification
protocol port numbers) as opposed to coarse IP destination prefix- NLRIs.
based filtering. Flow specification NLRIs received from a BGP peer
are subject to validity checks before being considered feasible and
subsequently installed within the respective Adj-RIB-In. The
validation procedure defined within [RFC5575bis] requires that the
originator of the flow specification NLRI matches the originator of
the best-match unicast route for the destination prefix embedded in
the flow specification. This allows only BGP speakers [RFC4271]
within the data forwarding path (such as autonomous system border
routers) to originate BGP flow specification NLRIs. Though it is
possible to disseminate such flow specification NLRIs directly from
border routers, it may be operationally cumbersome in an autonomous
system with a large number of border routers having complex BGP
policies. This document describes a modification to the [RFC5575bis]
validation procedure allowing flow specification NLRIs to be
originated from a centralized BGP route controller within the local
autonomous system that is not in the data forwarding path. While the
proposed modification cannot be used for inter-domain coordination of
traffic filtering, it greatly simplifies distribution of intra-domain
traffic filtering policies in an autonomous system with a large
number of border routers having complex BGP policies. By relaxing
the validation procedure for IBGP, the proposed modification allows
flow specifications to be distributed in a standard and scalable
manner throughout an autonomous system.
4. Revised Validation Procedure 4. Revised Validation Procedure
4.1. Revision of Route Feasibility
Step (a) of the validation procedure specified in [RFC5575bis], Step (a) of the validation procedure specified in [RFC5575bis],
section 6 is redefined as follows: section 6 is redefined as follows:
a. One of the following conditions MUST hold true. a. One of the following conditions MUST hold true.
* The originator of the flow specification matches the 1. The originator of the Flow Specification matches the
originator of the best-match unicast route for the destination originator of the best-match unicast route for the
prefix embedded in the flow specification. destination prefix embedded in the Flow Specification.
* The AS_PATH attribute of the flow specification does not 2. The AS_PATH attribute of the Flow Specification does not
contain AS_SET and/or AS_SEQUENCE segments. contain AS_SET and/or AS_SEQUENCE segments.
An AS_PATH without AS_SET and/or AS_SEQUENCE segments indicates that 1. This condition SHOULD be enabled by default. This
the flow specification was originated inside the local AS [RFC4271] default behavior should validate an empty AS_PATH.
or inside the local confederation (in the case that the local AS
belongs to a confederation of ASes) [RFC5065]. With this
modification to the [RFC5575bis] validation procedure, it is now
possible for an IBGP peer that is not within the data forwarding path
to originate flow specification NLRIs. This applies whether the AS
belongs or not to a confederation of ASes. Checking the (newly
introduced) second condition above MAY be disabled by configuration
on a BGP speaker. However, it SHOULD be enabled by default.
Disabling the condition may be a good practice when the administrator
knows with certainty that there are not flow specification NLRI
originated inside the local AS (or local confederation). The default
behavior is thus to validate an empty AS_PATH. In this context, an
empty AS_PATH means that it does not have AS_SET and/or AS_SEQUENCE
segments. Optionally, an implementation MAY also validate a specific
non-empty AS_PATH. For instance, it could validate a flowspec NLRI
whose AS_PATH contains only an AS_SEQUENCE of ASes known (via
configuration) to belong to the same administrative domain.
Further, [RFC5575bis] states that "BGP (flow specification) 2. This condition MAY be disabled by configuration on a BGP
implementations MUST also enforce that AS_PATH attribute of a route speaker.
received via the External Border Gateway Protocol (EBGP) contains the
neighboring AS in the left-most position of the AS_PATH attribute".
This rule is not valid for all topologies. For example, it prevents
the exchange of BGP flow specification NLRIs at Internet exchanges
with BGP route servers. Therefore, this document also redefines the
[RFC5575bis] AS_PATH validation procedure referenced above as
follows:
BGP flow specification implementations MUST enforce that the last AS 3. As an exception to this rule, a given AS_PATH with AS_SET
added within the AS_PATH attribute of a EBGP learned flow and/or AS_SEQUENCE segments MAY be validated by policy.
specification NLRI MUST match the last AS added within the AS_PATH
attribute of the best-match unicast route for the destination prefix
embedded in the flow specification. This proposed modification
enables the exchange of BGP flow specification NLRIs at Internet
exchanges with BGP route servers while at the same time, for security
reasons, prevents an EBGP peer from advertising an inter-domain flow
specification for a destination prefix that it does not provide
reachability information for. Note, comparing only the last ASes
added is sufficient for EBGP learned flow specification NLRIs.
Requiring a full AS_PATH match would limit origination of inter-
domain flow specifications to the origin (or first) AS of the best-
match unicast route for the destination prefix embedded in the flow
specification only. As such, a full AS_PATH validity check may
prevent transit ASes from originating inter-domain flow
specifications, which is not desirable.
This document also clarifies proper handling when the BGP flow Explanation:
specification does not embed a destination prefix component. The
default behavior SHOULD be not to perform any validation procedure.
Further, support for two-octet AS number space is out of the scope of
this document.
In this context, AS_PATH attribute is defined as the reconstructed AS In this context, an empty AS_PATH means that it does not have
Path information (by combining AS_PATH and AS4_PATH attributes, if AS_SET and/or AS_SEQUENCE segments, and local domain means the
the BGP speaker is a NEW speaker and receives the route from an OLD local AS [RFC4271] or the local confederation of ASes (in the case
speaker), according to section 4.2.3 of [RFC6793]. that the local AS belongs to a confederation of ASes [RFC5065]).
[RFC5575bis] references "the best-match unicast route for the Thus, receiving a Flow Specification with an empty AS_PATH
destination prefix embedded in the flow specification". For clarity, indicates that the Flow Specification was originated inside the
this route is defined hereby as the best path of the unicast network local domain.
that covers destination prefix embedded in the flow specification
with the longer prefix-length. In other words, we consider only the
best-match network and we do not consider unicast non-best paths
(even if it is received from the same peer than the flowspec route).
Note that, per [RFC5575bis], originator may refer to the BGP With the above modification to the [RFC5575bis] validation
ORIGINATOR_ID attribute or the transport address of the peer from procedure, a BGP peer within the local domain that is not within
which we received the update. If the later, a network must be the data forwarding path can originate a Flow Specification.
designed so it has a congruent topology. Otherwise, using two
peering sessions between the same pair of BGP speakers, one for
unicast and one for flowspec, will cause the flowspec validation
procedure to fail. Consider, for example, the case where a BGP route
reflector receives the NLRIs from a route reflector client, thus not
receiving the ORIGINATOR_ID attribute. If the speaker belongs to a
confederation [RFC5065] and we are receiving a flowspec route from
different peers than its best match unicast route, the flowspec
validation procedure will fail as well. Consider also a
misconfiguration where flowspec address-family is not configured for
a particular peering between different member-AS (but it is
configured for unicast). Even if we receive the flowspec route via a
redundant peer, we may receive the unicast route and the flowspec
from different peers, and thus flowspec validation will fail. Thus,
with the (newly introduced) second condition above applied,
incongruent topologies are supported.
Note that if the flowspec NLRI is learned from another AS (and thus Disabling the new condition above (a.2.2) may be a good practice
the AS_PATH is not empty), the original validation procedures defined when the operator knows with certainty that there is not a Flow
in [RFC5575bis] still apply and incongruent topologies may cause Specification originated inside the local domain.
validation rules to fail.
5. IANA Considerations Also, policy may be useful to validate a specific set of non-empty
AS_PATHs (a.2.3). For example, it could validate a Flow
Specification whose AS_PATH contains only an AS_SEQUENCE with ASes
that are all known to belong to the same administrative domain.
4.2. Revision of AS_PATH Validation
[RFC5575bis] states:
o BGP implementations MUST also enforce that the AS_PATH attribute
of a route received via the External Border Gateway Protocol
(eBGP) contains the neighboring AS in the left-most position of
the AS_PATH attribute.
This rule prevents the exchange of BGP Flow Specification NLRIs at
Internet exchanges with BGP route servers. Therefore, this document
also redefines the [RFC5575bis] AS_PATH validation procedure
referenced above as follows:
o BGP Flow Specification implementations MUST enforce that the AS in
the left-most position of the AS_PATH attribute of a Flow
Specification route received via the External Border Gateway
Protocol (eBGP) matches the AS in the left-most position of the
AS_PATH attribute of the best-match unicast route for the
destination prefix embedded in the Flow Specification NLRI.
Explanation:
For clarity, the AS in the left-most position of the AS_PATH means
the AS that was last added to the AS_SEQUENCE.
This proposed modification enables the exchange of BGP Flow
Specification NLRIs at Internet exchanges with BGP route servers
while at the same time, for security reasons, prevents an eBGP
peer from advertising an inter-domain Flow Specification for a
destination prefix that it does not provide reachability
information for.
Comparing only the last ASes added is sufficient for eBGP learned
Flow Specification NLRIs. Requiring a full AS_PATH match would
limit origination of inter-domain Flow Specifications to the
origin AS of the best-match unicast route for the destination
prefix embedded in the Flow Specification only. As such, a full
AS_PATH validity check may prevent transit ASes from originating
inter-domain Flow Specifications, which is not desirable.
Redefinition of this AS_PATH validation rule for a Flow
Specification does not mean that the original rule in [RFC5575bis]
cannot be enforced as well. Its enforcement remains optional per
[RFC4271]. That is, we can enforce the first AS in the AS_PATH to
be the same as the neighbor AS for any address-family route
(including a Flow Specification).
Using the new rule to validate a Flow Specification received from
an Internal Border Gateway Protocol (iBGP) peer is out of the
scope of this document. Note that in most scenarios such
validation would be redundant.
Using the new rule to validate a Flow Specification route received
from an External Border Gateway Protocol (eBGP) peer belonging to
the same local domain (in the case that the local AS belongs to a
confederation of ASes) is out of the scope of this document. Note
that although it's possible, its utility is dubious.
5. Other RFC5575bis Considerations
This section clarifies some of the terminology and rules referenced
in [RFC5575bis]. Namely:
o [RFC5575bis] references "the best-match unicast route for the
destination prefix embedded in the Flow Specification". For
clarity, this route is defined hereby as the best path of the
unicast network with the longer prefix-length that covers the
destination prefix embedded in the Flow Specification.
Explanation:
We consider only the best-match network and we do not consider
unicast non-best paths (even if it is received from the same peer
as the Flow Specification).
o If a BGP Flow Specification does not embed a destination prefix
component, then the default behavior SHOULD be not to perform the
validation procedures.
Explanation:
The reason for this is because the best-match unicast route is not
defined in this case.
o In the context of this document and [RFC5575bis], AS_PATH
attribute is defined as the reconstructed AS path information (by
combining AS_PATH and AS4_PATH attributes, if the BGP speaker is a
NEW speaker and receives the route from an OLD speaker), according
to section 4.2.3 of [RFC6793].
o Support for two-octet AS only implementations is out of the scope
of this document (i.e. it's assumed that the BGP speaker supports
[RFC6793]).
6. Topology Considerations
[RFC5575bis] indicates that the originator may refer to the
originator path attribute (ORIGINATOR_ID) or (if the attribute is not
present) the transport address of the peer from which we received the
update. If the latter applies, a network should be designed so it
has a congruent topology.
With the additional second condition (a.2) in the validation
procedure, non-congruent topologies are supported within the local
domain if the Flow Specification is originated within the local
domain.
Explanation:
Consider the following scenarios without the second condition
(a.2) being added to the validation procedure:
1. Consider a topology with two BGP speakers with two peering
sessions between them, one for unicast and one for Flow
Specification. This is a non-congruent topology. Let's
assume that the ORIGINATOR_ID attribute was not received (e.g.
a route reflector receiving routes from its clients). In this
case, the Flow Specification validation procedure will fail
because of the first condition (a.1).
2. Consider a topology with a BGP speaker within a confederation
of ASes, inside local AS X. ORIGINATOR_ID attribute is not
advertised within the local domain. Let's assume the Flow
Specification route is received from peer A and the best-match
unicast route is received from peer B. Both peers belong in
local AS Y. Both AS X and AS Y belong to the same local
domain. The Flow Specification validation procedure will also
fail because of the first condition (a.1).
In the examples above, if Flow Specifications are originated in
the same local domain, AS_PATH will not contain AS_SET and/or
AS_SEQUENCE segments. When the second condition (a.2) in the
validation procedure is used, the validation procedure will pass.
Thus, non-congruent topologies are supported if the Flow
Specification is originated in the same local domain.
Even when the second condition (a.2) is used in the validation
procedure, a Flow Specification originated in a different local
domain needs a congruent topology. AS_SEQUENCE is not empty and
the first condition (a.1) in the validation procedure needs to be
evaluated. Because transport addresses for Flow Specification and
unicast routes are different, the validation procedure will fail.
This is true both across domains and within domains. Consider
both cases:
* Consider the first example. If the Flow Specification route is
originated in another AS, the validation procedure will fail
because the topology is non-congruent within the domain.
* Consider the second example and modify it so AS X and AS Y
belong to different local domains (no confederation of ASes
exists). The validation procedure will fail because the
topology is non-congruent across domains.
7. IANA Considerations
This memo includes no request to IANA. This memo includes no request to IANA.
6. Security Considerations 8. Security Considerations
No new security issues are introduced by relaxing the validation No new security issues are introduced by relaxing the validation
procedure for IBGP learned flow specifications. With this proposal, procedure for iBGP learned Flow Specifications. With this proposal,
the security characteristics of BGP flow specifications remain the security characteristics of BGP Flow Specifications remain
equivalent to the existing security properties of BGP unicast equivalent to the existing security properties of BGP unicast
routing. Traffic flow specifications learned from IBGP peers are routing. Traffic Flow Specifications learned from iBGP peers are
trusted, hence, it is not required to validate that the originator of trusted, hence, it is not required to validate that the originator of
an intra-domain traffic flow specification matches the originator of an intra-domain traffic Flow Specification matches the originator of
the best-match unicast route for the flow destination prefix. the best-match unicast route for the flow destination prefix.
Conversely, this proposal continues to enforce the validation Conversely, this proposal continues to enforce the validation
procedure for EBGP learned traffic flow specifications. In this way, procedure for eBGP learned traffic Flow Specifications. In this way,
the security properties of [RFC5575bis] are maintained such that an the security properties of [RFC5575bis] are maintained such that an
EBGP peer cannot cause a denial-of-service attack by advertising an eBGP peer cannot cause a denial-of-service attack by advertising an
inter-domain flow specification for a destination prefix that it does inter-domain Flow Specification for a destination prefix that it does
not provide reachability information for. not provide reachability information for.
7. Acknowledgements 9. Acknowledgements
The authors would like to thank Han Nguyen for his direction on this The authors would like to thank Han Nguyen for his direction on this
work as well as Waqas Alam, Keyur Patel, Robert Raszuk, Eric Rosen work as well as Waqas Alam, Keyur Patel, Robert Raszuk, Eric Rosen
and Shyam Sethuram for their review comments. and Shyam Sethuram for their review comments.
8. Normative References 10. Normative References
[I-D.ietf-idr-rfc5575bis] [I-D.ietf-idr-rfc5575bis]
Hares, S., Loibl, C., Raszuk, R., McPherson, D., and M. Hares, S., Loibl, C., Raszuk, R., McPherson, D., and M.
Bacher, "Dissemination of Flow Specification Rules", Bacher, "Dissemination of Flow Specification Rules",
draft-ietf-idr-rfc5575bis-14 (work in progress), April draft-ietf-idr-rfc5575bis-14 (work in progress), April
2019. 2019.
[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,
 End of changes. 40 change blocks. 
187 lines changed or deleted 297 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/