MAC address
A media access control address is a unique identifier assigned to a network interface controller for use as a network address in communications within a network segment. This use is common in most IEEE 802 networking technologies, including Ethernet, Wi-Fi, and Bluetooth. Within the Open Systems Interconnection network model, MAC addresses are used in the medium access control protocol sublayer of the data link layer. As typically represented, MAC addresses are recognizable as six groups of two hexadecimal digits, separated by hyphens, colons, or without a separator.
MAC addresses are primarily assigned by device manufacturers, and are therefore often referred to as the burned-in address, or as an Ethernet hardware address, hardware address, and physical address. Each address can be stored in hardware, such as the card's read-only memory, or by a firmware mechanism. Many network interfaces, however, support changing their MAC address. The address typically includes a manufacturer's organizationally unique identifier. MAC addresses are formed according to the principles of two numbering spaces based on Extended Unique Identifiers managed by the Institute of Electrical and Electronics Engineers : EUI-48, which replaces the obsolete term MAC-48, and EUI-64.
Network nodes with multiple network interfaces, such as routers and multilayer switches, must have a unique MAC address for each NIC.
Address details
The original IEEE 802 MAC address comes from the original Xerox Network Systems Ethernet addressing scheme. This 48-bit address space contains potentially 248 possible MAC addresses. The IEEE manages allocation of MAC addresses, originally known as MAC-48 and which it now refers to as EUI-48 identifiers. The IEEE has a target lifetime of 100 years for applications using EUI-48 space and restricts applications accordingly. The IEEE encourages adoption of the more plentiful EUI-64 for non-Ethernet applications.The distinction between EUI-48 and MAC-48 identifiers is in name and application only. MAC-48 was used to address hardware interfaces within existing 802-based networking applications; EUI-48 is now used for 802-based networking and is also used to identify other devices and software, for example Bluetooth. The IEEE now considers MAC-48 to be an obsolete term. EUI-48 is now used in all cases. In addition, the EUI-64 numbering system originally encompassed both MAC-48 and EUI-48 identifiers by a simple translation mechanism. These translations have since been deprecated.
An Individual Address Block is an inactive registry activity which has been replaced by the MA-S registry product as of January 1, 2014. The IAB uses an OUI from MA-L belonging to the IEEE Registration Authority, concatenated with 12 additional IEEE-provided bits, leaving only 12 bits for the IAB owner to assign to their individual devices. An IAB is ideal for organizations requiring not more than 4096 unique 48-bit numbers. Unlike an OUI, which allows the assignee to assign values in various different number spaces, the Individual Address Block could only be used to assign EUI-48 identifiers. All other potential uses based on the OUI from which the IABs are allocated are reserved, and remain the property of the IEEE Registration Authority. Between 2007 and September 2012, the OUI value 00:50:C2 was used for IAB assignments. After September 2012, the value 40:D8:55 was used. The owners of an already assigned IAB may continue to use the assignment.
MA-S registry activity includes both a 36-bit unique number used in some standards and the assignment of a block of EUI-48 and EUI-64 identifiers by the IEEE Registration Authority. MA-S does not include assignment of an OUI.
There is also another registry which is called MA-M. The MA-M assignment block provides both 220 EUI-48 identifiers and 236 EUI-64 identifiers. The first 24 bits of the assigned MA-M block are an OUI assigned to IEEE that will not be reassigned, so the MA-M does not include assignment of an OUI.
Universal vs. local
Addresses can either be universally administered addresses or locally administered addresses. A universally administered address is uniquely assigned to a device by its manufacturer. The first three octets identify the organization that issued the identifier and are known as the organizationally unique identifier. The remainder of the address are assigned by that organization in nearly any manner they please, subject to the constraint of uniqueness. A locally administered address is assigned to a device by a network administrator, overriding the burned-in address for physical devices.Universally administered and locally administered addresses are distinguished by setting the second-least-significant bit of the first octet of the address. This bit is also referred to as the U/L bit, short for Universal/Local, which identifies how the address is administered. If the bit is 0, the address is universally administered, which is why this bit is 0 in all OUIs. If it is 1, the address is locally administered. In the example address the first octet is 06, the binary form of which is 00000110, where the second-least-significant bit is 1. Therefore, it is a locally administered address. Even though many hypervisors manage dynamic MAC addresses within their own OUI, often it is useful to create an entire unique MAC within the LAA range.
x2 - xx - xx - xx - xx - xx |
x6 - xx - xx - xx - xx - xx |
xA - xx - xx - xx - xx - xx |
xE - xx - xx - xx - xx - xx |
Universal Addresses that are Administered Locally
In virtualisation, hypervisors such as QEMU and Xen have their own OUIs. Each new virtual machine is started with a MAC address set by assigning the last three bytes to be unique on the local network. While this is local administration of MAC addresses, it is not an LAA in the IEEE sense.An historical example of this hybrid situation is the DECnet protocol, where the universal MAC address is administered locally. The DECnet software assigns the last three bytes of the MAC address to be where reflects the DECnet network address xx.yy of the host. This eliminates the need for DECnet to have an address resolution protocol since the MAC address for any DECnet host can be determined from its DECnet address.
Unicast vs. multicast
When the least significant bit of an address's first octet is 0, the frame is meant to reach only one receiving NIC. This type of transmission is called unicast. A unicast frame is transmitted to all nodes within the collision domain. In a modern wired setting the collision domain usually is the length of the Ethernet cable between two network cards. In a wireless setting, the collision domain is all receivers that can detect a given wireless signal. If a switch does not know which port leads to a given MAC address, the switch will forward a unicast frame to all of its ports, an action known as unicast flood. Only the node with the matching hardware MAC address will accept the frame; network frames with non-matching MAC-addresses are ignored, unless the device is in promiscuous mode.If the least significant bit of the first octet is set to 1, the frame will still be sent only once; however, NICs will choose to accept it based on criteria other than the matching of a MAC address: for example, based on a configurable list of accepted multicast MAC addresses. This is called multicast addressing.
The IEEE has built in several special address types to allow more than one network interface card to be addressed at one time:
- Packets sent to the broadcast address, all one bits, are received by all stations on a local area network. In hexadecimal the broadcast address would be. A broadcast frame is flooded and is forwarded to and accepted by all other nodes.
- Packets sent to a multicast address are received by all stations on a LAN that have been configured to receive packets sent to that address.
- Functional addresses identify one or more Token Ring NICs that provide a particular service, defined in IEEE 802.5.
Applications
The following network technologies use the EUI-48 identifier format:- IEEE 802 networks
- * Ethernet
- * 802.11 wireless networks
- * Bluetooth
- * IEEE 802.5 token ring
- Fiber Distributed Data Interface
- Asynchronous Transfer Mode, switched virtual connections only, as part of an NSAP address
- Fibre Channel and Serial Attached SCSI
- The ITU-T G.hn standard, which provides a way to create a high-speed local area network using existing home wiring. The G.hn Application Protocol Convergence layer accepts Ethernet frames that use the EUI-48 format and encapsulates them into G.hn Medium Access Control Service Data Units.
EUI-64 identifiers are used in:
- IEEE 1394
- IPv6 IPv6 uses a modified EUI-64, treats MAC-48 as EUI-48 instead and inverts the local bit. This results in extending MAC addresses to modified EUI-64 using only and with the local bit inverted.
- ZigBee / 802.15.4 / 6LoWPAN wireless personal-area networks
Usage in hosts
Many network interfaces support changing their MAC address. On most Unix-like systems, the command utility ifconfig may be used to remove and add link address aliases. For instance, the active ifconfig directive may be used on NetBSD to specify which of the attached addresses to activate. Hence, various configuration scripts and utilities permit the randomization of the MAC address at the time of booting or before establishing a network connection.
Changing MAC addresses is necessary in network virtualization. In MAC spoofing, this is practiced in exploiting security vulnerabilities of a computer system. Some modern operating systems, such as Apple iOS and Android, especially in mobile devices, are designed to randomize the assignment of a MAC address to network interface when scanning for wireless access points to avert tracking systems.
In Internet Protocol networks, the MAC address of an interface corresponding to an IP address may be queried with the Address Resolution Protocol for IPv4 and the Neighbor Discovery Protocol for IPv6, relating OSI Layer 3 addresses to Layer 2 addresses.
Tracking
Randomization
According to Edward Snowden, the US National Security Agency has a system that tracks the movements of mobile devices in a city by monitoring MAC addresses.To avert this practice, Apple has started using random MAC addresses in iOS devices while scanning for networks. Other vendors followed quickly. MAC address randomization during scanning was added in Android starting from version 6.0, Windows 10, and Linux kernel 3.18. The actual implementations of the MAC address randomization technique vary largely in different devices. Moreover, various flaws and shortcomings in these implementations may allow an attacker to track a device even if its MAC address is changed, for instance its probe requests' other elements, or their timing. If random MAC addresses are not used, researchers have confirmed that it is possible to link a real identity to a particular wireless MAC address.
Other information leakage
Using wireless access points in SSID-hidden mode, a mobile wireless device may not only disclose its own MAC address when traveling, but even the MAC addresses associated to SSIDs the device has already connected to, if they are configured to send these as part of probe request packets. Alternative modes to prevent this include configuring access points to be either in beacon-broadcasting mode, or probe-response with SSID mode. In these modes, probe requests may be unnecessary, or sent in broadcast mode without disclosing the identity of previously-known networks.Anonymization
Notational conventions
The standard format for printing EUI-48 addresses in human-friendly form is six groups of two hexadecimal digits, separated by hyphens in transmission order.This form is also commonly used for EUI-64.
Other conventions include six groups of two hexadecimal digits separated by colons , and three groups of four hexadecimal digits separated by dots ; again in transmission order.
Bit-reversed notation
The standard notation, also called canonical format, for MAC addresses is written in transmission order with the least significant bit of each byte transmitted first, and is used in the output of theifconfig
, ip address
, and ipconfig
commands, for example.However, since IEEE 802.3 and IEEE 802.4 send the bytes over the wire, left-to-right, with least significant bit in each byte first, while IEEE 802.5 and IEEE 802.6 send the bytes over the wire with the most significant bit first, confusion may arise when an address in the latter scenario is represented with bits reversed from the canonical representation. For example, an address in canonical form would be transmitted over the wire as bits
01001000 00101100 01101010 00011110 01011001 00111101
in the standard transmission order. But for Token Ring networks, it would be transmitted as bits 00010010 00110100 01010110 01111000 10011010 10111100
in most-significant-bit first order. The latter might be incorrectly displayed as. This is referred to as bit-reversed order, non-canonical form, MSB format, IBM format, or Token Ring format, as explained in.