The Number Research Organization has recently announced that the total volume of the IPv4 address space dropped below 5%. IPv4 addresses are 32 bit and the address space dropped under the 10% mark in January 2010. At the current rate it will be completely dried up in 2011. So the migration to IPv6 must start as soon as possible. As IPv6 is introduced in the IPv4 internet, several general issues will arise such as routing, addressing, DNS and scenarios. An important key to a successful IPv6 transition is compatibility with the larger installed base of IPv4 hosts and routers. Applications will have to be modified to support IPv6 and IPv4 and will probably be in one of the following four scenarios:

  • IPv4 only applications in a dual stack node –   In this scenario, the IPv6 protocol is added in a node, but IPv6 capable applications aren’t yet available or installed. Although the node implements the dual stack, IPv4 applications can only manage IPv4 communications and accept/establish connections from/to nodes that implement an IPv4 stack.
  • IPv4 only applications and IPv6-only applications in a dual stack node – There are two similar applications: one supporting IPv4 protocol and another supporting IPv6 protocol. The easiest way to port an IPv4 application is to substitute the old IPv4 API references with the new IPv6 APIs with one-to-one mapping.  This way the application will be IPv6-only. This IPv6-only source code cannot work in IPv4-only nodes, so the old IPv4 application should be maintained in these nodes.
  • Applications supporting both IPv4 and IPv6 in dual stack node – This is the ideal scenario where the applications should be ported to support both IPv4 and IPv6.  Over time, the existing IPv4-only applications could be removed.
  • Applications supporting both IPv4 and IPv6 in an IPv4 only node –   As the transition is likely to take place over a longer time frame, applications already ported to support both IPv4 and IPv6 may be run on IPv4-only nodes.  This would typically be done to avoid supporting two application versions for older and newer operating systems, or to support a case in which the user wants to disable IPv6 for some reason.

(Source: Internet Engineering Task Force RFC 4038