Skip Navigation

NETKIT

Lancaster University

Welcome to the NETKIT Project Home Page

 

The NETKIT project is exploring an approach to programmable networking that is inspired by the way in which middleware technology has revolutionised the (related) field of distributed applications. We believe this to be a highly promising and exciting approach that can leverage current research on specific programmable networking techniques and make these techniques significantly easier to deploy, integrate, extend and manage. In more detail, we are developing a generic, language-independent, component-based toolkit for programmable networking systems. This is building on our existing OpenCOM/ OpenORB component/ middleware technology, and is addressing all levels of programmable networking in an integrated manner from in-band packet handling on routers to high level signaling protocols. Our aim is to encompass all current programmable networking paradigms (e.g. open signaling, active networking, and application-level active networking approaches), and to support, in a uniform manner, the configuration, reconfiguration and runtime management of programmable network systems at all system levels.

Some major research issues that are being addressed are:

-     performance (can we adequately implement low-level functions like packet scheduling in a middleware-derived component model environment?);

-     system dependability (can we provide useful generic support for consistency and integrity management, security and safety, etc?);

-     hardware architecture independence (can we effectively mask the architectural differences between different router architectures so that they can be programmed and managed in a consistent manner?).

The use of Intel IXP1200 programmable router technology is central to our work in this third area.

We gratefully acknowledge Intel's contribution of IXP1200/IXP2400 routers and related equipment to our project.

Our specific objectives are:

-     To investigate the design and implementation of a generic programmable networking toolkit, NETKIT, that supports a wide range of application areas (e.g., ubiquitous computing, ad-hoc networking, dynamic private virtual networks and GRID infrastructures), can accommodate all existing programmable networking paradigms (e.g., active networking, open signaling and application level active networking), and can run transparently on heterogeneous hardware (e.g. standard PC hardware and Intel IXP1200s).

-     To investigate the provision of sophisticated runtime management support in the toolkit so that programmable networking systems can be reconfigured (and extended) at runtime with support from the toolkit in terms of (e.g.) inspecting existing configurations, managing resources, and automatically maintaining integrity across reconfiguration operations.

-     To evaluate the toolkit through application scenarios. The most important of these will be a NETKIT-based  re-implementation of Columbia University’s Genesis Kernel.