NETKIT (original) (raw)

NETKIT: a software component-based approach to programmable networking

Computer Communication Review, 2003

While there has already been significant research in support of openness and programmability in networks, this paper argues that there remains a need for generic support for the integrated development, deployment and management of programmable networking software. We further argue that this support should explicitly address the management of run-time reconfiguration of systems, and should be independent of any particular programming paradigm (e.g. active networking or open signaling), programming language, or hardware/ operating system platform. In line with these aims, we outline an approach to the structuring of programmable networking software in terms of a ubiquitously applied software component model that can accommodate all levels of a programmable networking system from low-level system support, to in-band packet handling, to active networking execution environments to signaling and coordination.

NetIDE: First Steps towards an Integrated Development Environment for Portable Network Apps

2013 Second European Workshop on Software Defined Networks, 2013

Nowadays, while most of the programmable network apparatus vendors support OpenFlow, a number of fragmented control plane solutions exist for proprietary Software-Defined Networks. Thus, network applications developers are forced to re-implement their solutions every time they encounter a new network controller. Moreover, different network developers adopt different solutions as control plane programming language (e.g. Frenetic, Procera), severely limiting code sharing and reuse. Despite having OpenFlow as candidate standard interface between the controller and the network infrastructure, interoperability between different controllers and network devices is hindered and closed ecosystems are emerging. In this paper we present the roadmap toward NetIDE, an integrated development environment which aims at supporting the whole development lifecycle of vendor-agnostic network applications.

Open programmable architecture for java-enabled network devices

IEEE Hot Interconnects Stanford University, 1999

Current network devices enable connectivity between end systems given a set of protocol software bundled with vendor hardware. It is impossible for customers to add software functionality running locally on top of network devices to augment vendor software. Our vision is to open network devices so that customized software can be downloaded, allowing for more flexibility and with a focus on industry and customer specific solutions. This brings considerable value to the customer. We have chosen to use Java because we can reuse its security mechanism and dynamically download software. We can isolate the Java VM and downloaded Java programs from the core router functionality. We implemented Java Virtual Machines (JVMs) on a family of network devices, implemented an Open Services framework, and developed an SNMP MIB API and a Network API upon which we can demonstate the value of openness and programmability of network devices.

Development of a Design Framework for Platform-Independent Networked Reconfiguration of Software and Hardware

Lecture Notes in Computer Science, 2001

The rapid development of the Internet opens wide opportunities for various types of network services. Development of new network services need the support of a powerful design framework. This paper describes such a design framework that can help service providers to build platform independent hardware-software co-designed services. Those new services consist of both software and hardware components, which can be reconfigured through the network. The new design framework can be considered as a Java framework with a hardware extension. Part of the measurement results and an application demonstrator are given.

When Open Source Meets Network Control Planes

Computer, 2014

The advent of Software Defined Networking (SDN) is opening up interfaces to historically proprietary networking devices, promising improved orchestration and agility, lower cost of operations and, most importantly, a new wave of innovation. Networking and open source have been strange bedfellows in the past, but at the present time, a rich ecosystem is developing around SDN. In this article, we look at the state of open source as it pertains to the SDN stack and discuss its potential role in changing the networking software and hardware landscape. We discuss the availability and maturity of southbound and northbound APIs along the overall impact of SDN to standardization. We then delve into the RouteFlow architecture, an ongoing project to glue together open source IP routing stacks with OpenFlow networks. Along the way, we share some operational experiences of its use at a live Internet exchange (Cardigan Project), concluding that broader production deployments of open source enabled SDN stacks may be not that far away.

Management of Active and Programmable Networks

Journal of Network and Systems Management, 2006

This paper reviews the characteristics and methodologies developed by the programmable network and active network communities as complementary approaches making a significant contribution to the development of new architectures. It reviews the characteristics and methods developed for policy-based network management, specifically in the context of active networks. A network management overview of existing work in active and programmable networks is given. One such architecture is developed in the IST Project FAIN [A.3], [A.20]. FAIN is a three-year project, whose main task is to develop and validate an open, flexible, programmable and dependable network architecture based on novel active node concepts. The FAIN policy based network management is described.

A globally-applied component model for programmable networking

2004

We argue that currently developed software frameworks for active and programmable networking do not provide a truly generic approach to the development, deployment, and management of services. Furthermore, current systems are typically targeted at a particular level of the programmable networking design space (e.g. at low-level, in-band, packet forwarding; or at high-level signaling) and/or at a particular hardware platform. In addition, most existing approaches, while they may address the initial configuration of systems, neglect dynamic reconfiguration of running systems. In this paper we present a reflective component-based approach that addresses these limitations. We show how our approach is applicable at all system levels, can be applied in heterogeneous hardware environments (specifically, commodity PC-based routers and network processor-based routers), and supports both initial configuration and dynamic reconfiguration. We especially address the latter point; we show the viability of our approach in (re)configuring services on an Intel IXP1200 network processor-based router.

Protocol boosters: applying programmability to network infrastructures

IEEE Communications Magazine, 1998

This article describes a novel methodology for protocol design, using incremental construction of the protocol from elements called protocol boosters on an as-needed basis. Protocol boosters are an adaptation technique that allows dynamic and efficient protocol customization to heterogeneous environments. By design, the boosting mechanism is under control of a policy, which determines when augmentation is required. Thus, many portions of a protocol stack execute only as necessary, permitting significant increases in performance relative to general-purpose protocols. Design principles for protocol boosters are presented, as well as an example booster. Two implementation platforms are described: (1) an augmented Linux operating system, which is freely available to other researchers; and (2) a rapidly reprogrammable hardware prototype, called the Programmable Protocol Processing Pipeline (P4), which is based on off-the-shelf FPGA technology. Since protocol boosters are programmed functions and can be network-resident, a programmable network infrastructure is necessary to exploit their full capability. Thus, protocol boosters are an ideal application for an on-the-fly programmable network infrastructure

Towards software-friendly networks

Proceedings of the first ACM asia-pacific workshop on Workshop on systems, 2010

There has usually been a clean separation between networks and the applications that use them. Applications send packets over a simple socket API; the network delivers them. However, there are many occasions when applications can benefit from more direct interaction with the network: to observe more of the current network state and to obtain more control over the network behavior. This paper explores some of the potential benefits of closer interaction between applications and the network. Exploiting the emergence of so-called "software-defined networks" (SDN) built above network-wide control planes, we explore how to build a more "software-friendly network". We present results from a preliminary exploration that aims to provide network services to applications via an explicit communication channel.

Supporting Runtime Reconfiguration on Network Processors

Journal of Interconnection Networks, 2006

Network Processors (NPs) are set to play a key role in the next generation of networking technology. They have the performance of ASIC-based routers whilst offering a high degree of programmability. However, the programmability potential of NPs can only be realised with appropriate software. In this paper we argue that specialised software to support runtime reconfiguration is needed to fully exploit the potential of NPs. We first justify supporting runtime reconfiguration on NPs by offering real-world scenarios and discussing the issues associated with these. We then demonstrate how runtime reconfiguration can be achieved in practice through a case study of our component-based programming approach on the Intel IXP2400 NP.