HN2new | past | comments | ask | show | jobs | submitlogin

Right. In that vein, it wasn't the 32 bit limitation that was the real problem. It was the inescapable 32 bit limitation built into the design that was the problem. They could have spent a few bits to version the packet format, for example, which would have at least provided an escape hatch. Or heck, a single bit: Value of 0, known original format. Value of 1, unknown format (or known future format, to be parsed by some future IP packet decoder, but which errors out old decoders).

And they repeated the same mistake with the IPv6 design by not making it an evolution of or backwards-compatible with IPv4.

Literally neither of these was built with scalability in mind.



The first 4 bits of both IPv4 and IPv6 packets are a version field.


> The first 4 bits of both IPv4 and IPv6 packets are a version field.

And in case it wasn't clear enough: it's called IPv4 because the value of that version field is 4, and it's called IPv6 because the value of that version field is 6.


TLS has version fields everywhere, so TLS 1.3 identifies as 1.2 and hides truth deep in extension fields, because anything else broke traffic analysis tools.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: