scispace - formally typeset
Search or ask a question
Journal ArticleDOI

A Survey of Software-Defined Networking: Past, Present, and Future of Programmable Networks

13 Feb 2014-IEEE Communications Surveys and Tutorials (Institute of Electrical and Electronics Engineers (IEEE))-Vol. 16, Iss: 3, pp 1617-1634
TL;DR: The SDN architecture and the OpenFlow standard in particular are presented, current alternatives for implementation and testing of SDN-based protocols and services are discussed, current and future SDN applications are examined, and promising research directions based on the SDN paradigm are explored.
Abstract: The idea of programmable networks has recently re-gained considerable momentum due to the emergence of the Software-Defined Networking (SDN) paradigm. SDN, often referred to as a ''radical new idea in networking'', promises to dramatically simplify network management and enable innovation through network programmability. This paper surveys the state-of-the-art in programmable networks with an emphasis on SDN. We provide a historic perspective of programmable networks from early ideas to recent developments. Then we present the SDN architecture and the OpenFlow standard in particular, discuss current alternatives for implementation and testing of SDN-based protocols and services, examine current and future SDN applications, and explore promising research directions based on the SDN paradigm.

Summary (5 min read)

Introduction

  • And often they need to accomplish these very complex tasks with access to very limited tools.
  • Because of its huge deployment base and the fact it is considered part of their society’s critical infrastructure (just like transportation and power grids), the Internet has become extremely difficult to evolve both in terms of its physical infrastructure as well as its protocols and performance.
  • In Section V, the authors discuss several SDN applications in areas such as data centers and wireless networking.

II. EARLY PROGRAMMABLE NETWORKS

  • SDN has great potential to change the way networks operate, and OpenFlow in particular has been touted as a “radical new idea in networking” [67].
  • The working group is officially concluded and the latest standards proposal, GSMPv3, was published in June 2002.
  • The premise is that control and management functions of the many devices (ATM switches in the case of DCAN) should be decoupled from the devices themselves and delegated to external entities dedicated to that purpose, which is basically the concept behind SDNs.
  • The protocol allowed network devices to expose an API through which extensible configuration data could be sent and retrieved.
  • The immediate predecessor to OpenFlow was the SANE / Ethane project [34], which, in 2006, defined a new network architecture for enterprise networks.

III. SOFTWARE-DEFINED NETWORKING ARCHITECTURE

  • Data communication networks typically consist of enduser devices, or hosts interconnected by the network infrastructure.
  • As mentioned previously, the so-called Internet “ossification” [71] is largely attributed to the tight coupling between the data– and control planes which means that decisions about data flowing through the network are made on-board each network element.
  • The deployment of new network applications or functionality is decidedly nontrivial, as they would need to be implemented directly into the infrastructure.
  • As visualized in Figure 1, the separation of the forwarding hardware from the control logic allows easier deployment of new protocols and applications, straightforward network visualization and management, and consolidation of various middleboxes into software control.

A. Current SDN Architectures

  • The authors review two well-known SDN systems, namely ForCES [40] and Openflow [71].
  • ForCES defines a logic entity called the Forwarding Element (FE), that implements the ForCES protocol, i.e. the communication protocol between FEs and CEs, and is responsible for using the underlying hardware to provide per-packet handling.
  • The protocol works based on a master-slave model, where FEs are slaves and CEs are masters.
  • Driven by the SDN principle of decoupling the control– and data forwarding planes, OpenFlow [71], like ForCES, standardizes information exchange between the two planes, also known as OpenFlow.
  • In the OpenFlow architecture, the forwarding device, or OpenFlow switch, contains one or more flow tables.

B. Forwarding Devices

  • Forwarding devices such as switches and routers in a software-defined network are often represented as basic forwarding hardware accessible via an open interface, as the control logic and algorithms are off-loaded to a controller.
  • Hybrid switches support OpenFlow in addition to traditional operation and protocols.
  • Some recent proposals [68], [74] have advocated adding a general-purpose CPU, either onswitch or nearby, that may be used to supplement or take over certain functions and reduce the complexity of the ASIC design.
  • Preliminary results reported show a packet switching throughput increase up to 25% compared to the throughput of regular software-based OpenFlow switching.
  • Simulation validation of the proposed model is presented.

D. Southbound Communication: Controller-Switch

  • An important aspect of SDNs is the link between the data-plane and the control-plane.
  • As forwarding elements are controlled by an open interface, it is important that this link remains available and secure.
  • The OpenFlow protocol can be viewed as one possible implementation of controller-switch interactions, as it defines the communication between the switching hardware and a network controller.
  • For security, OpenFlow 1.3.0 provides optional support for encrypted TLS communication and a certificate exchange between the switches/controller(s); however, the exact implementation and certificate format is not currently specified.
  • Also outside the scope of the current specification are fine-grained security options regarding scenarios with multiple controllers, as there is no method specified to only grant partial access permissions to an authorized controller.

E. Northbound Communication: Controller-Service

  • External management systems or network services may wish to extract information about the underlying network or control an aspect of network behavior or policy.
  • Additionally, controllers may find it necessary to communicate with each other for a variety of reasons: an internal control app may need to reserve resources across multiple domains of control, a primary controller may need to share policy information with a backup, etc.
  • Unlike controller-switch communication, there is no currently accepted standard for northbound interactions and they are more likely to be implemented on an ad hoc basis for particular applications.

IV. SDN DEVELOPMENT TOOLS

  • SDN facilitates network evolution and innovation by allowing rapid deployment of new services and protocols.
  • The authors provide an overview of currently available tools and environments for developing SDN-based services and protocols.

A. Emulation and Simulation Tools

  • Mininet [64] allows an entire OpenFlow network to be emulated on a single machine, simplifying the initial development and deployment process.
  • New programs can first be developed and tested on an emulation of the anticipated deployment network before moving to the actual hardware.
  • The ns-3 [55] network simulator supports OpenFlow switches within its environment, though the current version only implements OpenFlow v0.89.

B. Available Software Switch Platforms

  • There are currently several SDN software switches available that can be used, for example, to run a SDN testbed or when developing services over SDN.
  • Table I presents a list of current software switch implementations with a brief description including implementation language and the OpenFlow standard version that the current implementation supports.

