| Internet-Draft | Source-IP-Origin-AS Filter | October 2026 |
| Wang, et al. | Expires 16 April 2027 | [Page] |
This document defines an extension to the Border Gateway Protocol (BGP) Flow Specification Version 2 (FSv2) defined in [draft-ietf-idr-fsv2-ip-basic] to enable filtering based on the Origin Autonomous System (AS) of the source IP address. This extension is particularly useful in mitigating Distributed Denial of Service (DDoS) attacks where the source IP addresses are dynamic or numerous but belong to a specific source AS.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 16 April 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
BGP [RFC4271] Flow Specification, originally defined in [RFC8955] and [RFC8956], has evolved to Flow Specification Version 2 (FSv2) as specified in [I-D.ietf-idr-fsv2-ip-basic]. FSv2 introduces an extensible, TLV-based filter family architecture with explicit rule ordering and modular components.¶
In certain DDoS mitigation scenarios, an operator may need to apply rate-limiting, redirection, or filtering to traffic sourced from a particular network (Autonomous System), even when the specific source IP prefixes within that AS are numerous or rapidly changing. Manually updating hundreds of prefix-based FlowSpec rules is inefficient and consumes excessive Hardware Forwarding Information Base (FIB) / TCAM resources. This document introduces a new FSv2 component under the Routing Filter Family that allows operators to use the Source Origin AS as a matching criterion.¶
This document proposes a new FSv2 component encoded within the Routing Filter Family (Type 1400). Unlike legacy FSv1 raw byte streams, FSv2 utilizes explicit TLV formatting.¶
Encoding format for the SIP-AS component:¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Type (200) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | <[numeric_op, Source-IP-Origin-AS]+> | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where:¶
Flags (4 bits): Defined in FSv2 specifications.¶
Type (12 bits): Set to 200 for SIP-AS.¶
Length (16 bits): Length of the value field in octets.¶
<[numeric_op, Source-IP-Origin-AS]+>: Contains a list of {numeric_op, Source-IP-Origin-AS} pairs that are used to match the Source-IP-Origin-AS.¶
numeric_op: This component uses the Numeric Operator (numeric_op) described in Section 4.1.1 of [I-D.ietf-idr-fsv2-ip-basic], Type 200 component values SHOULD be encoded as 4 octets (numeric_op len=10).¶
Source-IP-Origin-AS (32 bits): A 4-octet Autonomous System Number encoded in network byte order.¶
As defined in [I-D.ietf-idr-fsv2-ip-basic], rules and components follow strict ordering principles. The SIP-AS component (Type 200) within the Routing Filter Family (1400) MUST be evaluated deterministically according to FSv2 component sequencing rules.¶
When a BGP speaker receives and installs an FSv2 route containing the Routing Filter Family with the SIP-AS component (Type 200), the matching process for a transit data packet MUST proceed as follows:¶
The router extracts the packet's Source IP address.¶
The router performs a longest-prefix match (LPM) lookup for the Source IP in its local BGP Loc-RIB / FIB to retrieve the associated active BGP route.¶
The router evaluates the AS_PATH attribute of the retrieved BGP route:¶
If the evaluated Origin AS matches the criterion in the FSv2 rule, the packet matches this component.¶
In multi-homing scenarios, the match succeeds if ANY valid active path for the source prefix matches the Origin AS defined in the rule.¶
This section describes how to use this function in a simple scenario. Consider the topology shown in Figure 2. Router R2 in AS64597 receives traffic originating from AS64598 destined for IP Prefix 61. The operator wants to redirect all traffic originating from AS64598 towards Router R3 before forwarding it to IP Prefix 61.¶
+---------+
| BGP FS |
| Server |
+----|----+
|
|
+
\
****************\******** IP Prefix 81
* \ * IP Prefix 82
IP Prefix 61 * AS64597\ * IP Prefix 83
* \ * IP Prefix 84
+-------+ * +---+ +--\+ * +-------+
+AS64596+-------+ R1+---------+ R2|------+AS64598+
+-------+ * +-+-+\ +---+ */ +-------+
* \ |\ /
* \ | \ /* IP Prefix 91
* \ | /\* IP Prefix 92
* \ | / \ IP Prefix 93
* \ |/ *\ IP Prefix 94
* \ +-+-+ * \ +-------+
* \-+ R3+------+AS64599+
* +---+ * +-------+
* *
*************************
Using the traditional method, ISP AS64597 must inject multiple "Destination Prefix + Source Prefix" FlowSpec rules into Router R2:¶
+--------------+--------------+-------------------------+ | Destination | Source Prefix| Action / Next-hop | | Prefix | | | +--------------+--------------+-------------------------+ | IP Prefix 61 | IP Prefix 81 | Redirect to R3 | | IP Prefix 61 | IP Prefix 82 | Redirect to R3 | | IP Prefix 61 | IP Prefix 83 | Redirect to R3 | | IP Prefix 61 | IP Prefix 84 | Redirect to R3 | | ... | ... | ... | +--------------+--------------+-------------------------+
Using the method defined in this draft, ISP AS64597 needs to inject only a single "Destination Prefix + Source-IP-Origin-AS" FlowSpec rule:¶
+--------------+--------------+-------------------------+ | Destination | Source-IP- | Action / Next-hop | | Prefix | Origin-AS | | +--------------+--------------+-------------------------+ | IP Prefix 61 | AS64598 | Redirect to R3 | +--------------+--------------+-------------------------+
This method saves significant TCAM space on network elements, reduces BGP UPDATE messaging load on the control plane, and simplifies operational management when a source AS advertises numerous dynamic prefixes.¶
In addition to the security considerations in [I-D.ietf-idr-fsv2-ip-basic], operators MUST be aware of routing inconsistency risks, BGP origin validation via RPKI [RFC6811], and FSv2 route validation procedures.¶
IANA is requested to make the following allocations under the BGP Flow Specification Version 2 (FSv2) registries defined in [I-D.ietf-idr-fsv2-ip-basic]:¶
FSv2 Routing Filter Family Component Types Registry: +-------------+-----------------------+-------------------+ | Type | Description | Reference | +-------------+-----------------------+-------------------+ | 200 | SIP-AS (Source-IP-AS) | This document | +-------------+-----------------------+-------------------+¶
The following people made significant contributions to this document:¶
Tao Qin Huawei Email: qintao11@huawei.com¶
The authors would like to thank Susan Hares, Ming Shen, Nan Geng, Ziqing Cao for their valuable comments and suggestions.¶