If you haven’t heard of dn42 it is essentially a private network that runs just like the real internet does, with BGP, peering, an Internet Registry (aka the registry), DNS root servers, and more. Joining the dn42 network usually means creating your own Autonomous System and peering with other users. There is a lot to learn from participating and it is a unique opportunity to experience BGP in a real world setting with plenty of challenges.
Links between peers are usually IPSec/GRE or OpenVPN peer-to-peer tunnels providing secure communications over the actual internet. A peering session involes the exchange of routes via BGP, including both IPv4 and IPv6.
The dn42 registry is an important part of the network that contains listings of all subnets, autonomous systems, domains, etc,. It is typically modified using the web interface but the registry is actually a distributed monotone repository, with a few core users synchronizing with each other.
The registry is essentially the same thing as what Regional Internet Registries provide on the real internet, for example, the RIPE Database.
BGP is used to exchange routes between peers. BIRD and Quagga are common BGP daemons used on Linux. Quagga syntax is very similar to configuration on Cisco and BIRD is completely different but offers a large amount of customizability with filters. A simple configuration on BIRD with a peer looks like:
In addition there are filters available that add BGP communities to routes imported/exported to tag things such as latency, bandwidth, and security. BGP communities are inspected and used by network operators to choose the route with the lowest latency, for example.
Route origins are secured with Route Origin Authorizations (ROA). There is a script in the registry that will generate a BIRD configuration contaning IPv4 and IPv6 ROA tables. Routes can then be filtered out that have invalid origins.
You can read more here about using BIRD on dn42.
There is an anycast DNS address available at 172.23.0.53, which can be run by anyone, that is a recursive resolver that delegates the root . zone to the group of dn42 root name servers.
For example, here is a trace of the A record for one of my dn42 domains, lg.tech9computers.dn42.
As you can see above, the root servers delegate the dn42. zone to the zone-servers, which build their zone records directly from the dn42 registry.
Most of the core operators on dn42 provide a Looking Glass server that allows other users to introspect the BGP tables and perform simple network tests such as traceroute or ping.
The screenshot below shows a traceroute from my Looking Glass’s web interface:
There are always new developments in dn42 and things keep evolving.
For example, recently a few virtual Internet Exchange Points (IXP) have been created that lower the barrier to peering with others by using a route server rather than having to establish individual BGP sessions with everyone.
Check out the Getting Started page on the wiki for a full walkthrough of joining the dn42 network. Happy Peering!
UPDATE 05-08-2016: If you want to peer with me, see this page.