C. Native SDN Switches

  • One of the main SDN enabling technologies currently being implemented in commodity networking hardware is the OpenFlow standard.
  • But rather give a brief list of a few options on what is currently available in the market and give a status about OpenFlow version compliance.the authors.
  • One clear evidence of industry’s strong commitment to SDN is the availability of commodity network hardware that are OpenFlow enabled.
  • Table II lists commercial switches that are currently available, their manufacturer, and the version of OpenFlow they implement.

D. Available Controller Platforms

  • Table III shows a snapshot of current controller implementations.
  • Below, the authors provide a brief overview of the controllers listed in Table III. POX [17] is a general, open-source SDN controller written in Python. NOX [49] was the first OpenFlow controller written in Python and C++. MUL [9] is an OpenFlow controller that has a C-based multi-threaded infrastructure at its core.
  • Maestro [30] is a network operating system based on Java; it provides interfaces for implementing modular network control applications and for them to access and modify network state.
  • Included in Table III are also two special purpose controller implementations: Flowvisor [89], mentioned previously, and RouteFlow [79].
  • The routing engines generate the forwarding information base (FIB) into the Linux IP tables according to the routing protocols configured (e.g., OSPF, BGP).

E. Code Verification and Debugging

  • Verification and debugging tools are vital resources for traditional software development and are no less important for SDN.
  • The main benefit of this approach is that it is protocol-agnostic; it will also catch errors that result from faulty switch firmware or inconsistencies with the control plane communication.
  • VeriFlow [60] has a similar goal, but goes further by proposing a real-time verification tool that resides between the controller and the forwarding elements.
  • Other efforts propose debugging tools that provide insights gleaned from control plane traffic.
  • STS [19] is a software-defined network troubleshooting simulator.

V. SDN APPLICATIONS

  • Software-defined networking has applications in a wide variety of networked environments.
  • By decoupling the control– and data planes, programmable networks enable customized control, an opportunity to eliminate middleboxes, as well as simplified development and deployment of new network services and protocols.
  • Below, the authors examine different environments for which SDN solutions have been proposed or implemented.

A. Enterprise Networks

  • Enterprises often run large networks, while also having strict security and performance requirements.
  • Furthermore, different enterprise environments can have very different requirements, characteristics, and user population, For example, University networks can be considered a special case of enterprise networks: in a University environment, many of the connecting devices are temporary and not controlled by the University, further challenging security and resource allocation.
  • Additionally, Universities must often provide support for research testbeds and experimental protocols.
  • In the case of more complex middleboxes with functionalities that cannot be directly implemented without performance degradation (e.g., deep packet inspection), SDN can be used to provide unified control and management[46].
  • The work presented in [86] addresses the issues related to consistent network updates.

B. Data Centers

  • Data centers have evolved at an amazing pace in recent years, constantly attempting to meet increasingly higher and rapidly changing demand.
  • Heller et al. [53] indicates that much research has been focused on improved servers and cooling (70% of total energy) through better hardware or software management, but the data center’s network infrastructure (which accounts for 10-20% of the total energy cost) still consumed 3 billion kWh in 2006.
  • While simplified traffic management and visibility are useful, it must be sensibly balanced with scalability and performance overheads.
  • The OpenRoads project [109], [108] envisions a world in which users could freely and seamlessly move across different wireless infrastructures which may be managed by various providers.
  • Based on the idea of separation of the decision and forwarding planes, an operator may express decision plane rules and corresponding actions, which are assembled from processing plane modules (e.g., FFT, Viterbi decoding, etc); the end result is a state machine that expresses a fully-functional protocol.

D. Home and Small Business

  • Several projects have examined how SDN could be used in smaller networks, such as those found in the home or small businesses.
  • As these environments have become increasingly complex and prevalent with the widespread availability of lowcost network devices, the need for more careful network management and tighter security has correspondingly increased.
  • Poorly secured networks may become unwitting targets or hosts for malware, while outages due to network configuration issues may cause frustration or lost business.
  • Calvert et al. [31] assert that the first step in managing home networks is to know what is actually happening; as such, they proposed instrumenting the network gateway/controller to act as a “Home Network Data Recorder” to create logs that may be utilized for troubleshooting or other purposes.

A. Controller and Switch Design

  • SDN raises significant scalability, performance, robustness, and security challenges.
  • Below the authors review a number of research efforts focusing on addressing these issues at the switch– and controller design level.
  • The work proposed in [74] advocates replacing counters on ASIC by a stream of rule-matching records and processing them in the CPU to allow efficient access to counters.
  • FLARE [78] is a new network node model focusing on “deeply programmable networks” that provides programmability for the data plane, the control plane, as well as the interface between them.
  • The work presented in [26] discusses important aspects in controller design including hierarchical control, data model, scalability, and extensibility.

B. Software-Defined Internetworking

  • The Internet has revolutionized the way we, as individuals and as a society, live, work, conduct business, socialize, get entertainment, etc.
  • As a result, the Internet is now considered part of their society’s critical infrastructure much like the power, water, and transportation grids.
  • This has led the research community to examine “clean-slate” solutions [44].
  • Environments whose administration is inherently decentralized, like the Internet, call for a control plane that is logically distributed.
  • The work in [83] proposes a software-defined Internet architecture that borrows from MPLS the distinction between network edge and core to split tasks between inter-domain and intradomain components.

C. Controller-Service Interaction

  • While controller-switch (“southbound”) interaction is fairly well defined in protocols such as OpenFlow and ForCES, there is no standard for interactions between controllers and network services or applications (“northbound”).
  • One possible explanation is that the northbound interface is defined entirely in software, while controller-switch interactions must enable hardware implementation.
  • Procera [102] builds a policy layer on top of existing controllers to interface with configuration files, GUIs, and external sensors; the proposed policy layer is responsible for converting highlevel policies to flow constraints given to be used by the controller.
  • Other SDN controllers can be used as a network backend to support virtualization in cloud operating systems, such as Floodlight for OpenStack [5] and NOX for Mirage [2].

F. Heterogeneous Network Support

  • In the meantime, mobile traffic has been increasing exponentially over the past several years, and is expected to increase 18–fold by 2016, with more mobile-connected devices than the world’s population, which is already a reality [22].
  • Self-organizing networks (e.g., wireless multi-hop ad-hoc networks) may form to extend the range of infrastructure-based networks or handle episodic connectivity disruptions.
  • This is due to a number of factors including the use of shared physical medium compounded, wireless channel impairments, and the absence of managed infrastructure.
  • While previous work has examined the use of SDN in wireless environments, the scope has primarily focused on infrastructure-based deployments (e.g., WiMAX, Wi-Fi access points).

