10

What are EUI-48 and EUI-64 addresses formed and used? Give me examples.

What are MA-L, MA-S and MA-M assignments?

I have read https://standards.ieee.org/develop/regauth/tut/eui48.pdf

and

https://standards.ieee.org/develop/regauth/tut/eui64.pdf

And, understood nothing.

Tom Newton
  • 23
  • 5
  • 1
    Do you have a specific question? It's hard to know where to begin without repeating the info you cited. – Ron Trunk Oct 21 '15 at 17:38
  • 4
    EUI-48 is the link-layer address of ethernet devices (used almost nowhere else) EUI-64 is the link-layer address used pretty much *everywhere else*. – Ricky Oct 21 '15 at 20:50

2 Answers2

13

Historically, both EUI-48 and MAC-48 were concatenations of a 24-bit OUI (Organizationally Unique Identifier) assigned by the IEEE and a 24-bit extension identifier assigned by the organization with that OUI assignment (NIC). The subtle difference between EUI-48 and MAC-48 was not well understood; as a result, the term MAC-48 is now obsolete and the term EUI-48 is used for both (but the terms “MAC” and “MAC address” are still used).

In other words, EUI-48 and the MAC number of a device represent the same thing! Usually it is represented in 12 hex (e.g. 0023.a34e.abc9), equivalent to 48 bits or 6 bytes.

By implementing the EUI-64 (64-bit Extended Unique Identifier format), a host can automatically assign itself a unique 64-bit IPv6 interface identifier without the need for manual configuration or DHCP. So it's an IPv6 matter. Anyway, if you are interested about how it's calculated, it is applied to a MAC address like this:

The 48-bit MAC address is split in half, the hex group FFFE is inserted in the middle (after the 24th bit), and the seventh most-significant bit is inverted.

Example:

The MAC address    0021.86b5.6e10      (48 bit) becomes 
the EUI-64 address 0221.86ff.feb5.6e10 (64 bit)

MAC-Large, MAC-Small and MAC-Medium (abbreviated MA-L, MA-S and MA-M) have the all the same size. The names refer instead to number of bits within a MAC that remain governed by organization as opposed to the OUI bits governed by IEEE. If 24 bits of a MAC are governed by an organization/vendor/manufacturer, it is called a MAC-Large (this is a traditional scheme discussed so far). If 20 bits, it's MAC-Medium. If 12 bits, it's MAC-Small.

It addresses serious exhaustion problem of MAC addresses. Think how many devices are produced each day!

Microsoft Linux TM
  • 392
  • 1
  • 3
  • 10
Cristina Gaucan
  • 189
  • 2
  • 6
  • 3
    IPv6 SLAAC uses a _modified_ EUI-64. There are LAN types which use EUI-64 as the layer-2 address, instead of EUI-48. – Ron Maupin May 31 '16 at 22:43
  • 1
    I realize this is an old answer, but is there a source for the inverting of the 7th bit?Looking at the IEEE "Guidelines for Use of Extended Unique Identifier (EUI), Organizationally Unique Identifier (OUI), and Company ID (CID)" (https://tinyurl.com/y68bgdn8) Section "Mapping an EUI-48 to an EUI-64" (pg 15). There's no mention of the inversion, and I'm trying to determine if there are multiple mapping specs to follow. – rheone Nov 09 '19 at 17:16
  • 6
    @RobertH.Engelhardt I was also curious about the bit inversion. Actually most tutorials and descriptions are wrong about it. The bit inversion is used to get the "Modified EUI-64" as described in [RFC 4291](https://tools.ietf.org/html/rfc4291#section-2.5.1) to acquire the interface identifier. Therefor the correct "EUI-64" value does not include the inversion. See also [Understanding IPv6 EUI-64 Bit Address](https://community.cisco.com/t5/networking-documents/understanding-ipv6-eui-64-bit-address/ta-p/3116953) – goulashsoup Feb 02 '20 at 20:01
4

In Ethernet the MAC address was and still is a 48 bit number used to identify Ethernet interfaces.

Two bits are used for special purposes, one to indicate whether the address represented an individual system or multiple systems (multicast/broadcast) and one to indicate whether the address was locally or globablly assigned. So that left 46 bits usable for addressing interfaces.

The bits were split into two parts. The most significant 24 bits (including the aforementioned local/global and individual/group bits) were known as the OUI and assigned to manufacturers of network equipment. The manufacturers in turn would assign numbers to invidual items of equipment.

The term EUI-48 was used when addresses constructed in the same manner as MAC addresses were used outside the context of Ethernet. However in practice the two terms were used interchangeably and the IEEE eventually abandoned the distinction.

46 bits is very large but not unimaginably large. For comparison there are about 2^33 people in the world. So that leaves about 2^13 addresses per person. This sounds like a lot, but the IEEE was concerned that with an increasing scope of address use and inefficient allocation practices it could become exhausted.

Thus a larger EUI-64 was defined and the IEEE encourages it's use for applications that do not require compatibility with Ethernet. Mappings were defined from EUI-48 and MAC-48 addresses to EUI-64 addresses, but the IEEE later decided to deprecate them. These mappings insert specific values into the middle of the address, FF-FF was inserted for MAC-48 addresess, while FF-FE is inserted for EUI-48 addresses.

The IEEE also introduced smaller blocks of MAC addresses allowing smaller manufacturers to allocate addresses without wasting larger amounts of space in the global pool. At least that was the idea, in practice the effectiveness of this has been questionable, with more MA-L (aka OUI) blocks allocated than all of the smaller types of block (MA-M, MA-S, IAB) put together.

IPv6 uses a "modified EUI-64" address to assign the local part of an addresses, there are two differences from the standard mapping defined by the IEEE.

  1. When, as is the common case today, mapping 48 bit addresses, the "EUI-48" mapping is always used, not the "MAC-48" mapping.
  2. The local/global bit is inverted. This was seen as more user-friendly because it means that numbers with a bunch of leading zeros will fall into the "local" category.

So for example

EUI-48/MAC-48                  B8:27:EB:12:34:56
EUI-64 corresponding to MAC-48 B8:27:EB:FF:FF:12:34:56
EUI-64 corresponding to EUI-48 B8:27:EB:FF:FE:12:34:56
IPv6 modified EUI-64           BA:27:EB:FF:FE:12:34:56

https://www.rfc-editor.org/rfc/rfc4291

http://web.archive.org/web/20061205013140/http://standards.ieee.org/regauth/oui/tutorials/EUI64.html

Peter Green
  • 12,935
  • 2
  • 20
  • 46