3 ms·
> I don't really see the point of it. I mean, where is even any significant difference to IPv6? IPv4+ solves the same problems that IPv6 does, is much simpler
by geocar 11y ago
> I don't really see the point of it. I mean, where is even any significant difference to IPv6?
IPv4+ solves the same problems that IPv6 does, is much simpler than IPv6, is cheaper than IPv6, and could have been deployed in less time than IPv6.
If we're going to learn from IPv6, then that means studying things like IPv4+.
Note I'm not suggesting we stop IPv6 efforts: I used to say that, but that's only because I think we'll have a 50% solution in another ten years, and IPv4+ could take up to ten years if we had consensus.
> while your suggested extension would have to be implemented from the boundary of the publicly routable IPv4 network outward, which in particular includes hundreds of millions of home routers where even updates to fix security vulnerabilities tend to be difficult to come by.
If you run a service on IPv4+, your router needs to support IPv4+, and your users need to support IPv4+. That's it.
This is very similar to the challenges that upgrading HTTP and HTTPS do had.
Note a user with an IPv4+ address can connect to non-IPv4+-capable systems since he also has NAT.
> addresses based on IPv4 addresses you already have, that's called 6to4
6to4 is a lot more complicated than IPv4+. It was harder to deploy, and building on IPv6 instead of IPv4 was probably a mistake.
If we don't consider the complexity of the implementation, 6to4 still took much longer to be suggested than IPv4+ (or similar) was.
> What if you send a packet to an address that has no route? The router that determines that there is no route sends an ICMP network unreachable to the source address of your packet.
NAT already has this problem. Broadcasting ICMP is an acceptable solution -- remember that IPv4+ for a client is an alternative to NAT.
- zAy0LfpBZLC8mAC 11y ago> If you run a service on IPv4+, your router needs to support IPv4+, and your users need to support IPv4+. That's it. What does "your users need to support IPv4+" mean? What does it take to make a "user" support IPv4+? > Note a user with an IPv4+ address can connect to non-IPv4+-capable systems since he also has NAT. Yeah, the same as with IPv6/v4 dual stack. > NAT already has this problem. Broadcasting ICMP is an acceptable solution -- remember that IPv4+ for a client is an alternative to NAT. No, it doesn't, no, it's not. ICMP error messages contain the first 8 bytes of the packet that couldn't be delivered, which in the case of TCP and UDP contains the port numbers, which a TCP/UDP NAT uses to NAT the ICMP messages. And broadasting is not an acceptable solution because delivery of ICMP messages happens to sockets, not to machines. If you deliver ICMP UDP port unreachable messages to all sockets in the respective IPv4+ address range where the port happens to match, that's going to cause chaos.
- geocar 11y agoA user can probably support IPv4+ with a software upgrade. They do not require replacing any routers, or even their operating system.
- zAy0LfpBZLC8mAC 11y agoOK ... so, the idea is that the user installs a new web browser that supports IPv4+, and that is all he needs to access IPv4+ web servers? If so, what would the first packet the client sends look like? In particular, what would be the values in the protocol and source address fields? And what would be the values in the first reply packet from the server?