VII. CONCLUDING REMARKS

  • The authors provided an overview of programmable networks and, in this context, examined the emerging field of Software-Defined Networking (SDN).
  • In Proceedings of the 2010 internet network management conference on Research on enterprise networking, pages 3–3.

Did you find this useful? Give us your feedback

Content maybe subject to copyright    Report

HAL Id: hal-00825087
https://hal.inria.fr/hal-00825087v2
Submitted on 17 Jun 2013 (v2), last revised 19 Jan 2014 (v5)
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entic research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diusion de documents
scientiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
A Survey of Software-Dened Networking: Past,
Present, and Future of Programmable Networks
Marc Mendonça, Bruno Nunes Astuto, Xuan Nam Nguyen, Katia Obraczka,
Thierry Turletti
To cite this version:
Marc Mendonça, Bruno Nunes Astuto, Xuan Nam Nguyen, Katia Obraczka, Thierry Turletti. A
Survey of Software-Dened Networking: Past, Present, and Future of Programmable Networks. 2013.
�hal-00825087v2�

IN SUBMISSION 1
A Survey of Software-Defined Networking: Past,
Present, and Future of Programmable Networks
Marc Mendonca, Bruno Astuto A. Nunes, Xuan-Nam Nguyen, Katia Obraczka, and Thierry Turletti
Abstract—The idea of programmable networks has recently re-
gained considerable momentum due to the emergence of the
Software-Defined Networking (SDN) paradigm. SDN, often re-
ferred to as a “radical new idea in networking”, promises to dra-
matically simplify network management and enable innovation
through network programmability. This paper surveys the state-
of-the-art in programmable networks with an emphasis on SDN.
We provide a historic perspective of programmable networks
from early ideas to recent developments. Then we present the
SDN architecture and the OpenFlow standard in particular,
discuss current alternatives for implementation and testing SDN-
based protocols and services, examine current and future SDN
applications, and explore promising research directions based on
the SDN paradigm.
Index Terms—Software-Defined Networking, programmable
networks, survey, data plane, control plane, virtualization.
I. INTRODUCTION
C
OMPUTER networks are typically built from a large
number of network devices such as routers, switches and
numerous types of middleboxes with many complex protocols
implemented on them. Network operators are responsible for
configuring policies to respond to a wide range of network
events and applications. They have to manually transform
these high level-policies into low-level configuration com-
mands while adapting to changing network conditions. And
often they need to accomplish these very complex tasks with
access to very limited tools. As a result, network management
and performance tuning is quite challenging and thus error-
prone. The fact that network devices are usually vertically-
integrated black boxes exacerbates the challenge network
operators and administrators face.
Another almost unsurmountable challenge network practi-
tioners and researchers face has been referred to as ”Internet
ossification”. Because of its huge deployment base and the
fact it is considered part of our society’s critical infrastructure
(just like transportation and power grids), the Internet has
become extremely difficult to evolve both in terms of its phys-
ical infrastructure as well as its protocols and performance.
However, as current and emerging Internet applications and
services become increasingly more complex and demanding,
it is imperative that the Internet be able to evolve to address
these new challenges.
The idea of “programmable networks” has been proposed as
a way to facilitate network evolution. In particular, Software
Bruno Astuto A. Nunes, Xuan-Nam Nguyen and Thierry Turletti
are with INRIA, France, {bruno.astuto-arouche-nunes, xuan-nam.nguyen,
thierry.turletti}@inria.fr
Marc Mendonca and Katia Obraczka are with UC Santa Cruz, {msm,
katia}@soe.ucsc.edu
Defined Networking (SDN) is a new networking paradigm
in which the forwarding hardware is decoupled from con-
trol decisions. It promises to dramatically simplify network
management and enable innovation and evolution. The main
idea is to allow software developers to rely on network
resources in the same easy manner as they do on storage
and computing resources. In SDN, the network intelligence
is logically centralized in software-based controllers (at the
control plane), and network devices become simple packet
forwarding devices (the data plane) that can be programmed
via an open interface (e.g., ForCES [40], OpenFlow [71], etc).
SDN is currently attracting significant attention from both
academia and industry. A group of network operators, ser-
vice providers, and vendors have recently created the Open
Network Foundation [13], an industrial-driven organization,
to promote SDN and standardize the OpenFlow protocol [71].
On the academic side, the OpenFlow Network Research Cen-
ter [14] has been created with a focus on SDN research. There
have also been standardization efforts on SDN at the IETF and
IRTF.
The field of software defined networking is quite recent, yet
growing at a very fast pace. Still, there are important research
challenges to be addressed. In this paper, we survey the state-
of-the-art in programmable networks by providing a historic
perspective of the field and also describing in detail the SDN
paradigm and architecture. The paper is organized as follows:
in Section II, it begins by describing early efforts focusing
on programmable networks. Section III provides an overview
of SDN and its architecture. It also describes the OpenFlow
protocol. In Section V, we discuss several SDN applications in
areas such as data centers and wireless networking. Section IV
describes existing platforms for developing and testing SDN
solutions including emulation and simulation tools, SDN con-
troller implementations, as well as verification and debugging
tools. Finally, Section VI discusses future research directions
related to SDN.
II. EARLY PROGRAMMABLE NETWORKS
SDN has great potential to change the way networks oper-
ate, and OpenFlow in particular has been touted as a “radical
new idea in networking” [67]. The proposed benefits range
from centralized control, simplified algorithms, commoditizing
network hardware, eliminating middleboxes, to enabling the
design and deployment of third-party ‘apps’.
While OpenFlow has received a considerable amount of
industry attention, it is worth noting that the idea of pro-
grammable networks and decoupled control logic has been

