IPv6 usage and configuration
I am studying for the Microsoft 70-642 test and it has IPv6 in the study material. Since I am still pretty weak in the subject I though I could post some things about it that may help others.
First of all the IPv6 address is 128 bits in length and the address has two parts:
The first 64-bits is known as the prefix. The prefix includes the network and subnet address. Because addresses are allocated based on physical location, the prefix also includes global routing information. The 64-bit prefix is often referred to as the global routing prefix.
The last 64-bits is the interface ID. This is the unique address assigned to an interface. Note: Addresses are assigned to interfaces (network connections), not to the host. Technically, the interface ID is not a host address.
The IPv6 address is made up of 32 hexadecimal number organized into 8 quartets divided by colons. Another interesting part is that a quartet of all zeros can be abbreviated down to a single zero, or the leading zeros of a quartet can be removed. For example the following address:
FEC0:0000:78CD:14FF:8973:200C:FFFF:0200 can be abbreviated as FEC0:0:78CD:14FF:8973:200C:FFFF:200
Another way is to display a quartet of all zeros as a double colon as this example shows: FEC0::78CD:14FF:8973:200C:FFFF:200
So if you look at the loop back address, 0000:0000:0000:0000:0000:0000:0000:0001 it can be displayed as ::1 This is something to get use to.
IPv6 uses an updated DHCP that operates in one of two different modes:
Stateful DHCPv6 is when the DHCP server provides each client with the IP address, default gateway, and other IP configuration information such as the DNS server IP address. The DHCP server tracks the status or state of the client.
Stateless DHCPv6 does not provide the client an IP address and does not track the status of each client, but rather is used to supply the client with the DNS server IP address. Stateless DHCPv6 is most useful when used in conjunction with stateless auto configuration.
The interface ID can also can be automatically derived from the MAC address using the following process:
1. The MAC address is split into 24-bit halves.
2. The hex constant FFFE is inserted between the two halves to complete the 64-bit address. For example, 20-0C-FB-BC-A0-07 becomes: 200C:FBFF:FEBC:A007.
3. The seventh bit of the MAC address, reading from left to right, is set to binary 1. This bit is called the universal/local or U/L bit.
– Modifying the seventh binary bit modifies the second hex value in the address.
-For a MAC address of 20-0C-FB-BC-A0-07, the first two hex values translate to the following binary number: 0010 0000
Setting the seventh bit to 1 yields 0010 0010, which translates into 22 hex.
In this example, the MAC address of 20-0C-FB-BC-A0-07 in modified EUI-64 format becomes: 220C:FBFF:FEBC:A007
The interface IDs can be obtained through random generation, performed by both Windows Vista and Server 2008, for non-temporary, auto configured IPv6 addresses.
The following chart is a break down of the prefix of the IPv6 address.
– Regional Internet Registry or RIR quartet is assigned to countries or continents by ICANN.
– The second part is assigned to ISP’s.
– The third part is given out to companies for their network.
-The fourth part is for the companies to subnet their network.
The last 64 bits can only be used for the interface ID and the old variable length subnets are not more with IPv6. Also with IPv6 there is no more broadcast, everything is unicast or multicast.
Here is the last part I will cover and that is the address types that IPv6 will use.
1. Reserved – Addresses beginning with 00 have been reserved for use by the Internet Engineering Task Force. This reserved block is at the top of the address space and represents only a small portion of the total IPv6 address space.
2. Multicast – Everyone knows what multicast is and these multicast addresses have a FF00::/8 prefix. Not to be confused with local link multicast that only have a FF02::/16 prefix and are not forwarded by a router.
3. Global unicast – addresses are addresses that are assigned to individual interfaces that are globally unique throughout the entire Internet. Global unicast addresses with a 2000::/3 or a 3000::/3 prefix.
4. Link local – or local link addresses are addresses that are valid on only the current subnet. Link-local addresses have a FE80::/10 prefix. This includes any address beginning with FE8, FE9, FEA, or FEB. All nodes must have at least one link-local address, although each interface can have multiple addresses. Routers never forward packets destined for local link addresses to other subnets. This is similar to the APIPA addresses that Windows assigns if it can’t find a DHCP server.
5. Unique local – addresses are private addresses used for communication within a site or between a limited number of sites. Unique local addresses have a FC00::/7 prefix. Following the prefix, the next 40-bits are used for the Global ID. The Global ID is generated randomly such that there is a high probability of uniqueness on the entire Internet. Following the Global ID, the remaining 16-bits in the prefix are used for subnet information. Unique local addresses are globally unique, but are not globally routable. Unique local addresses might be routed between sites by a local ISP. ( There use to be a type called site local, but it was replaced with Unique local after it was found not to be globally unique.)
6. Anycast – This address is a unicast address that is assigned to more than one interface, typically belonging to different hosts. An anycast packet is routed to the nearest interface having that address based on routing protocol decisions. An anycast address is the same as a unicast address. Assigning the same unicast address to more than one interface makes it an anycast address.
7: Loopback – The local loopback address for the local host is 0:0:0:0:0:0:0:1 or ::1. The loopback address is used to test the TCP/IP protocols to see if they are functioning.
8. Unspecified – The unspecified address is 0:0:0:0:0:0:0:0 or ::. The unspecified address is used when there is no IPv6 address. It is typically used during system startup when the host has not yet configured its address. The unspecified address should not be assigned to an interface.
That is my spill on IPv6 and of course you can find this info in any IPv6 book. I just wanted to put it out there because until I started my studies I really didn’t know a whole lot about this subject, and I continue to learn about this subject because it is the future. It is projected that the whole Internet will be converted within a decade. I am sure I didn’t cover everything but I how this helps anyone looking to learn or just brush up on IPv6.