One of the reasons why IP6 is going nowhere is due to the excessive span. Ethernet MAC was 48-bit and the standard was stretcher to 64-bit. The desire for 64-bit is all that is needed to match the MAC at layer 2.
264 is 18EB which is more than needed to handle every virtual machine and server out there. Ethernet uses 64-bit for the MAC which is quite adequate for low level networking. Layer 3 needs only be 64-bit which is what the IP and TCP need be. Higher layers use the IP frames for routing.
264 is enough address space for the entire galaxy along with andromeda etc. So the IP6 is demonstrably excessive in the extreme.
Subnet classes with IP4 are A, B and C. Most NAT with consumer equipment are class C subnets which afford 256 devices. More expensive routers can support class B subnets with 65,536 devices, Class A represent 16,777,216 which is the largest block the IANA affords and these are used by cable tv operations with IP-TV.
By extending IP4 to 64-bit an additional 4,294,967,296 * the number of class A IP4 subnets etc. Problem solved by using the accumulator of a standard x64 processor.
|SUBNET||AVAILABLE IP4 SUBNET ADDRESSES|
Clearly the number of available subnets is multiplied by 4,294,967,296 which is abundant. With 64-bit Class C subnet addresses available is 72,057,594,037,927,936. With NAT continued there is more than enough for every person on every planet in the galaxy.
Mobile devices are common and each has a unique MAC so all that is needed is a 64-bit IP address. There are still a lot of people on the planet that need a mobile device.