What is an IRR (Internet Routing Registry)?
An IRR is a distributed routing database where operators publish route, route6 and as-set objects describing who may announce which prefixes in BGP.
Last updated:
An IRR (Internet Routing Registry) is a distributed set of public databases in which network operators declare their routing policy and record which prefixes a given autonomous system is allowed to originate. IRR objects are written in RPSL (Routing Policy Specification Language), defined in RFC 2622, and other networks use that data to build prefix filters on their BGP sessions. This lets an IRR tell announcements that match the declared policy apart from accidental or malicious ones before they reach the routing table.
The mesh of IRR databases and RPSL
There is no single central IRR. Instead there are many interlinked databases. Some are run by regional internet registries (for example the RIPE routing database), others are independent, such as RADb, ALTDB, or NTTCOM. Each database stores RPSL objects, and filtering tools (such as bgpq4 or IRRToolSet) query them to generate concrete lists of prefixes and AS numbers. Most databases do not cryptographically verify entitlement to the resources, so data quality depends on operator discipline and on the gradual linking of IRR data to RPKI.
The route, route6 and as-set objects
In daily operations three object types matter most. A route object binds an IPv4 prefix to the AS number allowed to originate it, and route6 does the same for IPv6. An as-set groups AS numbers (and other as-sets) and describes whose prefixes a network accepts from its customers and partners. A single as-set can recursively contain further as-sets, so a transit provider can describe an entire customer tree with one entry.
- route / route6: bind a specific prefix (IPv4 or IPv6) to its origin AS number (the origin attribute).
- as-set: a named group of AS numbers and other as-sets, e.g. AS-SKYPASS, used as the entry point of a filter.
- aut-num: the object describing the AS itself and its import and export policy (import/export).
- Expanding an as-set produces the full list of permitted prefix-to-AS pairs for the BGP configuration.
- Every object must carry a valid source attribute, e.g. RIPE or RADB, identifying its database of origin.
IRR-based prefix filtering
IRR-based filtering works by having the accepting network take a peer's as-set, recursively expand it into a list of AS numbers and then into the matching route and route6 objects, and build a prefix-list applied to the BGP session. Routes outside that list are rejected. These filters are generated automatically and refreshed on a schedule, because a customer's set of prefixes changes over time. IRR and RPKI complement each other: IRR describes the full topology and prefix scope, while RPKI with ROA objects gives cryptographic certainty about origin. For that reason operators run both mechanisms in parallel.
IRR in the AS202520 SkyPass network
At AS202520 SkyPass we maintain current route, route6 and as-set objects for our own resources and for customers using our IP transit. On peering sessions at THINX, TPIX, WRIX, POZIX and 1-IX, and on transit links, we build prefix filters from IRR data and also validate origin through RPKI. If you buy transit from us or set up peering, providing a correct as-set and complete route/route6 objects speeds up turning up the session and makes sure your prefixes pass cleanly through our filters.
Frequently asked questions
How does an IRR differ from RPKI?
An IRR is a database of textual RPSL objects describing policy and prefix scope, with no cryptography. RPKI uses signed ROA objects that cryptographically prove prefix origin. Operators use both mechanisms together.
Do I need a separate object for every prefix?
Yes. Every announced IPv4 prefix needs a route object and every IPv6 prefix a route6 object, with a correct origin attribute pointing to your AS. Without them, partners' filters may reject your routes.
What is an as-set used for?
An as-set groups AS numbers and other as-sets, describing whose prefixes a network accepts. A transit provider publishes an as-set covering all its customers, and partners use it as the entry point when generating filters.
How are filters generated from IRR data?
Tools such as bgpq4 expand a given as-set into a list of route and route6 objects and then generate a prefix-list for the router. The filter is refreshed periodically because a customer's prefix scope changes over time.
