logoalt Hacker News

cowlevel • yesterday at 5:28 PM • 1 reply • view on HN

Nobody's stopping you from using DHCP and NAT on IPv6, it's just not the norm.

The protocol itself is literally very similar to IPv4. They got rid of the IP header's checksum, but I don't think that's something you're complaining about, right? They renamed Time-To-Live to Hop Limit because that's what it actually does - is that a complaint you have?

What do you mean it doesn't share any state with v4?


Replies

mahboi • yesterday at 7:35 PM

By not sharing state, I mean v6 doesn't honor v4 routes/addresses, DHCP state, and DNS entries. They made all-new address blocks. This seemingly never gets talked about for how big of a deal it is. That makes it so enabling v6 instantly means reworking your entire network, not just speaking a different protocol.

Say I have 1.2.3.4/32 in v4. Let me keep that in v6. Just getting everyone onto v6 is a big enough change without also changing the routes. If I talk to 9.8.7.6 and it's v4-only, fine, the last v6 hop translates to v4. Even DNS doesn't strictly need to change yet. Then let's say enough people get on v6, so I hand out 1.2.3.4.5 to some host. If 9.8.7.6.5 wants to send to that, but there are some v4-only routers in the middle, no problem. The last v6 router translates to v4 dst=1.2.3.4 and puts the extra address bits in the payload, then when it reaches my router, it knows to rewrite as 1.2.3.4.5. Even in this later state, you really only need v6 support on the ends and any routers going deeper than /32.

DHCP and NAT on LAN could share state too. A host at 192.168.1.2 should be able to just turn on v6, it's still 192.168.1.2, some other host gets leased .3 instead, and the router knows to translate if .2 and .3 want to talk. I don't want it to suddenly be FC00::whatever.

I have no complaint about the v6 header, and a subset of the v6 protocol is fine because it's indeed just v4 w/ extra bits like you said. That ipv5/whatever proposal people keep making is doable with most routers/hosts just seeing it as ipv6 w/ DHCP+NAT.

And yeah, today I could use DHCP6 if I really wanted, but it'd mean lots of incompatible devices get either booted off my network or put on a separate SLAAC one, so it's not a serious choice. NAT66 is way more doable but also rare on consumer routers. So my only complaint about the protocol is that the defaults are backwards.