Ethernet/The radio room/Who is this frame for?
Lesson 4 of 12 · in 3D and VR

Who is this frame for?

Every Ethernet interface has a 48-bit MAC address, and a filter that keeps frames for that address, for broadcast and for the groups it accepts. One bit of the first byte decides one or many.

Lonely BinaryUpdated 2026-10-094 min readNo board required

View it in VR

Lesson 4 of the Ethernet course opens in a VR headset, on a table in front of you, and a voice starts three seconds after you arrive. Type this short address into the browser on a headset such as Meta Quest or Apple Vision Pro, and press Enter VR. No headset? Press Start the lesson: the same lesson, full screen.

learn.lonelybinary.com/vr/ethernet/4

Six bytes

A MAC address is 48 bits, written as six bytes: AC:DE:48:00:00:02. The first three bytes are often an organisation's identifier, assigned by the IEEE's registration authority, and the maker numbers the rest. The IEEE also hands out smaller blocks, so the three-and-three split is the common case, not a rule.

Every frame carries two of these: the destination, which says who the frame is for, and the source, which says who sent it.

One bit decides one or many

The lowest bit of the first byte sorts the destination. Clear, and the address names one interface: unicast. Set, and it names a group: multicast. AC is 10101100 in binary, so AC:DE:48:00:00:02 is for one interface; 01 ends in a 1, so 01:00:5E:00:01:01 is for a group.

All 48 bits set, FF:FF:FF:FF:FF:FF, is broadcast: everyone on the local network.

Everyone hears, the filter decides

On a shared channel every station sees every frame. What decides is the receive filter in each interface's MAC: it keeps frames for its own address, for broadcast, and for the groups it has been set to accept, and drops the rest.

So a group address does nothing until a station joins the group. A board that should receive a multicast stream but never set its filter to accept the group drops every frame of it.

Where the address comes from

A classic ESP32 has one base address programmed into eFuse at the factory, and derives an address for each interface from it. With the default of four universal addresses, the Ethernet address is that base plus three in the last byte. Configured for two, Ethernet gets a locally administered address instead, so read the address the driver reports rather than computing it. The board side is in Ethernet instead of Wi-Fi.

An address is usually set at the factory, but software can set another one, so the address on a label and the address on the wire can differ.

Not an IP address

A MAC address names an interface on one local network. It is not an IP address, and delivery by MAC address stays on the local network; a router forwards IP packets onto a new link. How the network learns which cable leads to which address is the next lesson.

Common mistakes

  • Treating the first three bytes as always the maker's. They are often an organisation's identifier, but not every address follows that split.
  • Expecting multicast to arrive without joining the group. The filter drops a group address the interface was not set to accept.
  • Hard-coding an ESP32's Ethernet address as base plus three. That is the default setting only; read the address the driver reports.

Edit this page — content/fundamentals/ethernet/who-is-this-frame-for.mdx

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Fundamentals on the forum →