In-Depth

Changing Addresses

Not too long ago, there were real fears that we’d run out of Internet Protocol (IP) addresses for our networks. That’s not likely to happen with IPv6.

THE TCP/IP PROTOCOL SUITE will save us from the scarcity of public IP addresses. Windows XP contains Microsoft’s first IPv6 implementation, and Windows .NET Server 2003 will contain the first production-ready version of that implementation. Other network devices—such as routers, switches and so forth—are receiving their IPv6-compatible updates in a slow but steady stream. Within a year or two, most network devices should be capable of handling IPv6 traffic. So what’s the big deal about IPv6 and why should you care?

2128 Addresses
When the Internet’s popularity exploded, folks became concerned about the availability of IP addresses. After all, IPv4’s four-octet address space could only support about 4.2 billion addresses. IPv6 (by the way, the version of TCP/IP you’ve been using is IPv4; version 5 was assigned to another protocol), uses an entirely new addressing scheme that can support more than 2128 addresses or about 665 million quadrillion addresses for every square meter of the earth’s surface. That should be plenty! IPv6 addresses look different, too. For one, they’re hexadecimal. For another, they’re very long: 21DA:00D3:0000:2F3B:02AA: 00FF:FE28:9C5A is an example. You can use a form of shorthand, which removes contiguous blocks of zeros to make IPv6 addresses a bit easier to read. For example, 21DA:D3:0:2F3B:2AA:FF:FF228:9C 5A is a simplified version of the first example. Notice that all leading zeros within the address have been removed. You can simplify one step further and remove any standalone zeros: 21DA:D3:: 2F3B:2AA:FF:FF228:9C5A. Note the double colon standing in where there used to be four zeros.

Even simplified, though, you’re looking at a pretty long IP address, which means you’ll be relying even more on name-resolution technologies, like DNS, so you can work with easier-to-remember host names instead of long strings of letters and numbers. You’ll be happy to learn that the DNS specifications have been extended to include a new record type, “AAAA,” which supports IPv6 addresses, and that .NET’s DNS server software supports these records. I’ll discuss DNS a bit more toward the end of this article.

Like IPv4, which breaks its address range into five distinct classes (Classes A, B and C being the most common), IPv6 breaks its tremendous address space into distinct blocks. For example, about 1/256th of the addresses are used for multicast applications, another 1/1,024th for local site unicast addresses (more on those in a bit) and so on. All told, about 15 percent of the IPv6 addresses are used for unicast, or single-host, addresses. A huge portion of the addresses is reserved for future use, making IPv6 extensible for applications we can’t even imagine today.

What about subnet masks? A major component of today’s IP networks, IPv6 doesn’t use them at all. Instead, IPv6 uses prefixes to tell it which portion of an address represents the network ID. These prefixes are similar to the Classless Interdomain Routing (CIDR) notation you may use in IPv4. For example, 21DA:D3:0:2F3B::/64 indicates a 64-bit subnet mask.

Types of Addresses
IPv4 really only had two types of addresses: Single-host addresses and a special broadcast address. A range of single-host addresses is set aside for multicast use, but that range was kind of an add-on to the basic IPv4 addressing scheme. IPv6, on the other hand, has three distinct types of addresses:

  • Unicast addresses represent a single network interface, such as the network adapter in your laptop. Traffic sent to a unicast address is received only by the host using that address, just like the IP addresses we use today.
  • Multicast addresses can be used to represent multiple network interfaces, such as every network adapter in every computer participating in an online conference. Individual computers can subscribe to multicast addresses to take part in multicast traffic, in much the same way that individual people can dial into a traditional conference call. Traffic sent to a multicast address is received by every computer using the address.
  • Anycast addresses allow traffic to be delivered to the nearest network interface using the anycast address, so that only one recipient receives the traffic, even if multiple computers have subscribed to the anycast address. Anycasts help simplify routing decisions on complex networks and are kind of a cross between a unicast address and a multicast address.

