Why ATM used cells instead of variable-length packets

A network switch must decide where each incoming piece of traffic goes. With variable-length packets, a switch may have to wait for a long packet to finish before it can begin sending another one. Asynchronous Transfer Mode (ATM) avoided that unevenness by dividing traffic into cells that were always the same size: 53 bytes each.

Each cell carried 48 bytes of payload—the user’s data—and a 5-byte header. The header held compact forwarding information, including identifiers for the virtual connection the cell belonged to. A switch could inspect that small label and send the cell onward without interpreting the message itself.

A smoother road, with extra handling

Because every cell took the same amount of time to transmit at a given link speed, switches could handle traffic in predictable, short turns. A large data transfer still required many cells, but it could not occupy the link for the duration of one enormous packet before other traffic got a chance to move. That made ATM useful for carrying mixed traffic, including time-sensitive voice and video, alongside ordinary data.

The fixed size also made switching hardware simpler: it could process cells in a regular stream rather than repeatedly dealing with packets of widely varying lengths. But ATM paid for that regularity. The network had to break larger messages into cells and reassemble them at the destination, and each cell spent 5 of its 53 bytes on its header. That is about 9 percent of each cell, before considering any other protocol overhead.

The tradeoff was deliberate: a little extra labeling and fragmentation bought a more predictable flow, where a burst of bulky data was divided into small pieces instead of monopolizing the link in one long turn.