IRR and Peering

13/05/2022

By Guillermo Cicileo

In previous articles we explained what an IRR is and how to use LACNIC’s IRR. Now we will describe how to use the IRR to define AS-SET objects to communicate to our providers or peers which prefixes we want to advertise.

What information should we share with our peers?

When establishing a BGP peering session or a session with a provider, it is common for them to ask for information about the prefixes and autonomous systems we are going to announce. There are many ways to provide this information, some more informal than others, such as through an email or a Letter of Authorization (LOA). In other cases, the information must be published in a registry such as an IRR or RPKI.

Currently, many content delivery networks (CDNs) are asking organizations that want to set up peering relationships with them to create an AS-SET in an IRR specifying the autonomous systems to which they will provide transit (connectivity with the CDN). Many cloud providers or VPS services are doing the same.

What is an AS-SET?

As its name implies, an AS-SET is simply a set of autonomous systems. AS-SETs are objects that can be defined to create groups of autonomous systems that share a certain property. Their use may be very varied, and they do not have a predefined semantics; instead, each operator may define them to fit their needs.

One of the most common uses of AS-SETs is to define a set of autonomous systems that share a specific policy, for example, their announcement through a peering or transit link.

Example:

 Ejemplo:
as-set:         AS65502:AS-Clientes
descr:          ...
members:        AS65509,AS65510,AS65511
mnt-by:         ...
changed:        ...
source:         LACNIC

An operator might use this AS-SET to define an object that groups the ASNs of its customers. Similarly, an academic network might define an AS-SET containing the ASNs of all the universities it comprises:

 as-set:         AS65500:AS-Univs
descr:          ...
members:        AS65501,AS65502,AS65503,AS65504,AS6505,...
mnt-by:         ...
changed:        ...
source:         LACNIC

How to use an AS-SET to peer with other organizations

As mentioned above, it is increasingly common for operators to request that we use an AS-SET to inform the autonomous systems we are going to publish in a peering or transit link. To do so, we can define an AS-SET as described earlier, specifying which ASNs we wish to announce to a provider. This AS-SET will then be reported to the provider. Alternatively, many content providers take this information from PeeringDB records:

We define an AS-SET:

 Definimos un AS-SET:
as-set:         AS65200:AS-Transito
descr:          ...
members:        AS65201,AS65202,AS65203
mnt-by:         ...
changed:        ...
source:         LACNIC

Next, we add the AS-SET in the relevant field of our PeeringDB record:

 $ whois -h whois.peeringdb.net as65200
...
IRR AS-SET           : AS65200:AS-Transito
...

Our peer will then apply filters that will allow them to accept BGP advertisements of the prefixes corresponding to the ASNs defined in AS-SET AS65200:AS-Transito. In this case, we would be asking our peer to allow transit for ASNs 65201, 65202, and 65203. The provider or peer will most likely automate the generation of BGP filters, obtaining the list of route and route6 objects for each ASN and generating a list of allowed prefixes. Examples of how to do this are available in How to Use LACNIC’s IRR.

References