3 ms·
How is a host with a 32-bit address supposed to communicate with a host with a 128-bit address when it can only send packets with a 32-bit address?
by fleventynine 4y ago
How is a host with a 32-bit address supposed to communicate with a host with a 128-bit address when it can only send packets with a 32-bit address?
- jk_i_am_a_robot 4y agoThat's a solved problem whose solution is called ipv4 over ipv6 tunneling.
- stevefan1999 4y agothat will cause state and can hurt performance since it needs extra memory. one of the main selling point of IPv6 is try to be stateless as much as possible to ease up on routers and switches
- toast0 4y agoWhere's the need for state? Please excuse the abuse of terms below, but you can probably figure out what I mean. A v6 only host would send a v6 packet from it's full address to the v4+ address. A router on the path that has access to v4 internet would pull the v4 destination out, and reframe as a v4 packet (source ?, dest the v4 address), that's got the v6 packet, or maybe just the addresses, I dunno. This router would burn a lot of CPU doing this, but doesn't need any state. The v4+ host has a little harder job, it needs to know a v4 address to send the tunneled packets to. But again, it's sending a tunneled packet, and whatever is processing that doesn't need state, it just needs cpu to inspect and untunnel. Of course, if the v4+ address is rfc1918 (or otherwise unroutable), then that's problematic. You _could_ do NAT at the router, but I'd say don't do that. It might be useful for the v4 host to keep the v4 tunnel sender IP from incoming addresses to reframe on the back end. You might also do something special with routing to the v4+ prefix... if you advertise the v4+ address, it indicates you want v6 -> v4+ traffic to go to your network as v6 and you'll encapsulate it, otherwise it would go a (hopefully local) router that advertised the /96 prefix. If this encap/decap turned out to be popular, you might see router ASICs accelerate it, but likely it's expensive, so the work should be distributed to end points as much as possible. Of course, there was Teredo that kind of tried to do something like, but it didn't really work out, did it?
- Dagger2 4y agoYou're more or less describing 6to4. It's already a thing in v6.
- ipython 4y agoIt’s mostly a solved problem as most mobile network operators are ipv6 only now. My iPhone only has an ipv6 address for example.
- redox99 4y agoIf it's not "Ipv4+" aware, it wouldn't be able. Otherwise it would understand new packet formats.
- deleted 4y ago[deleted]
- ilyt 4y agoSo exactly like current situation, with content providers forever stuck at providing old version for old clients.
- redox99 4y agoThe difference is that this ipv4+ would be easier more gradual and less scary to adopt. I edited my original comment to explain a bit more.