Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

Understanding IPv6 EUI-64 Bit Address

     

    Introduction

    Extended Unique Identifier (EUI), as per RFC2373, allows a host to assign iteslf a unique 64-Bit IP Version 6 interface identifier (EUI-64). This feature is a key benefit over IPv4 as it eliminates the need of manual configuration or DHCP as in the world of IPv4. The IPv6 EUI-64 format address is obtained through the 48-bit MAC address. The MAC address is first separated into two 24-bits, with one being OUI (Organizationally Unique Identifier) and the other being NIC specific. The 16-bit 0xFFFE is then inserted between these two 24-bits for the 64-bit EUI address. IEEE has chosen FFFE as a reserved value which can only appear in EUI-64 generated from the an EUI-48 MAC address.

    Here is an example showing how a the MAC Address is used to generate EUI.

     

    pic1.bmp

     

    Next, the seventh bit from the left, or the universal/local (U/L) bit, needs to be inverted. This bit identifies whether this interface identifier is universally or locally administered. If 0, the address is locally administered and if 1, the address is globally unique. It is worth noticing that in the OUI portion, the globally unique addresses assigned by the IEEE has always been set to 0 whereas the locally created addresses has 1 configured. Therefore, when the bit is inverted, it maintains its original scope (global unique address is still global unique and vice versa). The reason for inverting can be found in RFC4291 section 2.5.1.

     

    pic2.bmp

    Once the above is done, we have a fully functional EUI-64 format address.

     

    Another doubt or frequently asked question is, are IPv6 devices (routers etc) today doing anything to that universal/local bit? Currently, nothing is being done be the U/L bit 1 or 0. However, per RFC4291 2.5.1 (The use of the universal/local bit in the Modified EUI-64 format identifier is to allow development of future technology that can take advantage of interface identifiers with universal scope), this may change in the future as the technology evolves.

     

    Note: The command to assign an IPv6 EUI-64 format address is {ipv6 address ipv6-prefix/prefix-length eui-64}

    Example

    edpic1.bmp

     

    edpic2.bmp

    References

    IPv6 Autoconfiguration

    Cisco IOS IPv6 Command Reference

    Comments
    Community Member

    Thanks for sharing your knowledge.Great work.

    Community Member

    Hi,

    what if instead of 00 on IOU let's change it to C6 binary = 1100 0110 so the 7th is 1 equivalent to 2 also do i need to add it to C 6+2 = C8 or will it be C6 again?

    thanks

    Community Member

    Are you sure of the information below?

    If 0, the address is locally administered and if 1, the address is globally unique.

    In the RFC 4291 - Appendix A - Section "Links or Nodes with IEEE 802 48-bit MACs", states otherwise:

    "0" is the value of the universal/local bit to indicate Global scope.

    Thanks!

     

    Community Member

    "0" is the value of the universal/local bit to indicate Global scope.

    This line from the appendix is referring to the MAC address. 0 on the seventh bit in the MAC is used to indicate global scope.  In contrast, 1 is used on the seventh bit in the interface identifier to identify a globally unique interface identifier.  Hence the reason for inverting the bit for modified EUI-64.

     

    "If 0, the address is locally administered and if 1, the address is globally unique."

    This comment was in reference to the interface identifier, not the MAC.

    Community Member

    As I understand it, the OUI should never have a "1" in the 7th bit if the MAC is a globally unique address assigned by the IEEE.

     

    "It is worth noticing that in the OUI portion, the globally unique addresses assigned by the IEEE has always been set to 0 whereas the locally created addresses has 1 configured."

    Community Member

    I don't get this..

    my mac address start with b8:70, and my ipv6 address does not have a 1 or 0 ..

    fe80::ba70

    god knows why they had to choose the most retarded form of addresses

    Community Member

    You should translate your MAC address to binary and look for the 7th bit. It seems to me that you are looking for the 1\0 in the hexadecimal format of your MAC.

    if we look at your MAC address B8 = 1011 1000. The bolded bit is the one that should be flipped from 0 to 1 and that will turn to be 1011 1010 = BA hence your link local address is FE80::BA70.

    Community Member

    I learnt about the link local address in https://technet.microsoft.com/en-in/library/cc736439(v=ws.10).aspx
    As per it, the last 64 bits of link local is derived from the mac address of the system..
    Im using macbook , connected to a wifi router.. in it i found that link local is correct as i read..
    and I’m using vmware for windows .. in that the mac address is 08-00-27-CF-15-DB and the link local is fe80::f527:4a05:5c4c:6326%3
    in this the link local is not derived from mac address..
    So i could understand… how it is???

    Cisco Employee

    Nice, Cisco press book for 300-101 says "0" for global, "1" for local, on the 7th bit.

    Community Member

    Hi,

    Thanks for your explanation, I would just like to know if this EUI-64 conversion will only be applicable to 1 domain or subnet since the subnet bit is /64 and the host bit is /64 as well?  Can we do a VLSM on an EUI-64 design?  I am just confused on when this will be or won't be used?

    Cheers,

    Community Member

    Taken from Jeff Doyle's TCP/IP, Volume 1, 2/e (my preferred source)

    Chapter 2 IPv6 Overview

     

    Address Autoconfiguration

    When an IPv6 host first becomes active on a link, it can self-configure its own interface address. The first step in this process is the determination of the 64-bit Interface ID portion of the address. On broadcast interfaces (where hosts are most likely to appear), a mechanism called MAC-to-EUI64 conversion is used. Quite simply, this mechanism takes the 48-bit Media Access Control (MAC) address of the interface - which can normally be assumed to be globally unique - and converts it into a 64-bit Interface ID by inserting a reserved 16-bit value of 0xFFFE into the middle of the MAC address and "flipping" the Universal/Local (U/L) bit of the MAC address to 1.

     

    Taking that info and combining it with MAC-addresses in general, the OUI specifically:

    the 7th bit is the U/L - Universal (globally unique, OUI-enforced) i.e. "0", Locally (locally administered i.e. self-assigned) i.e. "1.

     

    So it makes perfect sense. What about VMs, virtual hosts? To me it looks like they have no other choice but to use a self-assigned MAC i.e. flipping the 7th to 1, to begin with. So - if the bit is already flipped there's no need to flip it again. It was locally administered and running the MAC-to-EUI64 conversion doesn't change anything - to me, at least.

    145802
    Views
    20
    Helpful
    11
    Comments