Routers configured with dynamic routing protocols such as OSPF or EIGRP need to send and receive routing protocol messages with their directly connected neighbors. The routers exchange messages between neighbors on the same subnet. These messages are always sent from the router’s source IPv4 address. Link-local IPv6 addresses are perfect for this purpose. The address also activates network devices to exchange data with other IPv6-enabled devices on the same link and only on that link.
Packets contain the source or destination link-local IPv6 address and are not routed beyond the link from where the packet originated. The router sends OSPFv3 messages using the source and destination link-local IPv6 addresses. The source link-local address is the address of the existing interface.
The destination IPv6 address can be a unicast address using the neighbor link local IPv6 address. It can also be sent using a multicast address. The FF02::5 address is the all-OSPF router multicast address, and the FF02::6 is the DR/BDR multicast address. The topology in Figure 1 will configure the link-local IPv6 address and OSPFv3 configuration in the coming article.
Assigning Link Local IPv6 Address
The router creates a link-local IPv6 address using the EUE-64 process or random interface IDs, which makes it difficult to recognize and remember. The IPv6 routing protocols use link-local IPv6 addresses for unicast and next-hop address information in the routing table, so making the address easily recognizable is important.
So, configuring the link’s local address manually makes it recognizable and easier to remember. Furthermore, a router with several interfaces can assign the same link-local address to each IPv6-enabled interface because the link-local address is only needed for local communications.
We can configure the link-local address using the interface mode command <ipv6 address link-local address link-local>; the same command configures IPv6 global unicast addresses only appending the “link-local” keyword to the command. For example, “ipv6 address fe80::1 link-local”
The prefix range of the link-local address is from FE80 to FEBF. When an address begins with the hextet mentioned above, the link-local keyword must follow it. Figure 1 illustrates the link-local IPv6 address configuration on Router1.
Verifying Link-Local Address
If we configure a global unicast address without configuring a link-local address, we can verify the link-local address using the same “show ipv6 interface brief” command for global IPv6 address verification. It automatically generates a link-local address. Figure 3 illustrates the verification of the IPv6 address.
Unless we configure the link-local address manually, Cisco routers create the link-local address using the FE80::/10 prefix and the EUI-64 process. We already discussed the EUI-64 in the previous lesson. It uses the 48-bit Ethernet MAC address, inserting FFFE in the middle and flipping the seventh bit. For serial interfaces, Cisco devices use the MAC address of an Ethernet interface.
After the client receives SLAAC or SLAAC with a stateless Router Advertisement (RA) message, the client must generate its own Interface ID. The client gets the prefix portion of the IP version 6 address from the Router Advertisement (RA) message; however, the RA message does not contain the client’s interface ID information. So, the client creates its own Interface ID. The Interface ID can be derived from the MAC address or a randomly generated 64-bit number.
EUI-64 Process
EUI, also known as the EUI-64 process defined by IEEE, EUI is the abbreviation of Extended Unique Identifier. The method uses a client’s 48-bit Ethernet MAC address and inserts an extra 16 bits in the middle of the 48-bit MAC address to create a 64-bit Interface ID. Ethernet MAC addresses are represented in hexadecimal containing two parts:
Organizationally Unique Identifier (OUI)– This is the first part of the MAC address called OUI. An OUI is a 24-bit number uniquely identifying a device vendor or manufacturer. The organizations purchased an OUI from the IEEE. The first three octets of a MAC address are Organizationally Unique Identifier (OUI).
Device Identifier– The last three octets of the MAC address uniquely identify the device. It is also a 24-bit (6 hexadecimal digits) value within a common OUI. The device identifier bits assigned by the organization to their device.
An EUI-64 Interface ID has three parts represented in binary:
24-bit Organizationally Unique Identifier (OUI) from the client MAC address with a reversed 7th bit. For example, if the 7th bit of the OUI is 1, it becomes a 0, and vice versa in the EUI interface ID.
24-bit Device Identifier from the client’s MAC address
Hexa decimal value FFFE (16 bits) between Organizationally Unique Identifier (OUI) and Device Identifier.
EUI-64 process using the MAC address of BC:78:ba:b1:f8:55.
Get the MAC address of the host or device, for example, in this case, BC:78:ba:b1:f8:55
Insert ff:fe in the middle: bc:78:ba:ff:fe:b1:f8:55
Reorder the above hexadecimal digits in IP version 6 notation. bc78:baff:feb1:f855
You can see that now it’s 4 hextet; convert the first octet from hexadecimal to binary: BC-> 10111100
Flip the 7th bit: 10111100 ->10111110
convert changed octet back to hexadecimal:01000111 ->BE
Now change the first octet with the new value one: bc78:baff:feb1:f855
Insert the link-local prefix at the beginning : fe80:: bc78:baff:feb1:f855
Advantages and disadvantages of the EUI-64 Process
EUI-64 process is an easy way to find out that the address was likely created from the MAC address. We can quickly locate FFFE in the middle of the Interface ID. We can also use the MAC address to find out the interface ID. The network administrators also easily track an ID on an end device using the unique MAC address. The main disadvantage of deriving an IP version 6 address from the MAC address is privacy among users because packets can be traced to the actual physical computer. So, we can use a randomly generated Interface ID in its place.
Randomly Generated Interface IDs
Depending on the operating system, we can also configure devices to use a randomly generated Interface ID instead of the MAC address and the EUI-64 process. For example, Windows Vista uses a randomly generated Interface ID instead of one created with the EUI-64 process. Windows XP and previous Windows operating systems used EUI-64.
When Interface ID is established through the EUI-64 process or through random generation, it can be combined with an IP version 6 prefix in the RA message to create a global unicast address. To avoid IP address duplicate addressing, the client can use DAD (duplicated address detection). This is similar to the Address Resolution Protocol (ARP) request for its address.
What is the type of IPv6 Address? We have already learned about IPv4 address classes, classless and classful addressing schemes, and special-purpose IP addresses. We have also learnt about unicasting, multicasting, and broadcasting in IPv4 addresses. Similarly, IPv6 addresses also contain different types, such as unicast addresses, multicast addresses, and anycast addresses. In this article, I will give you a brief look at the various types of IPv6 addresses.
Unicast Address
A unicast address is the most common type of IPv6 address that we can assign only to one network interface. An IPv6 unicast address individually identifies an interface on an IPv6-enabled device. This unicast address is also used for one-to-one communication between different devices in the network. A packet sent to a unicast address receives the interface assigned to that address type. The source IPv6 address must be a unicast address; however, the destination IPv6 address can be either unicast or multicast.
The type of IPv6 unicast are:
Global unicast addresses (GUA), link-local addresses, site-local addresses, unique local IPv6 unicast addresses, and special addresses. The most common are global unicast and link-local unicast addresses. The figure below illustrates IPv6 Unicast address types:-
Type of IPv6 Global Unicast Addresses
A global unicast address is just like a public IPv4 address. The addresses should be unique worldwide and can only be assigned once. It is a routable address across the Internet, like a public IPv4 address. We can configure global unicast addresses dynamically or statically. The Internet Assigned Numbers Authority (IANA) has assigned only 2000::/3 addresses to the global pool. The only assigned IPv6 pool is 2001::/16 to various Internet address registries. A global IPv6 address consists of two parts:
Subnet ID – The subnet ID is 64 bits long. It contains the site prefix, which can be assigned from a Regional Internet Registry, and the subnet ID. Interface ID—The interface ID is also 64 bits long. It is typically composed of part of the interface’s MAC address. The figure below illustrates the different parts of the global IPv6 unicast address.
The first three bits are set to 001 because the prefix of a global IPv6 address is 2000::/3, So 0010000000000000 is 2000 in hexadecimal. The following 45 bits are the global routing prefix. This is the part that has been assigned to different organizations. The following 16 bits are for the subnet ID, which a network administrator can use for hierarchical addressing. The last 64 bits show the interface ID, the part of the IPv6 address that must be unique within a subnet.
IPv6 Link-local Addresses
Link-local addresses are used to communicate with other devices in the same network. They start with the hexadecimal character “FE”. In the IPv6 network, the term link refers to a subnet. We cannot route link-local addresses to the public network. However, we can dynamically configure them similarly to IPv4 link-local (169.254.0.0/16) addresses.
In the IPv4 network, link-local addresses are assigned because of some problem. However, in the IPv6 network, link-local addresses are configurable, and we can use them for communication within the local network. The link-local address must be unique within the local network. We cannot router the link-local address to the internet or public network.
We can identify the IPv6 Link-Local address with the leftmost 64 bits as the hexadecimal digits FE80. So, the first 16 bits are reserved for the prefix. The binary of FE80 is 1111 1110 1000 0000. The link-local network is FE80:: /64. The figure below illustrates the distribution of link-local address bits.
The link-local IPv6 is derived from the NIC’s MAC address. A MAC address is 48 bits address, and an IPv6 address is 128 bits. The steps for converting a MAC address to an IPv6 is the following: step by step:
Get and write down the MAC address of the PC or device, for example, BC:85:56:60:ED:75
Insert ff:life in the middle: BC:85:56:FF:FE:60:ED:75
Reorder to IPv6 notation BC85:56FF:FE60:ED75
Now it’s 4 hextet, convert the first two digits of hexadecimal to binary: BC> 10111100
Flip the 7th bit: 10111100->10111110
convert it back to hexadecimal: 10111110 ->BE
Change the first octet with newly calculated one: BE85:56FF:FE60: ED75
Insert the link-local prefix at the beginning : FE80::BE85:56FF:FE60:ED75
You have done!
IPv6 Unique Local Addresses
The IPv6 unique local addresses have limited similarities to private IPv4 addresses, with some significant differences. An address registry does not allocate it and is not routed outside its local domain and network. Unique local addresses are used inside or between a limited number of sites. These addresses must not be routable in the global IPv6 and must not be translated to a global IPv6 address. The unique local address range is from FC00::/7 to FDFF::/7. The address block is divided into two /8 groups fc00::/8 and fd00::/8.
The group fc00::/8 has not been defined yet, and the group fd00::/8 is defined for /48 prefixes, formed by setting the 40 least-significant bits of the prefix to a randomly generated bit string. The resultant format is like fdxx:xxxx:xxxx::
With the IPv4 addressing scheme, we required NAT (Network Address Translation) and PAT (Port Address Translation). This is done because of the limited availability of IPv4 address space. Many sites use the private nature of RFC 1918 addresses to secure or hide their network from possible security risks. However, this was never the purposeful use of these technologies. We can use unique local addresses for devices that will never need or have access from another network.
IPv6 Loopback Address
Just like in IPv4, the loopback address is an address that represents the same interface as a computer. Whenever we communicate to a loopback address, the TCP/IP protocol stack will loop the packets back on the same interface without even leaving the interface. The loopback addresses are typically for testing network applications without having network configurations. The IPv6 address reserved for loopback is 0000:0000:0000:0000:0000:0000:0000:0001/128—the simplified and short form of the IPv6 loopback address is::1/128.
IPv6 Unspecified Addresses
IPv6 Unspecified address has all binary bits set to “0”. The operating systems used unspecified addresses before IPv6 address configuration. The IPv4 and IPv6 routers will not forward packets with the unspecified address. The unspecified IP address in IPv6 is 0000:0000:0000:0000:0000:0000:0000:0000/0—the simplified and short form of this address is::/0.
Embedded IPv4 Address
The IPv6 address is used by hosts and routers to tunnel IPv6 packets dynamically under the IPv4 routing infrastructure. IPv6 nodes are assigned particular IPv6 unicast addresses that carry an IPv4 address in the low-order 32 bits. This type of address is called an Embedded IPv4 Address or IPv4-compatible IPv6 address. For example, if the route is 200.100.50.10, the embedded IPv4 address may be like:: 200.100.50.10.
Multicast Address
IPv6 multicast addresses work similarly to IPv4 multicast addresses. The IPv6-enabled devices can join and listen to multicast traffic on an IPv6 multicast address. The multicast address comprises an 8-bit address, 4-bit flag, 4-bit scope, and 112-bit group ID fields. An IPv6 multicast address can identify multiple network interfaces. In IPv6 multicasting, IPv6 datagram packets addressed to an IPv6 multicast address are delivered to all interfaces identified by the address. The IPv6 multicast address as:-
Preferred
ff00:0000:0000:0000:0000:0000:0000:0000/8
Leading 0s omitted
ff00:0:0:0:0:0:0:0/8
Compressed
ff00::/8
Anycast Address
An IPv6 anycast address is any IPv6 unicast address. We can assign this address to multiple network devices. Like a multicast address, an anycast address identifies multiple interfaces. However, while multicast packets are accepted by various machines, anycast packets are delivered to the nearest device having that address. The routing protocol determines the nearest. An anycast address must be assigned to a router, not a host, and cannot be used as a source address.
Note—Broadcast addresses no longer exist in the IPv6 addressing scheme. However, an IPv6 all-nodes multicast address essentially gives the same result.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.