Summary
- RFC 1242 defined throughput as the highest offered-frame rate at which the device dropped none of those frames—not as a general score for performance or service quality.
- Latency, frame-loss rate, back-to-back bursts, overload, restart and single-frame behavior were separate evidence surfaces with their own conditions and units.
- Later BMWG documents added test procedures and scope limits, showing why a benchmark number must retain its frame size, load, direction, subject and laboratory context.
A vocabulary designed to resist the headline number
In July 1991, the IETF Benchmarking Methodology Working Group published RFC 1242. Its target was not a routing protocol or a new packet format. It was language: the terms used to describe tests of routers, bridges and related interconnection devices.
The memo opened with an unusually commercial problem. Vendors could engage in “specsmanship”, presenting selected figures in ways that made products hard to compare. RFC 1242 did not publish a league table or certify any device. It tried to make future claims legible by giving each term a fixed shape: a definition, a discussion, measurement units, issues and related terms.
That format mattered as much as any individual definition. It treated restrictions as part of a result. A rate without its frame size, direction, offered load and path was not a shorter version of the same evidence. It was evidence with identifying context removed.
Zero loss occupied one narrow boundary
RFC 1242 defined throughput as the maximum rate at which none of the offered frames were dropped by the device. The boundary was deliberately severe. Losing one frame could make a higher-layer protocol wait for recovery, so the useful marketplace figure was the maximum rate below that loss event.
But the memo did not allow the figure to float free. Measurements were to cover an assortment of frame sizes. Devices that routed and bridged required separate measurements. The issues list included single-path versus aggregate load, unidirectional versus bidirectional traffic and checksum processing.
A no-loss result therefore joined a particular stimulus to a particular observed response. It did not establish that the device would remain lossless at another frame size, with traffic in both directions, over several ports, with filters enabled or after control work consumed resources. It certainly did not establish an end-user service outcome.
Loss and delay answered different questions
Frame-loss rate was not simply failed throughput. RFC 1242 defined it under constant load as the percentage of frames that should have been forwarded but were not because resources were lacking. The result belonged on a graph of offered load against loss. That curve described behavior after the zero-loss boundary, not a replacement for the boundary.
Latency had its own measurement convention. For a store-and-forward device, time began when the last input bit arrived and ended when the first output bit appeared. For a bit-forwarding device, it began around the first input bit instead. Measurements were to span frame sizes without changing setup, because data rate and device behavior could otherwise become entangled.
The convention could even produce a negative store-and-forward value for a device that began transmitting early but remained classified by its error-handling behavior. That was not proof of time travel or a broken clock. It exposed what a convention does: it fixes observation points so different devices can be compared without pretending to know their internal design.
Zero loss and low delay could coexist, but neither implied the other. The same was true of variability. A single average could not make timing-sensitive applications disappear from the evidence.
A burst was not a sustained stream
The back-to-back term described fixed-length frames sent with the minimum legal separation for the medium, beginning from idle. Its result was a count of how many N-octet frames the device could absorb in a burst. RFC 1242 connected that result to buffering.
This was a different stress from sustained throughput. A device could drain its buffers while a burst was still arriving; another could accept a short burst yet fail to sustain the same frame rate. The distinction would later prove important enough for RFC 9004 to update the methodology. It required repeated trials, distribution statistics and a corrected buffer-time interpretation that used the measured throughput for the same frame size and traffic configuration.
RFC 9004 did not make the old term meaningless. It showed why “a large number of frames” was incomplete without search limits, repetition, forwarding rate and time. A result became more useful when its causal joins were made explicit.
Failure modes stayed outside the throughput cell
RFC 1242 also named overhead behavior: processing routing information, management requests, ICMP, IP options, fragmentation, errors, logging and ARP rather than ordinary forwarding. Its effect was to be observed through changes in other measurements.
Overloaded behavior began when demand exceeded resources. The memo asked what the device did when resources were exhausted, how it treated management traffic and how well it recovered. Those were not details to be inferred from the last successful throughput trial.
Restart behavior was another separate surface. Power-up, software reload, buffer flush or other reinitialization could interrupt forwarding. RFC 6201 later updated the term, defining reset time as the complete interval in which the device was out of operation, including reset and full forwarding recovery. It allowed loss-count and timestamp methods, each carrying its own tester capabilities and reporting conditions.
Even an isolated single frame deserved attention. Route calculation, ARP, permission checks or cache creation could make it slower than a frame in a steady stream. A device optimized for continuous traffic could therefore post an excellent sustained figure while treating the first event differently.
Methodology did not erase scope
RFC 2544 later turned the vocabulary into concrete tests and reporting formats. It warned that supported devices should run all applicable tests and that evaluation required repeatability, variance and statistical judgment. RFC 2285 distinguished the device under test from a system under test and separated intended load from the load actually observed at the test subject. RFC 2889 extended the method to LAN switching, where direction, mesh pattern, congestion, address learning and filtering changed the question being asked.
The strongest later boundary came from RFC 6815. RFC 2544 methods were designed for device benchmarking in an isolated test environment. They were not validated as tests of production network paths, and their overload traffic could harm shared users. Uncontrolled physical or link loss also defeats a search whose endpoint is zero loss.
That distinction protects both meanings. A laboratory benchmark can characterize a controlled device without claiming a live service. A production measurement can observe a path without borrowing the precision of a test whose conditions it cannot reproduce.
Sources and limits
The subject text is RFC 1242, with its RFC Editor record and IETF Datatracker record. Later official context comes from RFC 2544, RFC 2285, RFC 2889, RFC 6201, RFC 6815 and RFC 9004.
These sources establish terminology, methods, updates and applicability limits. They do not establish a named product result, a 1991 deployment, an adoption rate, a production path measurement or a service outcome. Later refinement is not evidence that every earlier result was wrong; it is evidence that interpretation requires the full test record.
Member Briefing
Deeper Profile Context
Sign in with the right membership level to unlock the full briefing and source notes.
Only for Strategic Circle
Strategic Circle
Open to all readers. Unlock profile briefings after joining and signing in.
Join Strategic CircleOnly for Leadership Alliance
Leadership Alliance
For qualified IP-asset owners and management; sign in to unlock alliance briefings.
Join Leadership Alliance