Notice that IPv6 doesn’t define a specific broadcast address like IPv4 does. With IPv6, there’s really no such thing as a broadcast; instead, devices use multicasts to address multiple computers at once. IPv6 does define special multicast addresses to which all IPv6 network interfaces must subscribe, and these addresses can be used to duplicate the effects of a broadcast. There’s a special subnet-wide multicast address, a site-wide multicast address and so forth, so each IPv6 computer on a network will have a number of IPv6 addresses:

  • A link-local address, which provides communications within the same subnet. The link-local address is non-routable and is similar to the Automatic Private IP Addressing (APIPA) IPv4 network range, 169.254.0.0. .NET’s IPv6 network stack automatically generates a unique link-local address for each network adapter in the computer and will use this address to communicate with other computers on the local subnet. IPv6 routers can safely ignore all link-local traffic, because, by definition, it’s not intended for other subnets.
  • A site-local unicast address, which is unique within the network. This is basically the same as the private IPv4 address ranges, such as 192.168.0.0. Site-local unicast addresses aren’t routable on the Internet.
  • Optionally, a global unicast address, which is unique across the Internet. This is similar to the public IP address ranges used under IPv4. The Internet Assigned Numbers Authority (IANA) will continue to be responsible for issuing global IPv6 addresses to organizations to ensure uniqueness, just as they do for public IPv4 address ranges today. In most corporate environments, computers will only have a site-local unicast address; external devices like firewalls will also have a global address and perform Network Address Translation (NAT) between the internal site-local addresses and the Internet global addresses.
  • A local subnet multicast, which allows multicasts to all computers on a particular subnet.
  • A site-wide multicast, which allows multicasts to all computers within a particular site.
  • Perhaps a company-wide multicast, which would allow multicasts to all computers within a company, including computers at different geographic locations.
  • Any other multicast addresses the interface subscribes to for specific events such as an online conference.

Backward Compatibility
IPv6 has actually been around for several years, but it’s taking a long time for folks to adopt it, as it represents a major change in how networks run. Heck, until .NET comes out, we won’t even have a Windows operating system that can handle IPv6! Because the IPv6 conversion will undoubtedly take several more years, IPv6 provides robust backward compatibility with IPv4. For example, the IPv6 address 0:0:0:0:0:0:192.168.0.2 represents the IPv4 address 192.168.0.2 and can be expressed in shorthand as ::192.168.0.2. When an IPv6 computer sends information to a backward-compatible address, the computer encapsulates the IPv6 header information into a standard IPv4 packet, ensuring that the IPv6 information can be transported across an older IPv4 network. These compatibility addresses are used by computers that support both IPv6 and IPv4, which is the case for .NET computers that have IPv6 enabled.

Want to Know More About IPv6?

Sometimes, an IPv6 computer will need to contact a computer that only understands IPv4. In these cases, the IPv6 computer uses a mapped address, such as ::FF:192.168.10.5. This IPv6 representation of an IPv4 address tells the sending computer that the destination only supports IPv4 and that it should send pure IPv4 packets to that destination.

What’s in .NET?
.NET contains a pretty comprehensive IPv6 implementation. For example, the built-in DNS Client service and the DNS Server software support dynamic registration of IPv6 addresses. The new “AAAA” DNS record type contains IPv6 addresses. This new record type allows the same DNS server to perform IPv6 name resolution, as well as IPv4 name resolution, as IPv4 addresses are contained in “A” records.

.NET’s IPSec stack also supports IPv6 in a variety of configurations and includes the Ipsec6.exe tool, which allows you to manually configure IPv6-based security policies, associations and encryption keys. Windows Sockets has been updated to support both IPv4 and IPv6 connections, which means all Remote Procedure Call (RPC) traffic can run over IPv4 or IPv6. Internet Explorer, Telnet, FTP, IIS 6.0, file and print sharing, Windows Media Services and Network Monitor all support IPv6. Finally, .NET supports IPv6 routing through the use of:

