Type a branch, a subject or a topic — “round robin”, “paging”, “civil”.

Circuit vs Packet Switching

The choice the internet made, shown as the same three conversations sharing one link two different ways.

Skip to the animation

Circuit switching reserves capacity along a path before any data moves, so the rate is guaranteed and idle time is wasted; packet switching sends self-contained packets with no reservation at all, so capacity is never wasted and nothing is guaranteed.

Circuit switching

Before a single byte of data is sent, a setup phase walks the path from sender to receiver. Each switch along the way reserves capacity and records that traffic on this circuit leaves by that port. Only once the far end agrees does data start to flow, and at the end a teardown releases everything.

  • The rate is guaranteed for the life of the call — nothing another user does can slow you down.
  • Delay is constant, because there is no queueing: your capacity is always free when you want it.
  • Switches are simple and fast — no per-packet decision, just a lookup of which circuit this is.
  • Data arrives in order, since every bit follows the same physical path.

The cost is that a reservation cannot tell a pause from an ending. Computer traffic is bursty — a request, a long silence, a reply — so the reserved capacity sits idle most of the time. And when everything is reserved, a new caller is blocked outright rather than being served slowly.

Packet switching

Chop the message into packets, put the full destination address on each one, and send. There is no setup and nothing is reserved. Each switch receives a whole packet, decides where it goes, and forwards it — which is why the technique is called store and forward.

Because nobody owns capacity, whenever one sender pauses another gets the whole link. This is statistical multiplexing, and it is the reason a link can be sold to far more users than it could ever serve at once: bursty senders are rarely all busy simultaneously.

Statistical multiplexing is a bet on traffic patterns, not a guarantee. When the bursts do coincide, queues fill and packets are dropped — the loss is the deferred cost of the efficiency.

Store and forward, and where the delay comes from

A switch cannot start forwarding a packet until it has all of it, because it cannot verify the checksum otherwise. So each hop costs one full transmission time before anything moves on.

  • Transmission delay — pushing the bits onto the link: packet size ÷ bandwidth.
  • Propagation delay — the bits travelling the distance: length ÷ speed of signal. Buying a faster link does not change this.
  • Queueing delay — waiting behind other packets. The only variable one, and the one congestion is made of.
  • Processing delay — checking the header and looking up the route. Small, and usually ignored.

Sending L bits over N identical hops takes N × (L ÷ R) plus propagation — the classic exam calculation, and the direct consequence of store-and-forward.

Message switching, for completeness

The historical middle option: store and forward the whole message rather than packets. No reservation, so it shares links, but a switch must hold an entire message before passing it on — so delay is enormous and every switch needs a big disk. Packets are just message switching with a size limit, and that limit is what makes pipelining across hops possible.

The comparison, in the form it is usually asked

CircuitPacket
Setup before sendingyesno
Capacity reservedyes, for the whole callnever
Path per unit of dataone fixed pathmay differ per packet
Address carried in datano — circuit id onlyyes, full destination
Delayconstantvariable
Order of arrivalguaranteednot guaranteed
Under overloadnew calls blockedeveryone slows, packets dropped
Efficiency with bursty trafficpoorhigh
Switch complexitylowhigher — a decision per packet

Why the internet chose packets

Data traffic is bursty, and reservation punishes burstiness. But the deeper reason is architectural: with no per-connection state in the switches, a router can fail and traffic simply routes around it, because everything needed to deliver a packet is written on the packet.

The guarantees were not abandoned, only moved to the edges. TCP notices a missing packet and asks again; the routers never knew there was a connection. Keeping the network simple and the hosts clever is the end-to-end argument, and it is the single decision the rest of this subject is built on.

Advantages and disadvantages

Advantages

  • Packet switching: no idle reserved capacity, so a link carries far more users.
  • Packet switching: no setup delay — the first packet leaves immediately.
  • Packet switching: no per-connection state in switches, so failures are routed around.
  • Circuit switching: guaranteed rate and constant delay, which real-time media likes.

Disadvantages

  • Packet switching: variable delay, reordering and loss, all of which the ends must repair.
  • Packet switching: per-packet header and per-packet routing decision is pure overhead.
  • Circuit switching: capacity is wasted whenever the sender pauses.
  • Circuit switching: setup delay before anything is sent, and blocking when full.

Watch it work

loading visualisation…

Check yourself

question 1 / 4

One question at a time. Pick an answer to see why it is right or wrong, then move on — there is no score to keep and nothing is saved.

A circuit is set up and then the sender goes quiet for ten seconds. What happens to the reserved capacity?
Under heavy load, how do the two approaches fail differently?
Why must a packet switch receive an entire packet before forwarding any of it?
Statistical multiplexing lets a link carry more users than it could serve at once. What is the catch?

0 / 4

4 still unanswered — the dots above jump straight to them.