IPv6: What is it and why is it needed?

IPv6 is coming. It's only a matter of time. Here's a look at this new version of the Internet's most fundamental protocol, as well as a peek at the IPv6 support built into Windows XP and .NET and a list of applications that currently support IPv6.

Microsoft's newest operating systems, the Windows XP client and the .NET server family, include a number of improvements that take advantage of current and future technologies to make life easier for users and administrators. One such improvement is built-in support for Internet Protocol version 6 (IPv6), also referred to as the next generation IP or IPng. This version of IP provides several advancements over the most-used IP version, IPv4. In this article, I'll give a brief overview of IPv6, discuss the features of Microsoft's implementation, and show you how to install and configure the protocol as supported by XP and .NET.

What is it and why is it needed?

The global Internet and most medium-to-large private networks run on the TCP/IP protocol stack. The half of that team that works at the network layer is the Internet Protocol (IP).

The most-used version of IP, currently, is IPv4, which is based on the assignment to each network interface of a 32-bit address, usually denoted in -dotted quad" decimal format; for example: 192.168.1.1.


The binary address
The decimal number 192.168.1.1 actually represents the binary address 11000000.10101000.00000001.00000001, but the decimal equivalent is generally easier for people to work with. Computers, of course, process all data in binary format.

As more and more nodes have joined the global network over the years, a flaw in IPv4 has become apparent. For IP addressing to work, every network device must have a unique address. When IPv4 was developed, the 32-bit address space provided more than enough unique addresses. However, today, the world is running out of available IP addresses.

Workaround for the address shortage

One way of dealing with this shortage of IP addresses is for private networks that connect to the Internet to use Network Address Translation (NAT). With NAT, one or a few public IP addresses that are visible to the Internet can be used to connect a large number of computers to the Internet.

But NAT has some drawbacks. One of the most serious in today's security-conscious environment is the fact that the Internet Protocol Security (IPsec) does not work through an address translator. Also, a number of application programs will not work with NAT.

NAT is a stopgap solution, not a permanent one. The number of computers and other devices connected to the Internet continues to grow at an amazing rate. Larger address spaceâ€"which will allow for more addressesâ€"is needed. That's where IPv6 comes in.


What about IPv5?
IPv5 never existed. The version number 5 in the IP header was assigned to identify packets carrying an experimental, non-IP, real-time stream protocol called ST. ST was never widely used, but since the version number 5 had already been allocated, the new version of IP was given the number 6. ST is described in RFC 1819.

Advantages of IPv6

IPv6 provides for a 128-bit address space, which will exponentially increase the number of available public IP addresses. However, IPv6 offers other improvements over IPv4:

  • It supports IPsec, for better security when sending data across a TCP/IP network.
  • It supports Quality of Service (QoS), for better transmission of real time, high-bandwidth applications such as videoconferencing and voice over IP.
  • It is more efficient; header overhead is minimized, and backbone routers require smaller routing tables.
  • Configuration is easier; both stateful addressing (where addresses are automatically assigned by a DHCP server) and stateless addressing (use of local-link auto configuration without DHCP) are supported.

Denoting IPv6 addresses

While IPv4 addresses are traditionally denoted in decimal format, the longer and more complex IPv6 addresses are expressed in hexadecimal format. A sample IPv6 address looks like this: 21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A.

Each hexadecimal number, separated by colons, represents 16 bits (binary digits). Zeros at the beginning of a block can be omitted to simplify the address.

Characteristics of IPv6 addressing

Unlike those on IPv4 networks, computers on IPv6 networks generally have more than one IP address assigned to a single network interface. This is called logical multihoming.

IPv6 addresses fall into the following categories:

  • Unicast addresses, which identify an individual network interface
  • Multicast addresses, which identify a group of network interfaces for simultaneously sending to many interfaces
  • Anycast addresses, which identify multiple interfaces but send the packet only to the nearest interface

Features of Microsoft's IPv6

IPv6 is an Internet standard developed by the Internet Engineering Task Force (IETF). Microsoft's implementation of IPv6 is based on this standard. Various aspects of IPv6 are laid out in a number of Request for Comment pages (RFCs), which are available on the IETF Web site. The IPv6 specification is contained in RFC 2460.

