Abstract
Due to the development of the Internet and the smart end systems such as smartphones, portable laptop, and other smart mobile devices, as well as the emergence of concepts such as cloud computing, social networks, and Internet of Things, 4G and 5G have changed network requirements. A software-defined network (SDN) is a new architecture to support new network requirements. This architecture is composed of three layers, data, control, and application plane. A lot of papers have been published in well-known journals to improve network performance, so we classify the solutions for performance improvement based on three SDN layers and three SDN-based spheres which are (a) SDN-data center, (b) wireless networks, and (c) software-defined wide area network. This paper surveys the articles which have been published by Springer, IEEE, Elsevier, and ACM. We extract the performance improvement solutions and resources which are required for performance control and the metrics to evaluate the network performance. This article can help network enthusiasts to better understand, investigate, and improve the performance of SDN-based networks.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
The growth of the Internet is fast and has changed IT (information technology) requirements. The number of mobile end systems is increasing and is accelerating the use of the Internet by this equipment. Therefore, services diversity has created various network traffic requirements based on demand, which have caused needs for agility and flexibility in networks. To provide agility and flexibility in the network, the SDN architecture is needed. Some networks which need more agility and flexibility because of the high service demand rate are cellular network 4G and 5G, IoT, cloud computing, data center inter- and intra-network, and optical network. The traditional networks cannot support new network requirements, and they should be changed into architecture with innovation capability.
The scalability and the on-demand services in cloud computing, big data, security, and node mobility in computer networks are opening rapidly; the demand for supporting these concepts is on the rise. The traditional network architecture is gradually challenging problems that should be solved for the future networks. To prevail these shortages, there has been a lot of interest in both universities and industries in the future networks researching.
To consider security in new concepts like cloud computing, there are initiative solutions such as the way which has been proposed in [1] for the cloud storage system. Blockchain is the other solution that can be used in the networks as mentioned in [2] and [3] for the data storage mechanism in a wireless sensor network and a wireless body network, respectively.
Therefore, there are many research projects around the world that offer different architectures for the future networks [4]. More users, according to the research on the future networks, have realized that the lack of traditional networks development is the closed network. In general, closed networks, according to [5], face the following problem.
-
(a)
Large-scale networks managing complexity.
-
(b)
Network services provisioning complexity.
-
(c)
Network equipment control complexity.
-
(d)
Deploying new network protocols complexity.
SDN architecture is proposed as the main structure of the future networks [6]. SDN separates the control layer and data layer to change the traditional closed network architecture. This architecture provides a centralized controller and makes network programmable. SDN has changed network design and management. In general, three main layers named application, control, and data plane are the main layers of this architecture. These layers communicate with each other with the north and south APIs as shown in Fig. 1. The network equipment is bare forwarding elements which switch and transmit traffics without any decision ability; this element is called FE. This equipment sends packet-in for the first packet of flow or for a flow which has the rule in FE to send flow toward the controller otherwise transmits flow based on strategy exist in the controller and impose to FEs. Controllers are hardware and software servers which consist of network strategy, decision, and actions for ingress flow in each equipment. The application layer provides network services such as firewall, routing, and so on. The northbound API is defined for communication between the application layer and the controllers, and the southbound is designated for the controller to communicate with equipment. The southbound API has been designed to impose controller strategic decisions on the equipment, and the northbound provides network programmability with the application layer. Controllers can create the opportunity to design new protocols and new network services. The OpenFlow protocol is one of the major protocols in SDN [7, 8], which enables the control of the switch flow table. If network equipment vendors implement the OpenFlow protocol in their equipment, the controllers can add, remove, and edit the flows with the standard mechanism. Many users incorrectly believe that OpenFlow is equivalent to SDN, but OpenFlow is just one standard protocol for the southbound API.
According to the performance importance in the networks, there is no survey article with network performance improvement concentration in SDN. So this paper focuses on three types of the network which are a) data center networks, b) wireless networks, and c) WAN. The contribution of this paper is an investigation of the performance improvement problems and solutions which have been proposed by the researchers in the mentioned type of the networks. In this paper, we inquire the papers which have been published by Springer, IEEE, Elsevier, and ACM between 2007 and 2019 to classify the performance improvement solutions in the SDN-based network containing DCN & cloud, Wireless, and WAN. Figure 2 shows their distribution based on the years 2007 to 2019 for Springer, IEEE, Elsevier, and ACM papers, meanwhile the other type of publications like RFC, patent, web site, and papers that are related to SDN performance improvement solutions are used to enrich this paper. The keywords which are searched simultaneously are SDN, Performance improvement, and efficiency.
The bar chart in Fig. 2 can help the researchers to inquire the journals with performance improvement in the SDN topic among ACM, Elsevier, IEEE, and Springer accurately.
The rest of the paper is organized as follow. Section 2 expresses the history of SDN emergence and effective events. Section 3 shows the related works. We will discuss SDN performance improvement in two basic taxonomies which are SDN architecture and communication infrastructure types. These taxonomies will be expressed in Sects. 4 and 5, respectively. Section 6 discusses performance in SDN. Finally, Sect. 7 concludes the paper. Figure 3 shows the framework of this paper to guide ones to study the current paper.
2 History of SDN
This section expresses the history of SDN emergence and the momentous events which influence its maturity are discussed. The main idea of the software-defined network is the project known as “Stanford Clean Slate Project” [10]. The main purpose of the project is to design an architecture that provides simple management and robust security in enterprise networks [11]. Therefore, Martin Casado who was Ph.D. student proposes a controller to enable network administrators to set their flow-based policies in the network. Nick McKeown et al. introduced the idea of the OpenFlow protocol in 2008, which initiated the programmability in networks and introduced SDN in 2009 [12] and [13]. The proposed architecture needed a foundation for development, standardization, and commercialization, so The Open Source Networks Foundation (ONF) has been established as a nonprofit institution to do those missions for SDN [14]. There existed a new requirement for research about software-defined networking; hence, the software-defined networking group was founded to examine SDN architecture from different points in 2012. This group has been established to provide solutions for SDN setup and operation in the near prospect [15]. SDN separates control and data traffic, and the main brain of the network has been changed to the controller, so the controller which is needed was launched as a project named OpenDaylight in 2013 by the guidance of the Linux Foundation. The project was supported by companies such as Cisco, Microsoft, HP, IBM, VMware, and Brocade [16]. This architecture is used in different network fields, and there are specialized researches about the future of this architecture. Telecommunication companies researching telecommunication markets like Infonetics have predicted that SDN markets will reach eleven billion by 2018 [17]. The other research shows that AT&T has been able to expand over 100 cities through demand-based network services in 2015 through SDN [18]. The combination of giant companies to prepare the world for the futuristic technologies has been seen at the ONUG 2016 conference that Yahoo and Verizon announced to be made ready for SDN and DevOps for the future. Yahoo was building a major change in its infrastructure, with the ultimate goal of reaching automated virtualization networks [19]. SDN requires security, so well-known companies like Juniper has begun its partnership with several leading security service providers in 2017 to create a safe infrastructure for SDN. Juniper’s allies have been Carbon Black, Netskope, CipherCloud, ForeScout, and Aruba. They tried to take into account all aspects of security in a way that others cannot attribute the weakness to SDN-based products on the company [20]. Ericson and Verizon have been joined to use manageable services in order to hasten IT changes in the company, so they launched “network as a service” for SD-WAN, virtual security service, and enterprise radio access network [21]. The history of SDN is shown in Fig. 4.
3 Related works
Bruno et al. investigated programmable networks and then reviewed SDN architecture in [22]. They described SDN architectures in detail and presented the SDN implementation and test platform. They focused on SDN direction to information-centric networking (ICN) with heterogeneous nodes. Rowshanrad et al. in [23] have reviewed SDN architecture and then introduced the programmable networks and well-known controllers and simulators by which this architecture can be simulated. This survey can be helpful for the researchers to be informed the trend of SDN like software-defined ICN, virtualization, wireless and mobile networks, cloud and data centers, multimedia over SDN, and the works done on security of SDN. Fellow et al. have surveyed SDN comprehensively from network top to down and reviewed the architecture of these networks [24]. The benefits of SDN and network functions virtualizing have been explored by Jammal et al. and expressed the challenges of reliability, security, and scalability in SDN [25]. Various papers have addressed the challenges and security solutions in SDN [26], [27], and [28]. In [29], the authors discussed the current situation and the necessities for using SDN and this architecture deployment methods. In [30] and [31], the authors surveyed articles from the perspective of three layers of data, controller, and application. Farhady and et al. [32] revealed the various components of SDN and examined the related open-source and commercial products. In [33] and [34], the authors addressed various ways for the Quality of Service (QoS) betterment in SDN. Karakus et al. [35] reviewed the challenges and methods of scalability in SDN. In [36], the authors have provided an overview of the upgrade methods in SDN. In [37], the authors studied and categorized programming languages in SDN. In [38], the authors have addressed the challenges and methods of the SDN that exist in wide area network (WAN). In [39], the authors have surveyed the challenges in the SDN-based network and provided solutions for scalability, availability, reliability, and performance. Jungmin son et al. have surveyed SDN utilizing for cloud computing which focuses on DCN power optimization, traffic engineering, network virtualization, and security [40].
All surveys which have been studied in this paper examined SDN from different perspectives that we can summarize their reviews. The researchers in these surveys have paid to SDN and its architecture. They introduce the SDN components and classified them into commercial and open source. They also present SDN simulators, controllers, and platforms in their reviews. They express the necessity and requirements of SDN for deployment. According to recent studied reviewed papers, SDN can be utilized in ICN, virtualization, wireless and mobile network, cloud and data center network. It plays a significant role in networking because this architecture makes networks programmable, flexible, and agile. The programming languages using in SDN are examined in the surveys for guiding the researchers. Non-functional challenges in SDN that have been surveyed are reliability, scalability, and security. Based on the reviews, power optimization, traffic engineering, and network virtualization are recent paper SDN problems. The problem which has not ever stated in the recent SDN reviews is performance improvement. Our survey discusses this problem and its metrics to evaluate and the solutions for performance improvement. Architecture in detail, but we can categorize their information into three main groups generally which are SDN introduction, challenges, solutions, and taxonomy. They have examined the SDN and introduced this architecture in detail. They have studied other researches and stated challenges and solutions related to SDN; finally, they propose their taxonomy to guide the researchers in this filed. According to the studied surveys which are about SDN, we found that major networks in which SDN is used are programmable networks, network virtualization, ICN, and cloud computing. SDN has three main non-functional challenges which are scalability, security, and performance. These surveys show that we can categorize these review topics into four momentous groups which are SDN architecture, SDN platforms and tools, SDN trends toward the future, and SDN challenges. To our best knowledge so far, the surveys have not paid to the performance improvements in SDN for metrics, solutions and network resources extraction. In this paper, after papers examination and categorization based on SDN architecture, the solution based on four infrastructure spheres will be scrutinized. Finally, issues, solutions, metrics, and network resources will be classified and discussed.
4 Performance improvement from SDN architecture perspective
This section belongs to the recent researches in SDN architecture in data, control, and application plane separately. This section focuses on performance improvement to show what methods and resources exist to ameliorate performance in the different layers of SDN which are data, control, and application.
4.1 Data plane in SDN
The recent investigations that have been done on the FEs and its interface toward the controller are focused in this paper. The southbound API specifies the rule of adding, removing, and modifying flows from FE and the flow tables are located in the FEs, whose type of memory and its function are important in the storing, deleting, and searching of flows.
4.1.1 Southbound API protocols
The open flow has been known as an open-source API for adding, removing, and controlling rules from the flow tables which have been placed in FEs, whose functions are discussed in [41]. This paper has added capability for relationship between control and data layers. Curtis et al. [42] have surveyed the OpenFlow protocol and proposed DevoFlow which has reduced the overhead of OpenFlow for high-performance networks. The relevant workgroup in the IETF has provided the RFC 5810, named ForCES, to access the goals that OpenFlow had traced [43]. The ForCES standard has provided a dynamic model in comparison to OpenFlow, but it has been less used because it was not available in open source [24] and [43]. To migrate toward an OpenFlow-based network, the network equipment should change, so it causes more expensive. Authors in [44] have present the closed flow method to take advantage of SDN without changing network elements and new investment. The other standards for the southbound API have been proposed by the IETF in RFC 4655 called PCE and in RFC 6830 named LISP [45] and [46]. Communication networks are similar to pipes to transfer data from one node to another node. These communications are becoming dominant with software-based infrastructures for data transmission and data inspecting, while data are moving between hosts. Wood has developed OpenNetVM and open-source framework for high-speed packet processing to expedite network middleware scrutiny [47].
4.1.2 TCAM space
Flows are stored in the FEs and need to reduce the memory reading and writing time to improve performance in the data plane. The network flow tables are stored in the high-speed and very expensive memory called ternary content addressable memory (TCAM), so control of table size is important for cost management. Paper [48] has presented a decision forest model making to store more data in memory. Kannan et al. have proposed compact TCAM in the paper [49], which stored more entities in the TCAM by decreasing the size of flows index. They have used shorter tags for identifying flows than the original number of bits used to store the flow entities. This approach has reduced the power and the cost of a flow with a decrease in the number of flows which are supported by FEs. In [50], a source routing approach has been proposed that amends the scalability, reduces the convergence time, causes fault tolerance, and decreases the number of ingress flows. In paper [51], Ms. Rifai and her colleagues have proposed and evaluated a compression algorithm called MINNIE in an essay to enhance the efficiency of TCAM in SDN. Moulierac et al., in the paper [52], used the integer linear programming (ILP) optimization method to ameliorate the input flows size space in SDN. Paper [53] has suggested an algorithm to promote the rules for limited-size TCAM. In [54], adaptive hard timeout method (AHTM) has been proposed to improve the flow table utilization. This method optimizes the timeouts of flow entries to make the flow table efficient. In [55], Elliott and et al. have presented the system with FPGA to save tens to hundreds of thousands of filter rules while supporting real-time updates of the ruleset through online reconfigurability and modern line rates of 10G or higher. The other CPU base approaches impose significant latency in comparison with FPGA-based method.
4.2 Control plane in SDN
In SDN, control plane is composed of software and hardware called the “controller” which is acting as a network OS. The controller links some FEs. Distributed network controller and management in the traditional network have been changed into a centralized network controller and management in SDN. Therefore, in this architecture, the network administrators can regulate traffic based on application demands with rule setup in controllers. A controller works like middleware in the network. Many controllers are provided for the SDN architecture, which includes commercial and open-source ones. For commercial instance, Cisco, Juniper, NEC, Nicira, and big switch networks presented their own products for controller, which typically implement their own southbound API protocol which is similar to the OpenFlow protocol, for example, APIC is provided by Cisco as a controller [56] and Big Network Controller by Big Switch Company [57]. Research centers and universities usually use open-source controller based on OpenFlow. These controllers are centralized but some of them support distribution. Roberto Bifulco et al. add ARP responder to improve the ARP packets and decrease the ARP broadcasting [58].
4.2.1 Open-source controller
These controllers are extensible and development is available. These are attractive to researchers and academics. These controllers also are used in the commercial controller.
4.2.1.1 Centralized controller
Some controllers work in a centralized manner, and there is no way to communicate with other controllers. Casado et al. presented the first controller in the Ethane project in the year 2007 [11]. NOX controller was implemented in C++ language and was presented as the first open-source controller in 2008 [59]. The NOX controller is installed on the server. This server also stores the necessary data for the network global view. Maestro controller was introduced in 2011 and was intended to improve the parallelization of controllers in the article [60]. This research has shown that the throughput (Thr) of Maestro can meet about linear scalability on an eight-core server machine. This paper has used the parallelized method and has implemented the controller on NOX and eventually offers Maestro as a controller. Floodlight controller is a Java-based and open-source software that uses the OpenFlow protocol as its southbound API and big switch network uses floodlight to implement its own controller [61]. Beacon has been introduced in 2010, aiming to improve the controller performance. This controller is Java based and open source and also supports the OpenFlow protocol as southbound API and generally; it is common for training and researching [62]. OpenDaylight has also been introduced by Linux Foundation [16]. A customized OpenFlow controller has been developed in Ruby and C with the use of Trema as a full-stack and easy-to-use framework [63]. Ryu is an SDN core based on components. It presents software modules and paves the way for developers to implement new network modules to control. This controller supports NMS protocols consist of OpenFlow, Netconf, and OF-config. It carries five versions of OpenFlow and Nicira Extensions. This controller is open source and frees under license of Apache 2.0 [64]. Due to the architecture of SDN controllers, the problem is the single point of failure, so controllers need to be scalable to overcome this problem.
4.2.1.2 Distributed controller
Some controllers can have decentralized architecture, and they have defined communication methods with other controllers, which paper [65] expressed taxonomy of controllers in SDN and stated distributed approaches in three categories, (a) distributed flat controller design, (b) hierarchical controllers design, and (c) hybrid controllers design. In distributed methods, controllers are still conceptually centralized in SDN but can be physically distributed as shown in Fig. 5.
Koponen et al. presented Onix which supports distribution as a distributed control. Onix provides a general API for implementation over the controller; Onix controller in 2010 was introduced [66]. Mr. Toutonchian and his colleague at the University of Toronto, with the development of the NOX controller, could provide a new controller with scalability named HyperFlow in 2010 [67]. DISCO controller was presented as a distributed controller in 2014, which differed from the past distributed controllers. This controller is used for heterogeneous networks. These controllers independently control different domains and can communicate with each other through the east–west API. This controller has used OpenFlow-based Floodlight and AMQP protocol to develop [68]. The controller called ONOS can be used for WAN. The first version of ONOS was developed to overcome the problem of scalability and the second version to better performance. This controller is suitable for large-scale networks [69]. A few numbers of researches have been done on the evaluation of controllers. Mr. Abdullah Shah et al. have examined the performance of the four controllers, NOX, Beacon, Maestro, and Floodlight in terms of thread scalability, switches scalability, latency, and throughput, meanwhile, these controllers are multi-threaded [70]. A controller with the support of OpenFlow basically has two paradigms: reactive and proactive. In [71], the authors proposed a methodology to evaluate OpenFlow controller performance. Both of the two paradigms from the point of performance were examined in identified controllers. The performance evaluation was done in a physical environment and emulation. The performance evaluation was done in a physical environment and emulation. It was examined different OpenFlow-based controller and using a varied number of OpenFlow devices. Finally, this paper presented some conclusions about controller scalability. Ms. Shiva Rowshanrad and her colleagues at Shiraz University have reviewed and compared the OpenDayLight with Floodlight. In this paper, packet loss and delay in different topologies with different loads have been examined [72]. Monaco et al. expressed the purpose and design of the Yans controller in [73] and also stated that controllers have the role of the operating system in the network. In [74], Xie et al. reviewed the existing controllers for performance, scalability, and security. All reviewed papers are summarized in Table 1.
4.2.2 Important commercial controller
In this section, several hardware vendors, network service providers, and network solutions consultants which designed and developed their own controllers, are introduced. Cisco introduced a controller named APIC which is a software-based controller. This controller automates and simplifies network configuration, provisioning, and management in comparison with a single x86 or virtualization-enabled computer [56]. HP has launched a controller called HP VAN SDN that provides a unified control in an OpenFlow-enabled network. This controller simplifies management, provisioning, orchestration and facilitates the delivery of a new generation of application-based network services [75]. NEC provided NECPF6800 control over a network that supports the OpenFlow protocol as a southbound API [76]. The VSC controller provides a controller as a service and multi-tenant to the controller [77]. VMware has introduced a controller called VMware NSX to manage virtual machines and tunnels [78]. Huawei as a hardware and service provider has developed a controller called Agile controller [79]. Microsoft has also provided a controller for controlling virtual and physical resources on its Windows Server 2016 [80].
4.3 Application plane in SDN
SDN adds programmability to networks so users and IT employee can solve network management, QoS, routing, and network performance problems in the application layer. In SDN, Applications can be used in different networks like cloud computing, data centers, cellular networks, and the Internet of Things (IoT) and can solve the network issues. To automate and optimization in SDN, new information analysis concept like big data can be used.
4.3.1 Application plane and NMS
The two tools named ENVI and SAGE have been developed to monitor and evaluate OpenFlow-based networks [81]. Open Networking Foundation (ONF) has defined rules to provide an extension into the SDN framework. Devlic et al. have proposed an initial architecture to integrate network management and SDN framework with ONF rule considering. Architectural considerations include the definition of the required entities and their interactions. Architecture on the access and aggregation was proposed as a network use-case, ultimately. It also plans procedures that can explain how network management extensions can expedite network-wide and node-specific management & configuration [82]. Kim et al. presented a network control framework called lithium that facilitates network management [83]. Sundaresan et al. have launched and developed a pilot platform called “BISmark” to collect information about network topology, availability, accessibility, etc. [84]. In [85], Kim et al. designed and implemented “Procera” to facilitate network operations and management of all aspects. This product combines top-level networking policies and low-level network configuration. In [86], a framework for managing things on the Internet of Things was presented. In [87], the vertical structure of the equipment management was presented for configuration, control, and monitoring of resources, and the management of heterogeneous equipment and communication between different networks. This structure was implemented using the “Yang” language. 5G technology needs cellular flexibility and more resource manageability that require the use of SDN architecture. Chang et al. expressed the merit of quick converging to the global optimal solution was used to design the fitness function of the network resource management. The ability of fast random search of particle swarm optimization was used to realize the update and optimization [88]. Das et al. provided a framework based on SDN with huge help resources for network management called FlowComb [89].
4.3.2 Application plane and QoS
Kim et al. implemented an API to program in the controllers to manage QoS in an SDN controller that provides automated control over the QoS in networks [90]. In [91], the authors proposed OpenQoS controller for end-to-end multimedia services. With the optimization of OpenFlow-based controllers, Egilmez and colleagues presented a method to optimize QoS for scalable video streaming. They implemented this optimization in a controller over an OpenFlow network. In this case, they solved two optimization problems to improve QoS in video streaming. They prioritize frames routing in a way to transfer the base layer as a flow without any losses in QoS, and then, the enhancement layers are routed as a flow with losses in QoS [92]. The A-SDN standard was implemented by the IETF to provide a framework for SDN that supports QoS and implement network services with deploying network function as a software application [93]. KO et al. have provided OpenQFlow as a branch of OpenFlow to support QoS in SDN, besides, this protocol is stateful and uses micro-flows [94]. Civanlarand et al. described an architecture for flow-based QoS in OpenFlow-based networks, which consisted of a central controller and a large number of FEs. They focused on analyzing the optimization method for routing and the requirements for providing QoS in scalable video streaming in [95].
4.3.3 Application plane and data center network
Google designed and implemented the B4 network to connect its data centers with the aim to maximize utilization of bandwidth (BW) between them control with easier method [96]. Tavakoli et al. [97] developed NOX controllers for data centers and addressed the needs of the data center. Thanh and colleagues develop an OpenFlow testbed to measure and analyze energy-aware data centers deeply, which consists of hardware infrastructure and simulation [98]. Macapuna et al. proposed a new data center architecture called “SiBF,” which changed data centers problem into a software challenge [99]. Fang et al. proposed an approach to detect congestion in data centers using SDN [100]. Martini et al. have proposed a coordinated approach based on the architecture of SDN for virtual data centers that make the trade-off between computational and network resources [101]. Wang et al. presented a dynamic controller with considering response time decrease in the controller [102].
4.3.4 Application plane and cloud computing
Cloud computing is provided at three levels: “Infrastructure as a Service (IaaS),” “Platform as a Service (PaaS)” and “Software as a Service (SaaS).” Providing the network as a service (NaaS) is difficult and complicated due to the limited network resources controlling. SDN provides a robust API for network management that enables the implementation of NaaS. Feng and colleagues have suggested an idea with a combination of cloud computing and networking concepts named network as a service (NaaS). This conception begets openness criteria for related protocols and designs to provision, delivery, and network resource consumption. They extend OpenFlow-based architecture as a cloud-based network [103]. Benson et al. have presented a novel cloud networking system called CloudNaaS. Users can leverage CloudNaaS to support the growth of applications with the help of an extensible, rich, and flexible network function chains. What makes CloudNaaS hugely efficient is cloud infrastructure and high-speed programmable network element [104]. Banikazemi et al. have proposed a Meridian-based SDN framework to support a network service model for cloud computing [105]. Raghavendra et al. presented a software architecture for network management operations; this scheme is including a shared graph library. The authors presented a mechanism to qualify practical computational times using dynamic all pair shortest path algorithm with dynamic graph query which is scalable lightweight [106]. Tidbits in [107] stated that SDN eliminates network infrastructure constraints and provides a suitable platform for creating cloud computing.
4.3.5 Application plane and others
Caraguay et al. described IoT and SDN with an inspection of the combination of these technologies [108]. Hoffmann in [109] stated that SDN and network function virtualization (NFV) have been considered in recent years; they focused on mobile networks to make it cost-efficient. They have used SDN and NFV concept with using standardized software and hardware for these networks. Bifulco et al. scrutinized the scalability of SDN-based networks and then proposed a distributed strategy based control plane functions which enable scale-out of the system. They proved the separation strategy with a simulation that results in less state engaged by individual OpenFlow controllers; in addition, it is also more effective with localization of network traffic [110]. Fichera et al. presented an experimental scheme for 5G with use of SDN-based edge networks, cloud computing, and IoT topics. In this architecture, there is an orchestrator to provision data delivery path based on reliability and robustness of 5G networks requirements [111]. Wang et al. used SDN to solve the mobility problem in the IP network and provided an architecture [112]. Cui et al. in the paper [113] presented the good ability of SDN to solve problems prevailing with big data application like data processing, data transferring and optimization in data centers. In addition, network data in SDN have big data criteria and can be analyzed by big data algorithm to control and manage networks too. They showed big data and SDN benefit from each other. In this section, the work done in the data layers, control, and application has been dealt with and a summary of them done in it has been examined, which is summarized in Table 2.
5 Performance improvement in SDN-based networks
Based on our recent studies, we can classify the networks in three groups, generally which are (1) SDN-DC & cloud, (2) wireless, and (3) SD-WAN and then categorize the performance improvement solutions with SDN based on the three mentioned network types. The network types which need more agility, flexibility, and innovation are shown in Fig. 6. These types are more common in the recent papers, and we have clustered the solutions which are presented in Sects. 5.1, 5.2, and 5.3.
5.1 Performance improvement in SDN-DC & cloud
In SDN-enabled optical networks, significant resource consumption reduction for heterogeneous bandwidth (vs. homogeneous bandwidth) is a result of research [114] done by Mandal et al. Iovanna et al. proposed a hierarchical routing approach; they have used a novel virtualization scheme for real network operation adaptively to configure heterogeneous packet-optical network domains dynamically. Finally, they validated their idea by simulation in the real network and showed that it is suitable for transport SDN [115]. Paolucci et al. focused on flexgrid optical networks and proposed a novel super-filter technique. They compacted spectrum-contiguous light path and bettered performance measures in spectral efficiency [116]. Zhou et al. have studied flexible load of fibers and verified different distances 10, 20, and 30 km fiber to support different optical power budget up to 44db and the capacity between 200 mbps to 9.6 Gbps. They have proposed a novel software-defined FlexPON to control bit loading adaptively. The proposed scheme is composed of three innovative features which are (a) DSP enabled flexible transceiver and flexible link, (b) OLT side access network resource virtualization, and (c) software-defined programmable network function and resource scheduling. This solution is to deliver high quality of service (QoS) to end users with highly diverse wired and wireless [117]. Zhao presented an optical as a service (OaaS) and designed to provide the optical network resources directly for the data centers with considering both data center and network resources, which can be implemented with software-defined networking (SDN). Under SDN enabled OaaS architecture, a new concept of network provisioning is proposed different from legacy connection (light path) provisioning, because the client’s requests may include not only one end-to-end connection but also several end-to-end connections, even a network [118]. Zhang et al. designed the optical network architecture called SD-DON to save energy. This solution is offered to incorporate an optical network unit (ONU) sleep/doze modes into dynamic bandwidth allocation (DBA) in order to decrease energy consumption [119]. Zeng et al. used SDN in rearrangement the multicast-trees to minimize spectrum usage and operation complexity. They have proposed the routing algorithm in inter-DC to select light path dynamically [120]. Liu et al. studied multipath routing problems for fat-tree networks scenario. They proved that the problem is NP-completeness and then proposed a practical solution based on SDN. Their algorithm has been implemented in an OpenFlow-based and centralized controller to collect the necessary information to select an optimized route. They used Mininet and Data Center Network (DCN) to prove that their algorithm has made throughput and end-to-end delay optimized [121].
Peng et al. proposed a new smoothed optical DCN to provide dynamic, programmable, and highly available connectivity services for DCN. They expressed LIGHTNESS which is low latency and high throughput dynamic network infrastructures for high-performance data center interconnects. This architecture tries to provide the requirements of new and emerging DC and cloud applications, dynamically [122]. Gu et al. combined SDN and network coding for intra-data center communication and proposed a flexible and efficient passive optical networks with focusing on edge and aggregation layer in DC. This scheme has provided a low delay, good fairness, increased efficiency, and network flexibility. They use dynamic bandwidth allocation, wavelength assignment, and scheduling to minimize the load of the core layer in DCN and provide a low delay, good fairness, increased efficiency, and network flexibility [123]. Ma et al. provided a platform for evaluation SDN-based network from the points of conformance and interoperability. Conformance testing is done to show that the equipment meets the needed conditions. Interoperability testing is performed to evaluate that the equipment from different vendors can be communicated with each other or not [124]. Wang et al. presented a latency-aware flow scheduling system to provide required effective bandwidth to make sure the network to meet targeted QoS and QoE with considering of existed changes in inter-VM traffic patterns and background application VM patterns [125]. In [126], Li et al. presented a solution to the problem of resources scheduling in cloud-based networks by using Hadoop and allocate bandwidth according to the network conditions. Lali and colleagues have evaluated the performance based on latency, packet delivery ratio, and processing overhead in SDN, by comparing the performance of traditional networks and SDN improvements [127]. Murali et al. proposed two heuristic algorithms forward local rerouting (FLR) and backward local rerouting (BLR) for solving the proactive fault-tolerance problem in SDN, in which they considered the optimal backup path in TCAM memory and bandwidth efficiency. FLR starts the path selection when a link is failed to recovery the end-to-end path. This algorithm selects the path with the least number of additional switches. BLR chooses the backup path based on TCAM-aware algorithm, since the backup baths need minimum TCAM, in the other hand, the minimum number of additional rules as well as the amount of bandwidth reserved for the backup paths. This study has shown that the number of needed rules decreased to 75% and network restoring time is up to 50 ms and has been improved in the bandwidth for backups [128]. In the cloud-based data centers, energy consumption is an important parameter. In SDN, the resource of the network can be allocated by a need to control energy consumption. As mentioned in this research, switches are the most energy consumer that should be controlled by this method. Subbiah et al. in [129] proposed an energy-efficient routing algorithm in open virtual switch to select the optimal path based on minimum power consumption. Chiang proposed a multipath transmission scheme to equally balance the traffic of flow over the disjoint paths designated by the SDN controller, which was able to learn the topology of the network and discover multiple transmission paths [130].
TING-YU MU et al. reduce traffic between the controller and switches and controller load with the machine learning technique in cloud computing servers. They use deep reinforcement learning to better controller overhead up to %60 and 14% improvement in the table-hit ratio [131]. In [132], the authors proposed an algorithm to differentiate between heavy flows, elephant flows, and bulky flows and present efficient algorithms to detect flows of the different types based on multi-parameters. This algorithm improves the scalability of the network and traffic control. Qiang Gao et al. proposed a delay-constrained multicast routing algorithm which had been derived from anycast to avoid traffic congestion in multicast trees dynamically [133]. X.Qin et al. proposed a dynamic routing for VM migration to improve the performance in the SDN-based networks [134]. They offered an early notification (E-N) algorithm that can deal with bursty traffic and packet loss which exist in live VM migration, and then develop a dynamic routing algorithm to improve the network performance. Zhang et al. tried to solve the performance problem in data centers with big data, so they proposed an efficient flow detection mechanism, and a novel algorithm to differentiate scheduling algorithm based on the link performance situation to improve performance [135]. Lin et al. offered the greedy algorithm to improve the network performance based on user request scheduling to improve network performance. The network requests are considered from three points, (1) the amount of data, (2) time, and (3) the coupling relationship between requests. The amount of data is presented by bandwidth and time of requests. Time presents the length of requests. The coupling relationship shows the relation between request, for instance, the first request with a small amount of data used for negotiation and the second request with large amount data used for transmission [136].
5.2 Performance improvement in SD-wireless network
Costa-Requena et al. provided an idea for the integration of SDN and mobile networks named SDMN, which benefits from dynamic and efficient caching. They used SDN in LTE networks to optimize bandwidth and latency by providing content caching and then presented the benefits of this integration [137]. Yang et al. presented a congestion control method that reduces the response time in non-balanced conditions. The burst traffic is a problem in radio networks which causes congestion. The heterogeneous radio network integration is considered to reduce network congestion as a cost-effective scheme. In this paper, the authors use the coverage overlapping of varying wireless networks like LTE and Wifi to transfer the traffics. They also perform the SDN as an architecture to make this solution dynamic. The throughput degradation of adapting their mechanism is 4.15% on average [138]. Anderson et al. have controlled encryption in the boundary between the mobile packet network and data networks. They use SDN and NFV (network function virtualization) to code the traffics which are required in DPI, video optimization, content caching, etc. system dynamically. This increases the QoE by adaptive regulating and managing of traffics [139]. Narmanlioglu et al. stated the eNodeB assignment to each mobile operator (MO) with varying numbers and locations of associated user equipment (UE) and MOs’ demands. They use QoS-aware and QoS-unaware scheduling algorithms adaptively and show that the LTE network works with better performance terms which are fairness, data rate, and satisfied-MO-ratio. They perform the virtualized controller to develop this concept and evaluate with Monte Carlo simulations with time-varied numbers and location of user equipment [140]. Anil Kumar Rangisetti et al. worked on the load imbalance issue and have proposed software-defined LTE radio area network (SD-LTE-RAN) framework. They used a QoS-aware load balance (QALB) algorithm. They implemented a novel balancing algorithm which considers loads of neighbor cell, UEs QoS profile, and their throughput. This algorithm maintains 80% of the guaranteed rate for 70% of the cells, while the previous algorithms only hold 50% of the cells. This algorithm has reduced average network overload by 15% on the network and in a mobility scenario; it has been decreased by 10% [141]. In paper [142], Al-Rubaye et al. proposed a new platform based on SDN named IIoT. This platform has been implemented in a controller to gather network real-time information to manage demand, resources, and system reliability and protect the network against failure. WSNs have limitation in their performance which is sensor resource restrictions. The resources are power supply, memory, processing units, and communication capabilities. In [143], the authors consider both sensor resource restriction and random node density in a geographical area. They cluster the sensors into virtual zones (VZs) in order to balance the number of cluster heads (CHs) based on the node density of VZ. They have used the whale optimization algorithm (WOA) in SDN. Chakrabarty et al. have presented an SDN architecture for the secure IoT named BlackSDN to improve security and performance in IoT. They showed that the SDN can ameliorate the throughput of the network with the proposed method and SDN in the broadband networks [144]. El-Mougy et al. studied researches done to combine IoT and SDN. They analyzed SDN base IoT to manage different types of networks to provide sensing-as-a service (SaaS) as a momentous cloud IoT application like wireless sensor networks and mobile networks. The performance is throughput and latency which are measured in this research [145]. Tomovic et al. worked on fog computing which enables some data to be analyzed and managed at the network edge. They proposed a new model that is composed of IoT, fog computing, and SDN to provide the low and predictable latency of the applications in the network [146]. Jang et al. developed an architecture based on SDN for the Internet of Things that are used in smart home and have improved QoS parameters such as fairness, delay, service priority, and quality of experience by allocating proper bandwidth [147]. Bera studied different SDN-based networks to achieve an effective method for IoT in edge, core, and data center networking. This study is a survey about the SDN for IoT [148]. There is a language called P4 which is a top-down approach to describe a protocol-independent data path pipeline, independent from the network platform. Meanwhile, the open data plane (ODP) follows an open-source bottom-up method to write platform-independent data plane applications. Patra et al. offered the multi-architecture compiler system for abstract data planes (MACSAD) as an approach to converge P4 and ODP through a common compilation process delivering portability of data plane applications without compromising target performance improvements [149]. Jan Willem et al. worked to provide dynamic adaptive streaming over HTTP (DASH) for internet video streaming over HTTP in wireless testbed. This system provisions target bitrate signaling and dynamic traffic control to give proper bandwidth sharing among clients; in addition, it is privacy-friendly and encrypted video streaming fully support. The main performance metrics are bandwidth and delay [150]. In paper [151], authors proposed a method for mobility-induced packet losses are tackled smartly to avoid the reduction in sending rate and proposed SDN assisted TCP does not violate the end-to-end semantics and no modification is required in the TCP protocol running at the end hosts. Malak Sadik offered a system with a centralized controller to assist in the handover discovery, handover decision, and co-channel interference coordination. They try to support QoS, Quality of Experience (QoE), reduce delay, and interference in multi-tier LTE/Femto and D2D networks. This algorithm predicts the QoE in UE to increase network capacity and reduce interference. They use SDN-based fuzzy MADM handover scheme and reduce unnecessary handovers, blocking probability, and total handover delay with parallel throughput increase [152]. Lun Tang et al. worked on 5G to provide promising technology demanding services; they try to reach a compromise between network stability and network slice embedding (NSE) reliability [153]. This paper improves the reliability of NSE. The resource allocation while ensuring the stability of the queue is proposed in this work. Nir Gazit et al. worked on the mobile operator for the next generation networks and proposed the online placement and evaluated in the realistic scenario [154]. They decrease the reliance on the third party which is shown in %60 cost reduction. In [155], research on safety application was done which try to reduce delay and energy consumption in vehicular ad hoc networks with SDN/NFV technology. The authors proposed a collision detection algorithm for performance improvement. Schiller et al. have worked on mobile edge computing (MEC) platform and try to solve traffic engineering with SDN/NFV in 5G. They proposed a controller to manage traffics to better user Quality of Experience, e.g., latency, in comparison to direct communication [156]. Atzori proposed a solution for IoT paradigm and tried to control the workload and power consumption in parallel with extended lifetime with SDN architecture [157]. Coronado et al. have expressed a method to manage mobility in WLAN with multicast rate adaptation algorithm in SDN to better the performance metric like throughput and channel utilization [158]. Jindal has worked on VANET and expressed an approach to better delay, throughput, and network load with SDN and deep learning concept which the experimental test confirm this claim but its method has worse packet loss in comparison with only SDN-based VANET [159]. In [160], an approach based on SDN was proposed to improve performance with the sensing task, sensing a delay, and active sleep better control. Xi Zhang et al. work on 5G to improve QoS in this networks, so they proposed SDN architecture to manage wireless resources to improve performances with virtual networks without offloading, virtual networks with WiFi offloading, and virtual networks with device-to-device offloading [161]. Bellavista has suggested a model for collaboration with the mobile ad hoc networks (MANET) and fiber-wireless (FiWi) with a hierarchical SDN architecture to provide fairness and load balancing [162]. Mahmood worked on VANET which consists of heterogeneous wireless media like 4G LTE, Wi-Fi, WiMAX, DSRC, and terahertz communication to overcome the bottleneck and decrease the latency [163]. Chahal has proposed an SDN-based mechanism to avoid LTE from congestion and ameliorate the network performance [164]. A static stream control window can prompt issues, being too small or too large and requiring adjustment in an attempt to get to the current ideal value, so in this paper, they control TCP stack rate in eNodeB.
5.3 Performance improvement in SD-WAN
In [165], Bouet et al. worked on deep packet inspection deployment cost and proposed an optimization problem for its engine deployment cost. They used the genetic algorithm for optimization in different use cases with various traffic model and varied cost structure. They minimized the number of engines, network load, and unanalyzed flows. They showed that this optimization had reclined the cost of DPI engines deployment up to 58% with required bandwidth provisioning constraint. In [166], Li et al. discussed and proposed an optimization problem to maximize network utilization with practical bandwidth virtualization. Rodrigues discussed procedures to minimize losses on routes update layers across layers for monitoring of scalable traffics [167]. Hyunwoo et al. proposed a system to provide QoE for reliable video streaming with the help of real-time monitoring and select the appropriate path dynamically. They used MPLS for traffic engineering (TE) and off-the-shelf SDN platform [168]. Ji et al. used cross-layer architecture, hardware elements like adaptive EDFA-Raman amplifier, multi-degree supreme channel, and flexible network switching to optimize multi-flow switching [169]. Akyildiz et al. focused on four topics consisting of network management, fault tolerance, topology update, and traffic analysis with pattern extraction to characterize and then surveyed the state-of-the-art tools to engineer network traffic for SDNs. In addition, the authors discussed some existing traffic engineering tools from the points of industry and academy groups. Furthermore, open research issues for traffic engineering in SDN were discussed meticulously [170]. Huang et al. proposed a multiplexing design basis of rules so that all flows of a session move toward a destination but through distinct paths. The authors proposed a solution for an optimization problem to minimize space occupation in multiple unicast seasons with considering of QoS as constraints. They also formulated routing engineering, rule placement, and rule multiplexing schemes as an optimization problem [171]. Huang et al. proposed a multi-objective optimization problem to maximize statistical resource sharing with a service guarantee and minimize shared information [172]. Amiri et al. focused on cloud gaming data centers and suggested an optimization algorithm to select the optimal path based on linear programming (LP). They used a method for allocation of game server to game sessions’ base on the type of games, server loads, and path delay. Their result showed that this algorithm minimizes the average delay of all players by 9.6% [173]. Feng Tao proposed a scheme that per link has own price, bandwidth, and delay. They used SDN control application to meet a fair bandwidth allocation, min-cost, and minimum global delay. They integrated bandwidth allocation and flow table allocation in SDN and showed the difference between traditional network and SDN-based networks [174]. Tsung-Feng Yu et al. proposed an adaptive routing called ARVS for video streaming with considering of QoS based on SDN. They separated the behavior of network for the base layer and enhancement layer to introduce two different levels of QoS-flow. This method was evaluated with different network loads with a feasible path and shortest path routing algorithm. The result showed a 77.3% decrease in packet loss rate (PLR) for the base layer and a 51.4% increase in coverage [175]. In [176], Tomovic et al. investigated different routing algorithms to guarantee network performance in SDN, dynamically. Bandwidth rejection ratio and low computational time are used as a performance indicator in SDN. They used bandwidth and path delay for constraint in the optimization. Lara and colleagues proposed an additional virtual layer between the physical topology and end-users in the WAN. They proved this virtualization has significant advantages and endurable delays [177]. Saldana et al. have stated an optimization problem in OpenFlow-based SDN with bandwidth utilization objective function. They investigated the overhead of small packet-based flows and emerging services in a controller to reduce overhead. Their result showed that 68% of bandwidth in IP4 and 78% in IPv6 were saved [178]. Hongyu et al. developed a strategy to save on the access layer of SDN-based wireless networks and used a combination linear programming algorithm to optimize delivery time, QoS, and energy consumption [179]. In [180], a method has been provided for end-to-end bandwidth optimizing in SDN. Zhang et al. proposed a dynamic scheduling algorithm for bandwidth allocations based on bandwidth demand to provide high efficiency with an optimal scheduling algorithm for bandwidth allocation [181]. Zhu et al. defined a multi-objective optimization problem to meet the QoS demand and supported the largest parallel flow, using the MOPSO algorithm to find the optimized path [182]. Guo et al. used a type of genetic algorithm as a heuristic algorithm for a migration sequence of the routers to optimize traffic engineering. They evaluated by simulation and compared the greedy algorithm and static migration algorithm as proposed one [183]. Qing Li et al. proposed an update scheme which is fast and consistent in SDN-based network with the help of a new structure of relation graph. They focused on an update operation sequence to avoid inconsistencies. The result showed the update operation accelerated up to 40% on average [184]. Qiang Gao et al. presented an innovation in multicasting. They deployed multicast modules as a plug-in for the operating system in SDN. They used the routing algorithm to optimize and avoid congestion in multicast trees. The experimental result showed this framework is feasible and performs in a use case with high load [185]. Tolga Bagci et al. expressed an optimization problem for ISP revenue. They focused on cost per-flow for each service level as constraints. Their solution is based on users request for service and paying to optimize QoE in SDN controller [186]. Qin et al. proposed a model predictive control (MPC) for CDN to improve two performance parameters of response time and bandwidth. They used the intelligent algorithm to select server and routing path based on performance metrics [187]. Lan et al. focused on data center networks and stated an optimization problem and proposed a dynamic load balance path in SDN. Their algorithm changed the path toward the less congested path in SDN-based data center and decrease packet loss with updating of flow tables in each switch. Their solution is composed of two algorithms which are based on a single link and multilink. In the single link, they routed traffic to one link but, in multilink, controller directed traffic to multilink. Their result showed that throughput increased to 9.5 and18.5 percent per flow in comparison with LABERIO, respectively. They also tested their algorithm in a fat-tree topology and showed 8.3 and 24.8 percent improvement in throughput [188]. Bryskin et al. used GMPLS to move to SDN. The GMPLS protocol was introduced in 2000, and it was invested heavily [189]. Tomovic et al. used a logical centralized topology in distributed controller topology in SDN backbone and proposed a new routing based on bandwidth-delay. Their algorithm maximized utilization of network resources with efficient traffic engineering and classifies traffic flows in a finite number of categories based on the level of services to provide QoS [190]. Gao et al. formulated an optimization problem using mixed-integer linear programming and solved by an evolutionary algorithm ant colony and proved by simulation [191]. Al Hasrouty et al. used a multiparty VoIP system in SDN and proposed the solution to diffuse stream adaptively and dynamically to optimize the performance of the participant. They proposed a distributed algorithm and adaptive dynamic flow bandwidth balancing and latency [192]. In [193], the authors provided a method to collect a plurality of network information from the nodes, forward the network information based on a plurality of domain-specific policies, receive traffic optimization information based on the network information, and compute forwarding decisions for the nodes based on the traffic optimization information in SDN which is presented in the application layer and decides-based collected information. Gomes and colleagues used the combination of SDN and NFV and proposed virtual software-defined networks (VSDNs), and for assigning VNF, they used two algorithms, the BRAR algorithm to get the network into a state the elasticity and BEE-focus algorithm was proposed to select the appropriate route to improve bandwidth and energy efficiency [194]. Tuysuz in the survey article examined the papers from the point of energy efficiency and collated possible energy gain ratios of the existing approaches. This study discussed energy efficiency methods and future research [195]. Wibowo et al. focused on the OpenFlow protocol and its future challenges. They studied SDN and multi-domain SDN and presented a review of prevailing researches status [196]. Xu et al. focused on SDN-based data centers and general scenarios to evaluate. They optimized energy consumption and utilization of links and switches by flow scheduling. Their optimization minimized energy consumption and maximized link and switch utilization in a parallel way with deadline setup [197]. Valerrian Pasca et al. prioritized flows based on bandwidth and low latency in SDN. They classified traffics and demand using machine learning techniques (MLT). There are diverse applications and varied requirements in nature. Their algorithm routed flows based on application performance needs. Their proposed AMPS controller using MLT for flow prioritization and path allocation based on application requirements [198]. In [199], Lakiotakis focused on networked music performance (NMP) systems in SDN with considering the interaction between application requirements and network performance. Abdelhak Bentaleb and his coworkers worked on online reinforcement learning (ORL-SDN) to optimize the Quality of Experience (QoE) with presentation-quality stability, fairness, and bandwidth utilization. They formulate the adaptation process with partially observable Markov decision process and solve the per-cluster optimization problem and solve this optimization problem using ORL-SDN [200].
In [201], the authors proposed an intelligent algorithm for path controlling in the controller to save energy in hybrid SDN-based networks. They maximize control network control ability with a given SDN switches upgrading budget constraint and maximize energy saving in ISPs. Jingyu Hua et al. improve delay and bandwidth simultaneously to maximize the network utilization in SDN with hierarchical control plane [202]. Xiaohong Huang et al. proposed an algorithm to allocate the bandwidth to support better performance with the scalability of the networks [203]. Wai-Xi Liu et al. proposed an algorithm based on deep learning to predict the network performance for caching for ICN (information center network) [204]. The authors in [205] have offered methods for off-loading congested controllers and congested in-band control channels using control flow tables. They improved scalability and performance in the networks. Authors in [206] offered adaptive cache management (ACME) to adjust the sizes and shapes of buckets to make flow table efficient and better performance in SDN. Jian Yang et al. proposed an approach for video streaming to improve performance and efficiency, so they use SDN and then offered a variable-length interval cache strategy for RTP streaming, which can realize the self-adaptive adjustment of the size of cached video segments based on their access patterns [207]. Hayes et al. proposed the classification algorithm in SDN networks to improve performance with resource allocation approach [208].
We extract the performance metrics in each paper which are used to improve and cluster them based on the network type in Table 3. According to reviewed papers, the goal and the solutions for performance improvement which are proposed are presented. This table is one of our survey contributions.
6 Discussion
To improve the performance in SDN, it is needed to determine the metrics in the first step. In the second step, problems and solutions should be examined and categorized. In this paper, we have studied SDN performance improvement to pave the way for SDN researchers’ innovation. We have studied various issues in recent articles from well-known conferences and journals to find the most common performance improvement solutions in different spheres which are SDN-DC & cloud, wireless network, and SD-WAN. In this section, the problems, solutions, metrics, measures, and resources are discussed from different perspectives. SDN is composed of three layers and northbound, southbound, and east–west APIs which are summarized in Fig. 7.
6.1 Data layer performance discussion
Due to data plane in SDN and the proposed improvement methods, we can divide data plane solutions for improvement approaches into southbound API and TCAM memory space. There are various southbound APIs for communicating between the controller and the FEs. The OpenFlow protocol is commonly used as an open-source southbound API. To improve the SDN-based network performance, some changes in the functional methods have been implemented and presented, and other various standards have been proposed as southbound API whether commercial or open source. The memory space problem optimization is clustered in the data plane problem and tried to minimize memory space with the maximum number of stored flows in the flow table. Due to the high energy consumption in the TCAM, there is a direct relation between the amount of memory space and the energy consumption which causes improvement in energy saving. In this paper, improvement solutions for performance are considered, but for the future work, scrutiny can be narrowed to improvement in energy consumption.
6.2 Control layer performance discussion
According to our recent studied papers, we have classified controllers into two general categories based on open-source and commercial ones. There are some metrics which are considered in the commercial controller to select and develop in the open-source controllers. There are two main problems about the controller to improve the performance which are controller placement problem and controller performance problem. The controller placement problem (CPP) tries to optimize the number of controllers and their placement to improve the performance. The other issue which is investigated about the controller performance is the software techniques to parallelize the processes and threads. The controller performance can be summarized into three topics: (1) multi-core processor, (2) flow table partitioning, and (3) task batching.
-
Multi-core processing approaches which have been implemented in the commercial and open-source controllers allocate the processes to multi-cores to parallelize the controller’s modules and make the controllers faster.
-
Flow table partitioning which apportions the flow tables to reduce the search and decision time to optimize the performance of the network.
-
Task batching is the other way to batch the modules of the controller to avoid the resource-wasting.
6.3 Application layer performance discussion
Different types of applications have been defined in the application plane. We have divided the application plane into five main categories: network management, quality of service, data center, and cloud computing and other applications based on SDN. The number of papers which have been presented at various well-known conferences shows the attention of researchers to network management and automatic orchestration. The core of cellular networks like 4G and 5G, as well as the Internet of Things, use SDN-based networks to increase flexibility in facing new service demands. In this plane, the QoS and the QoE are evaluated and we can categorize the solution into routing and resource allocation improvement and optimization. Figure 7 shows three layers of SDN architecture with south and north API to communicate between the layers. According to the number of papers published in journals, the most focus is on the application layer with northbound API to improve network performance.
6.4 Performance metrics discussion
The reviewed articles have used the measures to evaluate the performance which are joint with the traditional networks. These measures are:
-
(a)
BW: The capacity of the wired or wireless link to transfer the max amount of data from one point to another point in one second, and its unit is bit per second (bps).
-
(b)
Thr: The amount of data processed and transferred from one point to another point through networks in one second, and its unit is also bit per second (bps).
-
(c)
Delay: The time lasts to transfer data from one node to another node through a network that consists of propagation, transitions, queuing, and processing delay. Its unit is second.
-
(d)
Jitter: The variation of delay through two points in networks. Its unit is second.
-
(e)
BP (blocking probability): it indicates the probability of flows which are blocked. This metric’s unit is percent.
-
(f)
Bit error rate (BER): The number of bits has been altered through a channel in the result of noise, interference, distortion, and synchronization. Its unit is a percentage of altered bits to total transferred bits.
-
(g)
PLR: The percentage of packet loss with respect to a packet sent.
-
(h)
Flow rate (FR): The number of flows to be transferred through the network in per second.
-
(i)
Energy consumption: The percent of the energy which is saved.
Different metrics have been used to evaluate the performance in different SDN-based networks, so this metrics in different network types are compared in Table 4.
To evaluate the performance in the network, we can use bandwidth, throughput, delay, jitter, BP, bit error rate, packet loss rate, flow rate, and energy. These measures can be classified into bandwidth and power which are two resources in the network generally. To improve network performance, resources have to be measurable and controllable to improve network performance. The bandwidth resource which shows the capability of data transferring in per time unit is the main resource of networks. It has a direct effect on performance metrics. The power as the other resource includes energy consumption which can be measured and controlled.
6.5 Performance problems discussion
Performance improvement has been stated as the problem to control and develop resources in SDN. Problems can be divided into two groups which are network resource scaling and network resource controlling. The problems can be expressed in (a) SDN layers category or (b) TCP/IP layers one. The SDN layers’ problems are:
-
1.
Data layer: The problem statement in the data layer is organized into southbound API and TCAM space control. The solutions should be proposed to solve the southbound API overhead decrease and quick flow registering. The other problem is TCAM space control to prevent congestion control and lessen TCAM space. TCAM space reduction can influence the cost and read/write speed on FEs.
-
2.
Control layer: The problem which should be solved is increasing flow rate, and make controllers distributed.
-
3.
Application layer: The problem can be support many network applications like NMS, QoS, Data centers, cloud computing, and others. This layer can follow performance with implementation of different network applications.
The TCP/IP layers’ problems are:
-
1.
Physical layer: bandwidth expanding with microwave, optical spectrum resource is a problem. The other is power management to decrease energy consumption.
-
2.
Datalink layer: congestion control problem with cache space management.
6.6 Network resources discussion
The networks have their own specified resources which can be classified as:
-
(a)
BW: it is the capacity of the channel to communicate.
-
(b)
Optical resources: it is the resources which exist in the optical channel like wavelength, frequency.
-
(c)
Cache: this resource points the caching resources like TCAM, queue, flow table. This resource also indicates the caching methods in the WAN.
-
(d)
Power: this is the power which is used to transfer data.
-
(e)
Microwave resource: it is the resources like frequency in wireless media.
-
(f)
Cost: this is the cost of the network to transfer data.
In summary, the papers are classified based on the network resources which are used in the researches in Table 5.
6.7 Solutions discussion
These solutions have been generalized into three terms which have been extracted from the reviewed papers.
-
(a)
SDN architecture benefits: the benefits of the global view of the controller, programmability, and flexibility have been used with the researchers.
-
(b)
Resource allocation with awareness: Fairness and awareness in resource allocation make better the performance of the networks.
-
(c)
Distributed control plane: Multi-core processors, flow table partitioning, flow batching, and task batching in the controller with the different architecture of the controllers’ aid the innovation for performance improvement.
7 Conclusion
In this survey, we have examined the performance improvement in SDN and generalize the solutions, metrics, and resources which have been proposed in the recent papers published in ACM, IEEE, Elsevier, and Springer. We have divided the performance improvement issues into two momentous contributions which are SDN architecture and network types. According to the reviewed papers, we categorize the performance issues in data, control, and application plane. In the data plane, the network utilization is proposed with southbound API changes to reduce the number of messages, and TCAM space-saving to flow table minimization, energy consumption decrease, and cost reduction. The controller issues are CPP and controller performance. Application layer concentrates the adaptability solutions based on network condition to improve network performance. The application layer is the most interesting plane for performance improvement. The network performance is evaluated with metrics which are BW, Thr, delay, jitter, BP, BER, PLR, FR, and energy consumption. The resources which are controlled to ameliorate the network performance are BW, optical resources, cache, power, microwave resource, and cost. The solutions based on the network types which are (a) SDN-DC & cloud, (b) wireless network, and (c) SD-WAN were classified. The complete model of performance in SDN includes controllers and network with this point that the controller should be able to handle requests parallelized with performance measures improvement in the network. This article is useful for researchers working on the performance of SDN with usage considerations and leads them to evaluate, improve, and optimize SDN-based networks performance with respect to more network types. The survey with a focus on the security improvement which can classify threats and solutions in SDN can be the future work.
References
Liu Y, Ren Y, Ge C, Xia J, Wang Q (2019) A CCA-secure multi-conditional proxy broadcast re-encryption scheme for cloud storage system. J Inf Secur Appl 47:125–131
Ren Y, Liu Y, Ji S, Sangaiah AK, Wang J (2018) Incentive mechanism of data storage based on blockchain for wireless sensor networks. Mob Inf Syst 2018:10
Ren Y, Leng Y, Zhu F, Wang J (2019) Data storage mechanism based on blockchain with privacy protection in wireless body area network. Sensors 19:1–16
Pan J, Paul S, Jain R (2011) A survey of the research on future internet architectures. Commun Mag IEEE 49(7):26–36
Qi H, Li K (2016) Software defined networking applications in distributed datacenters. Engineering, SpringerBriefs in Electrical and Computer, Dalian
Feamster N, Rexford J, Zegura E (2014) The road to SDN: an intellectual history of programmable networks. ACM Sigcomm Comput Commun 44(2):87–98
Shaohua C, Mengzhu T, Lv Z, Jiang D (2016) A study on application-towards bandwidth guarantee based on SDN. In: 2016 IEEE Globecom Work. GC Wkshps 2016 - Proceedings, pp 1–6
Lara A, Kolasani A, Ramamurthy B (2013) Network innovation using openflow: a survey. IEEE Commun Surv Tutor 99:1–20
Shirmarz A, Ghaffari A (2019) An adaptive greedy flow routing algorithm for performance improvement in software defined network. Int Numer Model Electron Netw Dev. Fields-wiley online Libr., pp 1–21
Ethane: A Protection Architecture for Enterprise Networks. [Online]. Available: http://yuba.stanford.edu/ethane/. Accessed 30 Sep 2017
Casado M, Freedman MJ, Pettit J, Luo J, McKeown N, Shenker S (2007) Ethane: taking control of the enterprise. In: Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications - SIGCOMM’07, p 1
McKeown N et al (2008) OpenFlow: enabling innovation in campus networks. ACM SIGCOMM Comput Commun Rev 38(2):69
Xia W, Wen Y, Foh CH, Niyato D, Xie H (2015) A survey on software-defined networking. IEEE Commun Surv Tutor 17(1):27–51
Open Networking Foundation is an operator led consortium leveraging SDN, NFV and Cloud technologies to transform operator networks and business models. [Online]. Available: https://www.opennetworking.org/. Accessed 30 Sep 2017
IRTF SDNGroup. [Online]. Available: https://irtf.org
Nakajima T (2013) Introduction to OpenDaylight: an open source community around software-defined networking what is OpenDaylight
Infonetics: Carrier SDN and NFV to reach $11 billion by 2018 ~ Converge! Network Digest. [Online]. Available: http://www.convergedigest.com/2014/11/infonetics-carrier-sdn-and-nfv-to-reach.html. Accessed 30 Sep 2017
Qi H, Li K (2016) Introduction. Briefs in electrical and computer engineering. Springer, Dalian, pp 1–12
Yahoo, Verizon execs: Prepare your networking team for SDN and DevOps. [Online]. Available: http://searchsdn.techtarget.com/news/450401965/Yahoo-Verizon-execs-Prepare-your-networking-team-for-SDN-and-DevOps. Accessed 03 Oct 2017
Juniper Networks Expands Tech Alliance to Push SDN in Security Domain. [Online]. Available: https://www.thefastmode.com/technology-solutions/10011-juniper-networks-expands-tech-alliance-to-push-sdn-in-security-domain. Accessed 03 Oct 2017
Ericsson Selects Verizon’s Managed SD-WAN with Virtualized Security and E-RAN Solutions. [Online]. Available: https://www.thefastmode.com/technology-solutions/10696-ericsson-selects-verizons-managed-sd-wan-with-virtualized-security-and-e-ran-solutions. Accessed 03 Oct 2017
Mendon M et al (2014) A survey of software-defined networking: past, present, and future of programmable networks. IEEE Commun Surv Tutor 16(3):1–18
Rowshanrad S, Namvarasl S, Abdi V, Hajizadeh M, Keshtgary M (2014) A survey on SDN, the future of networking. J Adv Comput Sci Technol 3(2):232
Ieee F et al (2015) Software-defined networking: a comprehensive survey. Proc IEEE 103(1):14–76
Jammal M, Singh T, Shami A, Asal R, Li Y (2014) Software defined networking: state of the art and research challenges. Comput Netw 72:74–98
Scott-Hayward S, Natarajan S, Sezer S (2016) A survey of security in software defined networks. IEEE Commun Surv Tutor 18(1):623–654
Coughlin M (2013) A survey of SDN security research. Ngn.Cs.Colorado.Edu
Yoon C, Park T, Lee S, Kang H, Shin S, Zhang Z (2015) Enabling security functions with SDN: a feasibility study. Comput Netw J. 85:19–35
Lei YGHW (2015) A survey on software defined networking and its applications. Front Comput Sci 9(6):827–845
Masoudi R, Ghaffari A (2016) Software defined networks: a survey. J Netw Comput Appl 67:1–25
Chen J, Zheng X, Rong C (2015) Survey on software-defined networking. IEEE Commun Surv Tutor 9106(1):115–124
Farhady H, Lee H, Nakao A (2015) Software-defined networking: a survey. Comput Netw 81:79–95
Trapickin R (2015) Survey of concepts for QoS improvement via SDN. In: Proceedings of the Seminars future internet (FI) and innovative internet technologies and mobile communications (IITM), Summer Semester 2015, September, pp 33–40
Karakus M, Durresi A (2017) Quality of Service (QoS) in software defined networking (SDN): a survey. J Netw Comput Appl 80:200–218
Karakus M, Durresi A (2017) A survey: Control plane scalability issues and approaches in software-defined networking (SDN). Comput Netw 112:279–293
Li D, Wang S, Zhu K, Xia S (2017) A survey of network update in SDN. Front Comput Sci 11(1):4–12
Wrobel R, Member S, Williamson SJ, Booker JD, Mellor PH (2016) A survey on SDN programming languages: toward a taxonomy. IEEE Commun Surv Tutor 18(4):2687–2712
Michel O, Keller E (2017) SDN in wide-area networks: a survey. In: 2017 4th International Conference on Software Defined Systems, SDS 2017 IEEE, pp 37–42
Benzekki K, El Fergougui A, Elbelrhiti Elalaoui A (2016) Software-defined networking (SDN): a survey. Secur Commun Netw 9(18):5803–5833
Son J, Buyya R (2018) A taxonomy of software-defined networking (SDN) -enabled cloud computing. ACM Comput Surv 51(3):1–36
Schiff L, Borokhovich M, Schmid S (2014) Reclaiming the brain: useful OpenFlow functions in the data plane. In: HotNets-XIII: The 13th ACM workshop on hot topics in networks, pp 1–7
Curtis AAR, Mogul JCJJC, Tourrilhes J, Yalagandula P, Sharma P, Banerjee S (2011) DevoFlow: scaling flow management for high-performance networks. In: Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, Toronto, ON, Canada
Doria A, Salim JH, Wang W, Dong L (2010) RFC 5810, pp 1–124
Hand R, Keller E (2014) ClosedFlow: Openflow-like control over proprietary devices. In: Proceedings of the third workshop on hot topics in software defined networking, pp 7–12
Meyer D, Lewis D (2013) RFC 6830, pp 1–75
Farrel A, Ash J (2006) RFC 4655, pp 1–40
Wood T (2017) Active network middleware with opennetVM. In: ACTIVE’17 Proceedings of the second international workshop on active middleware on modern hardware, pp 13–13
Jiang W, Prasanna VK, Yamagaki N (2010) Decision forest: a scalable architecture for flexible flow matching on FPGA. In: Proceedings IEEE International Conference on Field Programmable Logic and Applications, FPL, pp 394–399
Kannan K, Banerjee S (2013) Compact TCAM: Flow entry compaction in TCAM for power aware SDN. In: Lecture notes in computer science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol 7730 LNCS, pp 439–444
Soliman M, Nandy B, Lambadaris I, Ashwood-Smith P (2012) Source routed forwarding with software defined control, considerations and implications. In: Proceedings of the ACM Conference on CoNEXT Student Workshop, pp 43–44
Rifai M et al (2017) MINNIE: an SDNWorld with few compressed forwarding rules. Procedia Comput Sci 121(5):185–207
Moulierac J (2014) Optimizing rule placement in software-defined networks for energy-aware routing. In: 2014 IEEE Global Communication Conference, pp 2523–2529
Huang JF, Chang GY, Wang CF, Lin CH (2016) Heterogeneous flow table distribution in software-defined networks. IEEE Trans Emerg Top Comput 4(2):252–261
Zhang L, Lin R, Xu S, Wang S (2014) AHTM: achieving efficient flow table utilization in software defined networks. In: Global Communications Conference, GLOBECOM, pp 1897–1902
Geoffrey Elliott H-AJ (2017) Online reconfigurable line-rate matching of filter rules. In: ACTIVE’17 proceedings of the second international workshop on active middleware on modern hardware, p 11
Cisco Application Policy Infrastructure Controller Enterprise Module (APIC-EM) - Cisco, san Jose, CA, 2014
SDN Controller| Big Switch Networks, Inc. [Online]. Available: http://bigswitch.com/products/SDN-Controller. Accessed 13 Oct 2017
Bifulco R, Boite J, Bouet M, Schneider F (2016) Improving SDN with InSPired switches. In: Proceedings of the symposium on SDN research - SOSR’16, pp 1–12
Gude N et al (2008) NOX: towards an operating system for networks. SIGCOMM Comput Commun Rev 38(3):105–110
Cai Z, Cox A, Ng ETS (2011) Maestro: a system for scalable OpenFlow control, Cs.Rice.Edu, p 10
Floodlight OpenFlow Controller -Project Floodlight. [Online]. Available: http://www.projectfloodlight.org/floodlight/. Accessed 13 Oct 2017
Erickson D (2013) The beacon openflow controller. In: Proceedings of the second ACM SIGCOMM workshop on hot topics in software defined networking - HotSDN’13, pp 13–18
Trema. [Online]. Available: https://trema.github.io/trema/. Accessed 13 Oct 2017
Ryu SDN Framework. [Online]. Available http://osrg.github.io/ryu/. Accessed 13 Oct 2017
Karakus M, Durresi A (2016) A survey: control plane scalability issues and approaches in software-defined networking (SDN). Comput Netw 112:279–293
Koponen T et al (2010) Onix: a distributed control platform for large-scale production networks. OSDI 10:1–6
Tootoonchian A, Ganjali Y (2010) Hyperflow: a distributed control plane for openflow. In: Proceedings of the 2010 Internet Network Management Conference on Research on Enterprise Networking, p 3
Phemius K, Bouet M, Leguay J (2014) DISCO: distributed multi-domain SDN controllers. In: Network operations and management symposium (NOMS)
Berde P et al (2014) ONOS: towards an open, distributed SDN OS. In: Proceedings of the third workshop on hot topics in software defined networking - HotSDN’14, pp 1–6
Shah SA, Faiz J, Farooq M, Shafi A, Mehdi SA (2013) An architectural evaluation of SDN controllers. International Conference on Communications 1:3504–3508
Fernandez MP (2013) Comparing OpenFlow controller paradigms scalability: reactive and proactive. In: Proceedings Advanced Information Networking and Applications (AINA), 27th International Conference, pp 1009–1016
Rowshanrad S, Abdi V, Keshtgari M (2016) Performance evaluation of SDN controllers: floodlight and Opendaylight. Int Islam Univ Malays Eng J 17(2):47–57
Monaco M, Michel O, Keller E (2013) Applying operating system principles to SDN controller design. In: Proceedings of the twelfth ACM workshop on hot topics in networks
Xie J, Guo D, Hu Z, Qu T, Lv P (2015) Control plane of software defined networks: a survey. Comput Commun 67:1–10
HPE (2016) HPE VAN SDN Controller 2. 6 Administration Guide
SDN: SDN Controller. [Online]. Available: https://www.necam.com/sdn/Software/SDNController/. Accessed 03 Nov 2017
“SDN Products| Nuage Networks.” [Online]. Available: http://www.nuagenetworks.net/products/. Accessed 03 Nov 2017
Ata D, Wa VM (2017) VMWARE NSX the network virtualization and security platform. Palo Alto CA, USA
Agile Controller for Campuses—Huawei products. [Online]. Available: http://e.huawei.com/en/products/enterprise-networking/sdn-controller/agile-controller/campus. Accessed 03 Nov 2017
Network Controller| Microsoft Docs. [Online]. Available: https://docs.microsoft.com/en-us/windows-server/networking/sdn/technologies/network-controller/network-controller. Accessed 04 Nov 2017
Hakiri A, Gokhale A, Berthou P, Schmidt DC, Gayraud T (2014) Software-defined networking: Challenges and research opportunities for future internet. Comput Netw A 75:453–471
Devlic A, John W, Sköldström P (2012) Carrier-grade network management extensions to the SDN framework. In: Swedish National computer networking workshop, pp 7–8
Kim H, Voellmy A, Burnett S, Feamster N, Clark R (2012) Lithium: event-driven network control. Georg Inst Technol Coll Comput 14
Sundaresan S, Burnett S, Feamster N, de Donato W (2014) BISmark: a Testbed for deploying measurements and applications in broadband access networks. In: Proceedings of USENIX Annual Technical Conference (USENIX ATC’14), pp 383–394
Kim H, Feamster N (2013) Improving network management with software defined networking. Commun Mag IEEE 51(2):114–119
Huang H, Zhu J, Zhang L (2014) An SDN-based management framework for IoT devices. In: Irish Signals & Systems Conference 2014 and 2014 China-Ireland International Conference on Information and Communications Technologies, vol 2014, no CP639, pp 175–179
Montoya-mu AI, Casas-velasco DM, Estrada-solano F, Ordonez A, De Telem D (2017) A YANG Model for a vertical SDN Management Plane. In: Communications and computing (COLCOM), pp 1–6
Chang Z, Zhou H, Yang W (2017) Optimization of resource management for 5G. In: International Conference on Computer, Electronics and Communication Engineering (CECE), pp 538–543
Das A, Lumezanu C, Zhang Y, Singh V, Jiang G, Yu C (2013) Transparent and flexible network management for Big Data processing in the cloud. In: 5th USENIX workshop on hot topics in cloud computing
Kim W et al (2010)“Automated and scalable QoS control for network convergence. In: Proceedings of the internet network management conference on research on enterprise networking, p 1
Egilmez HE, Dane ST (2012) OpenQoS: an OpenFlow controller design for multimedia delivery with end-to-end Quality of Service over software-defined networks. In: Signal & Information Processing Association Annual Summit and Conference (APSIPA ASC), pp 1–8
Hilmi SCC, Egilmez E, Gorkemli B, Murat Tekalp1 A (2011) Scalable video streaming over OpenFlow networks: an optimization framework for Qos routing. In: 18th IEEE International Conference on Image Processing, pp 4–7
Reddy T, Telecom F (2014) Internet-Draft (IETF), pp 1–12
Ko NS, Heo H, Park JD, Park HS (2013) OpenQFlow: scalable openflow with flow-based QoS. In: IEICE transactions on communications, vol E96-B, no. 2, pp 479–488
Civanlar S, Parlakisik M, Tekalp AM, Gorkemli B, Kaytaz B, Onem E (2010) A QoS-enabled openflow environment for scalable video streaming. In: IEEE GLOBECOM workshops (GC Wkshps), pp 351–356
Jain S et al (2013) B4: experience with a globally-deployed software defined WA. In: Proceedings of the ACM SIGCOMM Conference on SIGCOMM - SIGCOMM’13, pp 3–14
Tavakoli A, Casado M, Shenker S (2009) Applying NOX to the datacenter. In: Proceedings of the 8th ACM workshop on hot topics in networks (HotNets-VIII), pp 1–6
Thanh NH, Nam PN, Truong TH, Hung NT, Doanh LK, Rastin PR (2012) Enabling experiments for energy-efficient data center networks on OpenFlow-based platform. In: 4th International Conference on Communications and Electronics, ICCE 2012, no. 2, pp 239–244
Rothenberg CE, Macapuna CAB (2010) In-packet Bloom filter based data center networking with distributed OpenFlow controllers. In: IEEE international workshop on management of emerging networks and services, vol 2, pp 553–566
Fang S, Yu Y, Foh CH, Mi K, Aung M (2013) A loss-free multipathing solution for data center network using software-defined networking approach. IEEE Trans Magn 49(6):2723–2730
Martini B, Adami D, Gharbaoui M, Castoldi P, Donatini L, Giordano S (2016) Design and evaluation of SDN-based orchestration system for cloud data centers. In: IEEE Communications (ICC)
Wang T, Liu F, Guo J, Xu H (2016) Dynamic SDN controller assignment in data center networks: Stable matching with transfers. In: IEEE INFOCOM - The 35th Annual IEEE International Conference on Computer Communications, vol 2016
Feng T, Bi J, Hu H, Cao H (2011) Networking as a service: a cloud-based network architecture. J Netw 6(7):1084–1090
Benson T, Akella A, Shaikh A, Sahu S (2011) Cloudnaas: a cloud networking platform for enterprise applications. In: SOCC’11 proceedings of the 2nd ACM symposium on cloud computing, pp 1–13
Banikazemi M, Olshefski D, Shaikh A, Tracey J, Wang G (2013) Meridian: An SDN platform for cloud network services. IEEE Commun Mag 51(2):120–127
Raghavendra R, Lobo J, Lee K-W (2012) Dynamic graph query primitives for SDN-based cloudnetwork management. In: Proceedings of the first workshop on Hot topics in software defined networks, HotSDN’12, p 97
Linthicum DS (2016) Software- defined networks meet cloud computing for those who build network infra-. IEEE Cloud Comput 3(3):8–10
Leonardo Á et al (2014) SDN: evolution and opportunities in the development IoT applications. Int J Distrib Sens Netw 2014:1
Hoffmann et al M (2017) SDN and NFV as enabler for the distributed network cloud. Mob Netw Appl 23(3):521–528
Bifulco R, Brunner M, Canonico R (2012) Scalability of a mobile cloud management system. In: Proceedings of the first edition of the MCC workshop on Mobile cloud computing, pp 17–22
Fichera S, Gharbaoui M, Castoldi P (2017) On experimenting 5G: testbed set-up for SDN orchestration across network cloud and IoT domains. In: Network Softwarization (NetSoft), pp 1–6
Wang Y, Bi J, Zhang K (2015) Design and implementation of a software-defined mobility architecture for IP networks. Mob Netw Appl 20(1):40
Cui L, Yu FR, Yan Q (2016) When Big Data meets software-defined networking: sdN for Big Data and Big Data for SDN. IEEE Netw 30(1):58–65
Mandal U, Habib MF, Zhang S, Chowdhury P, Tornatore M (2014) Heterogeneous bandwidth provisioning for virtual machine migration over SDN-enabled optical networks. In: Optical Fiber Communications Conference and Exhibition (OFC), pp 1–3
Iovanna P, Ubaldi F, Di Michele F, Fernandez-Palacios Gimenez JP, Lopez V (2014) E2E traffic engineering routing for transport SDN. In: Optical Fiber Communications Conference and Exhibition (OFC), pp 3–5
Paolucci F et al (2014) Filter optimization in SDN-based flexgrid networks. In: Optical Fiber Communications Conference and Exhibition (OFC), pp 5–7
Zhou L et al (2014) A novel optical access network : software-defined FlexPON. In: OptoElectronics and Communication Conference and Australian Conference on Optical Fibre Technology, pp 688–690
Zhao Y, Zhang J, Communications O (2014) Software defined networking (SDN) enabled optical as a service (OaaS) with dynamic network provisioning. In: PIERS proceedings, pp 362–367
Zhang B, Xie S, Cao Y, Yang H, Zhu X (2016) Energy saving mechanism based on 4-mode dynamic bandwidth optimization for software defined distribution optical networks. J Low Power Electron 12(3):186–193
Zeng M et al (2017) Control plane innovations to realize dynamic formulation of multicast sessions in inter-DC software-defined elastic optical networks. Opt Switch Netw 23:259–269
Liu J, Butler L (2014) A simulation and emulation study of SDN-based multipath routing for fat-tree data center networks. In: Simulation Conference (WSC), pp 3072–3083
Peng et al S (2014) A novel SDN enabled Hybrid optical packet/circuit switched data centre network: the LIGHTNESS approach. In: Networks and communications (EuCNC)
Gu R, Ji Y, Wei P, Zhang S (2014) Software defined flexible and efficient passive optical networks for intra-datacenter communications. Opt Switch Netw 14(PART 3):289–302
Ma YW et al (2015) SDN test cases development and implementation. In: The 17th international advanced communication technology (ICACT), pp 618–621
Wang R, Mangiante S, Davy A, Shi L, Jennings B (2017) QoS-aware multipathing in datacenters using effective bandwidth estimation and SDN. In: 12th International Conference on Network and Service Management (CNSM), pp 342–347
Li Z, Deng Z, Zhang T (2017) Research on the optimal task scheduling algorithm based on SDN architecture. Int J Opt 9(10):221–230
Lali MI, Mustafa RU, Ahsan F, Nawaz MS, Aslam W (2017) Performance evaluation of software defined networking vs. traditional networks. Q Int Sci J 54(1):16–22
Murali Mohan P, Truong-Huu T, Gurusamy M (2017) Fault tolerance in TCAM-limited software defined networks. Comput Netw 116:47–62
Subbiah S, Perumal V (2017) Energy awake network traffic steering using SDN in cloud environment. In: The 2nd International IEEE Conference on Recent Trends and Challenges in Computational Models (ICRTCCM), pp 31–36
Chiang YR, Ke CH, Yu YS, Chen YS, Pan CJ (2017) A multipath transmission scheme for the improvement of throughput over SDN. In: Proceedings of the IEEE International Conference on Applied System Innovation for Modern Technology, ICASI, pp 1247–1250
Mu T-Y, Al-Fuqaha A, Shuaib K, Sallabi FM, Qadir J (2018) SDN flow entry management using reinforcement learning. ACM Trans Auton Adapt Syst 13(2):1–23
Afek Y, Bremler-Barr A, Landau Feibish S, Schiff L (2018) Detecting heavy flows in the SDN match and action model. Comput Netw 136:1–12
Gao Q, Tong W, Kausar S, Huang L, Shen C, Zheng S (2017) Congestion-aware multicast plug-in for an SDN network operating system. Comput Netw 125:53–63
Qin X, Li D, Chen C-H, Huang N-F (2018) Early notification and dynamic routing: an improved SDN-based optimization mechanism for VM migration. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering. Springer, Cham, pp 602–612
Zhang H, Tang F, Barolli L (2018) Efficient flow detection and scheduling for SDN-based big data centers. J Ambient Intell Humaniz Comput 10:1–12
Lin R (2018) A bat algorithm for SDN network scheduling. EURASIP J Wirel Commun Netw 1687–1499:1–9
Costa-Requena J, Kimmerlin M, Manner J, Kantola R (2014) SDN optimized caching in LTE mobile networks. In: International Conference Information and Communication Technology Convergence (ICTC), pp 128–132
Yang SN, Ho SW, Lin YB, Gan CH (2016) A multi-RAT bandwidth aggregation mechanism with software-defined networking. J Netw Comput Appl 61:189–198
Anderson T, Bosch P (2015) Bandwidth control and regulation in mobile networks via SDN/NFV-based platforms. In: Managing radio networks in an encrypted world (MaRNEW) workshop (GSMA/IAB)
Narmanlioglu O, Zeydan E (2017) Software-defined networking based network virtualization for mobile operators. Comput Electr Eng 57:134–146
Rangisetti AK, Pasca TV, Tamma BR (2017) QoS aware load balance in software defined LTE networks. Comput Commun 97:52–71
Al-Rubaye S, Kadhum E, Ni Q, Anpalagan A (2017) Industrial Internet of Things Driven by SDN Platform for Smart Grid Resiliency. IEEE Internet Things J. 6(99):267
TAA-J, Al-Raweshidy HS (2017) Wireless, “Efficient Whale Optimisation Algorithm-Based SDN Clustering for IoT Focused on Node Density”. In: 16th annual mediterranean ad hoc networking workshop (Med-Hoc-Net)
Chakrabarty S, Engels DW, Thathapudi S (2015) Black SDN for the internet of things. In: 12th International Conference on Mobile Ad Hoc and Sensor Systems IEEE, pp 190–198
El-Mougy A, Ibnkahla M, Hegazy L (2015) Software-defined wireless network architectures for the Internet-of-Things. In: 40th IEEE Local Computer Networks Conference Workshops (LCN Workshops), vol 2015–Decem, pp 804–811
Tomovic S, Yoshigoe K, Maljevic I, Radusinovic I (2017) Software-defined fog network architecture for IoT. Wirel Pers Commun 92(1):181–196
Jang HC, Huang CW, Yeh FK (2016) Design a bandwidth allocation framework for SDN based smart home. In: 7th IEEE Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON)
Bera S, Misra S, Vasilakos AV (2017) Software-defined networking for Internet of Things: a survey. IEEE Internet Things J. 4662:1–1
Patra PG, Rothenberg CE, Pongracz G (2017) MACSAD: high performance dataplane applications on the move. In: IEEE International Conference on High Performance Switching and Routing, HPSR, vol 2017–June
Kleinrouweler JW, Cabrero S, Cesar P (2017) An SDN architecture for privacy-friendly network-assisted DASH. ACM Trans Multimed Comput Commun Appl 13(3s):1–22
Singh KV (2019) Improving performance of TCP for wireless network using SDN. In: Proceedings of the 20th International Conference on Distributed Computing and Networking, pp 267–276
Sadik M, Akkari N, Aldabbagh G (2018) SDN-based handover scheme for multi-tier LTE/Femto and D2D networks. Comput Netw 142:142–153
Tang L, Zhao G, Wang C, Zhao P, Chen Q (2018) Queue-aware reliable embedding algorithm for 5G network slicing. Comput Netw 146:138–150
Gazit N, Malandrino F, Hay D (2017) Mobile operators and content providers in next-generation SDN/NFV core networks: between cooperation and competition. Comput Netw 121:112–123
Malandrino F, Chiasserini CF, Casetti C (2018) Virtualization-based evaluation of backhaul performance in vehicular applications. Comput Netw 134:93–104
Schiller E, Nikaein N, Kalogeiton E, Gasparyan M, Braun T (2018) CDS-MEC: NFV/SDN-based application management for MEC in 5G systems. Comput Netw 135:96–107
Atzori L et al (2019) SDN&NFV contribution to IoT objects virtualization. Comput Netw 149:200–212
Coronado E, Riggio R, Villalon J, Garrido A (2018) Joint mobility management and multicast rate adaptation in software-defined enterprise WLANs. IEEE Trans Netw Serv Manag 15(2):625–637
Jindal A, Aujla GS, Kumar N, Chaudhary R, Obaidat MS, You I (2018) SeDaTiVe: SDN-enabled deep learning architecture for network traffic control in vehicular cyber-physical systems. IEEE Netw 32:66–73
Bera S, Member GS, Misra S, Member S (2016) Soft-WSN: software-defined WSN management system for IoT applications. IEEE Syst J 12(3):1–8
Zhang X, Zhu Q (2018) Scalable virtualization and offloading based software-defined architecture for heterogeneous statistical QoS provisioning over 5G multimedia mobile wireless networks. IEEE J Sel Areas Commun 36(12):2787–2804
Bellavista P, Giannelli C, Lagkas T, Sarigiannidis P (2018) Multi-domain SDN controller federation in hybrid FiWi-MANET networks. Eurasip J Wirel Commun Netw 1:103
Mahmood A, Zen H (2018) Toward edge-based caching in software-defined heterogeneous vehicular networks. Fog Computing. Springer, Cham, pp 267–285
Chahal P, Rathi K (2018) Improved TCP congestion control algorithm for LTE SDN networks. Advances in Intelligent Systems and Computing. Springer, Singapore, pp 237–248
Bouet M, Leguay J, Conan V (2013) Cost-based placement of virtualized deep packet inspection functions in SDN. In: Proceedings - Military Communications Conference, MILCOM, pp 992–997
Li W, Qi H, Li K, Stojmenovic I, Lan J (2017) Joint optimization of bandwidth for provider and delay for user in software defined data centers. IEEE Trans Cloud Comput 5(2):331–343
Rodrigues H et al (2014) Traffic optimization in multi-layered WANs using SDN. In: IEEE 22nd annual symposium on high-performance interconnects (HOTI), pp 71–78
JYK, Hyunwoo Nam HS∗, Kim K-H† (2014) Towards QoE-aware video streaming using SDN. In: Global Communications Conference (GLOBECOM), pp 1334–1339
Ji PN et al (2014)“Demonstration of OpenFlow-enabled traffic and network adaptive transport SDN. In: Optical Fiber Communications Conference and Exhibition (OFC), pp 2–4
Akyildiz IF, Lee A, Wang P, Luo M, Chou W (2014) A roadmap for traffic engineering in software defined networks. Comput Netw 71:1–30
Huang H, Li P, Guo S, Ye B (2014) The joint optimization of rules allocation and traffic engineering in software defined network. In: IEEE 22nd international symposium on Quality of Service (IWQoS), pp 141–146
Huang C, Zhu J, Luo M, Chou W (2014) A new mechanism for SDN network virtualization service. In: International Conference on Smart Communications in Network Technologies (SaCoNeT)
Amiri M, Al Osman H, Shirmohammadi S, Abdallah M (2015) SDN-based game-aware network management for cloud gaming SDN-based game-aware network management for cloud gaming. In: International workshop on network and systems support for games (NetGames)
Feng T, Bi J, Wang K (2015) Allocation and scheduling of network resource for multiple control applications in SDN. China Commun 12(6):85–95
Yu TF, Wang K, Hsu YH (2015) Adaptive routing for video streaming with QoS support over SDN networks. In: International Conference on Information Networking (ICOIN), pp 318–323
Tomovic S, Radusinovic I, Prasad N (2015) Performance comparison of QoS routing algorithms applicable to large-scale SDN networks. In: EUROCON International Conference on Computer as a Tool (EUROCON), vol 2012, no. 315970
Lara A, Ramamurthy B, Pouyoul E, Monga I (2015) WAN virtualization and dynamic end-to-end bandwidth provisioning using SDN. In: Optical Fiber Communications Conference and Exhibition (OFC), pp 3–5
Saldana J et al (2015) Small-packet flows in software defined networks: traffic profile optimization. J Netw 10(4):176–187
Hongyu P, Weidong W, Chaowei W, Gang C, Yinghai Z (2015) A SDN-based energy saving strategy in wireless access networks. IEEE China Commun 12(8):132–145
Budiman ES, Zhang S (2014) Techniques for end-to-end network bandwidth optimization using software defined networking, 14/069, 276
Zhang C, Huang X, Ma G, Han X (2016) A dynamic scheduling algorithm for bandwidth reservation requests in software-defined networks. In: 10th International Conference on Information, Communications and Signal Processing, ICICS
Zhu R, Wang H, Gao Y, Yi S, Zhu F (2015) Energy saving and load balancing for SDN based on multi-objective particle swarm optimization. In: 15th International Conference Algorithms and Architectures for Parallel Processing. Lecture Notes in Computer Science, pp 176–189
Guo Y, Wang Z, Yin X, Shi X, Wu J, Zhang H (2016) Incremental deployment for traffic engineering in hybrid SDN network. In: IEEE 34th International Performance Computing and Communications Conference, IPCCC
Li Q, Wang L, Jiang Y, Xu M, Wu J (2017) A fast and incremental update scheme for SDN based on a relation graph. Comput Netw 125:41–52
Gao Q, Tong W, Kausar S, Huang L, Shen C, Zheng S (2016) Congestion-aware multicast plug-in for an SDN network operating system. Comput Netw 125:53–63
Tekalp AM, Sahin EK, Bagci TK (2016) Queue-allocation optimization for adaptive video streaming over software defined networks with multiple service-levels College of Engineering, Koc. In: IEEE International Conference on Image Processing (ICIP)
Qin F, Zhao Z, Zhang H (2016) Optimizing routing and server selection in intelligent SDN-based CDN. In: 8th International Conference on Wireless Communications & Signal Processing (WCSP)
Lan YL, Wang K, Hsu YH (2016) Dynamic load-balanced path optimization in SDN-based data center networks. In: 10th International symposium on communication systems, networks and digital signal processing (CSNDSP), pp 0–5
Bryskin I (2016) From GMPLS to transport SDN. In: Optical Fiber Communications Conference and Exhibition (OFC), pp 3–5
Tomovic S, Radusinovic I (2016) Fast and efficient bandwidth-delay constrained routing algorithm for SDN networks. In: IEEE NetSoft Conference and Workshops: Software-Defined Infrastructure for Networks, Clouds, IoT and Services, pp 303–311
Gao C, Wang H, Zhai L, Yi S, Yao X (2016) Optimizing routing rules space through traffic engineering based on ant colony algorithm in software defined network. In: 28th International Conference on Tools with Artificial Intelligence (ICTAI), pp 106–112
Al Hasrouty C, Autefage V, Olariu C, Magoni D, Murphy J (2016) SDN-driven multicast streams with adaptive bitrates for VoIP conferences. In: IEEE International Conference on Communications, ICC
C. (U S. H. Ting Zou, Cupertino and C. (US) Xie, Union City, CA (US); Hongtao Yin, Fremont, “Supporting Software Defined Networking With Application Layer Traffic Optimization,” 13/801,850, 2014
Gomes RL, Bittencourt LF, Madeira ERM, Cerqueira E, Gerla M (2016) A combined energy-bandwidth approach to allocate resilient virtual software defined networks. J Netw Comput Appl 69:98–106
Tuysuz MF, Ankarali ZK, Gözüpek D (2017) A survey on energy efficiency in software defined networks. Comput Netw 113:188–204
Wibowo FXA, Gregory MA, Ahmed K, Gomez KM (2017) Multi-domain software defined networking: research status and challenges. J Netw Comput Appl 87:32–45
Xu G, Dai B, Huang B, Yang J, Wen S (2017) Bandwidth-aware energy efficient flow scheduling with SDN in data center networks. Futur Gener Comput Syst 68:163–174
TVPS, Sairam S, Kodali P, Kataoka K (2017) AMPS : application aware multipath flow routing using machine learning in SDN. In: Twenty-Third National Conference on Communications (NCC)
Lakiotakis E, Liaskos C, Dimitropoulos X (2017) Application-network collaboration using SDN for ultra-low delay teleorchestras. In: Proceedings - IEEE Symposium on Computers and Communications, Pediswesa, pp 70–75
Bentaleb A, Begen AC, Zimmermann R (2018) ORL-SDN: online reinforcement learning for SDN-enabled HTTP adaptive streaming. ACM Trans Multimed Comput Commun Appl 14(3):1–28
Jia X, Jiang Y, Guo Z, Shen G, Wang L (2018) Intelligent path control for energy-saving in hybrid SDN networks. Comput Netw 131:65–76
Hua J, Zhao L, Zhang S, Liu Y, Ge X, Zhong S (2018) Topology-preserving traffic engineering for hierarchical multi-domain SDN. Comput Netw 140:62–77
Huang X, Yuan T, Ma M (2018) Utility-optimized Flow-level bandwidth allocation in hybrid SDNs. IEEE Access 3536(c):1
Liu WX, Zhang J, Liang ZW, Peng LX, Cai J (2017) Content popularity prediction and caching for ICN: a deep learning approach with SDN. IEEE Access 6(c):5075–5089
Gorkemli B, Tatlicioglu S, Tekalp AM, Civanlar S, Lokman E (2018) Dynamic control plane for SDN at scale. IEEE J Sel Areas Commun 8716(c):2688
Yan B, Xu Y, Chao HJ (2018) Adaptive wildcard rule cache management for software-defined networks. IEEE/ACM Trans Netw 26(2):2
Yang J, Yao Z, Yang B, Tan X, Wang Z, Zheng Q (2018) Software-defined multimedia streaming system aided by variable-length interval in-network caching. IEEE Trans Multimedia 21(2):494–509
Hayes M, Ng B, Pekar A, Seah WKG (2017) Scalable architecture for SDN Traffic classification. IEEE Syst J 12(4):3203–3214
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Shirmarz, A., Ghaffari, A. Performance issues and solutions in SDN-based data center: a survey. J Supercomput 76, 7545–7593 (2020). https://doi.org/10.1007/s11227-020-03180-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03180-7