Software Defined Networking Concepts and Challenges: December 2016
Software Defined Networking Concepts and Challenges: December 2016
net/publication/312569297
CITATIONS READS
16 6,211
3 authors, including:
All content following this page was uploaded by Mohammad Mousa on 25 April 2018.
Abstract—Software Defined Networking (SDN) is an In order to implement a new network functionality only a new
emerging networking paradigm that greatly simplifies network application is needed to be installed over the network controller
management tasks. In addition, it opens the door for network while no change is needed from the forwarding devices side.
innovation through a programmable flexible interface controlling Figure 1 explains the architecture difference between
the behavior of the entire network. In the opposite side, for traditional network & a Software-Defined Network [4].
decades traditional IP networks were very hard to manage, error
prone and hard to introduce new functionalities. In this paper, SDN has provided a very flexible interface for the creation
we introduce the concepts & applications of SDN with a focus on of new services. Network programmers need to write their own
the open research challenges in this new technology. network policies & services through a high level programming
language (one example of network policies is load-balancing
the traffic to a certain destination over multiple paths to avoid
I. INTRODUCTION the congestion of a certain path). The network controller should
Traditional IP network protocols were designed to adopt a be able to translate these high level programs into low level
distributed control architecture where network devices should forwarding rules over individual forwarding devices. By the
communicate with each other through a large set of network use of centralized high level programs to control the network
protocols to negotiate the exact network behavior based on the behavior, network administrators are able to automate network
configuration of every individual device. Network devices are tasks using programs written in high level general purpose
sold as closed components & network administrators are only programming languages like C++, java & python.
able to change the parameters of different network protocols.
Network administrators should translate high level network
policies into low level scripts written for every individual
device commonly known as the “Configuration Language”.
Also, every equipment vendor has its own configuration
language with its own compliance to the large set of network
standards leading to several inter-operability issues for the
integration of equipment of different vendors. Also, each time a
new functionality is needed (as a load balancer or a firewall), a
new device is integrated to the network or perhaps one of the
devices is upgraded to perform the new functionality. In this
manner, traditional IP networks are neither flexible nor
programmable by any means. In such a distributed, multi-
vendor, multi-protocol & human-dependent environment,
service creation & troubleshooting became a very hard task.
SDN has introduced a paradigm shift in the networking Figure 1 Architecture Difference between Traditional IP
industry. Instead of having a distributed control architecture, it networks and Software-Defined Network [4]
consolidates all the control in a single node called the
“Network Controller” which is simply a software running on a II. HISTORY OF NETWORK PROGRAMMABILITY
commercial server platform. Network forwarding devices no Openflow protocol was developed late 2008 by a group of
longer participate in the network control & only forward researchers from different universities including Stanford
packets based on the set of rules installed from the network University, University of Washington, MIT, Princeton
controller. The network controller programs the forwarding University & other universities [1]. As explained by the
rules of the forwarding devices through the “Openflow authors, the main target of the project was to enable
protocol” & hence the network forwarding devices are called researchers to test experimental network protocols in their
“Openflow switches”. Openflow is a standard protocol that’s campus networks. Later on, the idea was used in other
vendor independent & hence no specific knowledge of domains such as datacenters with the emergence of cloud
equipment vendor is needed to control the forwarding behavior.
computing & the need for a flexible programmable network. C. Control & Data planes Separation
In 2012, SDN was adopted by Google to interconnect its Network devices are involved into two major tasks. First, the
datacenters spread around the world due to the great flexibility devices communicate with each other through standard
when using SDN for inter-data center traffic engineering. network protocols to agree on the traffic paths (as the case of
Also SDN has emerged since only few years, many of the dynamic routing protocols) or to prevent network loops (as the
concepts adopted by SDN were developed over the last 2 case of the STP Protocol) or to perform any other
decades. SDN is built around 3 main concepts which are: functionalities depending on the used protocol. This task is
Programmable Networks, Centralized Network Control commonly known as the “Control Plane” or the signaling
and Control & Data planes separation. In this section, we plane. The output of this task is the data structures used to
brief some of the previous work done in each area. handle the traffic as the routing table found in network routers.
A. Programmable Networks Second, the devices start to forward the traffic based on the
negotiations done in the first step. The action of forwarding
Programmable Networks is the concept to deploy new
the end user traffic (or even to block or any other action
functionalities in network nodes by the use of a programming
directly affecting the end user traffic) is known as the “Data
interface. In this networking paradigm, network nodes are not
Plane” or the forwarding plane.
sold as closed “as-is” components. Active Networks [2] Control & Data planes separation is the concept of having the
represents a very early trial for network programmability control plane negotiations done in a separate node other than
appearing in the 90’s of the last century. It exposed the the node actually handling the end user traffic or the data
resources of individual network nodes (as processors, memory plane. Of course both types of nodes will be communicating
& packet queues) to be programmed for creating a new through a standard protocol. In this section, we introduce some
functionality for a specific pattern of packets. The code of the work done in this area.
controlling the active nodes could be carried over the data
ForCES: [5] ForCES stands for Forwarding & Control Element
packet itself sent form the end user (the Capsule Mode) or it
Separation. It’s an IETF protocol proposed since 2004 to
could be sent from a separate dedicated management interface
separate the Control & Data plane elements within the
(the programmable router/switch model).
network device internal infrastructure in order to allow the
Active networks faced many critics related to network security
control element of a device to communicate with a third party
as end users would be able to play with the network nodes
forwarding element. Regardless of the separation, the network
supporting in-band active programming. Also, although active
device will appear as a single entity to other network devices.
networks proposed a flexible interface for network innovation,
PCE: [6] PCE stands for Path Computing Element. It’s an
it didn’t find a compelling industry problem to solve perhaps
element proposed by the IETF in 2006 to delegate the function
due to the limited spread of the internet that time.
of calculating the path that traffic should follow in an MPLS
B. Centralized Network Control network in order to comply with a set of user defined policies
Centralized network control is related to delegating a certain such as QoS assurance, loadbalancing or minimization of the
network function to a central node communicating with WAN cost. Instead of having these calculations done &
network nodes through a standard protocol. Below we negotiated between edge routers, the function could be
introduce SNMP & NETCONF as a sample of the work done completely delegated to a standalone separate node.
in this area. Ethane: [7] Ethane project was the predecessor of openflow.
SNMP: [3] SNMP stands for Simple Network Management The work was published in 2006 with the main target of
Protocol. It’s an IETF protocol proposed thirty years ago to building a flexible access control frame work for enterprise
have a unified interface for the management of network nodes network. The frame work composed of two main components:
including statistics collection, alarms collection & network the network controller where the access policies exist &
configuration through a remote SNMP agent. SNMP is widely Ethane switches controlled by the network controller. The
used for statistics & alarms collection while it’s rarely used for controller compiles the access policies into flow table entries
configuration management due to having many limitations for over the different switches to control either to forward or to
the modeling of configuration information and other reliability block a certain traffic flow.
& security issues. The protocol tried to overcome these issues III. SDN ARCHITECTURE
in subsequent recent versions.
NETCONF: [4] NETCONF is an IETF protocol proposed in SDN architecture could be divided into four layers as shown
2006 to automate the configuration of network devices in Figure 2. In this section, we explain the first three layers
through a standard Application Programming Interface (API). while layer four (SDN Applications) is introduced in section
It’s based on a data modeling language called YANG that IV due to the large set of available applications. We explain
overcomes the limitations found in SNMP. NETCONF is not the functions & interfaces of each layer together with a sample
an alternative to Openflow protocol as it only allows network of the ongoing research work.
administrators to configure their networks through a
programmable interface but all functionalities & logic should
be implemented first at the network device itself before being
configured by NETCONF & hence it doesn’t offer the
capability to develop new functionalities as Openflow offers.
Matching
Priority Action Counters
Condition
Figure 3 Structure of an Openflow rule
ClosedFlow [34] proposed to provide openflow-like Figure 7 Panopticon proposed logical SDN network [35]
functionalities while using legacy switches & routers. The
authors proposed to use a central controller that communicates LegacyFlow [36] proposed another topology where openflow
with legacy switches & routers through vendor defined CLI enabled switches are used on the edge of the network while
shell. They have successfully implemented 4 types of using traditional switches at the core of the network. Edge
openflow capabilities over CISCO switches which are: openflow switches will be connected to each other through
connecting the controller to the switches, automatic discovery virtual tunnels & rely on LegacyFlow to make necessary
of the network topology, allowing the controller to add or to tunnel configurations over the traditional core switches.
Tunnels could be as simple as a VLAN or using more Future proposed work is related to solve bottlenecks for the
advanced technologies as MPLS L2 VPN. The main communication between the controller & the switches.
advantage over Panopticon is the simplified network In [39] the authors suggested an algorithm for choosing which
architecture with the restriction to completely swap all edge legacy routers to be migrated first to SDN paradigm in order
devices to be openflow switches leading to less flexibility in to maximize the benefits from traffic engineering point of
the migration plan. view. The number of newly introduced alternative paths was
RFCP [37] or RouteFlow Control Platform is a frame work used as the target maximization function compared to the least
for the inter-domain routing control of a service provider cost paths used by legacy routers running link-state protocols
hybrid SDN network. A control node referred to as RFCP acts such as OSPF & ISIS. Simulation results showed that proper
as a gateway between traditional iBGP route reflectors & choice of the first router to upgrade could make capacity
opneflow controllers controlling the openflow forwarding savings up to 16% compared to 9% when choosing a random
devices. Using this hybrid model the authors were able to router for the upgrade.
demonstrate new use cases those are hard to achieve using Authors of [40] proposed a technique that uses openflow
only iBGP such as calculating best BGP paths from the point switches as backup paths for the recovery of any single link
of view of each ingress point, installing redundant paths using failure in a legacy network while taking care not to congest the
openflow multi forwarding table for fast recovery after path new paths by the extra traffic through dynamic traffic
failure & finally providing advanced distributed security distribution between backup paths. For the proposed design, as
services through using the flexibility of openflow switches. SDN controller is not aware by the status of the legacy
Figure 8 shows the RFCP architecture. network a virtual tunnel is used between every router & its
backup SDN switch in order to identify the failing link. The
work could be enhanced by directly integrating the legacy
network with the controller to have a holistic view over the
network. Also, a mechanism should be proposed to deal with
multiple link failures & associated capacity problem while
differentiating between different services.
Figure 13 SDN-based VANET architecture as proposed in Figure 14 Architecture of SDN-based Network IDS
[50] framework as proposed in [51]
[11] Sherwood, Rob, et al. "Flowvisor: A network virtualization layer."
OpenFlow Switch Consortium, Tech. Rep (2009): 1-13.
In [54] a Provenance Verification Point component was
[12] Turull, Daniel, Markus Hidell, and Peter Sjödin. "libNetVirt: the
proposed to use the network itself as a point of observation in network virtualization library." Communications (ICC), 2012 IEEE
a forensics system using SDN reporting & traffic steering International Conference on. IEEE, 2012.
capabilities. The idea is to transform every network link into a [13] Heller, Brandon, Rob Sherwood, and Nick McKeown. "The controller
placement problem." Proceedings of the first workshop on Hot topics in
reporting tool by programming a distributed set of openflow software defined networks. ACM, 2012.
switches. When an operation is not applicable within the [14] Koponen, Teemu, et al. "Onix: A Distributed Control Platform for
Large-scale Production Networks." OSDI. Vol. 10. 2010.
switch itself (such as deep packet inspection), the traffic could
[15] Tootoonchian, Amin, and Yashar Ganjali. "HyperFlow: A distributed
be steered to a middlebox or the controller itself for extra control plane for OpenFlow." Proceedings of the 2010 internet network
processing. management conference on Research on enterprise networking. 2010.
[16] Yu, Minlan, Andreas Wundsam, and Muruganantham Raju. "NOSIX: A
lightweight portability layer for the SDN OS." ACM SIGCOMM
Computer Communication Review 44.2 (2014): 28-35.
V. CONCLUSION
[17] Foster, Nate, et al. "Frenetic: A network programming language." ACM
SDN is an emerging networking paradigm that allows the SIGPLAN Notices. Vol. 46. No. 9. ACM, 2011.
control of the network behavior through a centralized [18] Nelson, Tim, et al. "Tierless programming and reasoning for software-
programming capability. SDN offers simplified & automated defined networks." 11th USENIX Symposium on Networked Systems
Design and Implementation (NSDI 14). 2014.
network management that meets the demand of increased
[19] Kang, Nanxi, et al. "Optimizing the one big switch abstraction in
network complexity & several application domains. We software-defined networks." Proceedings of the ninth ACM conference
explained the architecture of SDN networking paradigm with on Emerging networking experiments and technologies. ACM, 2013.
the associated open research challenges & surveyed some of [20] Lantz, Bob, Brandon Heller, and Nick McKeown. "A network in a
the work done in each challenge. While SDN is only a laptop: rapid prototyping for software-defined networks." Proceedings of
the 9th ACM SIGCOMM Workshop on Hot Topics in Networks. ACM,
networking paradigm, the benefits of SDN could be achieved 2010.
through using the correct application. We have surveyed
[21] Gupta, Mukta, Joel Sommers, and Paul Barford. "Fast, accurate
several applications utilizing the benefits of SDN in five major simulation for SDN prototyping." Proceedings of the second ACM
application domains which are: Hybrid network control, SIGCOMM workshop on Hot topics in software defined networking.
Traffic Engineering, Data Center networking, wireless ACM, 2013.
networks & network security applications showing the [22] Fonseca, Rodrigo, et al. "X-trace: A pervasive network tracing
framework." Proceedings of the 4th USENIX conference on Networked
recommended future work for each application domains. The systems design & implementation. USENIX Association, 2007.
authors hope that the work would be useful for researchers [23] Anand, Ashok, and Aditya Akella. "Netreplay: a new network
willing to start a research work in the interesting research area primitive." ACM SIGMETRICS Performance Evaluation Review 37.3
of SDN or for professional engineers willing to extend their (2010): 14-19.
knowledge with the benefits & the terminology of the future [24] Zhuang, Yanyan, et al. "Netcheck: Network diagnoses from blackbox
networking technologies. traces." 11th USENIX Symposium on Networked Systems Design and
Implementation (NSDI 14). 2014.
[25] Handigol, Nikhil, et al. "Where is the debugger for my software-defined
network?." Proceedings of the first workshop on Hot topics in software
REFERENCES defined networks. ACM, 2012.
[1] McKeown, Nick, et al. "OpenFlow: enabling innovation in campus [26] Canini, Marco, et al. "A NICE way to test OpenFlow applications."
networks." ACM SIGCOMM Computer Communication Review 38.2 Presented as part of the 9th USENIX Symposium on Networked
(2008): 69-74. Systems Design and Implementation (NSDI 12). 2012.
[2] Feamster, Nick, Jennifer Rexford, and Ellen Zegura. "The road to SDN: [27] Mai, Haohui, et al. "Debugging the data plane with anteater." ACM
an intellectual history of programmable networks." ACM SIGCOMM SIGCOMM Computer Communication Review 41.4 (2011): 290-301.
Computer Communication Review 44.2 (2014): 87-98.
[28] Khurshid, Ahmed, et al. "Veriflow: Verifying network-wide invariants
[3] Choi, Mi-lung, et al. "XML-based configuration management for IP in real time." Presented as part of the 10th USENIX Symposium on
network devices." Communications Magazine, IEEE 42.7 (2004): 84-91. Networked Systems Design and Implementation (NSDI 13). 2013.
[4] Nunes, Bruno AA, et al. "A survey of software-defined networking: [29] Jain, Sushant, et al. "B4: Experience with a globally-deployed software
Past, present, and future of programmable networks." Communications defined WAN." ACM SIGCOMM Computer Communication Review.
Surveys & Tutorials, IEEE 16.3 (2014): 1617-1634. Vol. 43. No. 4. ACM, 2013.
[5] Doria, Avri, et al. "Forwarding and control element separation (ForCES) [30] Vissicchio, Stefano, Laurent Vanbever, and Olivier Bonaventure.
protocol specification." Internet Requests for Comments, RFC Editor, "Opportunities and research challenges of hybrid software defined
RFC 5810 (2010). networks." ACM SIGCOMM Computer Communication Review 44.2
[6] Farrel, Adrian, Jean-Philippe Vasseur, and Jerry Ash. A path (2014): 70-75.
computation element (PCE)-based architecture. RFC 4655, August, [31] Vissicchio, Stefano, et al. "Central control over distributed routing."
2006. Proceedings of the 2015 ACM Conference on Special Interest Group on
[7] Casado, Martin, et al. "Ethane: taking control of the enterprise." ACM Data Communication. ACM, 2015.
SIGCOMM Computer Communication Review. Vol. 37. No. 4. ACM, [32] Feng, Tao, and Jun Bi. "OpenRouteFlow: Enable Legacy Router as a
2007. Software-Defined Routing Service for Hybrid SDN." Computer
[8] Kreutz, Diego, et al. "Software-defined networking: A comprehensive Communication and Networks (ICCCN), 2015 24th International
survey." Proceedings of the IEEE 103.1 (2015): 14-76. Conference on. IEEE, 2015.
[9] Pfaff, Ben, et al. "The design and implementation of open vswitch." [33] Nelson, Tim, et al. "Exodus: toward automatic migration of enterprise
12th USENIX Symposium on Networked Systems Design and network configurations to SDNs." Proceedings of the 1st ACM
Implementation (NSDI 15). 2015. SIGCOMM Symposium on Software Defined Networking Research.
[10] Pfaff, B., and B. Davie. The Open vSwitch Database Management ACM, 2015.
Protocol. No. RFC 7047. 2013. [34] Hand, Ryan, and Eric Keller. "ClosedFlow: OpenFlow-like control over
proprietary devices." Proceedings of the third workshop on Hot topics in
software defined networking. ACM, 2014.
View publication stats
[35] Levin, Dan, et al. "Panopticon: Reaping the Benefits of Incremental [45] Tu, Renlong, et al. "Design of a load-balancing middlebox based on
SDN Deployment in Enterprise Networks." 2014 USENIX Annual SDN for data centers." Computer Communications Workshops
Technical Conference (USENIX ATC 14). 2014. (INFOCOM WKSHPS), 2015 IEEE Conference on. IEEE, 2015.
[36] Farias, Fernando, et al. "Legacyflow: Bringing openflow to legacy [46] Basta, Arsany, et al. "Applying NFV and SDN to LTE mobile core
network environments." (2011). gateways, the functions placement problem." Proceedings of the 4th
[37] Rothenberg, Christian Esteve, et al. "Revisiting routing control workshop on All things cellular: operations, applications, & challenges.
platforms with the eyes and muscles of software-defined networking." ACM, 2014.
Proceedings of the first workshop on Hot topics in software defined [47] Qazi, Zafar Ayyub, et al. "KLEIN: A Minimally Disruptive Design for
networks. ACM, 2012. an Elastic Cellular Core." Proceedings of the 2nd ACM SIGCOMM
[38] Akyildiz, Ian F., et al. "A roadmap for traffic engineering in SDN- Symposium on Software Defined Networking Research(SORS 16).
OpenFlow networks." Computer Networks 71 (2014): 1-30. ACM, 2016.
[39] Caria, Marcel, Admela Jukan, and Marco Hoffmann. "A performance [48] Saunders, Ryan, et al. "P2P Offloading in Mobile Networks using
study of network migration to SDN-enabled traffic engineering." Global SDN." Proceedings of the 2nd ACM SIGCOMM Symposium on
Communications Conference (GLOBECOM), 2013 IEEE. IEEE, 2013. Software Defined Networking Research(SORS 16). ACM, 2016.
[40] Chu, Cing-Yu, et al. "Congestion-aware single link failure recovery in [49] Jacobsson, Martin, and Charalampos Orfanidis. "Using software-
hybrid SDN networks." Computer Communications (INFOCOM), 2015 defined networking principles for wireless sensor networks." 11th
IEEE Conference on. IEEE, 2015. Swedish National Computer Networking Workshop (SNCNW), May 28-
29, 2015, Karlstad, Sweden. 2015.
[41] Hong, David Ke, et al. "Incremental Deployment of SDN in Hybrid
Enterprise and ISP Networks." Proceedings of the 2nd ACM [50] Ku, Ian, et al. "Towards software-defined VANET: Architecture and
SIGCOMM Symposium on Software Defined Networking services." Ad Hoc Networking Workshop (MED-HOC-NET), 2014 13th
Research(SORS 16). ACM, 2016. Annual Mediterranean. IEEE, 2014.
[42] Lee, Steven SW, et al. "Design of SDN based large multi-tenant data [51] Chung, Chun-Jen, et al. "NICE: Network intrusion detection and
center networks." Cloud Networking (CloudNet), 2015 IEEE 4th countermeasure selection in virtual network systems." Dependable and
International Conference on. IEEE, 2015. Secure Computing, IEEE Transactions on 10.4 (2013): 198-211.
[43] Zhu, Hao, et al. "Joint flow routing-scheduling for energy efficient [52] Hu, Hongxin, et al. "FLOWGUARD: building robust firewalls for
software defined data center networks: A prototype of energy-aware software-defined networks." Proceedings of the third workshop on Hot
network management platform." Journal of Network and Computer topics in software defined networking. ACM, 2014.
Applications 63 (2016): 110-124. [53] Giotis, Kostas, et al. "Combining OpenFlow and sFlow for an effective
[44] Miao, Wang, et al. "SDN-enabled OPS with QoS guarantee for and scalable anomaly detection and mitigation mechanism on SDN
reconfigurable virtual data center networks." Journal of Optical environments." Computer Networks 62 (2014): 122-136. Elsevier,2014.
Communications and Networking 7.7 (2015): 634-643. [54] Bates, Adam, et al. "Let SDN be your eyes: Secure forensics in data
center networks." Proceedings of the NDSS workshop on security of
emerging network technologies (SENT’14). 2014.