Link Local Addresses are created automatically unless you force a device’s interface to have a specific address. They allow local communication. (ie They are are NOT route-able.)
I am assuming you’ve already checked out my post “Basics of an IPv6 Address”. One of the last things I was explaining was Link Local Addresses. Let’s first look at some Cisco IOS commands.
- show ipv6 int brief – This will show the IPv6 addresses on the device. We are interested in the Link Local address
- show int gig0/1 – This will display all kinds of things that relate to the device. We are interested in finding out the MAC address of the device.
I hope you can see that the MAC address and the Link Local address look very similar. When you see this you can automatically assume that it was created by “Extended Unique Identifier 64bit” (EUI-64). They look similar because the Link Local address is partially created from the Mac Address. So how is it automatically made? The rule is:
- Flip the 7th bit. If it is zero change it to a one. If it is a one… flip it to a zero.
- Put FFFE in the middle of the address.
When we look at a Mac address we notice it is a HEX number similar to an IPv6 Address. It is a 48bit address unlike a Interface Identifiers which are 64bit. Essentially it only has 3 groups of numbers and you need 4. To change a MAC address into an Interface Identifier it was agreed upon by the powers that be that we flip the 7th bit and add in a group to make it 64bit.
Using the info above let’s see how the Link Local Address was made. If you need a Decimal to Binary to HEX cheat sheet click the link. It’s half way down the page.
Go back up to the output from the IOS command above. The conversion of the Mac to Interface Identifier checks outs!
For most end user devices the automatically made modified EUI-64 address will be fine. Things like Servers and routers it might be better if you manually specified what their Link Local Address is. There are two ways of doing this:
- You can change the Mac address to something that will give you something easier to work with like: 1111.1111.1111
- You can force a Link Local Address.
To force a link local address you need to use the command:
- ipv6 address fe80::1 link-local
Next post will be on two IPv6 protocols: IPv6 Neighbor Discovery Protocol and DAD