Ethernet Protocol: Understanding Frame Format, Length, and EtherType

ethernetprotocol-theory

Ethernet defines a 2 byte header for the payload's length in its frame format.

This header has an ambiguous meaning:

if smaller than or equal to 1500 it represents the payload length.

if greater or equal 1536 (0x600) it is to be considered as an EtherType used for mux/demux of frames to the upper layer.

How come they are in the same header? Are we not interested in expressing the payload's length if, for example, we are using etherType 0x0800 (IPv4)

Best Answer

Ethertype/length actually indicating the frame length is pretty much obsolete, it's redundant. Instead, the frame end is signaled on the physical layer by loss of carrier or a special end-of-data symbol (depending on the specific PHY).

You can read up the formal definition of the Length/Type field in IEEE 802.3 Clause 3.2.6.