Minimum Ethernet Frame or Packet Size

Here is my understanding about the reason behind the Minimum Ethernet Frame Size (64 Bytes).

The old Ethernet (10BASE5) LAN spread across the campus area of the university and the normal distance is around 2500 meters. Due the physical characteristic of cables, the network is segmented with 500 meter cables (see fig). Speed of this LAN is 10Mbps and the cables are coaxial (not CAT5).

Ethpkt64

Ethernet is a broadcast medium and at a time only one node should sent its frame on the medium. If more then one node is trying to send their frames, then collision will happen. To avoid collision, Ethernet is using the CSMA/CD technique. In Wire-line network, the device Transmit and Receive on a same medium. So it is easy to detect the collision just by sensing the media using CSMA/CD. But in Wireless network, Transmit and Receive is happening on different frequency and it can’t detect the collision. So it uses the CSMA/CA, the collision avoidance technique.

What is collision? Before the packet transmission, the Ethernet adapter will check the Ethernet medium for some signal. If it finds the medium is idle, then starts the transmission. Otherwise, it waits until the medium become idle and then transmits. During the packet transmission, if the adapter detects another transmission, then it aborts the transmission and sends jam signal – make sure all other transmitters are aware of collision, and it will backoff – Do not send any frame/packet and wait for some amount of time, as specified in the exponential backoff algorithm.

Some more details, refer the image. Now machine A sense no signal in the medium and start sending the 100 bytes packet. When it is sending the 50th byte, it detect some collision on the medium and immediately abort its transmission. Is it right? May be No! Why?

The Ethernet adapter will send the frame bits for some X uSec and pause the transmission to check for a collision on the medium and then continue. When it is checking like this, the 1st bit signal of current own packet hit the other end of network and echoed back in the opposite direction. Our device is still busy in sending the remaining bytes and checking for collision. If it detect the own frame’s echo as a collision then, it will wrongly stop the transmission. And if it does like this, it will never be able to successfully transmit a complete packet. So it should ignore this echo and continue its transmission.

But there is no special technique to differentiate the echo and collisions, then how to ignore the echo collision? The trick is timing, by the time the own frame echo is reaching back, all the other systems in the network detected a collision and stopped their transmission. So that the device can safely ignore this echo. Now the next question is, after how much time, it should start ignoring the collisions?

We can find this value using a simple calculation:

LAN Length (L) = 500 x 5 = 2500 Meters

Signal propagation delay on the Cable (S) = 200 Meters/uSec

Delay added by repeater (D) = ~3uSec x 2 (Bi-Direction) x 4 Repeaters = 24 uSec

Round Trip Delay (RTD) = (Total Distance/S) + Other Delays = (2L/S) + D = ((2 *  2500) /200) + 24 = 49 uSec

So we should start ignoring the collision after the RTD Time, 49uSec. For everyone to notice the collision, we should keep transmitting the bits for the RTD Time or more. So the minimum frame size must be greater then the number of bits that can be transmitted with-in the RTD time.

LAN Capacity (C) = 10Mbps

Bits transmitted with-in RTD = RTD x LAN Capacity = (49 x (10^-6)) x (10 x (10^6)) = 490 Bits.

Minimum Ethernet Frame/Packet size > 490 Bits

We will take the nearest big number with power of 8, is 512 Bits.

The minimum Ethernet Frame Size is 512/8 = 64 Bytes. The recent advancement in the Ethernet speed leads to the increase in the minimum frame size. But to maintain the backward compatibility the same minimum frame size retained. And instead of increasing the frame size, the length of the high speed Ethernet network is reduced. The Maximum frame size (1518 or 1522 for VLAN support) was decided to prevent a particular node from hogging the network for long time, efficient buffer handling, retransmission, error recovery, QoS, etc. The start and end of the Ethernet packets are detected using the special sequence called start/end delimiters.

Read about Relationship between Packet Size and Cable Length also