IN SUBMISSION 2
around for many years. In this section, we provide an overview
of early programmable networking efforts, precursors to the
current SDN paradigm that laid the foundation for many of
the ideas we are seeing today.
a) Open Signaling: The Open Signaling (OPENSIG)
working group began in 1995 with a series of workshops
dedicated to “making ATM, Internet and mobile networks
more open, extensible, and programmable” [32]. They believed
that a separation between the communication hardware and
control software was necessary but challenging to realize; this
is mainly due to vertically integrated switches and routers,
whose closed nature made the rapid deployment of new
network services and environments impossible. The core of
their proposal was to provide access to the network hardware
via open, programmable network interfaces; this would allow
the deployment of new services through a distributed program-
ming environment.
Motivated by these ideas, an IETF working group was
created, which led to the General Switch Management Protocol
(GSMP) [39], a general purpose protocol to control a label
switch. GSMP allows a controller to establish and release con-
nections across the switch, add and delete leaves on a multicast
connection, manage switch ports, request configuration infor-
mation, request and delete reservation of switch resources, and
request statistics. The working group is officially concluded
and the latest standards proposal, GSMPv3, was published in
June 2002.
b) Active Networking: Also in the mid 1990s, the
Active Networking [95], [96] initiative proposed the idea
of a network infrastructure that would be programmable for
customized services. There were two main approaches being
considered, namely: (1) user-programmable switches, with in-
band data transfer and out-of-band management channels;
and (2) capsules, which were program fragments that could
be carried in user messages; program fragments would then
be interpreted and executed by routers. Despite considerable
activity it motivated, Active Networking never gathered crit-
ical mass and transferred to widespread use and industry
deployment, mainly due to practical security and performance
concerns [76].
c) DCAN: Another initiative that took place in the mid
1990s is the Devolved Control of ATM Networks (DCAN) [4].
The aim of this project was to design and develop the
necessary infrastructure for scalable control and management
of ATM networks. The premise is that control and management
functions of the many devices (ATM switches in the case
of DCAN) should be decoupled from the devices themselves
and delegated to external entities dedicated to that purpose,
which is basically the concept behind SDNs. DCAN assumes
a minimalist protocol between the manager and the network,
in the lines of what happens today in proposals such as
OpenFlow. More on the DCAN project can be found at [73].
Still in the lines of SDNs and the proposed decoupling of
control and data plane over ATM networks, amongst others,
in the work proposed in [99] multiple heterogeneous control
architectures are allowed to run simultaneously over single
physical ATM network by partitioning the resources of that
switch between those controllers.
d) 4D Project: Starting in 2004, the 4D project [87],
[48], [29] advocated a clean slate design that emphasized
separation between the routing decision logic and the pro-
tocols governing the interaction between network elements.
It proposed giving the “decision” plane a global view of the
network, serviced by a “dissemination” and “discovery” plane,
for control of a “data” plane for forwarding traffic. These ideas
provided direct inspiration for later works such as NOX [49],
which proposed an “operating system for networks” in the
context of an OpenFlow-enabled network.
e) NETCONF: In 2006, the IETF Network Configu-
ration Working Group proposed NETCONF [42] as a man-
agement protocol for modifying the configuration of network
devices. The protocol allowed network devices to expose an
API through which extensible configuration data could be sent
and retrieved. Although the protocol accomplishes the goal
of simplifying device (re)configuration and acts as a building
block, there is no separation of the data and control plane.
A network with NETCONF should not be regarded as fully
programmable as any new functionality would have to be
implemented at both the network device and the manager for
management to take place; furthermore, it is designed primar-
ily to aid automated configuration and not for enabling direct
control of state data. Nevertheless, it is a useful management
tool that may be used in parallel on hybrid switches supporting
other solutions that enable programmable networking.
The working group is currently active and the latest pro-
posed standard was published in June 2011.
f) Ethane: The immediate predecessor to OpenFlow was
the SANE / Ethane project [34], which, in 2006, defined a new
network architecture for enterprise networks. Ethane’s focus
was on using a centralized controller to manage policy and
security in a network. A notable example is providing identity-
based access control. Similarly to SDN, Ethane employed
two components: a controller to decide if a packet should
be forwarded, and an Ethane switch consisting of a flow table
and a secure channel to the controller.
Ethane laid the foundation for what would become
Software-Defined Networking. To put Ethane in the context of
today’s SDN paradigm, Ethane’s identity-based access control
would likely be implemented as an application on top of a
SDN controller such as NOX [49], Maestro [30], Beacon [1],
SNAC [20], Helios [6], etc.
III. SOFTWARE-DEFINED NETWORKING
ARCHITECTURE
Data communication networks typically consist of end-
user devices, or hosts interconnected by the network infras-
tructure. This infrastructure is shared by hosts and employs
switching elements such as routers and switches as well as
communication links to carry data between hosts. Routers and
switches are usually “closed” systems, often with limited-
and vendor-specific control interfaces. Therefore, once de-
ployed and in production, it is quite difficult for current
network infrastructure to evolve; in other words, deploying
new versions of existing protocols (e.g., IPv6), not to mention
deploying completely new protocols and services is an almost

