The Internet consists of more than 10,000 separate networks, each
managed by a different team following their own implementation
policies. Each network is connected to one or more others
and each such connection is a peering arrangement. Consequently, the
Internet consists of many hundreds of thousands of peering arrangements
between the 10,000+ separate networks.
Each peering connection is a two party conversation between a
pair routers and each pair exchanges details of the IP addresses they each
have. When setting up a peering connection, there are choices to
make. For example, what do you announce, and what do you
accept? These choices form your routing policy and effect how your
customers reach other networks and visa-versa.
History has shown the wider networking community that human
error & inexperience can cause global routing problems and this risk is addressed by applying
carefully crafted filters at each end of every connection to
constrain what is announced and what is accepted.
These filters, being static, do not adapt to ongoing changes
in global network topology, and so they have to be maintained.
To help with the process of managing & maintaining all these
different static filters, a number of databases have been set up to hold
high-level topology information about which network has what, and is
connected to who. Apart from the 'what' and the 'who', these
databases also provide a list of customer networks for each network, and
this is used as a tree structure detailing a whole raft of other networks which
should be visible over a single new peering connection.
However, like most peering policies, these databases are maintained, manually, by each
their individual management teams. Consequently, we have found many of them to
inaccuracies to a magnitude which undermine their overall value.
With the advent of our Autonomous System Peering Analysis tool, we are
periodically collecting real routing information from multiple points around the Internet. This dataset includes a definitive list of IP
address blocks being announced by each network and a view of which
networks are seen through which other networks.