v6 Vertex – A Brief Explanation of IPv6 Address Types
ITdojo’s v6 Vertex is an ever-expanding set of quick tips and useful advice for using IPv6 in your network.
People who have been using IPv4 for some time know that there are three basic address types that are commonly discussed: unicast, broadcast and multicast.
When it comes to address types IPv6 offers us some of what we already know and then takes things a step further. In this article I offer a quick, concise explanation of each IPv6 address type.
IPv6 Address Type #1: Unicast
The concept of a unicast in IPv6 is unchanged compared to what you already know in IPv4. A unicast address in either protocol is used for one-to-one communication. In theory, a unicast IP address represents one and only one destination (yes, there are exceptions). Put simply, when you want to get some traffic to a specific node (and only that specific node) you sent it to that node’s unicast IP address. Again, this is true in IPv4 and in IPv6.
Address Type #2: Multicast
The core concept of a multicast IPv6 address is the same as it was in IPv4. The devil is in the details, though. A lot of thought went into IPv6 multicasting and it has an impressive role in the inner-workings of the protocol. A multicast, which is generically defined as “one-to-many” communications is when a node send traffic to a multicast IP address rather than to a unicast IP address. The traffic is delivered to as few and zero and as many as all nodes in an internetwork. The reality is that it is sent to some number in between. If you know multicasting (even a little bit) in IPv4, you are on a solid foundation to learn how multicasting works in IPv6. Despite having an expanded role in the new protocol, a multicast is still just a multicast.
Address Type #3: Anycast
I was just as surprised as a lot of people to learn that anycast IP addresses, which I heard about for the first time when I started leaning about IPv6 waaaaaaaaaayyyy back in 1999, are not new. They have quietly existed in IPv4 for a long time, too. They just never got any real publicity. An anycast IP address is the “closest one of many”. This means that many nodes will be configured with the same anycast IP address and your traffic will be sent to the one that is closest to you (from a routing protocol metric perspective). This is pretty exciting stuff. The first thing it does is create an opportunity to eliminate lists of failover servers for certain services. DNS is at the top of the list for this discussion. Many nodes in today’s networks are configured with multiple DNS server IP addresses. The node always sends queries to the first on the list and only goes to the next DNS server on the list if the first doesn’t respond in a timely fashion. The most important base word in that last sentence was ‘time’. It takes time for the failover to occur which diminishes the ‘user experience’. By having all of your DNS servers have the same anycast IP address (which they have IN ADDITION TO their unicast IP address) you can configure your nodes with one DNS server IP address (the anycast address). Now, when nodes query the server their packets are forwarded to the closest (from the router’s perspective) node with that address. Assuming all the DNS servers have the same capabilities (zone files, recursion capabilities, etc.) the user will get the service they need without ever having to fail over to another server. Well, in the eyes of the node, at least. This has the promise of producing very seamless and transparent services for users. There are details that I’m overlooking (this is supposed to be brief), of course. But the opportunities for anycasting in IPv6 are pretty cool. Note: The f-root name server on the Internet is an anycast IPv4 (yes, IPv4) address. It is also available via an IPv6 anycast address, too.
Did you notice that I never mentioned broadcasts? Broadcasts as you know them in IPv4 are gone in IPv6. You can, however, still reach all nodes. The functionality of a broadcast has been absorbed (quite correctly) into multicasting. We now have an all-nodes multicast address (achieves pretty much the same thing as a broadcast), an all-routers multicast address, an all-DHCP servers multicast, etc. Rather than broadcasting for a DHCP server like you did in IPv4 you now multicast for one. A partial list of well-known multicast IPv6 addresses can be seen here.
Cheers,
Colin Weaver