A Visual Explanation of IPv6 Address Types
In the early 1990s, huge number of users come across the Internet and the use of IP addresses also increased. Soon the IETF realized, the existing IPv4 addresses will not be sufficient in the upcoming time. Then the new protocol was introduced as 'IPv6'.
IPv6 is 128-bits protocol, in the comparison of 32-bits of IPv4.
IPv6 has more than enough IP addresses for the growing Internet even today.
We discussed in detail about history and the need of IPv6 in our previous article "Out of IPv4 Addresses: It is time to reintroduce IPv6 now" .
Here in this article, we wish to introduce you to the various type of addresses in IPv6, as the whole addressing scheme of IPv6 is fundamentally very different from previous IPv4. Having a fair grasp over the types of addresses available in IPv6, you will find yourself in a relatively better position to understand the nuances of higher concepts pertaining to IPv6 implementation. Many of those we will share with you in our subsequent articles.
However, before I start the discussion on the different types of IPv6 addresses, I wish to bring your attention to 2-important aspects:
- What does this 128-bits of IPv6 mean?
- How can we change the prefix value in IPv6, as per the number of IP addresses we require?
Understanding the concept of 128-bits
As we all know that IPv6 is a 128-bits addressing scheme, but do we really know what does these mean within the context?
8 Sets x 4 Hexadecimal Numbers x 4 bits = 128 bits
It means --
- 128-bits of IPv6 addresses, have 8 sets, where each set can have a maximum of 4 hexadecimal numbers, and each number is the combination of 4-bits.
- Each of these 8 sets is separated by a colon (:)
Let us dig a little deeper.
The conversion from hexadecimal to binary, or vice-versa, is very easy. If you want to practice the conversion, with the help of below-given table you can do it easily, it depicts the decimal, binary, and hexadecimal numbers.
I took one IPv6 address and convert into binary in the example given below:
Here we have clearly plotted all the 128-bits of an IPv6 address. Right?
Well, regardless of the IP version of the address we use, it essentially contains two sections: network portion, and host portion.
In IPv4, you can use either the subnet mask or prefix, to represent the number of bits used for the network portion. But in case of IPv6, we can use only the prefix, to show the number of bits used for network portion.
Since various network designs places varying network size requirements, we practically need to choose among the prefix-length(s) available to us, w.r.t., the IP in question. Because the selection of right prefix-lengths is imperative to minimize the wastage of IP Addresses.
Prefix Length of IPv6 vs IPv4
For IPv4, the bits used for the network portion can be shown either in prefix or subnet mask. But for IPv6, we always represent it in the 'prefix' only.
According to the number of IP addresses we require for our devices on the network, we need to know-- how many bits should we use for the network portion, and how any bits we need for the host portion. Also to minimize the wastage of IP addresses, we have to accomplish the process of subnetting.
The two charts exhibit the IPv4 and IPv6 for-- how we can change the prefix value as per the number of IP addresses we require.
For the better clarity about the prefix, you can see how to calculate the number of bits used for the network portion.
When we are using 4-sets out of 8-sets the IPv6 address, the prefix will be /64, and how that comes?
Each set is having 16-bits and 4-sets having 64-bits.
In the same manner, when we will consider 3-sets for network portion, then the prefix will be /48 and in 2-sets, it will be /32.
The above demonstration was to establish that it is very easy to calculate the prefix value for an IPv6 address.
IPv6 Address Types
IPv6 addresses lies in mainly any of the three categories:
It all depends upon how the source wants to communicate with the destination. e.g.
- If the source wants to communicate with single destination, then it will use the unicast address as a destination.
- If the source wants to communicate with multiple devices at a time, then it will use the multicast address as a destination.
- We can use Anycast addresses as identifiers for a set of interfaces that may belong to the different nodes and IP address will be same on these nodes.
These three main categories are further divided into sub-categories, you can see in the below diagram.
REEMBER: IPv6 'Source' always have a unicast address, and 'Destination' address can be unicast, multicast or anycast.
An IPv6 unicast address is an identifier for a single interface, on a single node. A packet that is sent to a unicast address is delivered to the interface identified by that address.
In IPv6 there are different types of unicast addresses:
- Global Unicast Address (GUA)
- Unique Local
- Embedded IPv4
Global Unicast Address (GUA)
When an IPv6 enabled device wants to access Internet, then it needs an address which must be unique over the Internet. The address used for this purpose is the global unicast address. Its range is 2000::/3 (First hextext: 2000::/3 to 3FFF::3). These addresses are globally unique and routable, which are similar to public IPv4 addresses.
A link-local address is an IPv6 unicast address that can be automatically configured on any interface using the link-local prefix FE80::/10 (First hextet: FE80::10 to FEBF::/10). Link is a network or subnet, this type of address is not routable off the link and it is unique only on the link. An IPv6 device must have at least a link-local address.
This address is used by:
- Hosts to communicate to the IPv6 network before it has a GUA.
- Router's link-local address is used by hosts as the default gateway address.
- Adjacent routers to exchange routing updates.
- Next-hop addresses in IPv6 routing tables.
Used by a node to send an IPv6 packet to itself. An IPv6 loopback address functions the same as an IPv4 loopback address (127.0.0.1). The IPv6 loopback address is 0000:0000:0000:0000:0000:0000:0000:0001/128, which can be also represented as ::1/128. It is not routable
The unspecified address (0:0:0:0:0:0:0:0 or ::) is used only to indicate the absence of an address. It is equivalent to the IPv4 unspecified address of 0.0.0.0. The unspecified address is typically used as a source address when a unique address has not yet been determined. The unspecified address is never assigned to an interface.
When an enterprise company has multiple sites and they want to use IPv6 addresses for the communication, they can use this type of IPv6 address. IPv6 Unique Local Addresses are defined in IETF RFC 4193 and reserved with a range of FC00::/7 (First hextet: FC00::/7 to FDFF::/7).
Similar to RFC 1918, IPv4 addresses private IP addresses, but not meant to be translated to a global unicast (for security purposes)
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
This type of addresses, should be used in a more limited area such as within a site or devices inaccessible from the global Internet. In the below example, Acme Corp. has four sites in different locations and connected with the Intranet. Each site has been assigned address from the range of unique local.
Throughout the Internet, a huge number of devices are already using IPv4 addresses, and it is not possible to change all the IPv4 addresses into IPv6 addresses in a short time period. IPv6 has a backward compatibility with IPv4, and this can be done with the help of embedded IPv4 addresses.
The IPv4 32-bits embedded into the IPv6 addresses. The first 96-bits of address will be all zeros and remaining 32-bits will be of IPv4 address. We can easily map the IPv4 address into the IPv6 address as per the example given below.
When a source device wants to send the packet to the multiple destinations simultaneously (one-to-many), then the multicast addresses are suitable for this situation.
The functionality of IPv6 multicast addresses are also equal to IPv4's the multicast addresses (18.104.22.168 through 22.214.171.124).
Multicast in IPv6 eliminates the broadcast, whereas in IPv4, the broadcasts are sent to all the devices in a the broadcast domain or in that network, which forces all the devices over IPv4 network to unnecessarily process those broadcasts.
Here are some examples of IPv6 multicast addresses:
A unicast address that is assigned to more than one interface (typically different devices) and these devices are performing almost the same functionality. The request routed towards the device which is nearest to the user who sent the request. The router takes that decision, based on the best route in the routing table of it. You can learn how the route selection is made in Cisco networks here.
In the following example of IPv4 anycast address type, there are two servers in different locations, and having the same addresses. When a client sends a request to the server, the Router1 will check its routing table and identify which server is near to it as per the calculation of routing protocol. Server Instance-A is having the lower distance as per the Server Instance-B.
The Router1 will select the route --> Router1-->Router2-->Server Instance-A and will forward the request on that route. From the prospective of the Route1 the topology will be as per the below diagram:
Anycast provides high availability, and distributes the traffic load in different locations.
If a client is connected to the Router3 and it sends a request to the server, for the Router3 Server Instance-B is near as compared to the Server Instance-A. In this way when the traffic will come behind the Router1 and Router2, that will be forwarded to the Server Instance-A. And the traffic that will come from the Router3 and Router4 will be transferred towards the Server Instance-B. In this example, if Sever Instance-A will be down, the traffic coming from any of the router will be a route towards Server Instance-B.
IPv6 is Futuristic Internet Protocol
Because without it there just aren't enough Internet addresses to go around. As billions of devices/people are Internet-connected, IPv6 momentum continues to grow. Major Internet service providers (ISPs), home networking equipment manufacturers, and web companies around the world are permanently enabling IPv6 for their products and services. Large service and connectivity providers, such as Facebook, Apple, Microsoft, Comcast, British Telecom and a few others making concerted, visible efforts to make sure that they are ready for the future, by making their network and services IPv6 ready.
Although the anticipated IPv4 address exhaustion initially accelerated adoption of IPv6, IPv6 has other benefits, including:
- Simplified headers for routing efficiency
- Deeper hierarchy and policies for network architecture flexibility and efficient support for routing and route aggregation
- Server-less autoconfiguration, easier renumbering, and improved ready-to-use support
- Security with mandatory IP Security (IPsec) implementation for all IPv6 devices
- Improved support for Mobile IP and mobile computing devices (direct path)
- Enhanced multicast support with increased addresses and more efficient mechanisms
Don't you think that the time to act on IPv6 is now?
I believe that the more we work with IPv6, the more robust it will become, and the more we'll see its potential become unlocked for marketers and business decision makers.
What do you say?
To cope up with the changes in the Internet Protocol and Internet, you should fine tune your skills regarding IPv6. It has become mandatory!
Please share you insights about IPv6 addressing also with the us.
You may like to share the article with your friends, contacts on social-media, e.g., Facebook, Linkedin, Twitter etc, who might be interested in knowing more about IPv6 or sharing their insights with us.
REGISTER FOR FREE ONLINE DEMO