8

Can anyone explain why the ethernet payload size is fixed between 46 and 1500 bytes ?

I read so many articles never get the clarification?

3
  • 4
    I think the minimum size is set so, to have time to detect collisions, not very relevant in modern networking when half-duplex is nearly gone. Maximum size is likely set so, to allow some guarantees from 4B FCS check, larger frame and you'd either lose some guarantees of FCS or you'd need more bytes in FCS.
    – ytti
    Commented Dec 1, 2013 at 11:05
  • @ytti, half duplex operation is officially included in the 1000BaseT spec, and IEEE has been very adamant about backwards compatibility. Saying it's not very relevant is besides the point. Half-duplex is included in every 802.3 compliant 1000BaseT PHY that's been manufactured. Commented Dec 1, 2013 at 13:10
  • Did any answer help you? if so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could post and accept your own answer.
    – Ron Maupin
    Commented Jan 3, 2021 at 19:17

1 Answer 1

11

The reason for 46 byte payloads:

According to paragraph 6.3.2.3 of the Ethernet V2 Spec, the minimum ethernet frame is based on the Ethernet Slot Time, which is 512 bit lengths (64 Bytes) for 10M ethernet. Slot time governs both maximum cable length and minimum frame size.

After subtracting 18 bytes for the ethernet header and CRC, you get 46 bytes of Ethernet payload as the minimum payload size.

Slot time (and thus the minimum frame size) is also closely related to Ethernet collision detection. Quoting An Introduction to Computer Networks, paragraph 2.1.2:

... a collision can be received, in principle, at any point up until the end of the slot time. As a result, Ethernet has a minimum packet size, equal to the slot time, ie 64 bytes (or 46 bytes in the data portion). A station transmitting a packet this size is assured that if a collision were to occur, the sender would detect it (and be able to apply the retransmission algorithm, below). Smaller packets might collide and yet the sender not know it, ultimately leading to greatly reduced throughput

Ethernet Slot Time was specified so CSMA/CD would correctly function. The minimum size of a frame is defined to make sure that its transmission takes enough time so that even with a shortest valid frame, a possible collision can be reliably detected; if the frame size is too small (with respect to the maximum cable length), deterministic collision detection would be impossible.

1500 byte payloads:

We have already discussed the reason for 1500 byte MTUs; please refer to that question for specifics.

Note: ytti's comment about the FCS limitation of ethernet is not the reason that 1500 bytes was chosen. It was chosen due to issues with interpreting the Length field in 802.3 encap frames vs the Type field in Ethernet II frames.

9
  • 1
    You write "minimum frame size does not exceed the longest possible length of cable" which I interpret the opposite to what is true. The minimum frame's transmission time must exceed the propagation time for the longest possible length of the cable for collision detection to properly work.
    – kll
    Commented Oct 29, 2015 at 12:58
  • I'd suggest "a minimum frame size is required to enable collision detection and signaling across the network while the sender is still transmitting".
    – Zac67
    Commented Feb 21, 2019 at 17:58
  • @kll, if you insist on the opposite of the minimum frame, then of course multiple minimum size frames could exist on the wire before a valid collision is detected. That's obviously not desirable. Commented Apr 3, 2019 at 17:34
  • @MikePennington four years later.. ;) I agree that it's undesirable to have multiple frames on the wire... but you say the minimum frame size should not exceed the longest possible length of cable, which seems wrong. If the cable length exceeds the frame size, then it allows for multiple frames, which we just agreed was undesirable, thus the frame size must exceed the cable length. Are you somehow using exceeding to mean the opposite to how I interpret it? Which direction is exceeding to you? Shorter / fewer bytes of the frame?
    – kll
    Commented Apr 5, 2019 at 10:39
  • @MikePennington we must somehow talk past each other. We agree minimum frame size is 64 bytes. That covers one RTT of max network diameter so we can reliably detect collisions. If frame size is 10 bytes we can't detect collisions because the cable length exceeds the frame size. Conversely, if the packet is 64 bytes or more the frame size exceeds the cable length and we can detect collisions. I think of the frame having a length since since when serialised on the cable it propagates with a certain speed and thus gets a length in the medium.
    – kll
    Commented Apr 9, 2019 at 7:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.