Columbia University
DCC Lab ABone Testbed
The Active Network Backbone (ABone)
is a virtual testbed for the
Active Networks
research program funded by the
DARPA ATO
(moved from ITO).
The DCC Laboratory
at Columbia University
participates in the ABone by providing a testbed
of 14 Intel PCs running
RedHat GNU/Linux.
In addition to serving as a distributed testbed for Active Networks
research, the Columbia ABone nodes are being used to develop and
demonstrate technologies developed at the DCC laboratory. The two
technologies demonstrated are
NESTOR,
an architecture for automating network configuration management,
and VAN,
a technology for creating Virtual Active Networks.
Contact:
Alexander V. Konstantinou
[ akonstan@cs.columbia.edu ]
1. Node Configuration
Each DCC Lab ABone node is configured as follows:
- RedHat Linux 7.1 (with the latest updates/patches) plus
the Sun Microsystems Java
Virtual Machines and Development Kits (versions 1.1.8, 1.3.1, 1.4.0)
- The latest version of the
Active Networks Daemon (Anetd) with five Execution Environments (EEs)
running under the standard
ABone roles (anpub, abocc, anee1 ... anee5)
- A NESTOR Anetd adapter instrumenting the configuration
of the Anetd instances running on each host into a NESTOR repository.
- A VAN Local Manager Daemon supporting virtual interface
creation on each Columbia ABone testbed host.
- Any additional EEs deployed by other ABone users
(e.g. the SNMP Anetd instrumentation agent by Livio Ricciulli)
In addition, a single server host is configured with:
- A NESTOR repository service the ABONE Anetd agents
- A NESTOR Virtual Active Network (VAN) adapter
instrumenting the configuration of the VAN Virtual Domain Server (VDS)
to the NESTOR repository.
2. Topology
The Columbia ABone nodes are configured in a flat switched topology. A
Virtual link has been created between two nodes to demonstrate VAN
functionality.
3. Browsing the ABONE NESTOR Repository
It is possible to browse the configuration of the Columbia ABONE nodes using
the NESTOR browser. The browser is a pure-Java application that can be
executed using Sun's Java Web Start application.
3.1 Requirements
- Install Sun's Java Web Start application. Web-start is now part of the latest version of the
Java Standard Edition (1.4),
or can be downloaded separately.
- Accept execution of an untrusted application: NESTOR clients must have
permission to open a server socket to receive asynchronous notification of
events from the repository. Unfortunately, Web Start has a limited security
policy mechanism in which applications may only create server sockets if
they are given ALL permissions (including file read/write,
etc). It is therefore required that users execute the browser with full
privileges (this issue will be addressed in future releases).
3.2 Starting the Java NESTOR Browser
3.3 Screenshot
A screen-shot of the browser is shown below. Note that the browser will be
executing with guest privileges which means that the repository configuration
may not be modified.
3.4 Brief Usage Instructions
- The tree panel, on the left, lists the classes of objects that are
available in the NESTOR ABone repository. Each class may be expanded
to list all its instances.
- Selecting a class node in the tree opens a class introspection panel
on the right, listing the attributes, relations and inheritance of this
class.
- Selecting an object node in the tree opens an object instance panel
on the right, listing the values of the object's attributes and relations.
Objects listed in a relation may be navigated-to by clicking the
Go button.
- The Topology menu can be used to visualize the topology of
the network.
3.5 Troubleshooting
- Q: When clicking on the start link the browser offers to save the target
as a file (with extension JNLP).
A: Sun's Java WebStart is not installed on your machine Install it
separately, or as part of the
Java JRE/JDK version > 1.4.0.
- Q: The browser appears but no repository and/or classes are listed.
A: Once the browser starts it must contact the repository, download
the repository proxy and perform some class initializations. This
process may take up to a minute on a slow machine. If the problem
persists, then it is likely that a firewall and/or DNS issue is
involved. The current prototype cannot be executed behind a firewall
(the next major release will include an alternate RMI communications
stack that will support callback over an existing TCP connection).
4. Additional Services
DARPA Active Networks researchers may request a development kit that will
enable them to instrument their applications in the NESTOR repository.
Developers will receive repository accounts allowing them to create and
maintain objects. Please send e-mail to akonstan@cs.columbia.edu for more information.
5. About NESTOR
NESTOR is an architecture
for automating network configuration management. Configuration in NESTOR
is expressed in a unified object-relationship model. Instances of the
model are stored in distributed repositories supporting transactional
access. Changes to the model are only committed if the satisfy a set
of declarative constraints expressed in a constraint language. Additionally,
changes in part of the model may be propagated (as in spreadsheets) through
the use of acyclic propagation rules. The model is mapped to the real
world through a set of adapters. More information on NESTOR can
be obtained in the project's
web-site.
A prototype of NESTOR has been built and includes an object repository,
a standard API for remote client access, a graphical browser for
navigating repository objects and visualizing topology, and adapters
for various systems including Linux hosts, SNMP MIB-2 devices,
CISCO switches, CISCO routers,
Virtual Active Networks (VANs) and the Active Network Daemon (AnetD).
[ DCC Lab Home ]