802.3 Frames
802.3 Frames
- An Ethernet (802.3) frame is a single packet of data transmitted over an Ethernet connection at Layer 2.
- It consists of two parts: an Ethernet header and an Ethernet payload.
- The header contains destination and source MAC addresses and other control information
- The payload is either user data or Ethernet padding.
- It consists of two parts: an Ethernet header and an Ethernet payload.
- Frames are encoded and decoded into bits at Layer 2.
- An 802.1Q Frame inserts a Dot1Q Tag between the Source Address and the Ethertype sections
Ethernet Header
Bit Translation Reminder
1 byte = 8 bits = 2 Hex values
e.g., 0x86DD = 0b1000011011011101 = 0d34525
| Preamble | Start Of Frame (SOF) (802.3) | Destination Address | Source Address | (OPT) 802.1Q Tag | Length/Ethertype | Data | FCS |
|---|---|---|---|---|---|---|---|
| 7 or 8 Bytes | 1 byte (if header is 7 bytes) | 6 Bytes | 6 Bytes | 4 Bytes | 2 Bytes | Variable; 46-1500 bytes | 4 Bytes |
| Used to help sender/receiver sync | Marks the end of the preamble | MAC address | MAC address | Identifies VLAN and priority | What's encapsulated, IP Version (0x0800 for IPv4, 0x86DD for IPv6) | --- | Frame Check Sequence; ensures frames are not corrupted |
The Ethernet Header is composed of everything before the data; Preamble, SOF (Start of Frame)/SFD (Start Frame Delimiter), Addresses, an option 802.1Q tag (for VLANs), and Length/Type (typically)
- Preamble
- 7 bytes in 802.3 standard, 8 bytes in Ethernet standard
- Alternating 1s and 0s, beginning with 1, to help sender and receiver synchronize their clocks at the bit level
- SOF/SFD (802.3 only)
- 1 byte (8 bits)
- Ends with a 1 to signal the end of the preamble
- Bit pattern: 10101011
- Destination MAC
- 6 bytes
- Source MAC
- 6 bytes
- 802.1Q tag (optional, VLANs)
- EtherType (Ethernet) or Length (802.3)
- 2 bytes
- It is Length if the value is 0d1500 (0x05DC) or lower
- Maximum payload length is 1500 bytes
- A value of 1536 or greater in the Type/Length field indicates Type
- 0d1500 = 0x05DC, and is the highest "Length" value possible
- 0d1536 is equal to 0x0600, and so was an easy visual round-up from the 1500 byte data limit
- 3 common Types
- 0x0800 = IPv4
- 0x0806 = ARP
- 0x86DD = IPv6
- Payload (data)
- 46 to 1500 bytes
- FCS
- 4 bytes
- FCS uses a CRC (Cyclic Redundancy Check) algorithm to ensure frame integrity
- CRC errors will increase when a switch receives a frame that fails the CRC check
802.3 Frame Mnemonic
PreStart DmacSmac TEL Data FUCKS
Preamble: 7 bytes
SoF: 1 byte
DestMAC: 6 bytes
SrcMAC: 6 bytes
802.1Q tag: 4 bytes
Ethertype/Length: 2 bytes
Data: 46-1500 bytes
FCS: 4 bytes