[Info-vax] implementing IPv6 on the internet

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Sat Sep 24 08:31:12 EDT 2016


On 2016-09-23 20:59:40 +0000, David Froble said:

> Look, I'm not an expert at this stuff, but I have to ask, why is it so hard?
> 
> Right now, NAT somehow figures which internal address to send a 
> response coming back from the internet.  I think I read once that it 
> puts the internal IP address in the packet.  Don't know much about 
> that.  But if so, then at least returning packets via IPv6 could have 
> inside the packet the IPv4 address for the internal system.
> 
> As for connection attempts from outside, the sender would have to have 
> knowledge of the internal address, and perhaps places that in the 
> packet.
> 
> Not real clean, but, wouldn't it work?


The NAT device must maintain a list of which internal device is 
communicating with which external device, and via which port.  That's 
what is used to try to sort out incoming connections and associate 
those connections with an internal (outbound) connection, and it's why 
NAT falls on its face in more than a few circumstances, and why there's 
more than a little add-on baggage to work around NAT, and there's that 
NAT is really nasty to deal with.  Port forwarding also plays here, and 
that's a mess to deal with when there's some sort of fan-out in the 
incoming connections; when there's more than one internal host that's 
accessible.  Then there's the mess that NAT makes for VPNs.

If you have packets inside packets, that's tunneling.   Which is a pain 
around NAT, particularly when you have more than one connection to a 
remote host.   Those connections tend to get dropped, absent 
out-of-band mechanisms such as NAT Traversal.

https://en.wikipedia.org/wiki/NAT_traversal

What you're trying to reinvent here is 6to4, which is an approach that 
avoids having to create tunnels everywhere.   With 6to4 set up, 
incoming connections are using IPv6 and have the target address, so 
there's no need to deal with NAT.   This exists between your network 
and your relay server, and is necessary only as long as your connection 
is via IPv4.

https://en.wikipedia.org/wiki/6to4

Internal networks are running IPv6 already, and all modern clients and 
servers are dual-stack.   Even OpenVMS is dual-stack, though the 
OpenVMS IPv6 management and related mechanisms and OpenVMS application 
support is sketchy at best.






-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list