35 thoughts on “Minimum Ethernet Frame or Packet Size

  1. Hi Bharathi,It was a nice explanation. I have a general about MTU.When i send a ping with a size of say 4000 bytes, we can see 2 fragmented packets followed by a ping request. Similarly for Ping reply, we can see 2 fragmented packets followed by a ping reply. This is the actual working scenario.My doubt is, Maximum MTU of the NIC may be vary depending on the vendor. If MTU is say 1480 bytes, when the packets moves out from the NIC, we have Ethernet frame + Layer 3 packet + Data packet.Ethernet header size is 20 bytes, and IP header size is 20 bytes.So, if the NIC’s maximum MTU value is 1480, then we will be having a totalof 1480+20+20=1520 bytes. Even though this 1520 Bytes moves out from the NIC, but in First fragmentes packet, we can see Fragment offset as 0 , in second Fragmented packet we can see as 1480,in third Fragmented packet(Ping request Packet) we can see fragment offset as 2960. Here this fragment offset adding is done at the Layer3, how it adds Layer2’s Nic’s MTU here.Please Clarify.Thanks in Advance,Satish.

  2. Another Doubt is,In Ethernet 2, We have only 3 Fields Dest.MAC,Src.MAC and Type. There is no Data field and Length field. Only in 802.3 Ethernet type, we will be seeing DestMac,SrcMac,Type,Data,Length,FCS Fields.How the upper layer calculates packet length field, when i use Ethernet2 since there is no Lenght field??Please Clarify.Thanks in Advance,Satish

  3. If I understood your Q properly: 1. MTU is Maximum frame size, which is controlled at L2. L3 will fragment the packet based L2 MTU value.2. L3 or L4 has to know and record the data size in the packet, that they are sending to lower layer. At L2, start and end of the frame is identified by the Start and End of frame bit patterns. The Type filed, will help to understand the inter protocol headers and in-turn the size of the data.

  4. Really It is very useful and to the point explanation…U cant imagine how much it helped us……….Because it was asked in our exam Thanks……………………………..

  5. Oops, if it helped in solving the assignment then I indirectly spoiled your thinking process 🙂

  6. why is it said that the collision can be detected from 2nd bit to minimum frame size? I understand the minimum frame size limit . But why the first bit is excluded?

  7. That’s one of the best assignment, I have ever read in this community…You really emphasized on a point generally neglected by many people…

  8. Hi guys,nice conversastion,but i hsve seen pretty late.here i want to ask one question.As we are talking about the frame sizw from 64-1518.in real network who will define this sizes?if it is Test quipement we will send throuth the anylizer,where as if it is real network who will source the frame size and how we can know the frame size?please help me understand this.

  9. In real life, u can use Wireshark to capture your internet packets that u browse and see the header fields

  10. @Ramesh, in the real network, you cannot change the minimum frame size. But you can (only) reduce the maximum packet size using MTU. I don’t understand your 2nd part of Q.

  11. Thank you very much you helped me a lot with your explanation. But I have question similar to the one asked before: as far as i read and learned today we use Ethernet II frame that has only fields: Preamble,D_MAC,S_MAC, type, DATA, CRC. It has no field length to know how many bytes to receive. Furthermore 802.3/802.2 or SNAP that has additional values for length are not being used today and only Ethernet II.I saw an answer that inter frame gap allows that phy to stop and know that that an end of the frame, but what if the sender sends back to back and there is no IFG?So my Q is: How does the receiver know in L2 know the length of the frame with today tech?I hope you can help me understand this.Best regards.Nath.

  12. Hi Bharathi,My second question is in general while doing bench test we will define frame size for the Ethernet packet transmission like 64,128….1518.so depends on this the latency..etc parameters will varies.Now in real network there is a chance of getting different frame sizes right? So in real time suppose if i am using one switch which is supporting only 1518 frame size.then in that case if i send some jumbo frames ,my switch will drop those packets right? so how switch can know the frame size in real network.this is my question.

  13. @Nath: Even though Bharathi has answered for the same question in the above comments, i am still not clear. If you come to know the answer, please let me know.

  14. @Nath: Apart from IFG, the start and end delimiters will help to detect the start and end of the Ethernet frame. And there is no direct method to find the Ethernet Frame length. But by understanding the EtherType and the inter protocol fields only, we decide the length. Plz Ref: http://en.wikipedia.org/wiki/Ethernet_II_framing

  15. @Ramesh: Frame Size limitation is fixed at the NIC firmware level and oversize frame will be rejected and dropped by the interfaces.

  16. @Pratish, I hope. Power 8 is ease the calculation. But not sure :)@Anand, I am not sure about what you mean by 100Kbps bandwidth. For low bandwidth network, the min pkt size will be decided based on physical level limitations. I recommend you to go thru network doc for more specific info.

  17. @Anand, For example, I worked on Low bandwidth network called DECT. In that, packet size fixed around 40bytes. Nothing like minimum size.

  18. Hi Bharathi, can I have the explanation for the mininum ethernet frame size with a different scenario (no repeaters and LAN lenfth of 500m – NodeA & NodeB directly connected)?

  19. @ Bharathi, Round Trip Delay (RTD) = (Total Distance/S) + Other Delays = (2L/S) + D if Length is 500 M and 1 repeater is considered then, RTD = (2×500/200)+6 =11uS which is not correct. Can you please clarify?

  20. @Manjunath, You are right. But due to hardware design, practically, you cannot gain anything from length reduction.

Leave a reply to Pratish Cancel reply