IN SUBMISSION 3
Software
Control
Traditional Network
(with distributed control and middleboxes)
Software-Defined Network
(with decoupled control)
Fig. 1. The SDN architecture decouples control logic from the forwarding
hardware, and enables the consolidation of middleboxes, simpler policy
management, and new functionalities.
insurmountable obstacle in current networks. The Internet,
being a network of networks, is no exception.
As mentioned previously, the so-called Internet “ossifica-
tion” [71] is largely attributed to the tight coupling between
the data– and control planes which means that decisions about
data flowing through the network are made on-board each
network element. In this type of environment, the deployment
of new network applications or functionality is decidedly non-
trivial, as they would need to be implemented directly into
the infrastructure. Alternatively, workarounds such as using
“middleboxes” (e.g., firewalls, Intrusion Detection Systems,
Network Address Translators, etc.) overlayed atop the under-
lying network infrastructure have been proposed and deployed
as a way to circumvent the network ossification effect. Content
Delivery Networks (CDNs) [82] are a good example. Fur-
thermore, even straightforward tasks such as configuration or
policy enforcement may require a good amount of effort due to
the lack of a common control interface to the various network
devices.
Software-Defined Networking was developed to facilitate
innovation and enable simple programmatic control of the
network data-path. As visualized in Figure 1, the separation of
the forwarding hardware from the control logic allows easier
deployment of new protocols and applications, straightforward
network visualization and management, and consolidation of
various middleboxes into software control. Instead of enforc-
ing policies and running protocols on a convolution of scat-
tered devices, the network is reduced to “simple” forwarding
hardware and the decision-making network controller(s). The
forwarding hardware consists of (1) a flow table containing
an entry and an action to take on active flows; and (2) an
abstraction layer that securely communicates with a controller
about new entries that are not currently on the flow table.
A. Current SDN Architectures
In this section, we review two well-known SDN systems,
namely ForCES [40] and Openflow [71]. Both OpenFlow and
ForCES follow the basic SDN principle of separation between
control– and data–planes; and both standardize information
exchange between planes. However, they are technically very
different in terms of design, architecture, forwarding model,
and protocol interface.
g) ForCES: According to the approach proposed by the
IETF ForCES (Forwarding and Control Element Seperaration)
Working Group [40], the network device’s internal architecture
is redefined having the control element separated from the
forwarding element. However, the network device is still
represented as a single entity. The driving use case provided
by the working group considers the desire to combine new
forwarding hardware with third-party control within a single
network device. Thus, the control– and data planes are kept
within close proximity (e.g., same box or room). In contrast,
the control plane is ripped entirely from the network device
in ”OpenFlow-like” SDN systems.
ForCES defines a logic entity called the Forwarding Element
(FE), that implements the ForCES protocol, i.e. the commu-
nication protocol between FEs and CEs, and is responsible
for using the underlying hardware to provide per-packet han-
dling. Another logic entity defined in ForCES is the Control
Element (CE), that executes control and signaling functions
and employs the ForCES protocol to instruct FEs on how to
handle packets. The protocol works based on a master-slave
model, where FEs are slaves and CEs are masters.
An important building block of the ForCES architecture is
the LFB (Logical Function Block). The LFB is a well-defined
functional block residing on the FEs that is controlled by CEs
via the ForCES protocol. The LFB enables the CEs to control
the FEs’ configuration; the LFB may reside on the FE’s data
plane and is used to process packets.
ForCES has been undergoing standardization since 2003,
and the working group has published a variety of documents
including an applicability statement, an architectural frame-
work defining the entities and their interactions, a modeling
language defining the logical functions within a forwarding
element, and a protocol for communication between the con-
trol and forwarding elements within a network element. The
working group is currently active.
h) OpenFlow: Driven by the SDN principle of decou-
pling the control– and data forwarding planes, OpenFlow [71],
like ForCES, standardizes information exchange between the
two planes.
In the OpenFlow architecture, the forwarding device, or
OpenFlow switch, contains one or more flow tables. Flow
tables consist of flow entries, each of which determines how
packets belonging to a flow will be processed and forwarded.
Flow entries typically consist of: (1) match fields used to match
incoming packets; match fields may contain information found
in the packet header, ingress port, and metadata; (2) counters,
used to collect statistics for the particular flow, such as number
of received packets, number of bytes and duration of the flow;
and (3) a set of instructions, or actions, to be applied upon a
match; they dictate how to handle matching packets.
Upon a packet arrival at the OpenFlow switch, packet header
fields are extracted and matched against the matching fields
portion of the flow table entries. This matching starts at the first
flow table and may continue through subsequent flow tables.
If a matching entry is found, the switch applies the appropriate
set of instructions associated with the matched flow entry. If
the flow table look-up procedure does not result on a match,
the action taken by the switch will depend on the instructions

IN SUBMISSION 4
defined by the table-miss flow entry. Every flow table must
contain a table-miss entry in order to handle table misses.
This particular entry specifies a set of actions to be performed
when no match is found for an incoming packet. These actions
include dropping the packet, continue the matching process
on the next flow table, or forward the packet to the controller
over the OpenFlow channel. Another possibility, in the case
of hybrid switches, i.e., switches that have both OpenFlow–
and non-OpenFlow ports, is to forward non-matching packets
using regular IP forwarding.
The communication between controller and switch happens
via OpenFlow protocol, which defines a set of messages that
can be exchanged between these entities over a secure channel.
Using the OpenFlow protocol a remote controller can, for
example, add, update, or delete flow entries from the switch’s
flow tables. That can happen reactively (in response to a packet
arrival) or proactively.
1) Discussion: In [106], the similarities and differences
between ForCES and OpenFlow are discussed. Among the
differences, they highlight the fact that the forwarding model
used by ForCES relies on the Logical Function Blocks (LFBs),
while OpenFlow uses flow tables. Actions associated with a
flow can be combined to provide greater control and flexibility
for the purposes of network management, administration, and
development. In ForCES the combination of different LFBs
can also be used to achieve the same goal.
We should also re-iterate that ForCES does not follow the
same SDN model underpinning OpenFlow, but can be used
to achieve the same goals and implement similar functional-
ity [106].
The strong support from industry, research, and academia
that the Open Networking Foundation (ONF) and its SDN
proposal, OpenFlow, has been able to gather is quite impres-
sive. The resulting critical mass from these different sectors
has produced a significant number of deliverables in the form
of research papers, reference software implementations, and
even hardware. So much so that some argue that OpenFlow’s
SDN architecture is the current SDN de-facto standard. In
line with this trend, the remainder of this section focuses on
OpenFlow’s SDN model. More specifically, we will describe
the different components of the SDN architecture, namely:
the switch, the controller, and the interfaces present on the
controller for communication with forwarding devices (south-
bound communication) and network applications (northbound
communication). Section IV also has an OpenFlow focus as it
describes existing platforms for SDN development and testing,
including emulation and simulation tools, SDN controller im-
plementations, as well as verification and debugging tools. Our
discussion of future SDN applications and research directions
is more general and is SDN architecture agnostic.
B. Forwarding Devices
Forwarding devices such as switches and routers in a
software-defined network are often represented as basic for-
warding hardware accessible via an open interface, as the
control logic and algorithms are off-loaded to a controller.
In an OpenFlow network, switches come in two vari-
eties: pure and hybrid. Pure OpenFlow switches have no
legacy features or on-board control, and completely rely on a
controller for forwarding decisions. Hybrid switches support
OpenFlow in addition to traditional operation and protocols.
Most commercial switches available today are hybrids.
Though at first glance this would appear to simplify the
switching hardware, flow-based SDN architectures such as
OpenFlow may utilize additional forwarding table entries,
buffer space, and statistical counters that are difficult to imple-
ment in traditional ASIC switches. Some recent proposals [68],
[74] have advocated adding a general-purpose CPU, either on-
switch or nearby, that may be used to supplement or take
over certain functions and reduce the complexity of the ASIC
design. This would have the added benefit of allowing greater
flexibility for on-switch processing as some aspects would be
software-defined.
In some earlier work [69], authors apply network processor
based acceleration cards to perform OpenFlow switching.
They propose and describe the design options and report re-
sults that show a 20% reduction on packet delay. Also, in [94],
an architectural design to improve look-up performance of
OpenFlow switching in Linux is proposed. Preliminary results
reported show a packet switching throughput increase up to
25% compared to the throughput of regular software-based
OpenFlow switching. Another study on dataplane performance
over Linux based Openflow switching is presented in [25].
In the paper, authors compare OpenFlow switching, layer-
2 Ethernet switching and layer-3 IP routing performance.
Fairness, forwarding throughput and packet latency in diverse
load conditions are analyzed. In [58], authors derive a basic
model for the forwarding speed and blocking probability of
an OpenFlow switch, where the parameters for the model
are drawn from measurements of switching times of current
OpenFlow hardware, combined with an OpenFlow controller.
Simulation validation of the proposed model is presented.
C. The Controller
The decoupled system has been compared to an operating
system [49], in which the controller provides a programmatic
interface to the network, where applications can be written
to perform management tasks and offer new functionalities. A
layered view of this model is illustrated in Figure 2. This view
assumes the control is centralized and applications are written
as if the network is a single system. While this simplifies
policy enforcement and management tasks, the bindings must
be closely maintained between the control and the network
forwarding elements.
1) Control models: An initial concern that arises when
offloading control from the switching hardware is the scal-
ability and performance of the network controller(s). The
original Ethane [34] controller, hosted on a commodity desk-
top machine, was tested to handle up to 11,000 new flow
requests per second and responded within 1.5 milliseconds.
A more recent study [98] of several OpenFlow controller
implementations (NOX-MT, Maestro, Beacon), conducted on
a larger emulated network with 100,000 endpoints and up
to 256 switches, found that all were able to handle at least
50,000 new flow requests per second in each of the tested