netsh interface ipv6 route

This allows you to configure a server with static IPv6 routes, effectively turning the server into a rudimentary IPv6 router.

What .NET IPv6 Doesn’t Have
INET doesn’t contain a GUI for configuring IPv6. Instead, you’ll have to use:

netsh interface ipv6

from a command line, to configure IPv6. For example:

netsh interface ipv6 add address "Private" FE80::2

adds a new address to the network interface named Private. And finally, .NET doesn’t ship with an IPv6 DHCP server. There’s a specification for the DHCPv6 protocol, which provides fully automatic configuration of IPv6 addressing information, but Windows simply doesn’t include the server software that implements the protocol. Without DHCPv6, you’ll be back in the good old days of manual configuration for everything but the link-local address, which Windows’ IPv6 stack configures automatically. One piece of good news: IPv6 configuration doesn’t include a default gateway setting. Instead, IPv6 hosts listen for special broadcasts from IPv6-compatible routers and automatically select the nearest available router as their default gateway. This handy trick makes your network more self-healing, as computers can automatically discover alternate routers if their first choice fails.

Deploying IPv6
Most companies will deploy IPv6 to their boundary devices like routers, firewalls and so on first. Most newer editions of these devices already support IPv6 and simply require some minor configuration to make it active. Many Cisco devices, for example, include an IPv6 stack that’s disabled by default. You’ll also need to deploy a DHCPv6 server (perhaps Microsoft will release an add-on DHCPv6 server for .NET in the near future), and you’ll need to deploy an IPv6 stack to your client computers. .NET will have Microsoft’s first production-ready IPv6 stack. I expect an add-on to be available for Windows XP Professional, at least, and expect the next version of Windows to include an IPv6 stack. You may be out of luck for older operating systems, although Microsoft could decide to release an IPv6 stack for Win2K at some point.

Why Bother?
With technologies like NAT in everyday use on most networks, the feared shortage of IPv4 addresses is less of a worry than it first seemed. Still, IPv6 offers a lot more than nearly infinite addresses: It offers a whole new way to think about network traffic. Computers will suddenly have multiple addresses to work with, making multicast applications like video and audio streaming easier and more efficient.

The variety of scope-specific addresses, such as link-local and site-local addresses, makes it easier for routers to do their jobs, enabling routers to handle more network traffic than before. Scoped addresses might have interesting applications in other areas, too. For example, you might be able to target a software deployment for a specific subnet on your network, based on the computers’ subnet-specific multicast addresses. Pop-up messages might become more useful, as you’d be able to send an instant message to an entire site or to a specific subnet, based on the appropriate multicast address.

IPv6 has been a long time coming—and it’ll likely be a long time yet before we’re all using it—but it offers a lot of exciting possibilities for the network of the future.

comments powered by Disqus

Reader Comments:

Fri, Aug 12, 2005 Juan Jamaica 7321 brockley

i changed my address

Thu, Aug 14, 2003 Stefan Vienna

Very good article explaining IPV6 Features and their implementation in Win2003

Fri, Jun 6, 2003 Anonymous Anonymous

Bad link. This URL is no longer valid:
www.cisco.com/en/US/tech/tk648/tk364/tk373/tech_protocol_home.html

Tue, Feb 11, 2003 Anonymous Anonymous

IPv6 proposes unlimited oportunities. I am really looking forward to it as an MCSE

Tue, Feb 4, 2003 Anonymous Anonymous

didn't xp sp1 bring us an improved ipv6 stack?

Wed, Jan 29, 2003 Skerdi Canada

I see IPv6 as needed but not despretly. Though, I think that all IT guys will need to deal with it in a certain point and degree. so lets prepare and be ready, better early than latter.

Mon, Jan 20, 2003 terry tulsa

very good,but do we really need it?

Thu, Jan 16, 2003 8L4d3 US

