IEEE Navigational Bar IEEE HomeSearch IEEEJoin IEEEAbout IEEE
IEEE Standards Navigation Bar Site NavigationContact StaffSearch IEEE-SAIEEE-SA Home

Guidelines for use of a
64-bit Extended Unique Identifier (EUI-64™)

General

The IEEE defined 64-bit extended unique identifier (EUI-64) is a concatenation of a 24-bit Organizationally Unique Identifier (OUI) value administered  by the IEEE Registration Authority and a 40-bit extension identifier assigned by the organization with that OUI assignment.

The IEEE administers the assignment of 24-bit OUI values. The assignments of these values are public, so that a user of an EUI-64™ value can identify the manufacturer that provided the value[1]. The IEEE has no control over the assignments of 40-bit extension identifiers and assumes no liability for assignments of duplicate EUI-64 identifiers assigned by manufacturers.

Application restrictions

Given the minimal probability of consuming all the EUI-64 identifiers, the IEEE/RAC places minimal restrictions on their use within standards. Their major use is to distinctively identify hardware instances of devices.

They may also be used for other purposes where a unique identifier is desired. However, they may not be used to identify autonomously generated objects such as:

  1. Transaction  identifiers or other ephemeral identifiers.
  2. Sequence numbers that distinctively identify power or reboot cycle instances.

However, EUI-64 identifiers could be concatenated with a  locally managed 64-bit identifier to create distinct 128-bit (or larger) unique object or file identifiers. Such use is not discouraged.

The IEEE/RAC reviews draft IEEE standards for correctness and clarity of EUI-64 usage. The IEEE/RAC does not restrict the use of EUI-64 identifiers within standards, if the standard conforms to the aforementioned restrictions. If the EUI-64 is referenced within non-IEEE standards, there shall not be any reference to IEEE unless approved by the IEEE/RAC. The main purpose of IEEE/RAC review is to ensure sufficiently efficient usage of assigned address spaces.

Usage restrictions

The EUI-64 is a trademarked IEEE term and there are a number of restrictions on EUI-64 usage; see  <<application form>> for details. These restrictions are subject to change on a per-purchase basis.

Application documentation

As a condition for receiving an OUI assignment, a manufacturer of EUI-64 values accepts the following responsibilities:

  1. This documentation  must be readily available (at no cost) to any purchaser of EUI-64 values.
  2. The manufacturer's part specification should include an unambiguous description of how the EUI-64 value is accessed (pin and/or address descriptions).

Manufacturer-assigned identifiers

The manufacturer identifier assignment allows the assignee to generate approximately 1 trillion (1012) unique EUI-64 values, by varying the last 40 bits. The IEEE intends not to assign another OUI value to a manufacturer of EUI-64 values until the manufacturer has consumed, in product, the preponderance (more than 90%) of this block. It is incumbent upon the manufacturer to ensure that large portions of the block are not left unused in the consumption process.

64-BIT EXTENDED UNIQUE IDENTIFIER FORMAT TUTORIAL

Byte sequence formats

You may have a 64-bit global identifier (EUI-64) provided by an authorized manufacturer of these values (in the form of electronically readable chips). A 24-bit first portion of this value is the OUI value assigned to the manufacturer by the IEEE Registration Authority. A 40-bit second portion of this identifier is assigned by the manufacturer.

For example, assume that a manufacturer's IEEE-assigned OUI value is AC-DE-48 and the manufacturer-selected extension identifier for a given component is 23-45-67-AB-CD. The EUI-64 value generated from these two numbers is AC-DE-48-23-45-67-AB-CD.

Some standards specify an EUI-64 by a string of eight bytes, labeled here as eui[0] through eui[7]. For those standards, the format of the EUI-64 is illustrated below. Although different  standards may specify different bit-transmission orders, bytes are normally transmitted in an ascending index-value order.

  Value: AC-DE-48-23-45-67-AB-CD
  
|            OUI           |            extension identifier            | field
|                          |                                            |
| eui[0] | eui[1] | eui[2] | eui[3] | eui[4] | eui[5] | eui[6] | eui[7] | order
|        |        |        |        |        |        |        |        |
|   AC   |   DE   |   48   |   23   |   45   |   67   |   AB   |   CD   | hex

Numerical formats

Other standards specify an EUI-64 to be a numerical value, upon which computations (such as base/bounds or bit selections) can be performed. For those standards, the format of the EUI-64 is illustrated below:

  Value: ACDE48234567ABCD16
  
|            OUI           |            extension identifier            | field
|                          |                                            |
|   AC   |   DE   |   48   |   23   |   45   |   67   |   AB   |   CD   | hex

Restricted encapsulated values

