Pv6 and the addresses are big and difficult to remember. Upon initial configuration of network gear, it is tempting to use the EUI-64 encoding (article with a definition of EUI-64 by Wendell Odom) and let the device create the interface identifier portion of the 128-bit address. But how would that affect your ability to perform network troubleshooting? Let’s say that you need to do a traceroute6 or ping6 across the network and DNS isn’t working. You’ll need the target IPv6 address, including the interface ID (the lower 64-bits of the IPv6 address).
My recommendation is to assign the interface ID so that it is one that you know and is relatively easy to type. I did some traceroute6 experiements and found that several sites have used this approach, showing interface IDs of ::1. One site seemed to use their own locally administered address which was four digits. You could encode other characteristics of the remote device using the digits provided, but I’m not sure that’s necessarily desirable.
What would be useful to encode into the host ID field might be the device type. ::1 through ::f could be routers while ::11 through ::1f could be switches. To reach the primary device of each type on a network segment, use the lowest number for that device type. The secondary device of that type would have the next larger number (e.g. ::2 for a router).
If you encounter a network where EUI-64 addresses were used, a short-hand of ::0 is supposed to address the router(s) on the segment, but I’ve not seen it work in our test network. Let me know if you’ve found it to work and how reliable you’ve found it to be.
How do you assign IPv6 interface IDs?
Re-posted with Permission
NetCraftsmen would like to acknowledge Infoblox for their permission to re-post this article which originally appeared in the Applied Infrastructure blog under http://www.infoblox.com/en/communities/blogs.html