It still seems too large, but there's likely something I'm missing.
* Only the last 64 bits of the address matter. The first 64 bits are routing information.
* You have total control of the last 64. You can number your hosts however you like, in addition to -or instead of- using SLAAC and/or DHCPv6.
* If you're not using "Privacy Addresses", the last 64 remains stable even if your upstream changes your IPv6 allocation. So, host identification is trivial even if your assigned allocation changes.
For avoidance of confusion, if you're reading an IPv6 address as if it were a word written in the English language (that is, from left to right), the rightmost 64 bits are the ones that identify a host, and the leftmost are the routing information. :)
Sure. But, I was addressing mixmastamyk's assertion:
> I'm not a big fan of 128 bit addresses with ipv6, they are too long to read and write. Does anyone know why 64 bits was not good enough? [0]
If you're okay with writing and reading 64-bit hex strings, [1] the part that matters to most folks is the host identification part, which is 64 bits long. :)
[0] https://news.ycombinator.com/item?id=10837317
[1] I'm not... that's why I use DNS.