Everyone's forgotten that they should be rating the article, not the standard.
-Don wrote one helluva article-, even though I H8 the idea of writing down or memorizing the darn 8 hextet addresses.
Everyone knows how useful it is to remember IPV4's when names can't be resolved for whatever reason.

Tue, Jan 14, 2003 ryan iowa

This seems scarynow, but in a short time, I think it will become second nature. (No more figuring out subnet masks!!)

Tue, Jan 14, 2003 Walter SD

I have been looking at IPV6 for a while and am curious in how different companies are going to look at implementing it once it gets hot and heavy but for now am just reading up on it - - I think it will be complicated at first like all things but will become beneficial over time.

Mon, Jan 13, 2003 Antonio Portugal

Well, I know IPv4 quite well, and binary is not an issue... what scares me is the having to go back to (almost) the begining... to learn hexadeximal and the potentials of IPv6. Other things that worry me are, for example, typing an address erroniously... they are everything but small...but friends, NAT and PAT do NOT address all the issues we are allready facing (I have had my share of problems with applications not working properly with them and IP addresses are an expensive commodity). We need more articles like this. Well done! we can't put our heads in the sand, we just need information to move forward and loose our fears.

Mon, Jan 13, 2003 Nikolay Denver,CO

It's so cool. Linux Debian 3.0 (Woody) alredy have IPv6 and you jast have to choose what IP type do you wonna use during installation. I am glad that .NET have IPv6. Right on. Can't wait until my fridge gets IP, since we gonna have enought.

Mon, Jan 13, 2003 Anonymous Anonymous

Can't wait to see the CCNA update

Mon, Jan 13, 2003 Anonymous Anonymous

Excellent review of a new technology that will soon provide opportunities to grow our knowledge, even if we do not want to grow

Mon, Jan 13, 2003 Anonymous Anonymous

Great article. While I am very aware of IPv4's limitations, I'm not looking forward to the learning/implementation curve on this migration. It will be interesting to say the least.

Mon, Jan 13, 2003 Anonymous Anonymous

Good article laying out the basics of the technology and some of the potential it has.

Mon, Jan 13, 2003 rebandlx Oregon

Looks like I'll need a calculator to do what I used to be able to do in my head. And that no GUI thing; will knock some people out of their saddle. Sounds like a project.

Mon, Jan 13, 2003 Fisico Veracruz, México

Es un buen artículo, aunque un poco denso y no muy fácil su lectura. Lo que es un hecho, es que hay que actualizarse en esta nueva versión y estar muy bien preparados para su implementación

Tue, Jan 7, 2003 Korenja Phoenix, AZ

One of the more complete explainations of IPv6 I've read since I fist heard of it in 1998. Clean, Crisp, and through.

Sat, Jan 4, 2003 Anonymous london

this excellent intro makes IPv6 an exciting prospect. can't wait to go in full blast! thanks a million.

Fri, Dec 27, 2002 Tigger Great State of Texas

Don't you think shortening 21DA:00D3:0000:2F3B:02AA: 00FF:FE28:9C5A would yield:
21DA:D3::2F3B:2AA:FF:FE28:9C5A instead of what you have (which is 21DA:D3:: 2F3B:2AA:FF:FF228:9C5A). I guess you have a "little" typo in there

Thu, Dec 26, 2002 Anonymous Anonymous

Well explained

Mon, Dec 23, 2002 Anonymous Anonymous

very informative.

Mon, Dec 23, 2002 Vincent TN

Would someone tell Luke that when you design a network and need to segment it as efficently as possible you still have to calculate address space regardless of NAT usage. Pretty good article though, this provides a nice overview without getting too bogged down in technicalities which I can always get elsewhere.

Fri, Dec 20, 2002 Anonymous Anonymous

good article

Fri, Dec 20, 2002 Tony Philly