Citations
More filters
Journal ArticleDOI
01 Jan 2015
TL;DR: This paper presents an in-depth analysis of the hardware infrastructure, southbound and northbound application programming interfaces (APIs), network virtualization layers, network operating systems (SDN controllers), network programming languages, and network applications, and presents the key building blocks of an SDN infrastructure using a bottom-up, layered approach.
Abstract: The Internet has led to the creation of a digital society, where (almost) everything is connected and is accessible from anywhere. However, despite their widespread adoption, traditional IP networks are complex and very hard to manage. It is both difficult to configure the network according to predefined policies, and to reconfigure it to respond to faults, load, and changes. To make matters even more difficult, current networks are also vertically integrated: the control and data planes are bundled together. Software-defined networking (SDN) is an emerging paradigm that promises to change this state of affairs, by breaking vertical integration, separating the network's control logic from the underlying routers and switches, promoting (logical) centralization of network control, and introducing the ability to program the network. The separation of concerns, introduced between the definition of network policies, their implementation in switching hardware, and the forwarding of traffic, is key to the desired flexibility: by breaking the network control problem into tractable pieces, SDN makes it easier to create and introduce new abstractions in networking, simplifying network management and facilitating network evolution. In this paper, we present a comprehensive survey on SDN. We start by introducing the motivation for SDN, explain its main concepts and how it differs from traditional networking, its roots, and the standardization activities regarding this novel paradigm. Next, we present the key building blocks of an SDN infrastructure using a bottom-up, layered approach. We provide an in-depth analysis of the hardware infrastructure, southbound and northbound application programming interfaces (APIs), network virtualization layers, network operating systems (SDN controllers), network programming languages, and network applications. We also look at cross-layer problems such as debugging and troubleshooting. In an effort to anticipate the future evolution of this new paradigm, we discuss the main ongoing research efforts and challenges of SDN. In particular, we address the design of switches and control platforms—with a focus on aspects such as resiliency, scalability, performance, security, and dependability—as well as new opportunities for carrier transport networks and cloud providers. Last but not least, we analyze the position of SDN as a key enabler of a software-defined environment.

3,589 citations

Posted Content
TL;DR: Software-Defined Networking (SDN) as discussed by the authors is an emerging paradigm that promises to change this state of affairs, by breaking vertical integration, separating the network's control logic from the underlying routers and switches, promoting (logical) centralization of network control, and introducing the ability to program the network.
Abstract: Software-Defined Networking (SDN) is an emerging paradigm that promises to change this state of affairs, by breaking vertical integration, separating the network's control logic from the underlying routers and switches, promoting (logical) centralization of network control, and introducing the ability to program the network. The separation of concerns introduced between the definition of network policies, their implementation in switching hardware, and the forwarding of traffic, is key to the desired flexibility: by breaking the network control problem into tractable pieces, SDN makes it easier to create and introduce new abstractions in networking, simplifying network management and facilitating network evolution. In this paper we present a comprehensive survey on SDN. We start by introducing the motivation for SDN, explain its main concepts and how it differs from traditional networking, its roots, and the standardization activities regarding this novel paradigm. Next, we present the key building blocks of an SDN infrastructure using a bottom-up, layered approach. We provide an in-depth analysis of the hardware infrastructure, southbound and northbound APIs, network virtualization layers, network operating systems (SDN controllers), network programming languages, and network applications. We also look at cross-layer problems such as debugging and troubleshooting. In an effort to anticipate the future evolution of this new paradigm, we discuss the main ongoing research efforts and challenges of SDN. In particular, we address the design of switches and control platforms -- with a focus on aspects such as resiliency, scalability, performance, security and dependability -- as well as new opportunities for carrier transport networks and cloud providers. Last but not least, we analyze the position of SDN as a key enabler of a software-defined environment.

1,968 citations

Journal ArticleDOI
TL;DR: In this article, the authors survey the state-of-the-art in NFV and identify promising research directions in this area, and also overview key NFV projects, standardization efforts, early implementations, use cases, and commercial products.
Abstract: Network function virtualization (NFV) has drawn significant attention from both industry and academia as an important shift in telecommunication service provisioning. By decoupling network functions (NFs) from the physical devices on which they run, NFV has the potential to lead to significant reductions in operating expenses (OPEX) and capital expenses (CAPEX) and facilitate the deployment of new services with increased agility and faster time-to-value. The NFV paradigm is still in its infancy and there is a large spectrum of opportunities for the research community to develop new architectures, systems and applications, and to evaluate alternatives and trade-offs in developing technologies for its successful deployment. In this paper, after discussing NFV and its relationship with complementary fields of software defined networking (SDN) and cloud computing, we survey the state-of-the-art in NFV, and identify promising research directions in this area. We also overview key NFV projects, standardization efforts, early implementations, use cases, and commercial products.

