Exploring the blind spot of IXPs Route Servers

By on 15 Apr 2026

Category: Tech matters

Tags: , , , ,

Blog home

Route Servers (RSes) play a critical role in interdomain connectivity by enabling the efficient exchange of routes among hundreds of networks. At large Internet Exchange Points (IXPs), this model supports traffic exchange at a multi-terabit scale. This makes their routing policies particularly important, as misconfigurations can propagate incorrect routes across many networks.

This post examines how RS filtering works in practice, identifies a blind spot in current approaches, and discusses its operational impact.

How route server filtering is implemented

RS filtering combines several mechanisms intended to prevent the propagation of incorrect announcements.

Basic checks typically include controls such as filtering bogon prefixes or applying AS-PATH constraints. These mechanisms mitigate common misconfigurations and are applied on ingress to each BGP session.

More advanced validation based on both Resource Public Key Infrastructure (RPKI) and Internet Routing Registry (IRR) is then applied. However, with no operational standard governing how these checks are applied, IXPs can decide to perform them on ingress, egress, or split across both directions.

A common operational model works as follows. When an UPDATE reaches the RS:

  • RPKI validation is applied first.
  • INVALID routes are rejected.
  • NotFound routes proceed to IRR-based filtering, which applies a stricter validation with two outcomes — valid or invalid.

In practice, when RPKI returns NotFound, the validation decision depends entirely on IRR-derived policy.

How IRR-based filtering works

IRR filtering relies on AS-SET objects, which represent collections of Autonomous System Numbers (ASNs). Operators use them to define which downstream ASes they may provide transit.

Figure 1 — IRR-based filter generation workflow.
Figure 1 — IRR-based filter generation workflow.

IRR-based filters are automatically generated using tools such as BGPQ4. The process is straightforward, as illustrated in Figure 1:

  1. The IXP operator provides the AS-SET name as input. In the example, AS64505:Customers.
  2. BGPQ4 expands the AS-SET into a list of ASNs, in this case [64505, 64509, 64496].
  3. For each ASN, route objects are retrieved from selected IRR databases, producing the prefix list [1.1.1.0/24, 2.2.2.0/24].
  4. The prefix list is then compiled into a filter associated with AS64505’s session.

The resulting filter acts as a prefix whitelist. When a route is received from AS64505, the RS checks whether the prefix appears in the list. If it does, the route is accepted; otherwise, it is rejected.

Where the blind spot appears

The issue is that AS-SET-based filtering reduces authorization to a single question: Does the prefix appear in the list generated from the member’s AS-SET?

During the AS-SET expansion, the binding between the prefix and the authorized ASN may be lost. In practice, the RS checks only whether the prefix is in the filter, not whether the origin AS is authorized to announce it.

This means that, under certain conditions, an invalid announcement may still be accepted.

Figure 2 — Example illustrating the blind spot.
Figure 2 — Example illustrating the blind spot.

As seen in Figure 2, if an unrelated AS64652 announces a prefix belonging to AS64509 via AS64505, the RS accepts the announcement because the prefix exists in the allowlist and the update arrives via the AS64505’s session. Since prefix ownership is not validated, the hijacked route is treated as valid and may be propagated.

Why AS-SET quality make this worse

The impact of this blind spot depends in part on the quality of IRR data. Many AS-SETs are poorly maintained and may accumulate unallocated, private, or inactive ASNs.

As a result, AS-SETs can become large and noisy, expanding prefix filters and increasing the likelihood that unrelated prefixes appear in the whitelist of a member.

Table 1 shows the largest AS-SETs ranked by the number of ASNs. All contain more than 103,000 ASNs, approaching the total allocated ASNs (around 130,000) and exceeding the number of active ones (around 77,000). In IRR data, these AS-SETs are associated with millions of IPv4 and IPv6 prefixes, significantly expanding RS filter prefix sets.

AS-SETASesIPv4IPv6
AS39533:AS-PEERS104,4912,232,229955,918
AS214292:AS-DECIX-L3-SERVICES-CUSTOMERS104,2662,231,371955,732
AS-ST1-IXPS104,0592,230,016955,623
AS3326:AS-PEERS-DEE103,8642,229,607955,575
AS-CLOUD-IX-PRO103,8562,229,582955,555
AS-MERKEL-PEERS103,8562,229,594955,567
AS12732:AS-UPSTREAMS103,8432,229,584955,554
AS39533:AS-SET:AS6695103,8422,229,580955,553
AS6695:AS-DECIX-FRA103,8422,229,580955,553
AS-DECIX103,8422,229,580955,553
Table 1 — Top ten AS-SETs ranked by number of ASNs.

Data analysis

We analysed RS data from AMS-IX and NAMEX to determine whether this blind spot appears in operational data.

For the blind spot to occur, an invalid announcement must satisfy the following conditions:

  • A Route Origin Authorization (ROA) must not cover the prefix. Otherwise, the announcement would be rejected by RPKI validation. We found 32% of entries in the NotFound state.
  • The route must reach the route server, and no intermediate AS should filter it. We observed that 9% of entries were already invalid when they reached the RS.
  • The route must arrive through an authorized session to appear in the whitelist. We found that 52% of entries arrived via authorized members, with 28% visible through multiple members.
  • The origin AS does not need to appear in the member’s AS-SET, as RSes perform prefix-level filtering. In our data, 5.4% of accepted announcements had an origin AS not present in the AS-SET.
  • The prefix must exist in a route object associated with an ASN in the AS-SET. Given the scale shown in Table 1, this condition is highly likely, allowing the prefix to be included during filter generation.
