PREAMBLE –
Ethernet frame starts with 7-Bytes Preamble. This is a
pattern of alternative 0’s and 1’s which indicates starting of the frame
and allow sender and receiver to establish bit synchronization. Initially,
PRE (Preamble) was introduced to allow for the loss of a few bits due
to signal delays. But today’s high-speed Ethernet don’t need Preamble
to protect the frame bits.
PRE (Preamble) indicates the receiver that frame is coming and allow
the receiver to lock onto the data stream before the actual frame
begins.
Start of frame delimiter (SFD) – This is a 1-Byte field which is always
set to 10101011. SFD indicates that upcoming bits are starting of the
frame, which is the destination address. Sometimes SFD is considered
the part of PRE, this is the reason Preamble is described as 8 Bytes in
many places. The SFD warns station or stations that this is the last
chance for synchronization.
Destination Address – This is 6-Byte field which contains the MAC
address of machine for which data is destined.
Source Address – This is a 6-Byte field which contains the MAC
address of source machine. As Source Address is always an individual
address (Unicast), the least significant bit of first byte is always 0.
Length – Length is a 2-Byte field, which indicates the length of entire
Ethernet frame. This 16-bit field can hold the length value between 0
to 65534, but length cannot be larger than 1500 because of some own
limitations of Ethernet.
Data – This is the place where actual data is inserted, also known
as Payload. Both IP header and data will be inserted here if Internet
Protocol is used over Ethernet. The maximum data present may be as
long as 1500 Bytes. In case data length is less than minimum length
i.e. 46 bytes, then padding 0’s is added to meet the minimum possible
length.
Cyclic Redundancy Check (CRC) – CRC is 4 Byte field. This field
contains a 32-bits hash code of data, which is generated over the
Destination Address, Source Address, Length, and Data field. If the
checksum computed by destination is not the same as sent checksum
value, data received is corrupted.
DA [Destination MAC Address] : 6 bytes
SA [Source MAC Address] : 6 bytes
Type [0x8870 (Ethertype)] : 2 bytes
DSAP [802.2 Destination Service Access Point] : 1 byte
SSAP [802.2 Source Service Access Point] : 1 byte
Ctrl [802.2 Control Field] : 1 byte
Data [Protocol Data] : > 46 bytes
FCS [Frame Checksum] : 4 bytes