nat64
Implement a NAT64 gateway to run on open-source operating systems
IPv4 and IPv6 networks are incompatible. The IETF recommendation has usually been to rely on dual-stack deployment: have both networks coexist until IPv6 takes over Ipv4. However, IPv6 growth has been much slower than anticipated. Therefore, new IPv6-only deployments face an interesting challenge communicating with the predominantly IPv4-only rest of the world. A similar problem is encountered when legacy IPv4-only devices will need to reach the IPv6 Internet. This project is about implementing an open-source NAT64 gateway to run on open-source operating systems such as Linux and BSD.
The NAT64 Open Source implementation would benefit the engineering of the solution as well as providing initial implementation feedback. Moreover, an Open Source implementation will become the reference for the whole community, such as end users, network administrators, and protocol designers. Users will finally be able to deploy IPv6 connectivity without fear of being cut off from the rest of the Internet.
In many situations, dual-stack deployment is not possible. For these cases, a gateway such as the proposed one is needed. It will enable completely new deployments, and users will automatically benefit. Moreover, an Open Source implementation will empower users by giving them access to the source code and letting them customize the gateway to accommodate new scenarios.
The implementation will target both Linux and BSD (FreeBSD, NetBSD, OpenBSD). It will be portable to other POSIX systems. DNS ALG functionality will be added to Bind and Unbound. A patch will be produced and submitted to the Bind project and to the Unbound project for inclusion in their main distributions. IPv4/IPv6 translation functionality will be added to the Linux and BSD kernels.