There is little doubt in my mind that Internet Protocol Version 6 (IPv6) will eventually become the dominant networking protocol.
Every Windows operating system since Windows Server 2008 and Windows Vista has shipped with IPv6 enabled by default, and pretty much all of the networking hardware manufacturers are building IPv6 support into their devices. Therefore, I think it makes sense for Windows administrators to take the time to learn how IPv6 works.
If you have ever seen an IPv6 address, then you know that it is not a simple protocol (making it difficult to do the whole thing justice in the space of one article). So as an introduction, let's take a look at the basics of the IPv6 addressing scheme.
Types of IPv6 addresses
There are several different types of IPv6 addresses, but here are the most important ones to know:
- Unicast – Just a basic IP address which identifies a host on a network.
- Global unicast – Basically a routable unicast address. It is accessible from across the Internet.
- Link-local unicast – Each network device is assigned a link-local unicast address. This address is used primarily for automatic discovery of nodes, but it can also be used for communications between the nodes on the link.
- Site-local unicast – Similar to the private addresses used in IPv4. Essentially, these addresses are suitable for use within an organization, but are not routable.
- Multicast – These addresses are shared by a group of computers on a network. When a packet is sent to a multicast address, it goes to each computer in the multicast group.
- Anycast – Similar to multicast addresses in that they identify a group of computers. The difference is that when a packet is sent to an anycast address it is only sent to the computer that is in closest proximity to the sender, rather than being sent to the entire anycast group.
The anatomy of an IPv6 address
IPv6 addresses look completely different from the IPv4 addresses that you are probably used to seeing. IPv4 addresses are 32 bits in length. These addresses are divided into four octets, which are converted to decimal notation and separated by periods (Example: 192.168.0.1). In contrast, IPv6 addresses are 128 bits in length, and are expressed in hexadecimal format.
The standard format involves dividing the address into eight pieces, each of which is 16 bits in length. These eight pieces are separated by colons. The standard address format looks like this:
Pretty cut-and-dry, right? Not so fast. The hexadecimal numbers that make up each segment of the address can each range from one to four digits in length. Furthermore, leading zeros are suppressed. Consider for example, the following unicast address:
As you can see, we have eight blocks of numbers, each of which is made up of four digits. You can also see that the address contains numerous zeros. According to the rule, we can suppress all leading zeros in each block. This means that the address could be shortened to:
This shortens the address a great deal, but it can be condensed even more. You will notice that we have four sequential fields whose values are all zero. Any time you have multiple sequential zero value fields, you can replace them with two colons (although you can only do this once per address). Therefore, the address above could be shortened to:
Telling one address type from another
Just as certain addresses and address ranges have special meanings in IPv4, the same holds true for IPv6. You can tell a lot about an address by looking at the first few characters. For example, link-local unicast addresses always start with FE80, so any time you see FE80 you can be sure that it's a link local unicast address.
Likewise, multicast addresses always start with FF0X. The X is a placeholder that can be made to be a digit ranging from one to eight. There are a number of different types of multicast addresses, and this placeholder designates the scope.
Finally, another address you might run into is 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1, which is usually expressed as ::1. This is the loopback address, and is the IPv6 equivalent to the IPv4 address 127.0.0.1
|Brien M. Posey, MCSE, has received Microsoft's Most Valuable Professional Award four times for his work with Windows Server, IIS and Exchange Server. He has served as CIO for a nationwide chain of hospitals and healthcare facilities, and was once a network administrator for Fort Knox. You can visit his personal Web site at www.brienposey.com.|