To support encapsulation of EUI-48™ and MAC-48 values within small subsets of the EUI-64 values, the first two bytes of the manufacturer's extension identifier must not be FF-FF or FF-FE. Thus, the 64-bit values of the following form are never assigned EUI-64 values:

   XX-XX-XX-FF-FE-YY-YY-YY   (an EUI-48 extension)

   XX-XX-XX-FF-FF-YY-YY-YY   (a MAC-48 extension[deprecated])

The letters 'X' and 'Y' represent hexadecimal digits and show how the EUI-48 value can be unambiguously encapsulated within the EUI-64 value; the 'X' and 'Y' digits represent the OUI and extension-identifier portions of the EUI-48/MAC-48 values, respectively.

This allows EUI-48 identifiers to be encapsulated and transported as (otherwise unassigned) EUI-64 identifiers. The intent is to enable migration to a single form of OUI based globally unique 64-bit identifiers.

Encapsulated EUI-48 values

An EUI-48 identifier can be encapsulated and placed within an EUI-64 container. For example, assume that a manufacturer's IEEE-assigned OUI value is AC-DE-48 and the manufacturer-selected extension identifier for a given item is 23-45-67. The EUI-48 value generated from these two numbers is AC-DE-48-23-45-67, whose byte representationn is illustrated below:

  EUI-48 value: AC-DE-48-23-45-67
  
|            OUI           |   extension identifier   | field
|                          |                          |
|   AC   |   DE   |   48   |   23   |   45   |   67   | hex

An EUI-64 value is generated by concatenating OUI, FF-FE, and extension-identifier values. The byte representation for this EUI-64 value is illustrated below:

  Encapsulating EUI-64 value: AC-DE-48-FF-FE-23-45-67
  
|            OUI           |    EUI label    |   extension identifier   | field
|                          |                 |                          |
|   AC   |   DE   |   48   |   FF   |   FE   |   23   |   45   |   67   | hex

Encapsulated MAC-48 values [deprecated]

A MAC-48 identifier can be encapsulated and placed within an EUI-64 container. For example, assume that a manufacturer's IEEE-assigned OUI value is AC-DE-48 and the manufacturer-selected extension identifier for a given item is 23-45-67. The EUI-48 value generated from these two numbers is AC-DE-48-23-45-67, whose byte representation is illustrated below:

  EUI-48 value: AC-DE-48-23-45-67
  
|            OUI           |   extension identifier   | field
|                          |                          |
|   AC   |   DE   |   48   |   23   |   45   |   67   | hex

An EUI-64 value is generated by concatenating OUI, FF-FE, and extension-identifier values. The byte representation for this EUI-64 value is illustrated below:

  Encapsulating EUI-64 value: AC-DE-48-FF-FF-23-45-67
  
|            OUI           |    EUI label    |   extension identifier   | field
|                          |                 |                          |
|   AC   |   DE   |   48   |   FF   |   FF   |   23   |   45   |   67   | hex

Encapsulated EUI-60 values

An EUI-60 identifier can be encapsulated and placed within an EUI-64 container. For example, assume that a manufacturer's IEEE-assigned OUI value is AC-DE-48 and the manufacturer-selected extension identifier for a given item is 2.3.4.5..6.7.A.B.C. The EUI-60 value generated from these two numbers is AC-DE-48:2.3.4.5.6.7.A.B.C, whose nibble representation is illustrated below:

  EUI-60 value: AC-DE-48:2.3.4.5.6.7.A.B.C
  
|
            OUI        |           extension identifier         | field
|
                      |                                        |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | nibble
A C D E 4 8 2 3 4 5 6 7 A B C | hex

An encapsulating EUI-64 value is generated by appending the EUI-60 with a 4-bit zero value, as illustrated below:

  Encapsulating EUI-64 value: AC-DE-48-23-45-67-AB-C0
  
|
            OUI           |       extension identifier   | field
|
                          |                 |                          |
|
   AC   |   DE   |   48   |   23   |   45   |   67   |   AB   |   C0   | hex

Unassigned EUI-64 values

The all-zeros and all-ones EUI-64 values will never be assigned and may be used to represent NULL EUI-64 address values. As an example, either of these values could represent an uninitialized value, before that location is accessible or properly initialized by hardware/firmware. Similarly, either value could represent invalid, when an optional EUI-64 value is not supplied.


[1]Except for private OUI values, where the owner of the OUI value is confidential. These remain private.

 

-

 

Copyright © 2004 IEEE

(IEEE Standards Systems/Network Staff)
URL: http://standards.ieee.org/regauth/oui/tutorials/EUI64.html
(Modified: 22-April-2004)