Most commonly refered to as a compromise between store-and-forward and cut-through switching, this method involves storing the first 64 bytes of the ethernet frame in a buffer and then forwarding it. The reasoning I find mentioned the most online goes something like:

It is because most errors occurs within the first 64 bytes of the frame

Now I have a couple of questions following this up.

  1. What kind of errors do they have in mind? There is no FCS field in the first 64 bytes. My speculation is that since cut-through suffers mostly from the problem of runt frames caused by collisions, this will check that the frame exists atleast until 64 bytes so as to prevent a late collision.

  2. If ethernet uses duplex which it mostly does in the modern world, why would there ever be a need to check for collisions? Wouldn't that eliminate the chances of runt frames from ever being produced?

  3. And finally, does fragment free by any chance relate to IPv4 fragmentation?
  • 1
    The 64byte line is to detect runts. That's all.
    – Ricky
    Jun 25 '19 at 23:24
  • 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 can provide and accept your own answer.
    – Ron Maupin
    Dec 15 '19 at 4:13

With cut-through switching, forwarding starts right after reception of the MAC destination address. This however may cause broken frames to be forwarded across a switch - simply because the frame integrity can only be checked when looking at the whole frame, from header to FCS.

In this context, fragment free means that a cut-through switch monitors the integrity of each frame while forwarding. When an ingress port exceeds a certain error rate the switch changes over to store-and-forward switching, limiting the overall number of forwarded, broken frames originating from malfunctioning ingress links.

It is because most errors occurs within the first 64 bytes of the frame

That isn't true. Error bits can be located anywhere within the frame.

If ethernet uses duplex which it mostly does in the modern world, why would there ever be a need to check for collisions?

With full duplex there can be no collisions. However, up to Fast Ethernet speed most device still support half-duplex mode. A cut-through switch with a half-duplex link could theoretically forward fragments from collisions on its half-duplex port. In practice, most cut-through switches use store-and-forward for HDX source ports (as part of the fragment-free strategy).

  • While I agree with what you've written, you don't seem to mention what exactly is the integrity check performed on the 64 bytes. Are the switches checking if the bits are present or not or are they performing some kind of calculation? I know that fragment free won't do a CRC on it.
    – Weezy
    Jun 26 '19 at 16:48
  • There is no integrity check for the first 64 bytes in Ethernet. On L2, there's only FCS for the whole frame, nothing else. Depending on the actual L1 PHY, there may be additional PCS level checks or FEC, but these are on line symbols or code groups. For IPv4 (L3) there's an IP header checksum that falls into the first 64 bytes, but IPv6 and other L3 protocols don't have that. Some transport-layer protocols (L4) also use header checksums but those differ as well.
    – Zac67
    Jun 26 '19 at 17:13

"fragment free" only makes sense if you have half duplex links, which means nowadays it is basically obsolete. Noone running a high-performance network today would use a half duplex link for anything important and half duplex links will almost certainly be running at a lower speed than the network backbone, so they would have to be store and forward switched anyway.

The purpose of "fragment free" switching is to prevent the switch from forwarding partial packets that result from collisions.

The ethernet physical layer doesn't just carry a sequence of data bits, it also carries framing and clocking information. Indeed "Ethernet II" frames don't even have a length field. It is up to the physical layer to tell the data link layer when frames begin and end.

SO while a receiver may not be able to detect corruption caused by random noise before the FCS has arrived, it can certainly detection collisions and aborted transmissions.

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.