Mark Smith wrote: [..] > * The IPv6 "4to6" address is built by using the IPv4 prefix and prefix > length as follows : > > [4to6 prefix/16 bits][IPv4 prefix/prefix length][filler zero bits][IPv4 node address] > > e.g. for an IPv4 prefix of 1.0.1.1/24, the IPv6 "4to6" prefix would be > > 2004:0100:0100::1/40 What you are describing any further just looks an awful lot like 6to4, see RFC3056 + RFC3068, with the exception that you want to abuse another /16 for this and re-introduce NATPT. It uses: 2002:<aabb>:<ccdd>::/48 When going over IPv6 it is native IPv6, when going over IPv4 it becomes IPv6 in IPv4. One would just have to extend this with magic saying that when the last 32bits match the host itself it should strip the IPv6 header or something similar and do the translation to native IPv4. You need to upgrade all your client programs to support IPv6 in this case, it could avoid the server to be upgraded, but hey then you get into NAT situations and it is all just NATPT again anyway. Better keep your network like most people at the moment have: - Native IPv6 with public IPs for every host - NAT for IPv4 (unless one is able to get public IPs for their hosts) This mechanism is called dual-stack, it is very simple, and allows all hosts to very cleanly use all their programs, albeit maybe some protocols are not happy with the NAT but one would have that with NATPT too so that doesn't matter. For IPv4 addresses, just use RFC1918. As for the native IPv6 part, which is one of the biggest challenges today it seems with not enough ISPs providing IPv6 connectivity yet: use a tunnel, there are enough providers who are able to do that for free even and quite a number nowadays who can provide paid connectivity too. > * The 2004:0100:0100::/40 IPv6 prefix would be announced in IPv6 RAs, > in addition to any other IPv6 prefixes, such as globals or ULAs You can't RA a /40. You can RA a /64 though, thus you have to subnet it first. Greets, Jeroen
Attachment:
signature.asc
Description: OpenPGP digital signature