Design of Intelligent Capabilities in SDN
Hongyan Cui
1,2
,YaboZhu
1,2
,
1
Beijing Key Lab. of Network System Architecture and
Convergence
2
State Key Lab. of Networking and Switching Technology
Beijing University of Posts and Telecommunications
Beijing, P. R. China
YuanYao
1,2
,
Li Yufeng
3
,
Yunjie Liu
1,2
3
Information Engineering University of the P eople's
Liberation Army
Zhenzhou, P. R. China
cuihy@bupt.edu.cn
Abstract—Software-Defined Networking (SDN) is an
innovative and programmable networking architecture,
representing the direction of the future network evolution. In this
paper, we propose an architecture to introduce traffic
classification techniques into the OpenFlow-based SDN network,
which enables the network to be application-aware, so the
network could distinguish various applications flows and know
the requirements of different flows. Our new architecture also
take advantage of the new intelligence to make the network
forward traffic flows based flows’ demands on bandwidth and
delay, which could improve Quality of Service (Q oS) of
applications and optimize resource allocation all over the
network.
Keywords—SDN; OpenFlow; traffic classification; application-
aware; QoS
I. INTRODUCTION
Nowadays, with the large number of new emerging
applications, constant changes in network traffic patterns, and
developments of new technologies, such as network
convergence, Bring Your Own Device (BYOD), cloud
computing, server virtualization and big data center, the
network has became much more complex and difficult to
manage. SDN offers a good direction to solve the problem.
SDN is born with OpenFlow, an innovative networking
architecture and designed to replace the ossified traditional
network [1]. The OpenFlow protocol is proposed by Professor
Nick McKeown and his colleagues in Clean Slate group,
Stanford University. The emergence of SDN transforms the
network from being ‘passive’ to ‘proactive’, so that the
network can handle traffic flexibly and proactively, instead of
bearing traffic simply and passively [2]. SDN is programmable
and flexible, so it is simpler to manage and more powerful than
traditional networks.
As the first and the most widely used communication
protocol of SDN, OpenFlow has already been the de facto
standard of SDN [3]. To some extent, OpenFlow is equal to
SDN. In 2011, a user-driven trade organization named Open
Networking Foundation (ONF) was founded, responsible for
promoting and standardizing SDN, especially OpenFlow [4].
Industry giants Cisco, Juniper and startups like Big Switch
Networks established the OpenDaylight in 2013, to promote
industrialization of SDN [5].
In the SDN/OpenFlow network, the control plane is
decoupled from the data plane, and network intelligence is
logically centralized in the control plane. In general, there is a
controller in the control plane, which usually is a commodity
server running a control software or Network Operating
System (NOS) [6], such as NOX/POX [7], Floodlight [8],
ONOS [9], etc. The controller is the ‘brain’ of the entire
network, maintains a global view of the work, and fully
controls behaviors of networking devices in the data plane,
which are generally called switches and only responsible for
data switching and forwarding according to the controller’s
instructions.
Every packet in the OpenFlow network belongs to a flow,
which is a set of packets with some same attributes. For
example, we could flexibly define a flow as a set of packets
from a user (i.e. with the same source IP address), or in one
session (i.e. with the same source IP, destination IP, transport
layer protocol, source port, and destination port), just
depending on our needs. When the packets of a new flow arrive
at a switch, the switch will send the first packet of this flow to
the controller through a packet_in event, and the controller
computes a forwarding path directing the switch and other
switches along the path how to handle with this flow [6].
As known to all, QoS has been a very important and
indispensable issue in networks. In order to ensure QoS in
SDN/OpenFlow networks, it is absolutely essential to equip the
controller or switches with intelligent capability to recognize
requirements of flows, such as bandwidth, delay, jitter, etc.
Unfortunately, OpenFlow switches and controllers now can
only analyze Layer 2/3/4 header fields of packets [10, 11],
cannot recognize packets’ application information (include but
not limited to application name/id), then do not know
requirements of flows, so the controller make forwarding
decisions just based on the shortest path or load balancing
principle, resulting in unguaranteed QoS of flows.
We could use the existing traffic classification technologies
to achieve the goal, and Deep Packet Inspect (DPI) based
techniques are quite effective and mature methods among them,
which can examine flows and identity protocols used in real
time. Applying DPI techniques to OpenFlow enables the
network to be application-aware [12]. So the controller could
distinguish and isolate flows of various applications, better
program, manage and control traffic flows in a fine-grained
way, and guarantee QoS of key applications. To further