StepAnnouncementsUnique prefixesUnique origins
Initial data492,543288,31438,246
Public ASN492,418288,22338,201
RPKI unknown158,13498,28418,937
AS-SET Valid64,90145,59210,723
Blind spot1,4261,343513
High-level analysis
Cust-Prov807750285
Siblings1049736
AS-PATH343019
Supernet24224268
Allocation383626
No relationship20118879
Table 2 — Breakdown of announcements by filtering stage.

Observed cases: Starting from approximately 492,000 announcements, we identified 1,426 cases matching the blind spot, covering 1,343 unique prefixes from 513 origin ASes (Table 2). In these cases, the RS accepted the routes even though the origin AS has no route object authorizing the prefix.

Not all cases represent attacks and may reflect business relationships. Analysing the relationship between the origin AS and the prefix, we found that 56% of cases, the origin AS has a customer-provider relationship with the prefix owner, while 17%, it held a route object for a covering prefix. In the end, 201 announcements showed no clear relationship and may require operator attention.

Impact on legitimate announcements

AS-SET-based filtering also affects legitimate routes, which are cases in which a route object authorized the origin AS.

We found that 65.6% of valid announcements were filtered because the prefix was missing from the AS-SET-derived prefix list. In many cases, all announcements for the prefixes were filtered, resulting in loss of connectivity through the IXP.

We also observed 446 Multiple Origin AS (MOAS) cases. In eight of them, both legitimate and unauthorized origins announced the same prefix, and the RS consistently selected and propagated the illegitimate path.

Is this limited to a few IXPs?

To determine whether this behaviour was limited to the two IXPs analysed, we extended the study to IXPs worldwide (Table 3). For each IXP, we examined whether IRR filtering relied on AS-SET expansion and whether prefixes matching the blind spot conditions were visible in the RS outputs.

Among 26 IXPs analysed, 22 appeared to propagate blind spot prefixes, while only four did not, suggesting that this behaviour may be widespread in RS filtering models.

IXPAS-SET usageLooking glass checkBlind spot mitigated
AMSIX
BCIX
BIX
BNIX
CIX
DECIX
FRANCE-IX
GRIX
GIGAPIX
IX Australia
IX.br
INEX
LINX
LONAP
MINAP
MEGAPORT
MSK-IX
NAMEX
NETNOD
NLIX
SGIX
SIX
STUTTGART
SWISSIX
TOP-IX
UAE-IX
Table 3 — Assessment of blind spot mitigation across IXPs.

Operational recommendations

Both network and IXP operators can take steps to mitigate this issue.

For network operators:

  • Create ROAs for all routable prefixes. The blind spot only affects prefixes in the RPKI NotFound state.
  • Use authoritative IRR databases and maintain accurate IRR data.
  • Regularly update AS-SET objects and remove unallocated, private, and inactive ASNs. (The ten largest AS-SETs could reduce their size by roughly 25%, as shown in Table 4)
AS-SETASes (before)ASes (after)IPv4IPv6
AS39533:AS-PEERS104,49177,2892,171,351906,575
AS214292:AS-DECIX-L3-SERVICES-CUSTOMERS104,26677,2522,170,569906,409
AS-ST1-IXPS104,05977,1342,169,482906,306
AS3326:AS-PEERS-DEE103,86477,0092,169,119906,259
AS-CLOUD-IX-PRO103,85677,0022,169,105906,252
AS-MERKEL-PEERS103,85677,0012,169,104906,252
AS12732:AS-UPSTREAMS103,84377,0022,169,108906,253
AS39533:AS-SET:AS6695103,84277,0012,169,104906,252
AS6695:AS-DECIX-FRA103,84277,0012,169,104906,252
AS-DECIX103,84277,0012,169,104906,252
Table 4 — Top ten AS-SETs after the cleanup.

For IXPs operators:

  • Verify whether IRR filtering enforces prefix-to-origin validation
  • Inspect the RS RIB for routes where the origin AS has no corresponding route object.

If such cases exist, the mitigation is straightforward: Preserve the ownership information. In practice, this means adding a step that checks whether the origin AS is authorized to originate the prefix according to IRR route objects, rather than relying solely on prefix lists generated from AS-SET expansion.

This shifts validation from ‘the prefix appears in the filter’ to ‘the origin AS is authorized to announce the prefix.’

Takeaways

  • RS filtering practices vary across IXPs and lack a common standard.
  • AS-SET-based filtering may lose the binding between prefixes and authorized ASNs.
  • Large and poorly maintained AS-SETs increase the likelihood of incorrect route acceptance.
  • The blind spot occurs in real operational data.
  • Legitimate routes may also be filtered, causing connectivity issues.
  • The issue is widespread across IXPs worldwide

For readers interested in detailed results, we encourage you to watch our APRICOT 2026 presentation below, view the slides (PDF), and look out for our paper, which will be published soon.




The views expressed by the authors of this blog are their own and do not necessarily reflect the views of APNIC. Please note a Code of Conduct applies to this blog.

Leave a Reply

Your email address will not be published. Required fields are marked *

Top