Tech Behind ThingsHow the ordinary machinery actually works

Networks

A MAC Address Does The Job An IP Address Cannot

Two different addresses identify your device at once, one that changes with every network it joins and one burned in for delivery on the local wire.

Focused detail of a modern server rack with blue LED indicators in a data center.
Photograph by panumas nikhomkhai via Pexels
Editorial note. Independent reporting and analysis. Nothing here is sponsored or paid for. How we work.

Every network device carries two kinds of address at the same time. They exist because delivering a packet across the world and delivering it across a room are different problems with different requirements.

One address describes location, the other identity

An internet address is assigned by the network you are on and describes where you sit within it, which is what makes routing across the world possible.

A hardware address is assigned at manufacture and does not describe location at all. It identifies one network interface among all the interfaces that might share a wire.

Routers make decisions on the first, because it is structured. The second has no structure to reason about, which is exactly why it cannot be routed.

Delivery happens in local hops

A packet crossing the internet keeps the same internet addresses from origin to destination, since those identify the endpoints of the conversation.

At every hop, though, the packet is wrapped in a new frame addressed to the hardware address of the next device on that particular link, and unwrapped at the other end.

The internet address answers where this is ultimately going, and the hardware address answers who hands it along next. Both are needed at every step.

Resolution connects the two

A device that wants to send to an address on its own network must discover which hardware address holds it, which it does by broadcasting a request to everyone on the segment.

The device holding that address replies, and the answer is cached for a short period so the question does not have to be asked for every packet.

That cache is why a device given a new address can be briefly unreachable, since neighbors are still holding the old mapping until it expires.

The address is used for things it was not designed for

Because hardware addresses are globally unique and stable, networks came to rely on them for access control, device recognition and licensing.

They are also trivially changeable in software on most systems, so any security resting on them is a convenience rather than a control.

Their stability made them useful for tracking, since a device announcing itself while scanning for networks broadcast the same identifier everywhere it went.

Randomization broke the tracking and some networks

Modern operating systems now present a randomized address when scanning, and often a different one per network, so a device is not the same identifier in every building it passes through.

Networks that granted access by hardware address stopped working, since the device presents something new on each join and the list never matches.

The usual answer is to authenticate the user rather than the interface, which is what the address was never suited to prove in the first place.

Questions readers ask

Is a mesh system better than a single powerful router?

Only where coverage is the limitation. One well-placed unit serving a small flat will beat three nodes relaying through each other.

Do more nodes always improve things?

No. Each wireless hop costs airtime, and nodes that hear each other well compete for the same channel. Two good positions beat four poor ones.

Networkswirelesshome networkcoveragenetworking
Grigor Petrov
Hardware writer, Tech Behind Things

Grigor writes about silicon, thermals and the physical limits designers keep bumping into.

Also by Grigor Petrov