Migrating to IPv6: Don’t forget about the applications
April 1st, 2010With the impending countdown to the exhaustion of available IPv4 addresses, the Federal Government, Internet Service Providers and Enterprises are beginning to deploy IPv6 throughout their networks.While IPv4 will not go away immediately, IPv6 capability is being adopted by more companies. IPv6 traffic is increasing at unprecedented rates. Wireless communication providers such as Verizon are requiring device manufacturers to support IPv6. Google has enabled IPv6 on their main search engine (ipv6.google.com) and YouTube. Given the increase in IPv6 devices and the near exhaustion of IPv4 addresses, software applications must now consider porting to IPv6 to support coming onslaught of client IPv6 traffic.Porting to IPv6, What’s the big deal?For many applications, migrating to IPv6 may not require ANY code changes. If the application is behind a firewall and is accessible only to the internal network, there may be no need to port to IPv6. Most hosts on a corporate internal network will have an IPv4 address.If the application is part of a Web Application Suite that does not use IP addressing in its code base, it may not need to be updated. Most web servers today support both IPv4 and IPv6 and most often the application does not need to know about the IP address of its client. For example, Microsoft IIS has supported IPv6 since Windows 2003 Server and IIS 6.0.Most Java and .NET applications do not require porting to IPv6. Java and .NET frameworks shield the developer from the need to use IP protocol-specific socket API calls. By default, the Java runtime will use IPv6 sockets if IPv6 is enabled on the operating system. This feature allows applications deployed in servlet containers like Apache Tomcat to support IPv6 without any modifications. However, applications written using Java or .NET that refer to network IP addresses must be reviewed to make sure they use the non-IPv4 or IPv6 specific calls.The biggest challenge to porting applications involves code that uses the C TCP/IP networking API. If your application uses the C TCP/IP networking API, then you may need to change specific IPv4 function calls to use a common IP function call. Microsoft has provided a good synopsis of porting and testing code. The proof is in the pudding.So what do I do now? Port and test your application. Get started!You will never know what is required to port your application to IPv6 until you get started. The four steps below will help you get there.

