Web Home

BGPing my way into the internet

Blog Home

What even is BGP?

BGP is, at a very high level, one of the main backbones of the internet. BGP is a network of Autonomous Systems (AS's) that have agreed to connect to each other and share resources between themselves. It is this agreement lets the many different Internet Service Providers (ISPs) talk with each other easily and efficiently. On a side note, the BGP system relies heavily on trust, and this can be realized if you look at a few incidents that have happened in the past. If you're curious about these incidents, you can find more on them as cloudflare did a great article about BGP hijacking here.


Why am I even touching this?

Its fun... Ok but really, I enjoy learning about everything and anything I can. Given the chance and ability to learn about how the internet works by actually doing the things that big ISPs do myself. Well, I Just couldn't pass this opportunity up! I am not doing this alone though, I have 3 good friends helping me through the process (Yo Dylan, Shams, and Alex!), as well as everyone else in the discord server ;) They are a tremendous help because I am very new to this and I am very often at a loss as to what I should do.


Would I recommend just anyone try this?

Its complicated. I am only just scratching the surface at this point but it is so cool to be learning by actually just doing it. For everyone else though, this process has a lot of waiting involved so if you have very low patience I would recommend straying away. I began looking into getting my AS number on November 7th, 2024 and I officially received my AS number from RIPE on November 26th, 2024. Now yes, that is not terribly long but it's still more than a week. Some LIR's can take even longer than mine. In addition to the waiting periods with this, you do have the ability to make some people pretty unhappy if you make a mistake. This isn't neccisarily setting up a few fiber runs and calling it a day, you're touching the depths of the internet and interacting with other providers, some of which are gigantic!


What I've done so far

So far, I have set up 2 independant routers each advertising a seperate block of my allocated IP space. Since I have yet to figure out how to connect the two routers for them to share routes, this was the easiest way that I can have 2 presences without diving deep into the route tunneling just yet. Utilizing the local points of presence I can set up a wireguard tunnel to use my own IP space without needing to be directly connected to the bgp router! Currently I have it setup to connect me with a subnet size of /56 and a friend with as of now a single address to the IPv6 internet! I am planning to find closer ways to setup sessions because currently the minimum latency I can get is ~40ms. If I can get a session setup in the same state as me, I might be able to get that down to <10ms of latency. There are some behind the scenes shenanigans going on that might get me <1ms latency but that is yet to be fully figured out.


Closing remarks

I have so much more to learn, as I said before I am just barely scratching the surface of this system. There is a list of different things that I want to figure out still, setting up multihoming so I can connect the 2 points of presence together and route between them without requiring them be completely seperate (like they are now), as well as more diverse peers and routes. Maybe even getting the possibility of leasing a small block of IPv4 addresses to increase my presence.