The ONL NPR Tutorial

NPR Tutorial >> Overview TOC

New Window?

Overview of the ONL Architecture

[[ testbed-overview-resize.png Figure ]]

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.

Network-Processor Routers (NPRs) are our second generation routers. We have 14 NPRs, each with five ports. At the heart of an NPR is a high-performance IXP 2800 network processor. In particular, NPRs are built from Radisys network processor blades. Seven of these cards are mounted in a 14 slot ATCA (Advanced Telecommunications Computing Architecture) chassis. Each blade (an ATCA-7010 board) contains two complete NP subsystems, each with an Intel IXP 2800 network processor and has an IO card that supports ten gigabit Ethernet interfaces. We use each blade to implement two 5-port routers in order to maximize the number of routers that can be configured in a single experiment. An NPR performs all IP packet processing in software, including custom packet processing which is provided by the plugin subsystem.

All of the data interfaces on these network components are connected directly to a gigabit Ethernet configuration switch. Each host has two network interfaces: a control interface for configuration traffic and user access and a data interface for carrying packets in the experimental network.

Users interact with the testbed using the Remote Laboratory Interface (RLI) which is a graphical user interface (GUI) written in Java. The RLI is used to request and configure testbed components and to display performance metrics in real time. The RLI sends topology information to the testbed controller which then allocates hardware resources to the user and uses the configuration switch to connect the resources together.

Hardware resources are reserved ahead of time either through the RLI or through the ONL website. The advanced reservation system guarantees that resources are available when a user is ready to run his/her experiment. All assigned resources are given entirely to the user so that there can be no interference from other experiments. Users are also granted SSH access to hosts in their experiments so that they can log in to start traffic sources and sinks.


 Revised:  Tue, Aug 26, 2008 

  
  

NPR Tutorial >> Overview TOC