How To Become an ISP
This is going to be a collection of really messy thoughts and procedures which I am writing in a bit of a hurry right after having a discussion with my senior who *does* have this kind of experience. Not that he's ever been an ISP himself, but I think he worked at a telecom company a while ago. This risks being fairly specific to Mauritius, where I live. Anyway, onwards!
Getting IP Addresses
This is the first hurdle. As we're familiar, IPv4 addresses are in short supply and obtaining a block is extremely expensive, if possible in the first place. Thankfully though, I live in Africa, and we are sufficiently backwards in terms of technological advancements that there are IPv4 blocks available at not-exorbitant-prices. There's also IPv6 and I have long wanted to finally have v6 addresses. My own ISP replied to a support ticket I had filed last year, asking for IPv6 on domestic plans, by saying that it was coming early this year. It is now September.
I digress. Obtaining IP addresses isn't outright impossible.
Bandwidth
If I want to really own the whole "stack" myself, then I will need to get my own block of bandwidth. This is a long process where I go ask one of the consortiums behind the undersea network cables if I can pretty please have a chunk of bandwidth, and if my puppy eyes* work, I should have a bit of networking right into the backbone of the Internet itself. Neat. There are two main consortiums in mind for my situation: SAFE and Metiss - the two major undersea cables connected to my island.
* by puppy eyes, I mean tons of paperwork, money, and likely a blood sacrifice.
Getting the Bandwidth Home
Having bandwidth is really nice and all, but I still need to connect to the actual physical landing site of the submarine cable. Ideally, this means having a fiber line drawn from the site (in Baie du Jacotet) to wherever my equipment is sat, either in a datacenter or in my bedroom. It would likely be my bedroom. Getting a line drawn means an agreement with either the Road Development Authority (RDA) to dig up the roads and run fiber under. Alternatively, I can get an agreement with the Central Electricity Board (CEB) to run fiber cables along their poles. There are more options which I will get to in a minute. * unsurprisingly, this involves a lot of paperwork and costs as well.
MIXP
The Mauritius Internet Exchange Point isn't strictly necessary, as all it does is give lower latency and internal routing for requests crossing ISPs in Mauritius. Consider two parties behind two different ISPs. Without the IXP, traffic would have to be routed to mainland Africa, probably Kenya, and back again. This adds 60ms of latency and the undersea cable as major point of failure. Okay, maybe the MIXP is kind of necessary. I believe this is fairly straightforward as it only requires an application to the MIXP, but I could be mistaken.
I don't exactly have a section better to mention this in, but if I want to become a public-facing ISP, I have costs and paperwork for an ISP license and license from the ICT Authority (ICTA). I imagine this step also includes pledging allegiance to the ICTA in the event they want to censor the Internet again.
My Equipment
This is the part my senior wasn't super helpful with. However, another friend sent me this blogpost by Kenneth Finnegan, about becoming an ISP. Judging from that, it looks like I will need a pretty big router, the likes of which completely humiliate my little Mikrotik. I could set something up with a standard Linux server, or I could get a proper router which can deal with all the BGP things. This, dear reader, is when I started wondering why I was even looking this information up.
The Last Mile
My colleague said "the last mile" very dramatically. I think you should know that. Anyway, what this is is getting the networking from the Enterprise Router in my bedroom to the people who have network plans with me. Other than me having to provide them with home routers, I am back to the before-last section where I need to ask the RDA or CEB for help getting my fiber lines to my "customers".
This is all really good and all, but it gets reaaaaally complicated and expensive fast - especially the bureaucracy of getting permits from the CEB or RDA to draw fiber across. And well, also the fact I am not equipped to be digging up roads and laying fiber. Or leaning ladders against the electrical poles to hang my cables there.
Thankfully, I like cheating, and there are plenty of places to cut corners!
How To Cheat
Let's see if we can clear each and every pain point here by taking different approaches to stuff. This segment risks getting very long, so about now would be a good time to get some water.
I don't want to lay my own fiber
Now, in retrospect, this concern should have told me much earlier that I am not the ISP type. But how can I still work around this? Well, the main alternative is subleasing existing fiber lines from existing ISPs. While I do relinquish some control, it is just that those lines will be used to connect my equipment to the undersea cable, and to connect me and my customers, so I am still effectively an ISP. It is also at this point that I learnt the CEB has its own fiber network, which, I guess makes sense since they own the utility poles anyways, but still, they are the electricity company?! Another option is setting up an antenna on Montagne Signaux (literally signal mountain for those who don't agree with french) to broadcast to the lower lands on the West coast and capital. I didn't really know this was an option, though is likely expensive in terms of broadcast eqipment. Still, cool! * A fun clarification made by a friend: radio is a pretty valid option and given that I don't want to cover the whole island in one go, it could maybe be the cheapest option where I get to keep control of my infrastructure. Theoretically, I could even skip having a fiber line to my bedroom, and just hop from the undersea link to my rack.
I don't want to buy a ton of IPs
Buying IPv4 address blocks is a costly endeavour, even if AFRINIC still has free blocks. Now, I'm no network engineer and networking is not my field of choice, but I imagine I could NAT customers behind a handful of IPv4 addresses but freely hand out IPv6 ones.
I don't want to buy bandwidth
You, dear reader, will undoubtedly notice that we are gradually regressing and becoming less and less of an actual ISP. That being said, acquiring bandwidth is expensive and worst of all means dealing with very scary people, so is a valid thing to put into question. I am able to sublease other ISPs for a little bit of their bandwidth, and use of their existing fiber connections, but that means I am no longer my own ISP and am dependent on whoever I sublease from. For my uses though, this is still an avenue worth considering. For what it's worth, I wouldn't have to lay fiber, though would still need to deal with MIXP and IP addresses.
I don't have money
Goddammit. This isn't strictly about becoming an ISP but is some interesting information which is worth writing down. According to my senior, this endeavour could cost around Rs2M (or $42,000), though he didn't clarify till what level of the rabbit hole this money would get me. Naturally, though, I do not have that kind of money, so he gave some more advice in that train of thought. There is one development bank in Mauritius which gives out loans even if you have nothing at the time you are applying. Other banks require you to already have the business with income and making profits. On the other hand, with the DBM, you convince them to give you money against a collateral by telling them how great of a business idea you have. This feels like worth mentioning while I'm here.
The end. Finally.
Apologies for the messy thoughts and my awful humour appearing throughout this blogpost. I just wanted to write down as much information I could before I forgot. Maybe consider this a draft for a blogpost I'd write on my main website. I doubt I'd start running my own ISP, especially not a fully independent one, because it's a lot of work, expenses, and paperwork for something which isn't profitable. However, this line of thought is really useful for continuing to build the cloud service provider which runs on my homelab, particularly when it comes to IP addresses and bandwidth.
Some Minor Complaints
Oh you're still here. I hit a few issues while writing this blogpost which I feel should be mentioned as it might put things into perspective. Enjoy the tea :3
For starters, I was having trouble pushing this website as my ISP is currently having some issues. This is very funny.
I touched briefly on my ISP not giving IPv6 addresses on the general consumer plan. There's a bit more to that story - I met some representatives at a conference recently and asked them what's going on. Between the stammering, I grasped that they don't see the benefits as "everyone has IPv4 anyways" and that it's not worth it for them.
And sorry if this ends up as ranting about lack of IPv6 adoption, but the VPS this website is hosted behind is one of the few with a v6 address as v6 is "too much of a pain" and "has no benefit" and "nobody uses IPv6-only anyways". So actually the only reason I have a v6 address is because I opened a support ticket with the cloud provider for it after getting influenced on Fedi.