On MACs and EUIs

From Helpful
Revision as of 11:05, 23 August 2024 by Helpful (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

For other network related things, see:

Also:


This article/section is a stub — some half-sorted notes, not necessarily checked, not necessarily correct. Feel free to ignore, or tell me about it.


MAC address (Media Access Control address), 'hardware address', 'adapter address', 'physical address', 'Ethernet Hardware Address' (EHA) and probably some others

MAC addresses are basically identifiers of a piece of hardware, which is useful in local low-level routing (and generally not visible beyond that).


Mostly known for its use in Ethernet cards, actually broader: some other IEEE 802 networking requires use of MACs in the frames, including 802.11 (WiFi), 802.5 (token ring). Others use it, including Bluetooth, FDDI, Fibre Channel, and ATM (the networking protocol).

Around Ethernet, these are classicaly understood as 48-bit address. but some protocols are future-proofing by using/allowing 64-bit MACs.

In that context, classical MAC has been named MAC-48, or EUI-48.

The newer 64-bit addressing is usually called EUI-64 (not MAC-64).

EUI-64 is used by FireWire, ZigBee/802.15.4, can be used in IPv6.


EUIs are a somewhat wider concept, also being used by software and non-networking hardware.

From that perspective, EUIs are a superset of MACs; MACS are EUIs when they are used by networking hardware as node identifiers.

Since they are assigned from the same numbering space, not many people or situations really need to care for the distinction.


Most real-world MACs are chunks given to companies, and companies assign each within their range at most to one physical device, which makes MACs globally unique.

There are sites where you can look up what company assignment a particular MAC is part of.


Further notes:

  • MAC-48 - the original scheme (IEEE considers MAC-48 an obsolete term)
  • EUI-48 can be seen as a later standardization(verify)
  • The 48-bit addresses is typically split either into:
    • 24 and 24: a 24-bit OUI (Organizationally Unique Identifier) with a 24-bit identifier from the organization
    • 36 and 12: a 36-bit IAB (Individual Address Block) or OUI-36, with a 12-bit identifier from the organization
    • ...there are a few exceptions to this in practice, though
  • EUI-64 is a larger address space
    • ...also a superset of EUI-48: there is a simple rule for converting existing EUI-48s to EUI-64 (in which you can actually distinguish between EUI-48 and MAC-48 -- middle octets are FFFE and FFFF, respectively -- though RFC5342 notes that IETF uses FFFE for both sources.
  • There are also some MACs that are purely local
in the sense that they are not globally assigned, and you could set yourself
(comparable to how private IP network addresses are local, and independent from the same used in an unrelated network).
  • In the 48-bit addresses (what about EUI-64?) there are two special bits:
    • bit 0 (highest bit)
      • 0 means universal - assigned though OUI/IAB system
      • 1 means local - if MAC was assigned based on administration on the local network
    • bit 1 (second-highest bit)
      • 0 means unicast
      • 1 means multicast (special handling, used in ethernet, FDDI)


See also: