Skip to main content

Table 3 Representative summary of important programmable networking concepts

From: Building programmable wireless networks: an architectural survey

Project

Framework

Year

Summary

Active control of network nodes

ANTS[77, 78]

Active Networking

1997

Java-based active networking toolkit proposed as part of the MIT’s ActiveWare[74] project.

SwitchWare[76]

Active Networking

1998

Active networking project at Uni. of Pennsylvania which focused on both security and performance issues.

CANEs[75]

Active Networking

1998/9

Composable Active Network Elements (CANEs) project at Georgia Tech.

Separation of the control Plane (CP) and the data plane (DP), and remote control of DP

Tempest[40]

OpenSig

1998

Programmable framework for safe control of ATM switches. Allowed multiple control architectures to coexist on the same network, and a safe partitioned environment for third party, or dynamically loaded, active code.

GSMP[79]

Pre-SDN

2002

General Switch Management Protocol (GSMP) proposed by an IETF working group to control a label switch.

ForCES[80]

Pre-SDN

2004

It defines a standardized interface between a network’s control elements (CEs) and forwarding elements (FEs).

RCP[81]

Pre-SDN

2004

This work proposed separating routing from routers and outsourcing it to a separate router control platform (RCP).

SoftRouter[82]

Pre-SDN

2004

SoftRouter proposed separation of the control plane functions from the packet forwarding functions.

4D[83]

Pre-SDN

2005

4D proposed an architecture with decision, dissemination, discovery, and data - i.e., the 4D - planes, to separate decision logic from distributed systems issues.

Routing as a service[84]

Pre-SDN

2006

Proposed the provision of offering customized route computation as a service by third party providers.

PCE architecture[85]

Pre-SDN

2006

Path-computation-element (PCE)-based architecture (RFC 4655) where the PCE is an application located within a network node, or on an out-of-network server.

CogNet[63]

Pre-SDN

2006

CogNet proposed separated CP and DP with an extensible global CP controlling the separated DPs through an API.

IRSCP[86]

Pre-SDN

2006

Proposed Intelligent Route Service Control Point (IRSCP) that allowed route selection to be performed outside the routers through external network intelligence.

SANE[87]

Pre-SDN

2006

SANE is a enterprise network security/ protection architecture implemented through a ‘logically centralized’ server.

Ethane[88]

Cusp of SDN-era

2007

Ethane proposed fine-grain control of simple flow-based Ethernet switches through a centralized controller.

OpenFlow[8]

SDN

2008

OpenFlow defines a southbound API/protocol standardized by ONF through which a separated dedicated controller can control multiple DPs remotely.

Open APIs

xbind[39]

OpenSig

1996

Toolkit developed at Columbia Uni. for creating broadband kernels - that program broadband ATM nets like PCs.

Mobiware[41]

OpenSig

1998

Programming QoS-aware middleware for mobile multimedia networking developed at Columbia University.

NetScript

OpenSig

1999

Language for programmable processing of packet streams.

OpenFlow[8]

SDN

2008

Southbound API standardized by ONF.

Floodlight API[8]

SDN

2012

A RESTful northbound API between the controller platform and the SDN Applications.

Juniper APIs[89]

SDN

2012

JunOS SDK, XML API (NetConf), and Contrail REST API supported.

Cisco ONE[90]

SDN

2012

Network APIs (including southbound API) specified by Cisco; supports EEM (tcl), Python Scripting.

OpenStack APIs[91]

Cloud/ SDN

2012

OpenStack Neutron (formerly Quantum) is a OpenStack subsystem for managing networks in a cloud environment.

Network virtualization

Virtual switches[39]

OpenSig

1996

Proposed virtualizing ATM switches as part of the xbind[39] project.

Switchlets[40]

OpenSig

1998

Proposed dynamically loadable code on a (partition of) ATM switches as part of the Tempest[40].

Virtual base stations[41]

OpenSig

1998

Proposed as part of the Mobiware[41] project subscribing to the OpenSig framework.

Routelets[42]

OpenSig

1999

Proposed in the Genesis[42] project.

PlanetLab[92, 93]

Overlays Networks

2003

Proposed overlays, virtualized slicing, and programmability for accelerating innovations in the Internet community.

FlowVisor[94]

SDN

2009

Virtualizes OpenFlow-based SDNs by carving out virtualized “slices” out of production networks[95].

SecondNet[96]

SDN/ Datacenters

2012

Proposes a virtual datacenter (VDC) abstraction as the unit of resource allocation for multiple tenants in the cloud.

Network virtualization platform (NVP)[97]

SDN/ Datacenters

2014

Proposed a overlay-based network virtualization platform (NVP) for use in production multitenant datacenters.