IPv4 to IPv6 Transition

by C Y Kwok

Internet Protocol version 4 (IPv4) is the first and dominant standard network layer protocol in use by computers and electronic devices to exchange data over the Internet. IPv4 uses 32-bit addresses (e.g. in dot-decimal notation), which limits the number of unique addresses to 4.3 billion. That address space is not sufficient for each person alive on earth to connect the Internet with a global IPv4 address. As of today, the free address space left available for allocation is around 16% out of the total. Based on the rapid consumption of addresses in recent years despite intensive efforts having been made (such as using Network Address Translation and private IP addresses) to slow down the depletion rate, it is predicted there will be no more addresses available for allocation by Year 2011. As such, the five Regional Internet Registries responsible for address allocations are unanimously urging users to migrate to IPv6 as soon as possible before IPv4 addresses become exhausted.

Internet Protocol version 6 (IPv6), previously known as IPng (IP Next Generation), is the next generation network layer standard protocol designed as a successor to IPv4. It has a number of advantages over IPv4 apart from increased scalability and a larger address space, such as added security, mobility extension, enhanced quality of service capabilities, and increased performance, etc. IPv6 uses 128-bit addresses (e.g. 2001:ce0:5:80:35b0:6e91:2fe0:27a4 in 8 groups of 16-bit hexadecimal notation), which can support virtually unlimited number of unique addresses.

IPv6 has been developed for 10 years while IPv4 has a history of over 30 years. There is no deadline for migrating from IPv4 to IPv6. The initial plan for transition from IPv4 to IPv6 is for every system connected on the Internet to support dual-stack (running both native IPv4 and IPv6 protocols) gradually over a period of many years, with the assumption that IPv4 addresses will not run out during the transition period. However, running dual-stack will not be feasible any more by Year 2011, when there will be no free IPv4 addresses available for the IPv4 protocol stack. Therefore, alternative solutions must be sought to enable IPv4 and IPv6 systems to communicate with each other during the transition period. Currently the IETF (Internet Engineering Task Force) is considering using NAT (Network Address Translation) as a mechanism to translate between IPv4 and IPv6 addresses. Gateways capable of doing two-way NAT (both IPv4 to IPv6 and IPv6 to IPv4) will enable IPv4 only systems and IPv6 only systems to talk to each other. The problems with NAT are that some applications cannot be supported, and a NAT gateway cannot support too many concurrent connections (limited by the size of IPv4 address pool configured on the gateway).

At this point of time, IPv6 is still under development and not mature enough to become practically usable. Many IPv6 networks today are islands which are not interconnected, the main reason being many ISPs do not see any business cases for upgrading their network infrastructures to support IPv6. City University and the other JUCC member institutions are connected to Internet2, CERNET/CERNET2, TANET and HKIX using both IPv4 and IPv6. Some commercial IPv6 networks may not be reachable to JUCC members because the forementioned networks either have no connectivity or do not provide transit service to the commercial IPv6 networks.

Since IPv4 exhaustion is imminent and inevitable at around 2011, we must prepare our network infrastructure and services for the IPv6 migration well before that. The network infrastructure of the University will support dual-stack after the current network upgrade. Windows XP comes with dual-stack, but the IPv6 stack is limited in functionality and it needs to be enabled before it can be used. Windows Vista comes with a more complete implementation of IPv6 stack which is automatically enabled by default.

Departments are strongly recommended to run their services (web, email, etc.) on computer platforms which support dual-stack, so that the services can be accessed by both IPv4-only clients and IPv6 clients.