Ever wondered how the Internet knows where to send your traffic? I wanted to understand that process from the inside. So, rather than relying entirely on the networking provided by an ISP or hosting company, I decided to operate a small piece of the Internet myself.
Under 12spark Software, I run AS219092: my own Autonomous System, with public IP address ranges, multiple connections to other networks, and a Linux router making the routing decisions. It's not a new consumer ISP. It's a practical, ever-evolving experiment in how the Internet actually works.
AS219092 at a glance
How does the Internet find my network?
The Internet isn't one giant network. It's thousands of independently operated networks connected together. Each Autonomous System (AS) has its own number (ASN) and routing policy. Mine is AS219092, registered with the RIPE NCC.
Those networks communicate using BGP (Border Gateway Protocol). You can think of it as a system of signposts: my router announces, “These IP addresses can be reached through AS219092,” and that routing information spreads between other networks. BGP helps them choose a path towards my addresses.
Here's a practical example. Suppose you visit a service running on an address in my 209.135.151.0/24 range. Your Internet provider learns a route towards AS219092, possibly through several other networks. The traffic eventually reaches my edge router, which forwards it to the right server. That server might even be hosted somewhere else, connected back to my network through an encrypted tunnel.
My own IP address space
I currently operate one public IPv4 range and two IPv6 ranges:
| IP prefix | What it provides |
|---|---|
209.135.151.0/24 |
256 IPv4 addresses in total |
2a0c:9a40:8a70::/48 |
IPv6 address space for my network |
2001:678:1378::/48 |
Provider Independent (PI) IPv6 address space |
IPv6 addresses may look intimidating, but the idea is straightforward: each /48 can be divided into 65,536 standard /64 networks. That's plenty of room to separate servers, services, tunnels, and future experiments into their own subnets.
The second IPv6 range is particularly useful because it's Provider Independent. It's not tied to one connectivity provider, so I can keep that address range if I switch providers. I still need upstream connectivity and routing agreements, of course, but the address space can remain mine.
How the network connects to the world
At the centre of everything is ams-edge01, a Linux router running FRRouting (FRR). It's where I configure my BGP sessions, decide which routes to advertise, and forward traffic between the Internet and my servers.
My transit providers, NetOne (AS200132) and LowPING (AS215296), give my network paths to the wider Internet. Having two providers offers more routing options and can help when a connection fails, although it doesn't guarantee zero downtime.
I also connect to Nine-IX, an Internet Exchange where participating networks can exchange traffic through BGP peering. Unlike a transit provider, an exchange doesn't automatically give me access to the entire Internet; it helps me reach the networks available through those peering connections more directly.
Keeping my routes trustworthy
I use RPKI (Resource Public Key Infrastructure) to help other networks verify that AS219092 is authorized to originate my IP prefixes. A Route Origin Authorization (ROA) specifies which AS may announce a particular range. This is a valuable check against incorrect or unauthorized route origins, though it doesn't encrypt traffic or solve every routing-security problem.
Extending my network beyond one location
My servers don't all need to sit next to the router. With WireGuard, I can create encrypted tunnels to virtual machines hosted elsewhere and route addresses from my own public IP ranges to them.
The neat part is that a remote server can use an IP address announced by AS219092, even though the physical machine belongs to a different hosting environment. From an Internet routing perspective, the traffic comes through my network; behind the scenes, I carry it to the right machine over a tunnel.
Why build a network of my own?
The real motivation is control and curiosity. Running an AS lets me work with the same fundamental tools used by ISPs and large hosting platforms: BGP sessions, IPv6 addressing, routing policies, peering, and route security. Instead of reading about those concepts, I can configure them and see their effects in practice.
AS219092 remains deliberately small. It relies on providers and the wider Internet, just like every other network. But it gives me a portable network identity, more freedom over where I host services, and a hands-on environment for experimenting with how global connectivity actually works.
Explore AS219092 live
Curious what the rest of the Internet can see? These public tools show how my network and its prefixes appear in global routing data: