2 ms·
(1) IPv6, and anyone implementing NAT for it should be set on fire. Or alternatively, go back in time and make the original IP 48 or 64 bit instead of 32. (2)
by api 12y ago
(1) IPv6, and anyone implementing NAT for it should be set on fire. Or alternatively, go back in time and make the original IP 48 or 64 bit instead of 32.
(2) IPSec implementations that work well, and are used from early in its history. Encryption should be the norm, not the exception. It's arguable that if this were done right SSL, SSH, etc. would not be strictly necessary.
(3) IPv6 mobility designed in from the start too. Nobody thought mobility was going to be this common. With a mobility protocol you could have roaming IPs, which would be really valuable for a lot of situations. There are standards for this but nobody supports/uses them.
Other than that, I think the Internet got most things right the first time. Doing more in the core would be second system effect. Anything beyond what I described above should be transport or application layer.
Multicast would be nice, but I think it ought to be implemented in L3 or above (e.g. network virtualization, BitTorrent). Multicast at Internet scale baked into the core would probably be too much cost for not enough benefit... unless someone came up with a really great way to do it without introducing tons of DDOS vulnerabilities and complexity.