2 ms·
NAT is pure evil. It adds huge complexity to anything wanting to do any kind of end-to-end or peer-to-peer connectivity, and it does not scale at carrier sizes
by api 9y ago
NAT is pure evil. It adds huge complexity to anything wanting to do any kind of end-to-end or peer-to-peer connectivity, and it does not scale at carrier sizes very well. Even for regular client-server stuff it introduces performance and stability problems when you try to do it for millions of clients. Don't even get me started on the complexity it adds on the devops front. Layers and layers of cruft go away when everything can have an actual address.
It's a nasty hack to keep the net running until we can sunset IPv4. That's it.
64-bit IP would have been fine. If I were asked to extend IPv4 that's what I would do. I've ranted about the annoyance of 128-bit address lengths, but it's not a show stopper and it's something that could be fixed at the UI level and with better DNS management systems.
There are cool things about 128-bit addresses like SLAAC and cryptographically meaningful addressing.
We have IPv6. It works. It's getting deployed. There's absolutely nothing to be gained and a lot to be lost by bikeshedding about why 64-bit would have been veryveryslightly better. It's like arguing in 2017 about how PCs would be 0.5% faster if we were using the DEC Alpha instruction set instead of x86_64 or what the world would be like if Apple had stuck with PPC.
Just deploy IPv6. Please.