But the thing that sticks out the most is - why the hell is it such a crisis that IP addresses are doled out where they are needed, instead of what I am sure you would consider "fairly" to everyone? Is there now a social justice aspect to the IPv4 "crisis?"
Thanks for making it obvious you have no idea what you're talking about.
I have no problem with the disproportionate amount of /8's ARIN has assigned to it However, having such a large pool means that:
- Many of the organizations that want an IPv4 address block (of whatever size) probably already have one. Indeed, due to pre-CIDR allocation rules, many of them have way more than they actually need to use,
- There are more opportunities for addresses to be shuffled about. ARIN has assigned/controls over 1.3 billion addresses, for a population of roughly 530 million people. You have a lot more flexibility when you have nearly 2.5 addresses for every man, woman, and child in your registry area.
As such, you can't point to the pool with the largest number of addresses, and then imply(as the /. article does) that there is no address shortage issues. APNIC and RIPE NCC are already exhausted. The fact that North America has a historical address advantage means that effects in North America will be delayed -- not that they simply won't happen.
With that out of the way, if you know anything about routing, you would know that there is a technical crisis in doling out addresses wherever they are needed. Anytime you break up a contiguous address space, you'll generally need two (or more) additional routing table entries to handle the situation. In pre-CIDR days, the situation was fairly simple (although I'm simplify it a bit to make it easier to communicate): a router only had to look up where to forward a packet based on the value of the first octet, which would only have 255 possibilities (actually less, due to reserved address spaces, such as the unused Class E space). The packet would follow the route until it reached the router in charge of the value of the first octet, which would route based on the second octet, also with a maximum of 255 values. Each hop would hit a router with a table with a maximum of 255 entries, until you got to the destination host.
Post CIDR, the address space could be broken up at pretty much arbitrary locations, so knowing the next hope required ever expanding tables. As soon as you geographically break up, say, 213, into geographically separate ranges (say, for simplicity, a series of /16s), what used to be one routing entry is now 256 routing entries. Break up some of those /16s into /24s, and each of those /16s that are broken up become 256 other router entries.
This is how we've got to the point where there are roughly half a million forwarding entries. Maintaining all of these entries in a constantly changing network, storing them, and searching them is getting to be extraordinarily computationally expensive. If you continue to break them up such that no two contiguous addresses are on the same physical network, you could wind up with roughly 3.7 BILLION routing entries.
IPv4 wasn't designed to be broken up this way. In the early days of CIDR, it was expected that such routing difficulties were far in the future, and that we would have moved to a newer, better protocol by then. Turns out the problems aren't as far into the future as they may have expected, and we've done pretty much squat at doing anything about it, other than throwing more compute power at packet routing.
So yeah -- you can't just throw addresses where they're needed anymore. Every /8 block from the IANA has been assigned to RIRs, and any transfer of a block smaller than a /8 is going to add yet more entries to the global routing table. Just try to think of how a network is supposed to route 126.96.36.199 to the United States, but 188.8.131.52 to China. Yes, we can make it work -- but every time you break apart contiguous addresses like this, you need yet more routing entries to deal with the exception. The problem isn't ever going to get any easier with IPv4 -- it's only going to get worse. And that's why you can't just put addresses where they're needed. An address is useless if you can't route to it.