IPv6 news is everywhere these days. The availability of z/VSE 4.2.2 (and newer releases) provides the foundation of z/VSE's IPv6 support. Combine this with IBM's new TCP/IP solution, IPv6/VSE, which provides a single product solution for both IPv4 and IPv6 TCP/IP communications, and you have a powerful way to take z/VSE into the future. This article will examine the shortcomings of IPv4, the basics of IPv6, and what type of support is available for IPv6 in IBM's z/VSE operating system.
IPv4 in Review
IPv4 IP addresses are 32 bits (4 bytes) in length. In theory, this provides us with 4,294,967,296 different IP addresses. In reality, the number is far smaller than this. IPv4 reserves some addresses for special purposes. For example, private networks, multicast addresses and broadcast addresses reduce the number of usable IPv4 addresses by about 288 million.
IPv4 addresses are canonically represented in dotted decimal notation, which consists of four decimal numbers, each ranging from 0 to 255, separated by dots; e.g., 192.168.1.1.
The Problem With IPv4
On Feb. 3, 2011, the Number Resource Organization (NRO) announced that the free pool of available IPv4 addresses was fully depleted. The Internet Assigned Numbers Authority (IANA), due to growth of the Internet and its usage, allocated the last two blocks of IPv4 address space to the Regional Asian countries' Internet Registry. This means there are no additional IPv4 addresses available for allocation from the IANA to the five Regional Internet Registries. Of the five Regional Internet Registries, Asia has already run out. Europe will be the next region to run out of IPv4 addresses, which is projected to occur around the middle of 2012. The American region has a little more time with a projected exhaustion date of mid-2013. Latin America and Africa follow in later years. For the latest data and charts for IPv4 address exhaustion, go to www.potaroo.net/tools/ipv4/index.html.
There are other disadvantages of continuing to use IPv4. Network Address Translation (NAT) is one problem. NAT allows remapping of multiple internal IPv4 addresses into one external IPv4 address. Just about every router (cable or DSL) does this but there are problems. NAT is actually complicated and time-consuming. Only a limited number of connections can be managed and only connections from internal networks to external networks are easily supported. For example, using your PC's browser to access a Web server on an external network is easy; but using a browser on an external network to access a Web server on an internal network is much harder.
IPv4 also contains redundant and inefficient features:
• The variable length IP Header Options are time-consuming to process.
• The IP Header checksum is redundant and time-consuming to process, especially since the TCP Header also contains a checksum field.
• Fragmentation of IPv4 packets is inefficient and time-consuming.
• Classification of IPv4 packets still exists and must be supported but is no longer used.
So what's the answer? The solution is IPv6. Wait a second … What happened to IPv5? The Internet Stream Protocol (ST and later ST-II) is a family of experimental protocols first defined in Internet Engineering Note IEN-119 (1979). ST-II distinguishes its own packets with an IP Version number 5, although it was never known as IPv5.
What makes IPv6 better? Designers tried to avoid the errors made during the design of IPv4. First, they made IPv6 addresses much bigger (16 bytes instead of 4 bytes). Scalability was increased by supporting large packet sizes (up to 4GB-1 byte). Packet processing requirements were made more efficient because of fixed length headers, no fragmentation, and no checksums. IPv6 is easily extendable, provides for simpler routing, true multicasting and automatic configuration through the use of Neighbor Discovery and Router Solicitation. IPv6 also has direct support for mobile devices.
IPv6 addresses are big. Very Big. IPv6 addresses are 16 bytes in length (vs. 4 bytes for IPv4 addresses). That’s 2^128 IPv6 addresses (about 3.4 x 10^38) unique addresses. Or about 5 x 10^28 IPv6 addresses for each person in the world.