7

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

I read so many articles never get the clarification?

  • 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 Dec 1 '13 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. – Mike Pennington Dec 1 '13 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 provide and accept your own answer. – Ron Maupin Aug 8 '17 at 15:27
10

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.

  • 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 Oct 29 '15 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 Feb 21 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. – Mike Pennington Apr 3 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 Apr 5 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 Apr 9 at 7:16
-1

The upper limit is not fixed at 1500, jumbo frames can go up to 9000 bytes, but it depends on network/application

https://en.wikipedia.org/wiki/Jumbo_frame

List of common MTUs https://en.wikipedia.org/wiki/Maximum_transmission_unit#IP_MTUs_for_common_media

  • 5
    The ethernet MTU is fixed at 1500 per the standard. Jumbo frames are non-standard, and each vendor does it differently (or maybe not at all). Some vendors do it differently on different switch models, or even on different interfaces on the same switch. In fact, your second link says, "Jumbo frames are usually only seen in special-purpose networks." – Ron Maupin Apr 3 at 12:20
  • OK, but the question doesn't say standard "specified" ethernet frame size – vaaz Apr 5 at 10:01
  • The question is, "Can anyone explain why the ethernet payload size is fixed between 46 and 1500 bytes ?" Your answers says, "The upper limit is not fixed at 1500." but the ethernet standard, IEEE 802.3, does have it fixed that way. There are lots of network standards, and, yes, many vendors violate those standards in different ways. The only way you can be sure that your heterogenous ethernet devices interoperate is to follow the standard where the ethernet MTU is 1500. – Ron Maupin Apr 5 at 12:55
  • ok got it, Thanks. – vaaz Apr 5 at 17:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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