Router Hardware Limitations
Active network devices such as routers have performance limitations along various dimensions which, when exceeded, cause performance degradations. When designing a network, it is important to find a good trade-off between these various performance figures and other constraints such as cost, space and energy consumption. We present a few important performance parameters here, with a focus on routers. Note that much of this applies to other devices as well, e.g. ATM or Ethernet switches.
Forwarding Engine Capacity (pps or packets per second)
The rate at which the forwarding engine(s) can perform the necessary work to forward a packet. This is usually expressed a packets per second
(pps) for minimum-sized packets. It is important to understand that most router architectures
have a "fast path"
for the most common packets, but fall back to a "slow path"
in some situations. The pps figure is typically given for fast path switching. The difference between fast path and slow path switching capacities can be dramatic, in particular where there is hardware (ASIC or TCAM) support for the fast path, and the slow path is implementated on a general-purpose CPU.
with distributed forwarding, aggregate forwarding capacity is the product of per-engine capacity and the number of forwarding engines (often: line cards). In centralized-forwarding architectures, the forwarding capacity of the single engine is consumed by all interfaces/line cards.
Backplane/Fabric Capacity (Gb/s for the entire system)
An important function of a router is to transport data (packets) between interfaces. The data paths between interfaces are usually referred to as a backplane
or switching fabric
. They can range from simple bus architectures to complex multi-stage switching fabrics. Total backplane capacity typically becomes a bottleneck only in configurations with many interfaces of significant load, such as large backbone or aggregation routers.
Line Card Attachment Capacity (Gb/s per line card)
In high-speed networking, the capacity at which an individual line card can access the backplane is often a more important figure of merit than the aggregate backplane capacity. For simple bus systems, access speed and backplane capacity are identical, but switching fabric typically have much higher aggregate throughput than can be used between a single pair of interfaces. For example, the Cisco 7600 Supervisor 720 has a 720 Gb/s (unidirectional) aggregate switching fabric, but an individual line card can "only" use 40 Gb/s (unidirectional); so a single line card with more than two 10Gb/s interfaces can already "oversubscribe" the backplane slot, when the interfaces are used bidirectionally near their full capacity.
Depending on the level of congestion experienced at the router, the device should have enough memory to buffer (queue up) bursts of excess traffic. Depending on architecture
, buffer memory can be central/shared, or distributed over interfaces/line cards. To make matters more complicated, packets can be buffered on the input (ingress) or output (egress) interface. A common architecture (Virtual Output Queueing or VOQ) stores packets at the input interface, but logically separates them per output interface.
The proper dimensioning of router buffers has been an area of vivid research lately. See the topic on Sizing Network Buffers
for an overview.
- 10 Sep 2006