Cut-through switching

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

In computer networking, cut-through switching is a method for packet switching systems, wherein the switch starts forwarding a frame (or packet) before the whole frame has been received, normally as soon as the destination address is processed. Compared to store and forward, this technique reduces latency through the switch and relies on the destination devices for error handling. Pure cut-through switching is only possible when the speed of the outgoing interface is equal to the incoming interface speed.

Adaptive switching dynamically selects between cut-through and store and forward behaviors based on current network conditions.

Cut-through switching is closely associated with wormhole switching.[1][2]

Use in Ethernet

When cut-through switching is used in Ethernet, because the frame check sequence appears at the end of the frame, the switch is not able to verify the integrity of an incoming packet before forwarding it. A cut-through switch will forward corrupted packets, whereas a store and forward switch will drop them.[3]

The technology was developed by Kalpana, the company that introduced the first Ethernet switch.[4]

Fragment free is a variation on cut-through switching that partially addresses this problem by assuring that collision fragments are not forwarded. Fragment free will hold the frame until the first 64 bytes are read from the source to detect a collision before forwarding. This is only useful if there is a chance of a collision on the source port.[5]

The theory here is that frames that are damaged (usually by collisions) are often shorter than the minimum valid ethernet frame size of 64 bytes. With a fragment-free buffer the first 64 bytes of each frame, updates the source MAC and port if necessary, reads the destination MAC, and forwards the frame. If the frame is less than 64 bytes, it is discarded. Frames that are smaller than 64 bytes are called runts; this is why fragment-free switching is sometimes called “runt less” switching. Because the switch only ever buffers 64 bytes of each frame, Fragment Free is a faster mode than Store and Forward, but there still exists a risk of forwarding bad frames.[6]

Use in Fibre Channel

Cut-through switching is the dominant switching architecture in Fibre Channel due to the low-latency performance required for SCSI traffic. Brocade has implemented cut-through switching in its Fibre Channel ASICs since the 1990s and has been implemented in tens of millions of ports in production SANs worldwide. CRC errors are detected in a cut-through switch and indicated by marking the corrupted frame EOF field as "invalid". The destination devices (host or storage) sees the invalid EOF and discards the frame prior to sending it to the application or LUN. Discarding corrupted frames by the destination device is a 100% reliable method for error handling and is mandated by Fibre Channel standards driven by Technical Committee T11. Discarding corrupted frames at the destination device also minimizes the time to recover bad frames. As soon as the destination device receives the EOF marker as "invalid", recovery of the corrupted frame can begin immediately. With store and forward, the corrupted frame is discarded at the switch forcing a SCSI timeout and a SCSI retry for recovery that can result in delays of tens of seconds.

Use in ATM

Cut-through switching was one of the important features of IP networks using ATM networks since the edge routers of the ATM network were able to use cell switching through the core of the network with low latency at all points. With higher speed links, this has become less of a problem since packet latency has become much smaller.

Use in InfiniBand

Cut-through switching is very popular in InfiniBand networks, since these are often deployed in environments where latency is a prime concern, such as supercomputer clusters.

Use in SMTP

A closely allied concept is offered[7] by the Exim mail transfer agent. When operating as a forwarder the onward connection can be made to the destination while the source connection is still open. This permits data-time rejection (due, for example, to content-scanning) by the target MTA to be notified to the source MTA within the SMTP connection, rather than the traditional bounce message necessitated by the more usual store-and-forward operation.

References

  1. Stefan Haas. "The IEEE 1355 Standard: Developments, Performance and Application in High Energy Physics". 1998. p. 59.
  2. Patrick Geoffray; Torsten Hoefler. "Adaptive Routing Strategies for Modern High Performance Networks". ISBN: 978-0-7695-3380-3. 2008. p. 2.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.

External links

  • Lua error in package.lua at line 80: module 'strict' not found.