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.
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.