Internet-Draft | Enhanced SLURM Filters | March 2024 |
Fu & Geng | Expires 18 September 2024 | [Page] |
Simplified Local Internet Number Resource Management with the RPKI (SLURM) helps operators create a local view of the global RPKI by generating sets of filters and assertions. This document proposes to filter out RPKI data by type based on enhanced SLURM filters. Only the RPKI data types that the network or routers are interested in will appear in the Relay Party's output.¶
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 18 September 2024.¶
Copyright (c) 2024 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.¶
Relay Party (RP) collects signed RPKI objects from global RPKI publication points. The RPKI data passing RP's validation will appear in RP's output. Then, the RPKI-to-Router (RTR) protocol [RFC6810][RFC8210][I-D.ietf-sidrops-8210bis] will synchronize the validated RPKI data from RP to routers. Currently, four types of RPKI data including IPv4 Prefix, IPv6 Prefix, Router Key, and ASPA are supported in the RTR protocol.¶
However, in some cases, routers may be interested in a part of RPKI data types, instead of all [I-D.geng-sidrops-rtr-selective-sync]. In such cases, storing unused data on the router is unreasonable, and synchronizing all types of data will induce some unnecessary transmission and storage overhead. Furthermore, there may be more types of RPKI data in the RPKI repositories and RPs, which makes the above issue more significant and worse. The followings are example types, and some of them may be possibly supported in the RPKI system in the future:¶
Secured Routing Policy Specification Language (RPSL) [RFC7909]¶
Signed Prefix Lists [I-D.ietf-sidrops-rpki-prefixlist]¶
Autonomous Systems Cones [I-D.ietf-grow-rpki-as-cones]¶
Mapping Origin Authorizations (MOAs) [I-D.xie-sidrops-moa-profile]¶
Signed SAVNET-Peering Information (SiSPI) [I-D.chen-sidrops-sispi]¶
Path validation with RPKI [I-D.van-beijnum-sidrops-pathrpki]¶
Signed Groupings of Autonomous System Numbers [I-D.spaghetti-sidrops-rpki-asgroup]¶
SLURM provides a simple way to enable an RP to establish a local and customized view of the RPKI ([RFC8416], [I-D.ietf-sidrops-aspa-slurm]). It defines Validation Output Filters to filter out specific RPKI data items and Locally Added Assertions to add RPKI data items. Unfortunately, SLURM cannot efficiently filter out RPKI data by type, i.e., filter out all the RPKI data belonging to a specific type.¶
This document proposes enhanced SLURM filters which can filter out RPKI data by type. With enhanced SLURM filters, operators can efficiently select which type of RPKI data need to be synchronized to routers.¶
The proposed method requires some modifications on the SLURM-related process of RP software. Upgrades of RTR implementations and router software implementations are not involved.¶
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.¶
According to the statistics of "RFC9386 IPv6 Deployment Status" [RFC9386], some countries, such as Brazil, China, and India, have clearly moved towards IPv6 adoption. As of 1 January 2022, the IPv6 adoption rate of China reached as high as 60.1%, and the total number of estimated IPv6-capable users reached to 1,207.61 million. A survey was submitted to a group of service providers in Europe during the third quarter of 2020 to understand their plans about IPv6 and their technical preferences regarding its adoption. The poll revealed that the majority of ISPs interviewed had plans concerning IPv6 (79%). Of them, 60% had ongoing activities already, while 33% were expected to start activities in a 12-month time frame.¶
With the rapid deployment of IPv6, more and more IPv6-only operator networks are likely to emerge. For example, the China Education and Research Network named as FITI under construction will be an IPv6-only network. Operators, like China Unicom, are also planning to build IPv6-only networks.¶
+------------+ | Rely | | Party | +------------+ / \ / \ / \ +----------------------------------------------------------+ BGP IPv6| BGP | ISP | BGP |BGP IPv6 ---------+ | IPv6 only Network | +------- routes | Router | | Router |routes +----------------------------------------------------------+¶
In IPv6-only networks as shown in the above figure, IPv4 RPKI data (e.g., IPv4 Prefix data) is unnecessary for the networks to do BGP route validation. These unnecessary data may waste the storage of routers, induce some unnecessary transmission overhead and waste the energy power of the routers.¶
This section proposes two optional designs.¶
A SLURM file consists of a single JSON [RFC8259] object containing the following members:¶
A "slurmVersion" member that MUST be set to 3, encoded as a number¶
A "validationOutputFilters" member whose value is an object. The object MUST contain exactly four members:¶
A "locallyAddedAssertions" member whose value is an object. The object MUST contain exactly three members:¶
The following JSON structure with JSON members represents a SLURM file that has no filters or assertions:¶
{ "slurmVersion": 2, "validationOutputFilters": { "aspaFilters": [], "bgpsecFilters": [], "prefixFilters": [], "typeFilters": [] }, "locallyAddedAssertions": { "aspaAssertions": [], "bgpsecAssertions": [], "prefixAssertions": [] } }¶
There are currently four types of RPKI data (which follows the RTR PDU definitions). The number of data types may increase with time.¶
The RP can configure zero or at most four RPKI Data Type Filters ("Type Filter" for short). Each Type Filter contains a single 'rpkiDataType' and optionally a single 'comment'.¶
The 'rpkiDataType' member MUST be one of the values, i.e., "IPv4 Prefix", "IPv6 Prefix", "Router Key", and "ASPA".¶
It is RECOMMENDED that an explanatory comment is included with each Type Filter so that it can be shown to users of the RP software.¶
Any RPKI data item that matches any configured Type Filter MUST be removed from the RP's output.¶
A RPKI data item is considered to match with a Type Filter if the following condition applies: The item is considered to match if the RPKI data type of the item is equal to the "rpkiDataType" value of Type Filter.¶
The following example JSON structure represents a "typeFilter" member with one object as described above:¶
"typeFilter": [ { "rpkiDataType": "IPv4 Prefix", "comment": "Filter out VRPs with IPv4 Prefixes" } ]¶
When a type of RPKI data is to be filtered out, the corresponding Filters and Assertions MUST be ignored. In the above JSON example, the prefixFilters with IPv4 prefixes and the prefixAssertions with IPv4 prefixes will be ignored by RP.¶
A SLURM file consists of a single JSON [RFC8259] object which has the same structure as [I-D.ietf-sidrops-aspa-slurm], except that the "slurmVersion" member MUST be set to 3.¶
The structure of ROA filters, BGPsec filters, and ASPA filters are not changed.¶
To filter out a specific type of RPKI data, a special value (e.g., 65535. The value is TBD) can be set to the "asn" member of the above filters.¶
The following example JSON structure represents a "prefixFilters" member with one object as described above:¶
"prefixFilters": [ { "asn": 65535, "comment": "Filter out VRPs with IPv4 and IPv6 Prefixes" } ]¶
When a type of RPKI data is to be filtered out, the corresponding Filters and Assertions MUST be ignored. In the above JSON example, the other prefixFilters and all the prefixAssertions will be ignored by RP.¶
To filter only IPv4 Prefixes, two special values can be used, i.e., one is for IPv4 and the other is for IPv6. The concret design is TBD.¶
The security considerations in Section 6 of [RFC8416] are also applied to this document.¶
This document has no IANA actions.¶