Internet Routing Registry (IRR)
The ARIN IRR is a searchable database of public routing policy information for networks in the ARIN region. IRR information is contained in a separate database from ARIN’s public Whois information. For information on the ARIN IRR architecture and how it fits into the global IRR network, visit Internet Routing Registry Overview.
There are two main functions of the IRR: accepting and storing routing data from ARIN users and providing that routing data to entities (such as customers, other IRRs, and aggregators) who retrieve it for use in routing decisions for their networks. You do not have to submit your own routing data to ARIN’s IRR to be able to query and retrieve routing data from the ARIN IRR. The following illustration provides an overview of the components of ARIN’s IRR.
More information about how to submit and retrieve IRR data is provided in the following sections.
Submitting Routing Information
Data can be submitted to ARIN’s IRR using the following methods:
- IRR-online: ARIN’s IRR-online is available from the main navigation menu in ARIN Online. To learn how to submit and manage routing information in IRR-online, visit the ARIN IRR User Guide.
- IRR RESTful API: ARIN provides a RESTful Application Programming Interface (API) that allows users to submit routing information via Representational State Transfer (REST) commands in scripts or software. This provides support for automating bulk data entry of route information. Visit Automating Your Workflow Using the IRR RESTful API for more information on how to use these commands.
- IRR-email: ARIN provides an email template-based system (IRR-email) for users to create and edit IRR records. As of 10 June 2020, this system is not accepting new users. Users of IRR-email who want to transition to using ARIN Online to manage their IRR information should visit Implementation Notes for ARIN’s Web-Based IRR.
Querying ARIN’s IRR
ARIN provides multiple ways to query the IRR database.
Near Real Time Mirroring (NRTM)
ARIN’s IRR database provides two NRTM streams:
ARIN: This stream contains “authorized” objects, or objects in the ARIN IRR database that are validated. “Validated” means that these networks and AS numbers are assigned to the valid maintaining Org ID and are covered by a Registration Services Agreement (RSA). For routes and ASNs, the Internet numbers claimed in the IRR object are registered to that same valid Org ID.
ARIN-NONAUTH: This stream contains “non-authenticated” objects, or objects that could not be validated during ARIN’s migration of data from the IRR-email database to the new database. Nonauthenticated data was published by someone who cannot be verified as the registrant of the address space or who does not have a signed RSA with ARIN for maintenance of the address space. Nonauthenticated data can be used for routing, but if a more trusted source of data (such as data in the authenticated ARIN stream, or RPKI data) exists, that data should be given preference.
You will need to establish two NRTM sessions to gain access to all of ARIN’s IRR objects (both ARIN and ARIN-NONAUTH).
Note: Objects created in IRR-email are migrated daily to the appropriate NRTM dataset (ARIN or ARIN-NONAUTH).
ARIN’s IRR information can be obtained from ftp://ftp.arin.net/pub/rr/. The FTP site can be used by mirrors in bootstrapping before using NRTM. The database source files can also be downloaded directly. The FTP site provides two sources: one for authorized objects and one for nonauthenticated objects.
If you are obtaining IRR information via FTP, to get all ARIN objects, you’ll need to access the two separate sources:
- ARIN: ftp://ftp.arin.net/pub/rr/arin.db.gz
- ARIN-NONAUTH ftp://ftp.arin.net/pub/rr/arin-nonauth.db.gz
Note that the source files are in zipped format (.gz).
Whois Port 43
You can also use a command-line interface command in a program such as Terminal to enter query commands. The ARIN IRR uses the Internet Routing Registry Daemon (IRRd) Version 4 database server. IRRd supports two types of Whois queries: IRRd-style queries and RIPE-style queries. You cannot mix styles in a single query. Each style has different flags and arguments.
Some common IRR query examples are listed in the following table, and longer examples are provided after the table.
|Query||IRRd-Style Example||RIPE-Style Example|
|objects of a specified maintainer||
For a full list of querying instructions for both IRRd-style and RIPE-style queries, view IRRd: Running queries - Whois protocol reference.
IRRd-Style Query Example
IRRd-style queries use arguments to retrieve certain types of data. These arguments are preceded by the exclamation point. When using the terminal window to enter commands, you’ll need to precede the exclamation point with a backslash
(\) or enclose the exclamation point and arguments within single quotation marks.
For example, to search for all members of an
as-set you would enter the
as-set name in the command like this:
whois -h rr.arin.net \!iAS-EXAMPLE
AS-EXP AS-WESTB AS65536
An explanation of the results is provided here:
A<length>: A24: The number of bytes in the response, including new lines after the content.
<as-set> <as-set> <asn>: AS-EXP AS-WESTB AS65536: This
as-set(“as-example”) includes two other
as-sets, AS-EXP and AS-WESTB, and the ASN AS65536.
RIPE-Style Query Example
To search for an object such as a
route6 object, enter the command like this:
whois -h rr.arin.net 2001:db8::/32
descr: Example Corporation
Internet Routing Registry (IRR)
- IRR Overview
- ARIN IRR User Guide
- Implementation Notes for ARIN's Web-Based IRR
- Automating Your Workflow Using the IRR RESTful API
- Converting IRR Email Templates to REST Commands
- ARIN IRR-email System
- ARIN IRR-email Object Templates
- Internet Routing Registry FAQ
Registration Services Help Desk
7:00 AM to 7:00 PM ET