Microsoft's IPv6 for Windows XP and .NET Server includes these useful features:

  • 4to6 and 4over6 tunneling for interoperability between IPv4 and IPv6 networks
  • Anonymous global addresses for privacy when connected to the Internet
  • Support for DNS name resolution using IPv4 DNS servers
  • The ability to act as a static IPv6 router to forward IPv6 packets between two installed network interfaces
  • Internet Explorer version 6 (included in Windows XP and .NET Server) and the Telnet and FTP client programs included with the new Microsoft operating systems support IPv6 for connection to IPv6-enabled FTP, Telnet, and Web servers.


IPv6 and IE 6 proxy servers
If IE 6 is configured to use a proxy server, you will not be able to access IPv6 Web sites unless the proxy server is IPv6 enabled.

For the most up-to-date information about IPv6, see Microsoft's IPv6 support site.

IPv6 name resolution

For users to use -friendly names" (for example, URLs such as www.microsoft.com) instead of IP addresses for communicating on a network, there must be a mechanism by which the names are resolved (or matched) to their corresponding IP addresses, because computers process information in numerical form.

Hosts on the IPv6 network can be identified by nicknames (host names that use a flat namespace) or by hierarchical domain names. Name resolution is performed by the same methods used to resolve the names of IPv4 hosts. It can be either:

  • A HOSTS file stored in the systemroot\System32\Drivers\Etc directory on each computer's hard disk with the addresses expressed in hexadecimal notacotion, as described previously.
  • A DNS server that has mapping records for IPv6 addresses. Because the DNS queries are sent using IPv4, the address of the DNS server entered in the computer's TCP/IP properties configuration must be an IPv4 address.

How to install IPv6

IPv6 is installed as a networking protocol. The IPv6 command-line utility is used to install the protocol on an XP or .NET computer.

Follow this procedure to install IPv6:

  1. Click Start | Run.
  2. In the Run box, type ipv6 install.

Note that you cannot tell if IPv6 has been installed by checking the networking protocols on the properties sheet for the network interface because it will not be listed there.

To find out whether IPv6 is installed, use the ipv6 if command. If IPv6 is installed, this will display a list of IPv6 addresses assigned to each interface. To uninstall IPv6, use the ipv6 uninstall command.

How to configure IPv6

To configure an IPv6 address manually, you must first know the interface index for the interface you want to configure. This is a number that represents the interface. You can find this out using the ipv6 if command as described above.

At the command line, enter the following: ipv6 adu <interface index number>/<address you want to assign>

There are a number of attributes you can configure for each interface, using various switches with the ipv6 command.

For example, if you want the packets received on the interface to be forwarded, use the /forwards switch. To turn off forwarding, use the /-forwards switch.

You can also set the maximum transmission unit (MTU) size (with the /mtu switch), enable or disable router advertisements on the interface (the /advertises or /-advertises switches), or configure a site identifier (the /site switch).

IPv6 diagnostic utilities

Most TCP/IP network administrators are familiar with the use of the ping utility to test connectivity on an IPv4 network. You can perform the same type of test on an IPv6 network with the ping6 utility.

The familiar tracert command also has an IPv6 counterpart, appropriately named tracert6, which is used to trace the routes of IPv6 packets.

Talkback 2 comments

    important missing software - ...Anonymous -- 09/06/02

    important missing software -

    - IPTables (the Linux firewalling system),
    - Mozilla (cross-platform web browser, news, mail and chat client),
    - tcpdump (packet dump for linux, bsd?),
    - ethereal (network analasys tool for *nix),
    and perhaps most notably omitted given the article's specific mention of it earlier, MSIE6/winxp.

    I suspect there's a lot more I don't know about that quietly and transparently supports ipv6 and ipv4 due to good use of underlying socket libraries, etc.

    This IPv6 is a little overwhel ...Garrett Gustkey -- 22/02/03

    This IPv6 is a little overwhelming to me. The reason being is that I'm a relative newbie.I'm using everysite I can find train for a career in IT So there are a zillion things to remember.But I love these tech articles, Is there any employer who will priovide training as OJT before I "go out on the floor"? I;m trainnig for a career as a desktop support Specialist Garrett Gustkey

Add your opinion

Sponsored content

Power Centre - Content from our premier sponsors

Blogs

Tags

Back to top

Featured