The Open Network Laboratory (ONL) is a remotely accessible gigabit network testbed designed to enable network researchers to conduct experiments using high performance routers and applications. Generation 1 of the testbed contained Network Service Platform (NSP) routers which are still in-use. Each NSP is an 8-port router with port processors at each port connected by an ATM switch. Packets traveling along the fast path are processed by the Field Programmable port eXtender (FPX) while custom processing was handled by software running on the Smart PortCard (SPC). Thus, a port processor couples the Field Programmable Gate Array (FPGA) technology in the FPX with a general-purpose embedded processor in the SPC. The current version of the testbed adds Network Processor Routers (NPRs) to the mix. The NPRs are based on ATCA boards condtaining IXP network processors. We also hope to add NetFPGA systems and hardware traffic generators to the testbed in the near future.
ONL's Remote Laboratory Interface (RLI) allows users to easily configure a network topology, initialize and modify the routers' routing tables, packet classification tables and queuing parameters. It also enables users to insert software plugins along the packet processing path, enabling the introduction of new functionality. The routers provide a large number of built-in counters to track various aspects of system usage, and the RLI software makes these available through easy-to-use real-time charts. This allows researchers to expose what is happening under the surface enabling them to develop the insights needed to understand system behavior in complex situations and to deliver compelling demonstrations of their ideas in a realistic operating environment. This tutorial is structured to provide both a quick overview of ONL as well as detailed instructions on the use of its features. Each section covers a group of RLI features (e.g., basics, filters and queues, router plugins) and begins with a quick tour of the features, emphasizing how the ONL can be used to carry out associated networking experiments. This introduction is followed by detailed instructions on and examples of the RLI features. Each section ends with implementation details that describe what is required under the hood to support the various features.
The Open Network Laboratory consists of experimental gigabit routers (NPRs and NSPs), rack-mounted Linux PCs (serving as end systems and control processors), gigabit Ethernet switches (for constructing virtual network topologies), and a testbed controller (for orchestrating the construction of virtual networks).
The Network Service Processors (NSPs) are our first generation routers (not shown). We have four NSPs, each with eight ports. In a standard configuration, each port contains a programmable hardware (FPGA) packet processor and an embedded, general-purpose processor which hosts plugin code for custom packet processing. Some PCs connected to NSPs are directly attached to specific NSPs while others are dynamically connected to NSPs on a demand basis.
What Can You Do With ONL?
The RLI allows a remote user to easily configure experiments and monitor components (e.g., traffic, queues). Users can evaluate new and existing protocols and applications in a realistic testbed. They can add new features to routers by loading software into the embedded processors of the NSPs or microengines of the NPRs. The extensive support for real-time data visualization allows users to develop the insights needed to understand the behavior of new capabilities and allows researchers to deliver compelling demonstrations of their research ideas in a realistic operating environment.