> Routers are not non-blocking devices.  When an output port is blocked,
> packets going to that port must be either buffered or dropped.  While it's
> obviously possible to drop them, like ATM/FR carriers do, ISPs have found
> they have much happier customers when they do a reasonable amount of
> buffering.

the important thing to remember about bits per second (or packets per second
or anything else per second) is that it's not particularly granular compared
to modern link speeds.

if at the nanosecond when a packet has finished arriving (assuming that we're
not doing cut-through, which is a good assumption in the case of routers) the
selected output interface is still busy clocking out another packet, that by
itself does not indicate "congestion".  it might be that way way later on,
like at the end of the current second, that only 1% of the link output space
was filled.  packet arrival times aren't fractal, or anything like fractal.

so we buffer.  and because we measure "bits per second" we like to have enough
buffering to handle a output pipe worth of inconveniently-timed output events.
if the inconveniently-timed packet arrival times are such that more of them
arrive than could fit the pipeline between this router and the next one down
the line, then we need to (passively) signal the sender that they are trying
to put 11 gallons of gasoline into a 10 gallon hat.  so we drop in that case.

(smd, didn't you write this up for nanog several years ago?  encore?  encore?)

Reply via email to