Talking with people about IPv6, I regularly hear the complaint that IPv6 subnets have “too many addresses”. That it is “wasteful” to use /64 subnets, and that we should subnet down to “more realistic” subnet sizes. The complaint comes from IPv4-think, and here’s why:
The basic rule with IPv6 addressing is this: Forget addresses – count subnets. The number of addresses per subnet is ridiculously high; that’s intentional. It doesn’t matter how many hosts you have on a subnet, you will run into other physical limits before you run out of addresses. You have to have two hundred million billion hosts in a /64 subnet before you reach striking distance of single-digit percentage utilisation. Any reasonable number of hosts we can think of, in fact any UNreasonable number of hosts we can think of, even when we double and redouble our wildest imaginings, is still basically zero percent usage to many decimal places. So if you make all your subnets /64 subnets, you will have no more slicing and dicing, no more rearranging things to fit; all your subnets are the same size, life is easy and good.
So leaving addresses behind, how many subnets should a a site get? The first cut was 65536 – everyone should get a /48. That’s been relaxed a bit (unfortunately, IMHO) and the current RFCs allow smaller assignments to end users, though the RIRs still allocate nothing smaller than a /48, and the IPv6 world seems to be converging on /48 as the longest globally routable prefix – roughly equivalent to a /24 in the IPv4 world.
By way of example, Internode hands out /56 prefixes – that’s 256 /64 subnets. They chewed on the decision for a while; /60 was considered (16 subnets) and rejected, but it seems /48 confounded the imagination even of this usually fairly visionary company, and they ended up going with /56.
The logic behind “bigger is better” is simple – you never want a customer to come back to you for more address space. It requires resources to satisfy such a request. From a customer perspective, you never want to have to go back for more, either. Especially if the new, larger allocation means renumbering. 256 subnets looks like a lot today, but who knows what the future will bring?
People say “Hundreds of subnets? Home users don’t need that! A single /64 is more addresses than they can possibly use!”
But again, it’s not addresses, it’s subnets. That /64 is ONE subnet. Can’t even have a guest wifi with that! Can’t separate the home network from my work network. Can’t have a test network, or a gaming network.
It will only get worse – in the future the home entertainment system will want a few subnets, the kitchen will want a few subnets, the home automation system will need a few subnets, sons and daughters will want a few subnets each for their gaming systems and the like, obviously guests will want a few subnets to themselves… pretty soon even a /56 with only 256 subnets is looking pretty skimpy.
The counter argument to all this is that if you are profligate enough, you can waste even the most plentiful resource to nothing pretty quickly. There is some truth in that. However, if you do do the maths you quickly realise what a staggeringly large amount of space there is to burn through.
And is it really waste? I define waste as consuming a resource to no good effect, but in this case the resource is being used to several very good effects – homogeneity, predictability, no more slicing and dicing, lower support costs, reduced human error and so on. That’s a direct monetary benefit, and that’s just on the network administration side.
IPv6 opens up a world of plentiful address space for use by everybody. We may not yet see how that abundance will be used, much as Bill Gates couldn’t imagine how anyone could use more than 640K of RAM… but we should not bolt the door for others just because our limited vision sees no reason to go outside.
There is simply no point to hoarding IPv6 address space. There is literally more than enough for everybody.
PS: This is a discussion that pops up regularly. It can get a bit religious. Be warned :-)