To refresh our memories, we started our IPv6 tutorial with an overview then we moved to IPv6 addressing in general and in this post I am moving deeper into IPv6 addressing types. As promised I will keep things simple and clean for you and for me, so let’s begin.
Generally speaking IPv6 unicast addresses play the same role unicast addresses used to play in IPv4 networks. There are plenty of different IPv6 unicast types this post will focus on four of them.
Global unicast address:
Global IPv6 unicast addresses are equivalent to the public IPv4 addresses, this means they are routable and reachable over the internet. Global unicast addresses are identified by the binary prefix of 001. The global unicast addressing was designed to fit the hierarchical scheme of the internet. The following format is common for that reason:
- The first 48 bits are assigned by the internet registry service and is used to identify the service provider or the enterprise.
- The next 16 bits are used for subnets IDs and are assigned by the local administrator after subnetting the global range.
- The last 64 bits are called interface address and are usually droved from the MAC address of the interface using the EUI-64 format.
The format described above is not hard coded or used by routers and not obligatory. RFC3587 states that you can use n number of bits for the global routing prefix and m bits for subnet ID and 128-n-m for interface addresses. Routers use the normal lookup technique used for IPv4 based on prefix and prefix length.
Global address example: 2001:db8:85a3::8a2e:370:7334
Link Local address:
Link local addresses always begin with the prefix Fe80::/10 and is used for communication between neighbors on the same link. It is not routable and is automatically configured on all IPv6 enabled interfaces. Link local addresses are required for neighbor address discovery process and is usually used for local communications between neighbors like sending routing protocols updates.
Link local address example: fe80::2c0:4fff:fe19:bad3
Site Local addresses:
Site local addresses begin with the prefix FEC0::/10 and are similar to the IPv4 private addresses define in the RFC 1918. They are local and are not routed to the internet. However, site local addresses are deprecated in 2004 and replaced by unique local addresses defined in RFC 4193.
Special IPv6 addresses:
We have the common unspecified address of all zeros 0:0:0:0:0:0:0:0 or simply “::” and it serves the same function it used to do in IPv4 and off course it is never assigned to an interface and never used as a destination address.
The second special address in IPv6 is the loopback address 0:0:0:0:0:0:0:1 or ::1 which is also familiar to us and it serves the same purpose of the IPv4 127.0.0.1 address.
There are also some other unicast address types in IPv6 like compatibility addresses which are better left to another post, to keep things simple.
Guys, I am not the IPv6 expert here, I am building my knowledge with you. Yes I have some experience but not the level that makes me the leader here, so please give me a hand, correct or ask to improve whatever you see possible.