An Ethernet frame carries a payload of data and is carried by an Ethernet packet. The frame could be IPv4 or IPv6 and TCP or UDP. The IEEE 802.3 standard defines the structure of each packet. As a packet traverses different layers, the structure is modified accordingly. In the following figure, the structure is displayed as it would traverse the wire, or Layer 1. Dissecting how a packet is structured on the wire lends to an understanding of how the packet overhead is affected and all the other components required to send a payload.
Figure 21. Ethernet packet
An Ethernet packet on the wire at Layer 1 is composed of the following fields:
- Interpacket Gap: Serves as a gap between each frame, similar to a spacer. The Interpacket gap is only part of Layer 1. The field originates from a time when hubs were common, and collisions were more commonplace.
- Preamble: Composed of alternating 1 and 0 bits for receiver clock synchronization. The Preamble is only part of Layer 1.
- Start Frame Delimiter: Identifies the start of an Ethernet frame.
- Destination MAC: Contains the MAC address of the destination station for which the data is intended.
- Source MAC: Contains the MAC address of the sending station.
- VLAN 802.1Q: Optional field used if a VLAN is identified.
- Type: Also known as the EtherType field, this defines the type of protocol that is encapsulated in the payload. In the preceding example, it is an Ethernet II Frame, the most widely accepted type.
- Payload: Spans from 46 to 1,500 bytes and contains user data. If it is smaller than 46 bytes, blank values are entered to bring this up to 46 bytes, which is the minimum value. The Payload consists of protocol data for TCP, UDP, or RTP and IPv4 or IPv6. The next section explains the Payload field in greater depth.
- CRC: Cyclic Redundancy Check is part of the Frame Check Sequence (FCS) to detect errors within the frame. The CRC code should result in a zero if the data does not contain any errors.