1,634 citations

Journal ArticleDOI
TL;DR: This work can help to understand how to make full use of SDN's advantages to defeat DDoS attacks in cloud computing environments and how to prevent SDN itself from becoming a victim of DDoSDoS attacks, which are important for the smooth evolution ofSDN-based cloud without the distraction ofDDoS attacks.
Abstract: Distributed denial of service (DDoS) attacks in cloud computing environments are growing due to the essential characteristics of cloud computing. With recent advances in software-defined networking (SDN), SDN-based cloud brings us new chances to defeat DDoS attacks in cloud computing environments. Nevertheless, there is a contradictory relationship between SDN and DDoS attacks. On one hand, the capabilities of SDN, including software-based traffic analysis, centralized control, global view of the network, dynamic updating of forwarding rules, make it easier to detect and react to DDoS attacks. On the other hand, the security of SDN itself remains to be addressed, and potential DDoS vulnerabilities exist across SDN platforms. In this paper, we discuss the new trends and characteristics of DDoS attacks in cloud computing, and provide a comprehensive survey of defense mechanisms against DDoS attacks using SDN. In addition, we review the studies about launching DDoS attacks on SDN, as well as the methods against DDoS attacks in SDN. To the best of our knowledge, the contradictory relationship between SDN and DDoS attacks has not been well addressed in previous works. This work can help to understand how to make full use of SDN's advantages to defeat DDoS attacks in cloud computing environments and how to prevent SDN itself from becoming a victim of DDoS attacks, which are important for the smooth evolution of SDN-based cloud without the distraction of DDoS attacks.

669 citations


Cites background or methods from "A Survey of Software-Defined Networ..."

  • ...forwarding in ICN is aligned with the decoupling of the data plane and control plane in SDN [18]....

    [...]

  • ...Current Internet is information-driven, yet networking technology is still focused on the idea of location-based addressing and host-to-host communications [18]....

    [...]

  • ...OpenFlow provides optional support for encrypted Transport Layer Security (TLS) communication and a certificate exchange between the switches and the controller(s) [18]....

    [...]

  • ...ONF presents a high-level architecture for SDN that is vertically split into three main functional layers including infrastructure layer, control layer and application layer [9], [11], [18]–[20], as shown in Fig....

    [...]

Journal ArticleDOI
TL;DR: This paper is the first to present the state-of-the-art of the SAGIN since existing survey papers focused on either only one single network segment in space or air, or the integration of space-ground, neglecting the Integration of all the three network segments.
Abstract: Space-air-ground integrated network (SAGIN), as an integration of satellite systems, aerial networks, and terrestrial communications, has been becoming an emerging architecture and attracted intensive research interest during the past years. Besides bringing significant benefits for various practical services and applications, SAGIN is also facing many unprecedented challenges due to its specific characteristics, such as heterogeneity, self-organization, and time-variability. Compared to traditional ground or satellite networks, SAGIN is affected by the limited and unbalanced network resources in all three network segments, so that it is difficult to obtain the best performances for traffic delivery. Therefore, the system integration, protocol optimization, resource management, and allocation in SAGIN is of great significance. To the best of our knowledge, we are the first to present the state-of-the-art of the SAGIN since existing survey papers focused on either only one single network segment in space or air, or the integration of space-ground, neglecting the integration of all the three network segments. In light of this, we present in this paper a comprehensive review of recent research works concerning SAGIN from network design and resource allocation to performance analysis and optimization. After discussing several existing network architectures, we also point out some technology challenges and future directions.

661 citations


Cites methods from "A Survey of Software-Defined Networ..."

  • ...Leveraging the concepts of software and virtualization, SDN [157] and Network Function Virtualization (NFV) [158] are redefining the network architecture to support...

    [...]

References
More filters
Journal ArticleDOI
31 Mar 2008
TL;DR: This whitepaper proposes OpenFlow: a way for researchers to run experimental protocols in the networks they use every day, based on an Ethernet switch, with an internal flow-table, and a standardized interface to add and remove flow entries.
Abstract: This whitepaper proposes OpenFlow: a way for researchers to run experimental protocols in the networks they use every day. OpenFlow is based on an Ethernet switch, with an internal flow-table, and a standardized interface to add and remove flow entries. Our goal is to encourage networking vendors to add OpenFlow to their switch products for deployment in college campus backbones and wiring closets. We believe that OpenFlow is a pragmatic compromise: on one hand, it allows researchers to run experiments on heterogeneous switches in a uniform way at line-rate and with high port-density; while on the other hand, vendors do not need to expose the internal workings of their switches. In addition to allowing researchers to evaluate their ideas in real-world traffic settings, OpenFlow could serve as a useful campus component in proposed large-scale testbeds like GENI. Two buildings at Stanford University will soon run OpenFlow networks, using commercial Ethernet switches and routers. We will work to encourage deployment at other schools; and We encourage you to consider deploying OpenFlow in your university network too

9,138 citations


"A Survey of Software-Defined Networ..." refers background or methods in this paper

  • ...h) OpenFlow: Driven by the SDN principle of decoupling the control– and data forwarding planes, OpenFlow [71], like ForCES, standardizes information exchange between the two planes....

    [...]

  • ...In this section, we review two well-known SDN systems, namely ForCES [40] and Openflow [71]....

    [...]

  • ...As mentioned previously, the so-called Internet “ossification” [71] is largely attributed to the tight coupling between the data– and control planes which means that decisions about data flowing through the network are made on-board each network element....

    [...]

  • ...A group of network operators, service providers, and vendors have recently created the Open Network Foundation [13], an industrial-driven organization, to promote SDN and standardize the OpenFlow protocol [71]....

    [...]

  • ...In particular we described the SDN architecture in detail as well as the OpenFlow [71] standard....

    [...]

