If you have serious intentions of starting an ISP, I'd recommend beginning conversations with a few transit providers right away, feeling out rates and commit terms. Armed with some market info and contacts there, start to look at v4 auctions via [0] or similar so you can jump the line, though you'll have to pay for the privilege. You probably won't be able to transfer blocks into your org until you have commits from one or more upstreams (I know ARIN, and I'm assuming you're in north america, has some more stringent reqs in terms of overall usage within a specified time period, so choose the auction size appropriately [1]). You may also want to consider taking a block from your transit, they will often reassign a small prefix out of their larger holdings for customer use. You can often use that as justification for transferring future blocks.
After transit, start to look at facilities to host your equipment, 'cause you'll need to demarc somewhere and hand off to your transit as well.
Lots and lots of details to get right, but I personally think it's a lot of fun.
Regarding IPv4 auctions: does a small ISP even need a pool of IPv4 addresses? Mobile providers, such as T-Mobile, happily run IPv6-only networks, and provide 4-6-4 address trssncoding to access IPv4-only sites (hello GitHub).
Would this be more expensive for a small ISP than paying for /26, or whatever pool size is practical?
I believe you're referring to 464XLAT (RFC6877 [0]) and yeah, you wouldn't -need- to have any ipv4 stack at all internally (except at the very edge of the network to number the PLAT devices [1]), but I believe it would cause a higher support burden for the nascent ISP than it would relieve by not having to run v4 and v6 together. There may be devices a customer owns that just doesn't support v6, or has weird bugs that would be a show-stopper for them. Should everything, ideally, be supporting IPv6? Yes, of course. Does v6 work seamlessly in all situations? Absolutely not.
I think the need to run a dual-stacked network, especially one that serves a wider customer base will be required for years, perhaps a decade or more, to come. If we were able to control every device and know it has a well-behaved v6 stack, then it might be a different story (which might be the case of T-Mo, as handset variations are limited in scope and well-defined in that scope, and behavior, mostly). But we still need v4 somewhere, and will continue to need it until the bulk of the internet is migrated.
I've had the luxury in the past of having complete control over the devices running in a v6-only network and even then it was a struggle to confidently say that everything had perfect connectivity at all times, even with tricks like 464XLAT or SIIT [2] at the edge. I can't imagine the pain of a network with heterogeneous customer devices running v6 stacks of varying quality.
Anyway, lots of words to say that it theoretically could be done, I just don't see it successfully being done with all of the variations in a consumer-facing network. The gulf between theoretical and the practical implementation is vast. Personally, the going rate for a block of /24 or /23 or whatever size is a small price to pay for compatibility.
Using IPv6 internally and using CGNAT or whatever translation layer you'd prefer for external IPv4 access would be the cheapest solution, but I think many of us would like to run dual stack. I can understand why someone would like their own larger IPv4 range when starting a new ISP.
Thanks for the tips! Being in a rural area, there's only a few colocation facilities within ~50 miles, and I need to reach out to them to see who they're connected to. So far, I've only seen that Cogent has a presence here, but the internet doesn't have good things to say about them
> I've only seen that Cogent has a presence here, but the internet doesn't have good things to say about them
They’re good enough and they’re dirt cheap. Pricing really matters since you pass savings on to your customers. Vermont Telecom, as an example of a reasonably sized regional ISP with thousands of customers, uses Cogent as their primary upstream.
I wouldn’t fall into the trap of trying to build something out using hardware or upstream providers that people on Internet forums that don’t have a financial stake in making an ISP work financially and operationally approve of.
I think Cogent has earned their vibes, but if they're all you can get near you, they're ok enough to get started with.
As you get bigger, you can put a router somewhere (or two somewheres) with cogent and more options and transport through cogent to get back to your service area. Looking at your profile, I think if you can get traffic to Denver, you should have more options there.
Cogent is fine for most purposes. They have some odd choices upstream at times but for a smaller project, it shouldn’t be a problem. Later on you could look at a dedicated wave or ring (or tunnel, lots of options!) to another facility that has more diversity and peer through that, but make it work first!
After transit, start to look at facilities to host your equipment, 'cause you'll need to demarc somewhere and hand off to your transit as well.
Lots and lots of details to get right, but I personally think it's a lot of fun.
[0] https://auctions.ipv4.global/
[1] https://www.arin.net/participate/policy/nrpm/#eight5