Ethernet Frame

Yes we are here again to the Ethernet!! We have learnt about what is Ethernet and how it works from the top. Now we will get little deeper by dissecting it! Woo, that sounds little biological. But yes, we will make the operation successful.

We are already aware that data is transmitted in the form of chunks of data known as data packets. It doesn’t specify any particular layer of networking, but referred for all. At Ethernet level, these packets are known as Ethernet frame. It is a highly structured collection of data arranged in a specific order. These are the encapsulated data layers defined by Network Access layer.

Ethernet Frame. Image: Study-cnn

Preamble: It is the first layer of Ethernet frame. It is actually of 64 bits or 8 bytes long. It is again split into two. The first seven bytes are alternating series of ones and zeroes. This acts as a bridge between the frames and also used by the networking devices to synchronize to regulate the speed in which the data is sent. Preamble informs the receiver that the frame is coming and allow the receiver to lock on to the stream before the actual frames start.

Start Frame Delimiter (SFD): It is one byte long and always set to 10101011. This indicate that the preamble is over and the actual frame contents will flow. This is a part of the preamble, hence referred along with the preamble as 8 bytes.

Destination MAC address: We have already discussed what is a MAC address. If not remember, here we go.

A quick recap: A MAC address is a hardware identification number (unique) that is used to identify a device over a network. It is a 48-bit number grouped into six groups of two hexadecimal numbers. More?

So, destination MAC address is a 6 byte long field that has the destination address i.e. MAC address of the intended recipient. This follows SFD.

Source MAC address: It is also a 6 byte long field that has the source address i.e. from where the data is being transmitted or originated.

Type or Ethernet TypeField: It describes the protocol of data in the frames. We can sometimes find VLAN header where Ethernet TypeField follows it. Any frame with a VLAN tag will only be delivered out of a switch interface configured to relay that specific tag.

Data and Pad or Data Payload: Type is followed by this field. A payload is the actual data that is being transmitted. It can be of anywhere between 46-1500 bytes. It has all the data that isn’t in the header, from all the higher layers i.e. application, transport and IP.

Frame Check Sequence (FCS): Payload frame is followed by this field. This is a 4-byte or 32-bit number that represents a checksum value for the entire frame. This checksum value is calculated by performing a cyclical redundancy or CRC check against the frame. The reason it’s included in the Ethernet frame is so that the receiving network interface can infer if it received uncorrupted data. When a device gets ready to send an Internet frame, it collects all the information like the destination and originating MAC addresses, the data payload and so on. Then it performs a CRC against that data and attaches the resulting checksum number as the frame check sequence at the end of the frame.

If the checksum computed by the receiving end doesn’t match the checksum in the frame check sequence field, the data is thrown out. This is because some amount of data must have been lost or corrupted during transmission. It’s then up to a protocol at a higher layer to decide if that data should be retransmitted. Ethernet itself only reports on data integrity. It doesn’t perform data recovery.

Neologism

Virtual Local Area Network (VLAN): It’s a technique that allows us to have multiple LANs on a single physical equipment. This is usually used to segregate different forms of traffic. We can have a single physical network that operates like it’s multiple LANs.

Cyclical Redundancy Check (CRC): A cyclical redundancy check or CRC, is an important concept for data integrity and is used all over computing, not just network transmissions. A CRC is basically a mathematical transformation that uses polynomial division to create a number that represents a larger set of data. This number is what we called checksum.

References:

Leave a comment