Building a robust software-based router using network processors
Tammo Spalink, Scott Karlin, Larry Peterson, Yitzchak Gottlieb
Abstract
Recent efforts to add new services to the Internet have increased
interest in software-based routers that are easy to extend and
evolve. This paper describes our experiences using emerging network
processors---in particular, the Intel IXP1200---to implement a
router. We show it is possible to combine an IXP1200 development
board and a PC to build an inexpensive router that forwards
minimum-sized packets at a rate of 3.47Mpps. This is nearly an order
of magnitude faster than existing pure PC-based routers, and
sufficient to support 1.77Gbps of aggregate link bandwidth. At
lesser aggregate line speeds, our design also allows the excess
resources available on the IXP1200 to be used robustly for extra
packet processing. For example, with 8 x 100Mbps links, 240 register
operations and 96 bytes of state storage are available for each
64-byte packet. Using a hierarchical architecture we can guarantee
line-speed forwarding rates for simple packets with the IXP1200,
and still have extra capacity to process exceptional packets with
the Pentium. Up to 310Kpps of the traffic can be routed through the
Pentium to receive 1510 cycles of extra per-packet processing.