Most of us computer nerds have a basic understanding about how devices on the internet talk to each other. Default route (0.0.0.0/0) installed on some device tells it to send any outbound packet to the ISP router, which in turn sends it to the next router and so on, until it reaches its destination. But how do the ISP routers know where to send the data? They achieve this by talking to each other directly via the Border Gateway Protocol. Using this protocol, routers exchange information about which prefixes (or subnets) belong to which network, thus forming what is commonly known as the global routing table. This allows the internet as a whole to operate in a fully decentralized manor.
In theory, it seems simple enough, right? Well, in practice it can get very complicated, networks such as the internet can scale to massive proportions with ever increasing complexity. For people aspiring to become network operators/administrators or just experiment and have fun, one of the best places to learn is the dn42 project;
Excerpt from wikipedia:
dn42 uses virtual connections, which are (from a logical standpoint) more or less indistinguishable from physical links. When a VPN connection is established between two routers (say using the GRE protocol), the device will create a virtual adapter in the system and treat it the same way as it would, for example, an ethernet card connected via RJ45 cable to some remote device. To summarize, VPN simulates physical connections between devices, using the underlying physical/logical infrastructure to achieve this. Once we have the VPN connection up and running, we may direct route a.b.c.d/x via the virtual adapter as if it were a physical one. Using these links we can tell virtually connected devices to exchange routes via the BGP protocol and install them on the local routing table.
In conclusion, dn42 is a fully functional virtual internet on top of the public internet (a simulated internetwork), spanning across the globe with ~150 participants, ~200 autonomous systems and ~400 prefixes on the routing table, operating an own decentralized DVCS-based registry system and root name servers (.dn42 TLD). To ensure compatibility with the public internet, dn42 uses IANA reserved private address space (RFC 1918 IPv4 and RFC 4193 IPv6).
If you wish to participate in this project, visit the official wiki site for instructions on how to join.