4 ms·
For IPv6 the 128 bit has its justification. It's supposed to enable proper hierarchical routing and to reduce the number of entries inside the routing tables wh
by catdog 9y ago
For IPv6 the 128 bit has its justification. It's supposed to enable proper hierarchical routing and to reduce the number of entries inside the routing tables which is the pain point where it gets expensive. The idea is that no one, at any level, needs to request the allocation of a second subnet because what he has is large enough by default. So you need more bits than necessary to allow a little bit of "wastefulness" even after some layers of subnetting.
Moreover the convention that there should be no subnet smaller than /64 enables stateless auto configuration for hosts. 64 bits is enough to fit common (supposed to be unique) hardware identifiers and even is large enough to assign random addresses (like with privacy extensions) with a very low probability of collisions.
- akvadrako 9y agoThat was the idea, but it didn't really turn out that way. Stateless auto configuration leaks your MAC address, which is a privacy issue. Most servers use static IPs and most desktops use random IPs, with checks for collisions. IMHO, the 128 space was a big mistake. It's twice as hard to communicate between humans, most languages and databases don't support the data type natively and it complicates high-speed routing. An average of 48 bits for a network and 15 for the host would have been better. For other reasons you almost never want more than a few hundred hosts on one layer-2 network anyway.