Introduction and motivation for the Network Services Platform


[Home]
[Introduction]
[Documents]
[Design]

The Context

In the last decade, the Internet has undergone a fundamental transformation, from a small-scale network serving academics and select technology companies, to a global infrastructure serving people in all walks of life and all parts of the world. As the Internet has grown, it has become more complex, making it difficult for researchers and engineers to understand its behavior and that of its many interacting components. This increases the challenges faced by those seeking to create new protocols and technologies that can potentially improve the Internet's reliability, functionality and performance. At the same time, the growing importance of the Internet is dramatically raising the stakes. Even small improvements can have a big payoff.

While in the past it was sufficient to simply have fast networks, modern users (corporate and individual) have far greater expectations. In addition to an ever increasing demand for more bandwidth, users expect service that is reliable and has predictable performance. The data network will be compared to both the the telephone and broadcast networks for its ability to support interactive and real-time distribution services. To achieve this, network developers must provide control mechanisms that enable a user to explicitly, or implicitly, request minimum service levels for various real-time and non-real-time applications. For example, an interactive video conference session may require 2Mbps of bandwidth, less than 80msec end-to-end delay and bounded jitter.

Alternatively, there will also be a greater demand to provide application specific processing within the network. Simple examples include the caching or migration of data closer to the end users. Or perform data transcoding functions when crossing domains or networks with differing capabilities. Specialized distribution networks with behave as networks within networks (overlay networks) will also be required. The underlying device implementations as well as the network control policies and mechanisms must support both the application specific requirements and performance differing.

However, simply providing the required raw bandwidth and quality of service is not sufficient. Service providers, both ISPs and application servers, require mechanisms for monitoring and controlling access to services. This necessitates the development of cooperative protocols and devices that support dynamic allocation, monitoring and processing within network devices. The basic network devices, however, must provide ever increasing performance: we need fast and smarter devices. This requires the development of advanced hardware platforms, application specific processing within the network and QoS aware signaling and management protocols.

The Problem

The growing performance demands of the Internet have made the internal design of high performance routers far more complex. Routers now support large numbers of gigabit links and use dedicated hardware to implement many protocol processing functions. Functionality is distributed among the line cards that interface to the links, the control processors that provide high level management and the interconnection network that moves packets from inputs to outputs. The highest performance systems use multistage interconnection networks capable of supporting hundreds or even thousands of 10 Gb/s links. To understand how such systems perform, one must work with systems that have the same architectural characteristics. A single processor with a handful of relatively low speed interfaces, uses an architecture which is both quantitatively and qualitatively very different. The kinds of issues one faces in systems of this sort are very different from the kinds of issues faced by designers of modern high performance routers. If academic research is to be relevant to the design of such systems, it needs to be supported by systems research using comparable experimental platforms.

In this context, experimental studies aimed at understanding how Internet routers perform in realistic network settings are essential to any serious research effort in Internet technology development. Currently, academic researchers have two main alternatives for experimental research in commercial routers and routing software. With commercial routers, researchers are using state-of-the-art technology but are generally limited to treating the router as a black box with the only access provided by highly constrained management interfaces. The internal design is largely hidden, and not subject to experimental modification. The other alternative for academic researchers is to use routing software, running on standard computers. Open source operating systems, such as Linux and NetBSD have made this a popular choice. This alternative provides the researcher with direct access to all of the system's functionality and provides complete extensibility but lacks most of the advanced architectural features found in commercial routers, making such systems unrealistic.

The breadth and specialization of research required for modern networks requires a complementary architectural model, software framework and hardware platform. It is not adequate to simply use a host computer with one or more network interfaces as a research platform. The host approach does not adequately model modern routers.

The Solution

The solution it to build an open research platform that is representative of modern architectures, is relatively convenient to add new functions in either software modules or embedded hardware (using FPGAs) and has an existing framework supporting a broad range of functions.

This document discuses the overall architecture, design and implementation of the ARL MultiService Router (MSR). The MSR has been designed in order to create a networking research platform which meets the following goals:

  • A) Relevance - Must support advanced hardware and software constructs· reflective of the current state of the art. Performance must also be on the scale of commercially available routers.
  • B) Extensible Architecture - must provide a basic framework and architectural model that supports adaptation and extension. Core processing functions must be provided while allowing more efficient or optimal substitutions to be made. It must also be relatively straight forward to add now functions or proactively reconfigure and study the impact of different architectural or algorithmic decisions on the overall behavior of the router. A related requirement is support for the natural partitioning of functionality between the somewhat fluid hardware and software boundary (i.e. is extensible and supports the intermixing of hardware and software modules). It must also support the addition, or deletion, of functions. The core processing function must include:
  • C) Breadth of Function - the MSR must support the following set of· operations and processing requirements:
    1. Per Flow Application specific processing (aka Active Networking);
    2. Conventional IP routing;·
    3. Per Flow resource guarantees (QoS);
    4. Fair sharing of resources across all best effort (non-reserved) flows and flow aggregates.
    5. Advanced mechanisms for implementing various control and administration functions such as security, accounting and resource management.


Last updated 01/23/02 by fredk@arl.wustl.edu