Proceedings ArticleDOI
01 Dec 2009
TL;DR: Content-Centric Networking (CCN) is presented, which treats content as a primitive - decoupling location from identity, security and access, and retrieving content by name, using new approaches to routing named content.
Abstract: Network use has evolved to be dominated by content distribution and retrieval, while networking technology still speaks only of connections between hosts. Accessing content and services requires mapping from the what that users care about to the network's where. We present Content-Centric Networking (CCN) which treats content as a primitive - decoupling location from identity, security and access, and retrieving content by name. Using new approaches to routing named content, derived heavily from IP, we can simultaneously achieve scalability, security and performance. We implemented our architecture's basic features and demonstrate resilience and performance with secure file downloads and VoIP calls.

3,556 citations

Journal ArticleDOI
TL;DR: Content-Centric Networking (CCN) is presented which uses content chunks as a primitive---decoupling location from identity, security and access, and retrieving chunks of content by name, and simultaneously achieves scalability, security, and performance.
Abstract: Current network use is dominated by content distribution and retrieval yet current networking protocols are designed for conversations between hosts. Accessing content and services requires mapping from the what that users care about to the network's where. We present Content-Centric Networking (CCN) which uses content chunks as a primitive---decoupling location from identity, security and access, and retrieving chunks of content by name. Using new approaches to routing named content, derived from IP, CCN simultaneously achieves scalability, security, and performance. We describe our implementation of the architecture's basic features and demonstrate its performance and resilience with secure file downloads and VoIP calls.

3,122 citations


"A Survey of Software-Defined Networ..." refers background in this paper

  • ...by a number of architecture proposals, such as ContentCentric Networking (CCN), also known as the Named Data Networking (NDN) project [57]....

    [...]

Proceedings ArticleDOI
27 Aug 2013
TL;DR: This work presents the design, implementation, and evaluation of B4, a private WAN connecting Google's data centers across the planet, using OpenFlow to control relatively simple switches built from merchant silicon.
Abstract: We present the design, implementation, and evaluation of B4, a private WAN connecting Google's data centers across the planet. B4 has a number of unique characteristics: i) massive bandwidth requirements deployed to a modest number of sites, ii) elastic traffic demand that seeks to maximize average bandwidth, and iii) full control over the edge servers and network, which enables rate limiting and demand measurement at the edge.These characteristics led to a Software Defined Networking architecture using OpenFlow to control relatively simple switches built from merchant silicon. B4's centralized traffic engineering service drives links to near 100% utilization, while splitting application flows among multiple paths to balance capacity against application priority/demands. We describe experience with three years of B4 production deployment, lessons learned, and areas for future work.

2,226 citations

Proceedings ArticleDOI
20 Oct 2010
TL;DR: The greatest value of Mininet will be supporting collaborative network research, by enabling self-contained SDN prototypes which anyone with a PC can download, run, evaluate, explore, tweak, and build upon.
Abstract: Mininet is a system for rapidly prototyping large networks on the constrained resources of a single laptop The lightweight approach of using OS-level virtualization features, including processes and network namespaces, allows it to scale to hundreds of nodes Experiences with our initial implementation suggest that the ability to run, poke, and debug in real time represents a qualitative change in workflow We share supporting case studies culled from over 100 users, at 18 institutions, who have developed Software-Defined Networks (SDN) Ultimately, we think the greatest value of Mininet will be supporting collaborative network research, by enabling self-contained SDN prototypes which anyone with a PC can download, run, evaluate, explore, tweak, and build upon

1,890 citations


"A Survey of Software-Defined Networ..." refers background in this paper

  • ...Mininet [64] allows an entire OpenFlow network to be emu-...

    [...]

Frequently Asked Questions (18)
Q1. What type of controller can be used to control overlapping sets of physical switches?

An interesting type of proxy controller, called Flowvisor [89], can be used to add a level of network virtualization to OpenFlow networks and allow multiple controllers to simultaneously control overlapping sets of physical switches. 

SDN can be used to simplify the network by ridding it from middleboxes and integrating their functionality within the network controller. 

The main benefit of this approach is that it is protocol-agnostic; it will also catch errors that result from faulty switch firmware or inconsistencies with the control plane communication. 

Some notable examples of middlebox functionality that has been implemented using SDN include NAT, firewalls, load balancers [51] [104], and network access control [80], etc. 

for increased scalability and especially for reliability and robustness purposes, it has been recognized that the logically-centralized controller mustbe physically distributed. 

Trema is a framework for developing OpenFlow controllers written in Ruby and C. • Beacon is a cross-platform, modular, Java-based OpenFlow controller that supports event-based and threaded operation. 

The potential downside are trade-offs [65] that may be made with consistency and staleness when distributing state throughout the control plane, which has the potential to cause applications that believe they have an accurate view to act incorrectly. 

In a load-balancing simulation, their solution had 10-53 times fewer flow table entries and 10-42 times fewer control messages on average over OpenFlow. 

Self-organizing networks (e.g., wireless multi-hop ad-hoc networks) may form to extend the range of infrastructure-based networks or handle episodic connectivity disruptions. 

A major challenge facing future networks is efficient utilization of resources; this is especially the case in wireless multi-hop ad-hoc networks as the available wireless capacity is inherently limited. 

This is accomplished by pushing responsibility over most flows back to the switches andadding more efficient statistics collection mechanisms, through which “significant” flows (e.g. long-lived, high-throughput) are identified and managed by the controller. 

Until a clear northbound interface standard emerges, SDN applications will continue to be developed in an ”ad hoc” fashion and the concept of flexible and portable “network apps” may have to wait. 

Due to the challenges of engineering networks of this scale and complexity to dynamically adapt to application requirements, it is often the case that data centers are provisioned for peak demand; as a result, they run well below capacity most of the time but are ready to rapidly service higher workloads. 

One possible explanation is that the northbound interface is defined entirely in software, while controller-switch interactions must enable hardware implementation. 

controllers may find it necessary to communicate with each other for a variety of reasons: an internal control app may need to reserve resources across multiple domains of control, a primary controller may need to share policy information with a backup, etc. 

Self-organizing networks may thus enable a variety of new applications such as cloud-based services, vehicular communication, community services, healthcare delivery, emergency response, and environmental monitoring, to name a few. 

Another possibility, in the case of hybrid switches, i.e., switches that have both OpenFlow– and non-OpenFlow ports, is to forward non-matching packets using regular IP forwarding. 

These actions include dropping the packet, continue the matching process on the next flow table, or forward the packet to the controller over the OpenFlow channel.