Put the IP datagram after the Ethernet type
01An Internet Protocol version 4 (IPv4) datagram has its own header and data. Ethernet adds local-link addresses and a type field around it.
Separate input: EtherType 0806 selects Address Resolution Protocol (ARP). It is not fed into the IPv4 decoder merely because both protocols use Ethernet.
Source for this drawing: RFC 894 · Read RFC source: Frame Format (unnumbered) ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
EtherType 0800 selects IPv4; the IP header comes before its data.
- For the ordinary RFC 894 format, the Ethernet type field must contain hexadecimal 0800. The data field begins with the IP header, immediately followed by IP data.
- Ethernet uses 48-bit Media Access Control (MAC) addresses; IPv4 uses 32-bit IP addresses. They serve different layers and are not interchangeable.
- The datagram is transmitted as a series of 8-bit bytes. The example EtherType is the two bytes 08 00; 0806 identifies ARP instead, not a malformed IPv4 packet.
This guide uses untagged Ethernet and IPv4. A schematic Ethernet header has destination MAC, source MAC and type; FCS means Frame Check Sequence and is separate from the IP datagram. Field boxes are not bit-scaled. RFC 894 predates RFC 2119: retain its original must/should wording rather than inventing later capitalized requirement levels.
Read the RFC section ↗