IPV6 Addressing Primer

Posted on: February 11th, 2014 by Mark Seeba No Comments

I am working on continuing my Microsoft studies and thought it would be helpful to complete a write up that I can refer back to and share with others on IPV6 addressing. This is only meant to be a primer. There is a link to more information towards the end of the post.

First, IPV6 consists of eight, 16 bit octets seperated by colons and can look like this: 2001:DB8:2A3C:F282:2B0:D0FF:FEE9:4143. To accomplish 16 bits in each octet, hexadecimal addressing is used. It works like this: Each number or letter represents 4 bits, 0000 for example with one of 16 values 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E or F (A representing the value 10 and F 15). That completes all possible values in the 4 bits as 1111 = 15. With 0000 = 0, we have 16 possible values. Now we can add together all of the values from the first octet:

  • 2 = 0010
  • 0 = 0000
  • 0 = 0000
  • 1 = 0001

Then combine them to get: 0010000000000001 to get our first octet.

Shortcuts are also allowed in IPV6 addressing. First, leading zeros can be removed from each octet: 3FFE:2900:D005:0000:02AA:00FF:FE28:9C5A could be rewritten as: 3FFE:2900:D005:0:2AA:FF:FE28:9C5A. Each block must have a single digit.

Additionally whole sections of contiguous zeros can just be removed and replaced with a double colon, ::, but this can only be done one time per address:

  • For: FF02:3::5
  • We would fill in the missing zero octets until we get our count of 8: FF02:30:0:0:0:0:0:5
  • Which translates back to: FF02:0030:0000:0000:0000:0000:0000:0005

Special addresses:

  • 0:0:0:0:0:0:0:0 or :: is an unspecified address
  • ::1 = local host
  • ::ffff/96 = IPv4 mapped address such as –  ::ffff:
  • FF00::/8 (Binary 1111 1111) <– first octet indicates a multicast address
  • fc00::/7  Unique local address these addresses are private, non-routable addresses
  • FE80::/10 (Binary 1111 1110 10) are local link addresses for private networks
  • FC00::/8 (Binary 1111 1100) Unique local unicast
  • FD00::/8 (Binary 1111 1101) Unique local unicast
  • 2000::/3  (Binary 001) = Aggregatable global unicast address (global public address)

Microsoft has several helpful Technet articles on the subject of IP Addressing.

Leave a Reply