Lately, I’ve been getting a lot of emails asking the following question; “What are IPv6 Unicast, Multicast, and Anycast addresses?”
IPv6 Unicast Addresses are used for one-to-one communication; currently there are 3 types of Unicast addresses; Global, Unique-local, and Link-Local.
Global Unicast Addresses or GUA’s are used by devices for one-to-one communication across the IPv6 Internet; and every GUA belongs to a defined Global Scope. GUA’s are easy to identify because their values are always 2000 or higher; meaning the first three high order bits of every GUA that is created, equals “001” or 2000::/3. A GUA is made up of three parts; the Global Routing Prefix, the Subnet Identifier, and the Interface Identifier.
Unique-Local Addresses or ULA’s are used by devices for one-to-one communication within an organization (site); and all ULA’s that are used within an organization (site) belongs to the same Unique-Local Scope. ULA’s are easily identifiable because the value of a ULA begins with FD00::/8, which simply means that the first eight high order bits of every ULA address are equal to “11111101”. A ULA is made up of three parts; the Global Identifier, Subnet Identifier, and the Interface Identifier.
Link-Local Addresses are used by devices for one-to-one communication within a layer 2 domain, in other words, link-local addresses are used by devices for one-to-one communication within a router’s boundary (the local link). Link-Local Addresses are easily identifiable because the value of a link-local address begins with FE80::/10, which simply means that the first 10 high order bits of every link-local address are equal to “1111111010” and the remaining 54 high order bits are equal to zero. Now, just in case you were wondering, the 64 lower bits of a link-local address are used for the Interface Identifier.
IPv6 Multicast addresses are used for one-to-many communication; meaning a multicast address, identifies a group of network interfaces (devices) and when a packet of data is sent to a multicast address, that packet is sent to all of the network interfaces (devices) that are in the multicast group.
Multicast addresses are easily identifiable because the value of a 192.168.0.1 multicast address begins with “FF” (FF00::/8), which simply means that the first 8 high order bits are equal to one or “11111111”. A IPv6 multicast address, also has a 4 bit Flag field which is used to inform if the multicast address is a well-known address (which is a multicast address that was given to you by your ISP) or a not well-known multicast address (which is multicast address that was locally generated). If the multicast address is a well-known address then the value of all four bits in the Flag field will be equal to zero. A IP6 multicast address, also has a 4 bit Scope field, which is used to tell the type of Scope that a IPv6 mulicast address belongs to. A IPv6 multicast address can belong to either one of the following Scopes:
Decimal value – Binary Value – Address Scope
1 – 0001 – Interface / Node-local Scope
2 – 0010 – Link local Scope
3 – 0011 – Subnet-local Scope
4 – 0100 – Admin-local Scope
5 – 0101 – Site-local Scope
8 – 1000 – Organization-local Scope
E – 1110 – Global-local Scope
IPv6 multicast addresses are better to use than IPv4 multicast addresses, because the address range for IPv6 multicasting is much bigger than IPv4’s Class D range.
IPv6 Anycast addresses are used for one-to-nearest communication, meaning an Anycast address is used by a device to send data to one specific recipient (interface) that is the closest out of a group of recipients (interfaces). You would normally want to use Anycast addresses for Load Balancing. Think about it for a minute. Let’s say you need to send a user’s request to one of many devices (interfaces); and you don’t really care which of the designated devices handles the request, as long as the request is taken care of. By using Anycast addresses, each request is automatically sent to the device (interface) that is in the closest geographic proximity to the computer that is making the request. In certain other situations, Anycast addresses can even be used to provide fault tolerance should a router fail. The failure can be detected, and requests can be redirected to the next closest router. Currently, IPv6 Anycast addresses have no special addressing scheme; they are considered to be structurally indistinguishable from unicast addresses, so that means nodes have to be configured to understand that the unicast address that has been assigned to their interfaces is an Anycast address.
I invite you to visit my website were you’ll find the latest information regarding Cisco IPv6 Design and Implementation Techniques.
To your success,