Advertisement
To print: Select File and then Print from your browser's menu
-------------------------------------------------------------- This story was printed from ZDNet Australia. --------------------------------------------------------------
IPv6: What is it and why is it needed?

By Deb Shinder, TechRepublic
May 28, 2002
URL: http://www.zdnet.com.au/insight/soa/IPv6-What-is-it-and-why-is-it-needed-/0,139023731,120265559,00.htm


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.

Currently supported applications

The majority of applications supporting IPv6 belong to the Linux/UNIX space. As of this writing, that list includes:

Chat software

  • UNIX IRC chat applicationâ€"This is the first IPv6 version of this popular IRC client.
  • RAT and SDRâ€"These two utilitiesâ€"the audio tool, RAT, and session directory tool, SDRâ€"are used in conferencing for an IPv6 network.

DNS

  • BIND 9.2.0â€"The new version of BIND uses A6 records to map a domain name to an IPv6 address and offers IPv6 transport of packets.
  • Totdâ€"This lightweight DNS proxy nameserver supports IPv6.
  • IPv6 transport for BIND 8â€"This is a patch for BIND 8.2.3 that helps resolvers talk to nameservers using IPv6.

Firewalls

  • IPFilterâ€"Download this software package that supports IPv6 filtering.
  • IPFWâ€"This IPv6-aware IPFW tool is included within the FreeBSD 4.0 release.

FTP

  • LFTPâ€"This FTP client supports IPv6.
  • NcFTP (Windows)â€"This is a robust IPv6 FTP client for Windows.
  • NcFTP (BSD)â€"This is a robust IPv6 FTP client for BSD.

Games

  • Quakeforgeâ€"A FreeBSD port of Quakeforge is available that's IPv6-aware.

IPsec

  • IPv6 FreeS/WAN for Linuxâ€"Download this prototype IPsec implementation that was developed by IABG as part of the 6INIT project.
  • IPv6 IPsec in KAMEâ€"KAME IPv6 supports IPsec with Racoon.

Mail

  • Eximâ€"This mail transfer agent offers built-in IPv6 support.
  • Qmailâ€"IPv6 support is available through the v1.03 patch by Kazunori Fujiwara.
  • Public Sendmailâ€"Version 8.10 of this mail product officially supports IPv6.
  • WIDE Sendmailâ€"Version 8.9.1 of this popular Sendmail tool supports IPv6.
  • Fetchmailâ€"This mail utility supports both IPv6 and IPsec.

Mobile IPv6

Monitoring tools

  • ASpath-treeâ€"Use this tool on an IPv6 site to monitor BGP4+ routing.
  • COLDâ€"Download this free IPv6-aware packet sniffer.

News

  • INN v2.3.2â€"Download this IPv6 patch from the Japanese NORTH site.
  • IPv6 socket 1.1â€"Here's a simple and useful example of Advanced Socket API programming that's IPv6 aware.

Web servers and clients

  • Apache (Linux)â€"This release of the Apache Web server for Linux has built-in IPv6 support.
  • Apache (BSD)â€"The Apache Web server for BSD offers built-in IPv6 support.
  • Apache 2.0.xâ€"This beta code of Apache 2.0 supports IPv6.

TechRepublic is the online community and information resource for all IT professionals, from support staff to executives. We offer in-depth technical articles written for IT professionals by IT professionals. In addition to articles on everything from Windows to e-mail to fire walls, we offer IT industry analysis, downloads, management tips, discussion forums, and e-newsletters.

©2001 TechRepublic, Inc.


Copyright © 2009 CBS Interactive, a CBS Company. All Rights Reserved.
ZDNET is a registered service mark of CBS Interactive. ZDNET Logo is a service mark of CBS Interactive.