Interface Classification: PeeringDB integration
If you remember back in May 2023, we released our initial version of a PeeringDB integration - more details here: https://new.kentik.com/we-now-integrate-peeringdb-data-akabK
We are now taking it to the next level by leveraging PeeringDB's dataset into our interface classification engine. The idea in this integration is to auto-detect which of your interfaces are connected to a well known internet exchange and automatically classify it without requiring you to create a rule for it.The theory
PeeringDB contains a directory of most of the registered Internet Exchanges (IXes), as show in an extract below.
For each one of them, their data contains the IP Ranges, v4 and v6.
For each interface that we poll on your devices using SNMP or Streaming Telemetry, we get information such as the IP Addresses configured. Using the aforementioned IX IP Range data, we are then theoretically able to match any interface to an Internet Exchange from Peering DB based on its IP Address.
What does it look like in the product ?
We've added a somewhat magic rule, which we have decided to call a Kentik-managed Rule in our Interface Classification UI. This rule is a bit special compared to the other ones in the stack:
- It cannot be edited by users
- It can only be enabled/disabled by users
- It sits on top of the rules stack, which means that it will always be evaluated first to bypass any user defined rule (because for each interface, the algorithm exits on first match)
- This rule checks the IP Addresses, and looks the IP address up in all the IP Ranges from all the IXes in PeeringDB, if a match is found
- it sets the interface to
Connectivity Type
= IX - it sets the interface to
Network Boundary
= External - it sets the
Interface Provider
to the name of the IX from PeeringDB - it establishes the mapping between this IX and the PeeringDB Exchange in the PeeringDB integration configuration so you don't have to
- it sets the interface to
Here's an example of what Interface Classification Test UI for this rule will look like in case of matches
Existing Customers vs New Customers
Obviously a lot of you may already have their interfaces well classified, and most likely you used dynamic regex matching on their descriptions to get your IX classifications going.
As we didn't want to disrupt your existing setup, we have adopted what we think are reasonable defaults to roll the feature out:
- Existing customers will have the PeeringDB rule disabled by default
-> up to them to enable it if they would like - New customers will always have the PeeringDB rule enabled by default
But wait, there's more...
As an additional freebie, we've modified the Interface Provider field for any custom rule that sets an interface as IX
: you can now choose to keep your own provider naming, or can select the actual PeeringDB name for the internet exchange - in this case the field will offer a typeahead that directly looks up values from the PeeringDB exchange names, as showcased below.
There are still a lot of features that we plan on implementing relying on the PeeringDB dataset, so watch this space, and don't hesitate to give us feedback !