1
A Survey of Software-Defined Networking: Past,
Present, and Future of Programmable Networks
Bruno Astuto A. Nunes, Marc Mendonca, 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
referred to as a “radical new idea in networking”, promises
to dramatically simplify network management and enable in-
novation 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.
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 (i.e., devices that manipulate
traffic for purposes other than packet forwarding, such as a
firewall) 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 commands 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.
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
The idea of “programmable networks” has been proposed as
a way to facilitate network evolution. In particular, Software
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 (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 [1], OpenFlow [2], 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 [3], an industrial-driven organization, to
promote SDN and standardize the OpenFlow protocol [2]. On
the academic side, the OpenFlow Network Research Center [4]
has been created with a focus on SDN research. There have
also been standardization efforts on SDN at the IETF and IRTF
and other standards producing organizations.
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. Section IV describes existing platforms
for developing and testing SDN solutions including emulation
and simulation tools, SDN controller implementations, as well
as verification and debugging tools. In Section V, we discuss
several SDN applications in areas such as data centers and
wireless networking. Finally, Section VI discusses research
challenges and future directions.
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” [5]. 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 considerable attention from
industry, it is worth noting that the idea of programmable