Quite interesting!! I'm very intrigued and interested in learning more about IPv6. Subnetting is a pain and if this can make it easier...GREAT!! I wonder how this is going to incorpoate with Firewalls?? Like will IPv4 be the Sentry guard for IPv6 or vice versa?? Many thing to ponder on.

Fri, Dec 20, 2002 Anonymous Turlock, CA

Those addresses are way to long! Way to much crap! WHY CAN'T THEY MAKE IT SIMPLE!!!

Fri, Dec 20, 2002 Anonymous Anonymous

win2k does have support for IPv6, granted you need to find the MS research version or one that was released in an SDK (which one exactly escapes me at the moment). although if you're rolling out IPv6 this early you probably won't mind the little extra work

Fri, Dec 20, 2002 Ben4Jam Anonymous

One thing that helped me is to realize that a 4-bit binary number translates into a 1-bit hexadecimal. That ratio helps me to translate this stuff. Base-2 counting vs base-16. Once you understand the math behind it, it gets simple

Fri, Dec 20, 2002 gon2fish Overland Park KS

As mobile devices and embedded systems become more prevelant, IPv6 will allow enterprises and network architects to create a network that is easy to manage and use. Enterprises will not have complete control of all of the wireless networks they are taking advantage of (example a cellular operator network) and will most likely be sharing those networks. Operators today are having a 'difficult' time in resolving how do I route traffic from my network to two different 10.x.y.z networks. An operator cannot easily expect an enterprise to reconfigure their private network because another customer is already using that assigned subnet. Other benefits in IPv6 are the built in support for mobility in that you can utilize the Care Of Address, Home Agent, and Foreign Agent architecture of Mobile IP, the true integrated support for IP-Sec, and ability to provide true QOS through the scheduling packet priorities (example: voice packets have a higher priority than email packets and a lower priority than video packets).

Fri, Dec 20, 2002 Anonymous Anonymous

Oh yeah, can't wait for this nightmare to occur. Can you imagine trying to figure out the issues that this is going to bring on? Things like what computer has the MAC address associated with the problem we see on the network, are going to be a bear to fix. I agree with Luke, with NAT and PAT the issue is pretty much a thing of the past. Also would be helped if the major ISPs didn't give IPs to everyone. For instance CP Ships has it's own block of IPs. Why then did UUNet and Sprint and C&W give them /23 subnets? Give it back to ARIN to manage.

Fri, Dec 20, 2002 Anonymous Anonymous

Just more crap to deal with

Fri, Dec 20, 2002 Woodman Houston

This was my first look at IPv6 - after hearing about for the last year or so, I was glad to get an easy to understand introduction to its terminology, structure, etc. Thanks.

Fri, Dec 20, 2002 deannie USA

I had not heard about this and appreciated the manner in which this information was presented. There is a strong need for IPv6 and I am glad to learn it.

Fri, Dec 20, 2002 Criados UK

IPv6 is required, Luke. It is NOT to be scared of, 2kMCSE and, Anonymous, I feel the same way. It not only solves the problems of address space, it solves many problems and creates a very flexible network environment, which we have needed for that past 10 years.

Thu, Dec 19, 2002 Anonymous Anonymous

ever since I heard about IPv6, I been using the online handle IPv6. In addition, when I can get a new car, it might have the license plate of IPv6 as well :) . Can't wait.

Thu, Dec 19, 2002 2kMCSE Bakersfield

I Know IPv4 Pretty Darn Good. I love to CIDR, BUT, THIS SCARES THE H_LL out of me.

Thu, Dec 19, 2002 Anonymous Anonymous

Useful.

Thu, Dec 19, 2002 Luke Edson Texas

Completely unnecessary!

With NAT & PAT, all that can be solved! Just imagine having to subnet/troubleshoot a 128 bit address! What a nightmare!

Thu, Dec 19, 2002 Anonymous Anonymous

very good

Add Your Comment Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above

Redmond Tech Watch

Sign up for our newsletter.

I agree to this site's Privacy Policy.