Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization (2024)

1. Introduction

Software-Defined Networking (SDN) is an approach to networking that decouples the data transmission plane from the control plane. This model has several benefits like increased control with greater speed and flexibility, allowing network administrators to centrally manage and program network behaviors through open standard software-based controllers. SDN improves scalability, agility, and automation by facilitating a rapid adaptation to different traffic behaviors and also having robust security because of the improved visibility of the entire network.

Network orchestration is an advanced level of management and coordination for network functions and services through centralized platforms or frameworks. It integrates the capabilities of the deployment, configuration, and automation of network components such as devices, applications, and network services across physical and virtual infrastructures. Orchestration is performed centralized usually by a network controller that sets the network up by enforcing policies, optimizing performance, and ensuring QoS to accomplish certain business needs or the optimal requirements for a proper network functioning. Workflows and task automation are key features that increase operational efficiency and allow network scaling and optimization without the manual intervention of network administrators.

Virtualization implies a process of transforming physical network resources into virtual software entities, allowing multiple virtual instances to run independently on the same physical infrastructure. Network virtualization grants capabilities for virtual network creation (VLANs and VPNs) along with virtual network functions (VNFs) that are operating independently of the machine used as a host, contributing to efficient and flexible resource usage. Virtualization technologies are facilitating the isolation, allocation, and management of network resources, thus contributing to a faster, secure, and efficient service delivery.

Integrating all three concepts described above (SDN, network orchestration, and virtualization), powerful frameworks can be created with increased network flexibility, scalability, and management efficiency. Used together, those technologies allow companies to dynamically deploy and manage their network resources, having capabilities to quickly adapt to business needs. This framework is the best approach when the problem of infrastructure modernization is considered because it offers operational agility, enhanced performance, and strong security, and supports trending and advanced technologies like 5G networks, cloud services, and IoT.

This paper represents a bibliographic research that illustrates different theoretical approaches to how researchers have used algorithms to improve the way SDN networks work and transmit information, with the aim of increasing their efficiency, accuracy, and security.

The article is structured in sections that aim to present various theoretical algorithmic approaches depending on the type of algorithms and their purpose, involving the use of sets of methods or algorithms with the role of bringing improvements in the way the SDN network works. These improvements may involve decreasing response times, adaptability on network conditions changing, or other metric improvements. We can thus observe that in the SDN sphere, things can and do evolve in a good direction for the networks of the future.

While the existing literature addresses various algorithms applicable to SDN with a focus on performance enhancements and security-related metrics, an extensive review covering the wide range of algorithms like those discussed in this paper is significantly lacking.

This paper has the topics organized into several key classes of algorithms applicable to SDN. Section 3.1 examines traditional and well-known algorithms used commonly within standard networks that were tested on SDN in order to emphasize if this class is suitable to be used in the SDN context. Section 3.2 follows and presents the class of heuristic algorithms that are suitable for solving more complex problems and the discussion goes along on implementation approaches and effectiveness in network operation optimization. Following this, Section 3.3 focuses on a topic that is benefitting increased attention in the last period, the Artificial Intelligence and Machine Learning algorithms, presenting their growing importance and applications in SDN for adaptive and predictive network management.

Section 4 addresses the specific routing and traffic-related algorithms suitable for SDN environments. In Section 4.1, we presented algorithms related to latency optimization, designed to improve network responsiveness by minimizing delays. Section 4.2 focuses on dynamic routing algorithms, presenting methods used for adaptive path selection depending on real-time network conditions. Load balancing algorithms are presented in Section 4.3, focusing on improving network performance and the enhancement of resource utilization.

Section 5 presents a comparative overview, integrating the strengths and limitations of the presented algorithmic approaches within SDN networks.

Each section discussed contributes to a comprehensive understanding of the algorithmic strategies used in SDN, presenting various applications and effective utility in network optimization.

Finally, the last section of the paper will provide a summary of the findings, highlighting the critical insights gained from the comparative analysis and suggesting directions for future research to address the identified limitations.

2. State of the Art

The SDN-controlled networks have to perform in the data plane many functions which are similar to those found in traditional IP networks. The major differences consist in centralized control (by the SDN controller) and the concept of SDN flows installed by the controller in the data plane forwarding elements; this may be executed in provisioning style, or on demand (i.e., a novel packet coming to an SDN forwarder/switch/router interface does not find any match with a previously installed flow. In this case, the incoming packet is sent to the controller on the control channel, via, e.g., OpenFlow protocol. Then, the controller will decide what to execute for this incoming packet: installing a new flow, maybe dropping the packet, directing the packet to an output, etc.).

Therefore, the network layer’s traditional functions must also be enabled in an SDN-controlled network. Examples are route/path computation, load balancing, QoS procedures (e.g., finding a route which satisfies certain QoS constraints), security-related functions, and so on.

Note that in the case of multi-metric paths, or in large networks, the mathematical route-finding task may become a NP-hard problem having a high degree of computation complexity. In such cases, some heuristic algorithms can be chosen, and they might perform more efficiently than the traditional algorithms.

Actually, one may select a class of algorithm among the following:

Exact algorithms: They guarantee that the optimal solution is found if sufficient time and space are allocated. There are many traditional algorithms included in routing protocols which are well known, e.g., distance vector algorithms (implemented and found in RIP, AODV, etc.), or link-state algorithms implemented in Open Shortest Path First. Generally, the exact algorithms cannot solve NP-hard problems in polynomial time for some classes of problems; there may exist an algorithm that solves the problem instances in a reasonable time.

Heuristics algorithms: They typically find relatively quickly feasible solutions sufficiently “good”. However, there are no guarantees about the solution quality, it can even be “bad”. The heuristics are tested empirically; based on these experiments, comments about the quality of the heuristic can be made. Heuristics are typically used for solving real-life problems (speed and ability to handle large instances). Metaheuristics provides general frameworks for heuristics that can be applied to many problem classes. High solution quality is often obtained using metaheuristics.

Approximation algorithms: They are a special class of heuristics that provide a solution and an error guarantee (e.g., one method could guarantee that the solution obtained is at most k times more expensive than the best solution obtainable).

Although in the literature we find articles and papers that addressed the research of various algorithms that can be applied to SDN networks for the improvement of various performance and security metrics, we are not aware of any papers that would have addressed the multitude of algorithms described in this paper in a general way.

For example, in [1], load-balancing algorithms were presented with an emphasis on the Joint Load-Balancing Algorithm. The authors used a Dynamic Server Load-Balancing Algorithm combined with the Hybrid Routing Algorithm to select the best path to the selected server.

Another work of interest is represented by [2], in which the authors reviewed Traffic Scheduling and management algorithms based on intelligent algorithms.

The paper presented in [3] represents a comparative analysis of various research presenting the characteristics of the load-balancing technique, although it does not clearly exemplify how the algorithms can be used in the context of SDN.

A paper that we consider to be close to our research is the one presented in [4] which clearly addresses algorithms that can be used in the context of SDN not only at the presentation level, but by doing various experiments whose purpose was to compare the parameters such as response time, etc.

In [5], Supei Zhou used the ACO algorithm to improve the Graph Coloring Problem by integrating it with the greedy algorithm. The experiment was used in the context of data sets from Facebook and Twitter, demonstrating the fact that this combination offers increased effectiveness and high accuracy in real-world networks.

The work [6] by Hamadani and Borcoci addresses load balancing in fog computing environments integrated with Device-to-Device (D2D) networks. The load-balancing algorithms First Come First Served and Max–Min Algorithm were approached, making an experiment using CloudSim to compare their performance. The results proved that the Min–MAX algorithm is superior and more efficient in terms of execution time and throughput.

Table 1 represents a summary of the general topics discussed in the above state-of-the-art articles.

3. Classes of Algorithms

3.1. Traditional Algorithms Usage in SDN

The work in [7] focuses on the implementation of the Open Shortest Path First (OSPF) protocol in SDN. Mininet was used as a simulation tool for the virtualized network environment and the Quagga routing suite was configured to handle the OSPF routing of each network node to simulate traditional router functionalities. For the topology, a ring structure was used for redundancy and multiple paths, while physical PCs were used to emulate virtual routers connected to the GRE tunnel (Generic Routing Encapsulation). The experiment measured convergence time, stability, round-trip time (RTT), and Quality of Service (QoS) metrics such as jitter, delay, and packet loss through continuous data transmission and video streaming tests. The results showed better performance and security overall and an improved quality of service in the virtualized environment.

Another experiment using the OSPF algorithm was conducted in [8] in order to measure metrics like bandwidth utilization and link congestion. A dynamic controller was integrated to manage the flow tables of the router, with the scope of redirecting high data flows to alternative paths with sufficient residual bandwidth to prevent congestion.

The Border Gateway Protocol (BGP) was used in [9]. The SDN controller managed the BGP routing information aiming to improve flexibility of the network management. OpenFlow API was used in order to communicate with the network devices and program their forwarding tables based on BGP decisions. The results showed improved security and high scalability.

The architecture proposed in [10] used an SDN controller, communicating with OpenFlow switches acting like proxies for the traditional BGP routers, running an internal BGP daemon, Quagga, in order to obtain global routing information from border routers. The traffic was redirected through the switches and the MAC addresses were rewritten as necessary. The experiment showed that the controller can learn routing information in a secure way without requiring new protocols or equipment.

3.2. Heuristic Algorithms

They represent a class of optimization techniques that are good for solving complex problems which may be impractical to solve exactly due to problem size, complexity, or the time constraints involved. These algorithms are especially important in the context of network design and management/control, where decisions must often be made quickly and sometimes with incomplete information.

Swarm Intelligence is a branch of metaheuristic optimizer algorithms that is inspired by the collective behavior of decentralized, self-organized systems, such as biological swarms. In SDN networking, swarm intelligence can be harnessed to optimize the various aspects of network operation [11]. For instance, Particle Swarm Optimization (PSO) can adjust the configuration parameters of network devices to maximize throughput or minimize latency [12]. It does so by having a multitude of candidate solutions, referred to as particles, which explore the solution space and converge on the optimal solutions through a process that mimics social interaction.

Similarly, the Ant Colony Optimization (ACO) algorithm, another swarm intelligence technique, is adept at finding optimal routing paths in a network. By simulating the pheromone trail-laying behavior of ants, ACO can be used to develop routing protocols that adaptively find the shortest and least congested paths.

In [13], the capability of the algorithm is tested within MATLAB simulations with the aim to obtain better load-balancing results relative to known methods. For the implementation, the test is supposed to implement the ACO algorithm into an SDN-based environment using the OpenFlow protocol, with the scope of facilitating the communication between the control and the forwarding layer of the network. In the implementation, the SDN had the capability to dynamically change the packet routing based on IACO algorithm decisions. After the algorithm implementation, the network switches have benefitted from better management of the flow tables, resulting in a more efficient manner of passing the data flows to the destination in a secure way.

Firefly Algorithm, inspired by the bioluminescent communication of fireflies, can be used for the dynamic control of network paths in SDN networks. In [14], using the firefly luminescence analogy to demonstrate the path adjustment, it was implemented as an algorithm that aimed to evaluate every path on the network based on efficiency. An RYU controller was used to implement the algorithm with the goal of optimizing and changing the routes in real-time, achieving by this approach better metrics such as the throughput and latency of the SDN environment.

Tabu Search is an iterative algorithm that guides a local heuristic search procedure to explore the solution space beyond local optimality. One of its key features is its use of a tabu list to maintain a short-term memory of the search history, which helps avoid cycles and local minima, thus facilitating escape from local optima and allowing the search to continue towards a more global optimum. In SDN, Tabu Search can optimize the network configuration by remembering recent changes to the network’s setup and avoiding them if they do not yield improvements, efficiently navigating the configuration space. In [15], the study is focused on the process of minimizing the OPEX (operational expense) by inducing limitations regarding the flow setup and the latencies that can appear between controllers. A challenge of the study was related to the model cost optimizations considering the limitations imposed. With the model built, the efficiency of the algorithm has been tested with real network topologies from the Topology Zoo data.

Simulated Annealing has been used in network optimization for tasks such as optimizing the layout of network nodes to minimize cost while maintaining connectivity and desired performance levels. Using an approach that supposedly selects the best communication paths by adjusting the network assignments and weights, the article in [16] proposes an algorithm based on the change in the service requirements and network conditions. The process implies the iterative evaluation of the possible network statuses and then accordingly adjusting the parameters and configurations to obtain the best balance between resource consumption, cost, and QoS.

When applying heuristic algorithms in a networking context, particularly within SDN, the key consideration is how to adapt these general optimization strategies to the specific requirements and constraints of network systems.

For example, the implementation of these algorithms must take into account real-time dynamics, scalability issues, and the need for distributed processing. Moreover, in the SDN paradigm, where the control plane is decoupled from the data plane, these algorithms can be implemented in the controller to dynamically adjust network configurations, such as routing paths, switch rules, and load balancing, in response to changing network states.

Table 2 represents a summary of the heuristic algorithms discussed in the articles above while Table 3 summarizes the datasets and tools used.

3.3. Artificial Intelligence—Machine Learning Algorithms

Artificial neural networks (ANNs) draw inspiration from biological neural networks. They are particularly adept at pattern recognition and have been used to detect anomalies in network traffic, predict future traffic for load balancing, and recognize complex patterns in system behavior that may indicate security breaches [17].

The flexibility and adaptability of ANNs make them suitable for dynamic and evolving network environments where patterns of use and behavior can shift rapidly. Pradeepa et al. [17] used Mininet to generate a network where traffic with special characteristics was generated and logged. Based on patterns that simulated attack behaviors alternated with normal traffic, the experiment aimed to process the data traffic points via a developed artificial neural network (ANN) used as a detection model. The detection system had the capability to supervise the traffic on various layers like input and output, where specific attributes of the data flow were parsed. Lowering the time of the detection and increasing the accuracy has been improved with various techniques designated to enhance the learning process like Adam or RMSProp.

Support Vector Machines (SVMs) are a set of supervised learning methods used for classification and regression. Given a set of training examples, each marked as belonging to one of two categories, an SVM training algorithm builds a model that assigns new examples into one category or the other, making it a non-probabilistic binary linear classifier. In the context of networking, SVMs have been employed for classifying network traffic, thereby enabling traffic prioritization and QoS differentiation, as well as for intrusion detection [18] by classifying behavior as normal or anomalous. Boero et al. [19] used an SVM model that was trained with data composed of normal traffic mixed with malware data and had the target to classify if other traffic patterns are either malicious or normal by analyzing characteristics like byte counts or packet transmission rates. The simulation using the SVM model had the role to evaluate the accuracy in detecting malware affecting the network and used metrics like detection rate relative to false positive rate.

4. Specific Routing and Traffic-Related Algorithms in SDN

4.1. Latency Optimization Algorithms

Latency optimization algorithms are a fundamental component in the design and operation of contemporary network architectures, particularly within the Software-Defined Networking (SDN) paradigm. These algorithms are tailored to minimize the latency, which is the time taken for data packets to traverse from one point in the network to another. Minimizing latency is critical for a wide range of applications, from high-frequency trading to real-time analytics and beyond.

In SDN, the control-plane latency—the time it takes for the controllers to receive information from the network and send back instructions—is of particular importance. This is because any delays in the control plane can lead to suboptimal routing decisions, slow reactions to network events, and the overall degradation of network performance.

Latency optimization algorithms work to reduce these delays by making intelligent decisions about where to place controllers, how to route control-plane traffic, and how to manage the network’s state. One common approach is to place SDN controllers closer to the edge of the network, reducing the distance control messages must travel. Algorithms are used to determine optimal placement based on anticipated traffic patterns, historical data, and predictive modeling. However, this must be balanced against the need for controller capacity and reliability, as well as considerations such as cost and physical infrastructure constraints.

In [20], another cost-efficient related approach can be seen. The authors used a mathematical approach in order to optimize the latency propagation. The simulation was conducted in MATLAB and addressed the approaches of the analyzation and optimization of the NCP (network controller placement) by increasing the QoS metrics of the network. To achieve this goal, algorithms like PAM (Partitioning Around Medoids) were used to locate the optimal controller positions, thus achieving the goal of lowering the latency and efficiency of the load on the network.

4.2. Dynamic Routing Algorithms

Dynamic Routing Algorithms represent another tool for latency reduction which adapts routing paths in real-time based on current network conditions. By constantly monitoring the state of the network, these algorithms can reroute traffic away from congested or faulty links, reducing packet delays and avoiding bottlenecks. This can be especially useful in SDN environments, where the centralized control plane has a global view of the network and can make coordinated routing decisions. Another approach to latency optimization is the use of latency-aware load balancing. This involves distributing network requests across multiple servers or paths in a way that considers not only the load on each server but also the latency of each path [21]. This can help to ensure that no single path becomes a latency bottleneck and that traffic is spread out in a way that minimizes overall network delays.

In [22], Chen et al. used an SDN framework and simulated the AVRO (African Vulture Routing Optimization) algorithm having the goal to assemble the phases of the initialization, development, and exploration of the population. The AVRO method had the goal to dynamically optimize the network conditions involving an initialization that considered metrics like route optimization relative to the topology. In the phases of exploration and development, routing is changed for a better data path approach with improved results on load balancing and network usage in a secure way.

4.3. Load Balancing Algorithms

These algorithms are designed to optimize the distribution of network traffic across multiple paths or servers, thereby enhancing the network’s efficiency, reliability, and scalability.

Academic research [23,24] into load-balancing algorithms focuses on developing methodologies that can dynamically allocate resources in response to changing network demands, ensuring equitable load distribution and minimizing congestion. The theoretical underpinning of load-balancing algorithms draws from various fields, including computer science, operations research, and applied mathematics.

These algorithms typically aim to solve optimization problems where the objective is to minimize the maximum load on any given server or network path, subject to constraints such as capacity limits and priority rules. The complexity of these problems often necessitates the use of heuristic or approximation algorithms to find solutions that are close to optimal within a reasonable amount of computational time.

Several strategies underlie the functioning of load-balancing algorithms in SDN environments:

Round-Robin Scheduling: This simple yet effective strategy cycles through a list of servers, assigning each new request to the next server in line. While not sensitive to server load or response time, round-robin scheduling is easy to implement and can work well in environments where servers are roughly equal in capacity and load. In [25], the incoming requests are handled each at a time by different servers. The environment was composed of a POX controller that managed a network designed with a Mininet emulator, where using specific mechanisms, the load distribution could be dynamically controlled based on the number of servers available and health conditions.

Least Connections: This strategy directs new requests to the server with the fewest active connections, under the assumption that fewer connections correlate with a lower load. It is more dynamic than round-robin and better suited to environments with heterogeneous server capacities. In [26], Nurwarsito and Widagdo used on SDN frameworks various load balance methods such as Shortest Delay or Least Connection in order to do an extensive comparison on which of them is able to better reduce the delay and network load. The techniques revealed important aspects relative to the methods that can be used in load balancing for SDN networks. Focusing on web server applications, Suwandika et al. [27] are focusing on enhancing the SDN network performance by exploring a scheme for load balancing. Using advanced load balance strategies, the research demonstrates that server efficiency and traffic handling can be improved in a significant manner.

Weighted Load Balancing: Here, servers are assigned weights based on their capacity or other metrics, and load balancing decisions are made in proportion to these weights. This allows for a more nuanced distribution of traffic, accommodating differences in server performance. In [23], the weighted round-robin method was used to assign to every path a “weight” based on specific characteristics. Using this approach, the algorithm is allowed to distribute the requests in a proportional and sequential manner instead of making a distribution of the requests based on connection or sequence counts. Applying the method, it can be seen that handling capacities are enhanced by considering the conditions of load and server capabilities. The article in [24] presents an SDN implementation using a Weighted Load-Balancing algorithm that implements weights for the servers by assigning them static numerical values. Based on the value of the weight, each server will receive a lower or a higher number of requests (higher values mean more requests). It is a very good approach to modeling the traffic considering the capabilities of the network, and this can be translated into enhanced network performance and an optimal network load.

Dynamic Load Balancing: Algorithms in this category continually monitor the state of the network and adapt their decisions based on current load conditions. Techniques such as machine learning can be employed to predict future traffic patterns and adjust allocations accordingly.

The implementation of dynamic load balancing in SDN-based data center networks, as described in the article [28], involves the real-time management of network traffic by shifting loads among various paths. The SDN controller plays a crucial role in this process by dynamically rerouting traffic based on the congestion status of network links. This method helps to optimize network efficiency and performance by reducing congestion and evenly distributing the load across the network.

The implementation of dynamic load balancing in [23] involves leveraging the central control capability of SDN to actively monitor and manage network traffic. This is achieved by continuously analyzing traffic flows and network conditions, and then dynamically adjusting routes to optimize network performance. The system is designed to be responsive to changes in network load, automatically redistributing traffic to avoid congestion and ensure the efficient utilization of network resources. This approach improves network flexibility and can adapt quickly to varying network demands.

Table 4 represents a summary of the Algorithms/Techniques discussed in the articles above while Table 5 summarizes the datasets and tools used.

In SDN architectures, load-balancing algorithms are implemented at the controller level, enabling centralized decision making that takes into account the global state of the network. This centralized perspective allows for more sophisticated load-balancing strategies that can optimize traffic flow across the entire network, rather than making isolated decisions at individual switches or routers.

One of the key advantages of SDN-based load balancing is the ability to quickly adapt to changes in network topology or traffic patterns. For example, if a link becomes congested or fails, the SDN controller can immediately reroute traffic to avoid the affected area, maintaining optimal performance without manual intervention.

The need of using load balancing involves the capability to make accurate traffic predictions, so in consequence for the purpose of implementing an efficient algorithm in SDNs, it is very important to be able to predict with high accuracy changes related to traffic patterns and loads.

Recurrent Neural Networks (RNNs) were proposed by Ramakrishnan et al. [29] in order to predict the traffic in general networks like data or internet networks. The anticipation of the volumes and patterns of the traffic over time was the goal of this paper.

Montieri et al. [30] researched mobile app traffic prediction at the packet-level granularity using advanced Deep Learning techniques. The study analyzed various neural network architectures like Conventional Neural Networks, Recurrent Neural Networks, and Composite Neural Networks to enhance prediction accuracy. The study discovered important improvements compared to other methods such as Higher-order Markov Chains and Random Forest Regressor, predicting traffic characteristics on datasets generated by different categories of mobile applications.

The research highlights the potential of Deep Learning in network traffic prediction, bringing valuable insights and comparative analyses for predictive model optimization.

5. Comparative Overview

Heuristic algorithms offer a practical approach to solving complex optimization problems that are otherwise computationally infeasible. By employing strategies such as swarm intelligence, simulated annealing, and tabu search, these algorithms can provide good-enough solutions within a reasonable timeframe.

Advantages: Flexibility in addressing a wide range of problems, capability to find satisfactory solutions where exact algorithms would be impractical.

Limitations: Solutions are not guaranteed to be optimal; performance heavily depends on the specific heuristic and problem instance.

Application in SDN: Particularly useful for dynamic and complex network configurations, such as controller placement, where exact solutions are not computationally viable.

Latency optimization algorithms focus specifically on minimizing delays within the network. These algorithms are critical in environments where real-time data transmission is essential, and any delay can lead to significant performance degradation.

Advantages: Directly address network performance by minimizing delays, enhancing user experience, and optimizing real-time data flow.

Limitations: May require frequent recalculations in dynamic network environments, potentially leading to overhead.

Application in SDN: Essential for applications requiring real-time interaction, such as VoIP, online gaming, and financial transactions, where delays must be minimized.

Load-balancing algorithms aim to distribute network traffic or computational load evenly across resources, preventing any single node from becoming a bottleneck. These algorithms ensure efficient resource utilization and maintain high levels of service availability.

Advantages: Improve network resource utilization, prevent the overloading of individual network components, and enhance overall network performance and reliability.

Limitations: Complexity in implementation increases with the scale and variability of network traffic; may require continuous adjustment to maintain balance.

Application in SDN: Vital for managing data center networks, multi-server architectures, and cloud services, where traffic volume can be highly variable and unpredictable.

Table 6 represents a summary of the Algorithms discussed in the articles above with their advantages and limitations while Table 7 summarizes the targeted networks.

Complexity vs. Optimality

Heuristic algorithms and load-balancing algorithms often deal with complexity through approximations and heuristics, trading off some degree of optimality for practicality and speed. In contrast, latency optimization algorithms tend to focus more narrowly on minimizing delays, which can sometimes allow for more optimal solutions within their specific domain.

Dynamic Adaptation: While all three categories can be designed for dynamic network environments, load-balancing and latency optimization algorithms are particularly focused on adapting to changing conditions in real-time. General algorithms, with their broader application range, may not always prioritize real-time adaptation.

Application Scope: The choice between these algorithms depends on the primary network objectives: general algorithms are chosen for their flexibility and broad applicability, latency optimization algorithms for scenarios where delay is critical, and load-balancing algorithms for scenarios requiring efficient resource utilization and high availability.

The limitation of our comparative study can be seen below, in Table 8:

6. Conclusions

Heuristic algorithms and specific routing and traffic-related algorithms are key components when various challenges regarding Software-Defined Networks (SDNs) are addressed. As can be seen, each algorithm category has advantages over others and also has limitations to be considered, but their overall scope is to contribute to performance, reliability, and adaptability improvement for the infrastructure they serve. Choosing an algorithm over another one is a matter of how the network is deployed, what objectives are targeted to be accomplished over that specific network, and what type of data will pass the network (requirements). The general algorithms presented are better preferred for their flexibility in solving complex problems and because they have vast applicability. Latency optimization-related algorithms are preferable to be used on networks where the requirements impose low delays due to the specificity of the used applications over the network (ex: VoIP). Load balancing algorithms ensure efficient resource utilization and high availability and are used especially in network environments that are passing large amounts of data. It is known that Software-Defined Networks are environments that in most cases are in continuous adaptation and optimization, and the algorithms presented offer very helpful tools meant to address the challenges and complexities associated with the modern networking trends.

After the research in the field of review works related to the applied presentation of various algorithms that can be used in the context of SDN, it appears that our work brings an important element that helps people interested in this field to have a clear vision of the variants from which they can choose to be able to experiment exactly on the metrics or cases that need to be implemented.

The aforementioned comparative table and the research showcased offer a proper approach and understanding of the algorithms’ capabilities and scopes that could provide network architects, administrators, or operators the possibility to optimize their environments to meet the demands of different applications and user requirements.

In conclusion, the study has provided an extensive overview of various algorithmic approaches suitable to SDN networks including traditional, heuristic, and advanced artificial intelligence methods such as machine learning. The presented algorithms have key roles in enhancing security, scalability, and network performance. Even though the technology accomplished notable advancements, several open challenges remain. One of them is related to the seamless integration and interoperability across SDN networks that are using hardware and software from different vendors (heterogeneous environments). Another open challenge is maintaining and ensuring resilience and robustness against sophisticated cyber threats, a process that demands the continuous improvement of security algorithms. Adapting algorithms to network conditions that are dynamically changing (traffic patterns and device mobility) is another open challenge.

The best way to address these challenges is to develop a collaborative effort between researchers and vendors in order to develop standardized frameworks, methodologies, and flexible algorithms capable to meet the demands of the reality that suppose evolving networks and large amounts of traffic. By considering these challenges, future research can further advance the capabilities of SDN networks, revealing their full potential in modern networking paradigms.

Author Contributions

Methodology, conceptualization, investigation, and formal analysis, O.P., M.D.T. and E.B.; original draft preparation, O.P.; review and editing, E.B.; supervision, E.B. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

There are no conflicts of interest.

Abbreviations

ACOAnt Colony Optimization
ANNArtificial neural network
AODVAd Hoc On-Demand Distance Vector
APIApplication Programming Interface
AVROAfrican Vulture Routing Optimization
BGPBorder Gateway Protocol
D2DDevice-To-Device
GREGeneric Routing Encapsulation
IACOImproved Ant Colony Optimization
IoTInternet of Things
IPInternet Protocol
MAC addressMedia Access Control address
NCPNetwork Controller Placement
NP-hard problemNondeterministic Polynomial-time hard problem
OPEXOperational Expense
OSPFOpen Shortest Path First
PAMPartitioning Around Medoids
PCPersonal Computer
PSOParticle Swarm Optimization
QoSQuality of Service
RIPRouting Information Protocol
RNNRecurrent Neural Networks
RTTRound-Trip Time
SDNSoftware-Defined Networking
SVMSupport Vector Machine
TCP/IPTransmission Control Protocol/Internet Protocol
VLANVirtual Local Area Network
VNFVirtual Network Functions
VoIPVoice over Internet Protocol
VPNVirtual Private Network

References

  1. Li, J.; Yang, L.; Wang, J.; Yang, S. Research on SDN Load Balancing based on Ant Colony Optimization Algorithm. In Proceedings of the IEEE 4th Information Technology and Mechatronics Engineering Conference (ITOEC), Chongqing, China, 14–16 December 2018; pp. 979–982. [Google Scholar] [CrossRef]
  2. Du, Q.; Cui, X.; Tang, H.; Chen, X. Review of Load Balancing Mechanisms in SDN-Based Data Centers. J. Comput. Commun. 2024, 12, 49–66. [Google Scholar] [CrossRef]
  3. Rostami, M.; Goli-Bidgoli, S. An overview of QoS-aware load balancing techniques in SDN-based IoT networks. J. Cloud Comput. 2024, 13, 89. [Google Scholar] [CrossRef]
  4. Joshi, N.; Gupta, D. A Comparative Study on Load Balancing Algorithms in Software Defined Networking. In Ubiquitous Communications and Network Computing: Proceedings of the Second EAI International Conference, Bangalore, India, 8–10 February 2019; Kumar, N., Prasad, R.V., Eds.; Springer Nature Switzerland AG: Cham, Switzerland, 2019; pp. 142–150. [Google Scholar] [CrossRef]
  5. Zhou, S. An Algorithm for Solving Graph Coloring Problems Based on an Improved Ant Colony Optimization. UPB Sci. Bull. Ser. C 2023, 85, 209–220. [Google Scholar]
  6. Hamadani, M.K.; Borcoci, E. Load Balancing Techniques for Fog Computing Integrated to D2D Networks. UPB Sci. Bull. Ser. C 2022, 84, 291–302. [Google Scholar]
  7. Rego, A.; Sendra, S.; Jimenez, J.M.; Lloret, J. OSPF routing protocol performance in Software Defined Networks. In Proceedings of the 2017 Fourth International Conference on Software Defined Systems (SDS), Valencia, Spain, 8–11 May 2017; pp. 131–136. [Google Scholar] [CrossRef]
  8. Hasan, H.; Cosmas, J.; Zaharis, Z.; Lazaridis, P.; Khwandah, S. Development of performance of OSPF network by using SDN concepts. In Proceedings of the 2016 IEEE International Black Sea Conference on Communications and Networking (BlackSeaCom), Varna, Bulgaria, 6–9 June 2016; pp. 1–5. [Google Scholar]
  9. Zhao, X.; Band, S.S.; Elnaffar, S.; Sookhak, M.; Mosavi, A.; Salwana, E. The Implementation of Border Gateway Protocol Using Software-Defined Networks: A Systematic Literature Review. IEEE Access 2021, 9, 112596–112606. [Google Scholar] [CrossRef]
  10. Lin, P.; Bi, J.; Hu, H. Internetworking with SDN using existing BGP. In Proceedings of the Ninth International Conference on Future Internet Technologies (CFI’14), Tokyo, Japan, 18–20 June 2014; Association for Computing Machinery: New York, NY, USA, 2014; pp. 1–2. [Google Scholar] [CrossRef]
  11. Gao, C.; Wang, H.; Zhu, F.; Zhai, L.; Yi, S. A Particle Swarm Optimization Algorithm for Controller Placement Problem in Software Defined Network. In Algorithms and Architectures for Parallel Processing (ICA3PP 2015); Wang, G., Zomaya, A., Martinez, G., Li, K., Eds.; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2015; Volume 9530. [Google Scholar] [CrossRef]
  12. Hu, H.; Kang, Q.; Wang, J.; Zhao, S.; Yuan, Y.; Fu, Y. SDN routing strategy based on genetic algorithm and particle swarm optimization under SFC background. In Proceedings of the 2nd Conference on High Performance Computing and Communication Engineering (HPCCE 2022), Harbin, China, 16 December–18 January 2022; Volmue 12605, p. 126050Q. [Google Scholar] [CrossRef]
  13. Zheng, H.; Guo, J.; Zhou, Q.; Peng, Y.; Chen, Y. Application of improved ant colony algorithm in load balancing of software-defined networks. J. Supercomput. 2023, 79, 7438–7460. [Google Scholar] [CrossRef]
  14. Obaida, T.H.; Salman, H.A. A novel method to find the best path in SDN using firefly algorithm. J. Intell. Syst. 2022, 31, 902–914. [Google Scholar] [CrossRef]
  15. Abuabara, R.I.; Díaz-Sánchez, F.; Herrera, J.A.; Amigo, I. Cost-effective Tabu search algorithm for solving the controller placement problem inSDN. In Pattern Recognition Applications in Engineering; IGI Global: Hershey, PA, USA, 2020; pp. 109–130. [Google Scholar]
  16. Luong, D.K.; Ali, M.; Hu, Y.F.; Li, J.P.; Asif, R.; Abdo, K. Simulated Annealing-Based Multilink Selection Algorithm in SDN-Enabled Avionic Networks. IEEE Access 2021, 9, 145301–145316. [Google Scholar] [CrossRef]
  17. Pradeepa, R.; Pushpalatha, M. Artificial Neural Network (ANN) Based DDoS Attack Detection Model on Software Defined Networking (SDN). Int. J. Recent Technol. Eng. 2019, 8, 4887–4894. [Google Scholar] [CrossRef]
  18. Hadem, P.; Saikia, D.K.; Moulik, S. An SDN-based Intrusion Detection System using SVM with Selective Logging for IP Traceback. Comput. Netw. 2021, 191, 108015. [Google Scholar] [CrossRef]
  19. Boero, L.; Marchese, M.; Zappatore, S. Support Vector Machine Meets Software Defined Networking in IDS Domain. In Proceedings of the 29th International Teletraffic Congress, Genoa, Italy, 4–8 September 2017. [Google Scholar] [CrossRef]
  20. Ivanov, I.G.; Hristov, G.V.; Stoykova, V.D. Algorithms for optimizing packet propagation latency in software-defined networks. IOP Conf. Ser. Mater. Sci. Eng. 2021, 1031, 012072. [Google Scholar] [CrossRef]
  21. Akin, E.; Korkmaz, T. Comparison of Routing Algorithms with Static and Dynamic Link Cost in SDN. In Proceedings of the 2019 16th IEEE Annual Consumer Communications & Networking Conference (CCNC), Las Vegas, NV, USA, 11–14 January 2019; pp. 1–8. [Google Scholar] [CrossRef]
  22. Chen, J.; Xiao, W.; Zhang, H.; Zuo, J.; Li, X. Dynamic routing optimization in software-defined networking based on a metaheuristic algorithm. J. Cloud Comput. 2024, 13, 41. [Google Scholar] [CrossRef]
  23. Albowarab, M.H.; Zakaria, N.A.; Abidin, Z.Z. Load balancing algorithms in software-defined networks. Int. J. Recent Technol. Eng. 2019, 7, 686–693. [Google Scholar]
  24. Ghosh, A.; Manoranjitham, T. A study on load balancing techniques in SDN. Int. J. Eng. Technol. 2018, 7, 174–177. [Google Scholar] [CrossRef]
  25. Singh, I.T.; Singh, T.R.; Sinam, T. Server Load Balancing with Round Robin Technique in SDN. In Proceedings of the 2022 International Conference on Decision Aid Sciences and Applications (DASA), Chiangrai, Thailand, 23–25 March 2022. [Google Scholar] [CrossRef]
  26. Nurwarsito, H.; Widagdo, H.K. Comparative Analysis of Load Balancing with Shortest Delay and Least Connection Methods on Software Defined Network. In Proceedings of the 8th International Conference on Sustainable Information Engineering and Technology (SIET’23), Badung, Indonesia, 24–25 October 2023; Association for Computing Machinery: New York, NY, USA, 2023; pp. 589–598. [Google Scholar] [CrossRef]
  27. Suwandika, I.P.A.; Nugroho, M.A.; Abdurahman, M. Increasing SDN Network Performance Using Load Balancing Scheme on Web Server. In Proceedings of the 2018 6th International Conference on Information and Communication Technology (ICoICT), Bandung, Indonesia, 3–5 May 2018; pp. 459–463. [Google Scholar] [CrossRef]
  28. Zakia, U.; Ben Yedder, H. Dynamic Load Balancing in SDN-Based Data Center Networks. In Proceedings of the 2017 8th IEEE Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON), Vancouver, BC, Canada, 3–5 October 2017; pp. 242–247. [Google Scholar] [CrossRef]
  29. Ramakrishnan, N.; Soni, T. Network Traffic Prediction Using Recurrent Neural Networks. In Proceedings of the 2018 17th IEEE International Conference on Machine Learning and Applications (ICMLA), Orlando, FL, USA, 17–20 December 2018; pp. 187–193. [Google Scholar] [CrossRef]
  30. Montieri, A.; Bovenzi, G.; Aceto, G.; Ciuonzo, D.; Persico, V.; Pescapè, A. Packet-level prediction of mobile-app traffic using multitask Deep Learning. Comput. Netw. 2021, 200, 108529. [Google Scholar] [CrossRef]

Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization (1)

Table 1. General topics addressed in the state-of-the-art articles.

Table 1. General topics addressed in the state-of-the-art articles.

ReferenceMain FocusAlgorithms/Techniques/MethodsContext/EnvironmentExperimentation/Comparison Parameters
[1]Load-balancing algorithmsJoint-Load Balancing Algorithm, Dynamic Server Load-Balancing Algorithm, and Hybrid Routing AlgorithmSDN networksBest path selection to the selected server
[2]Traffic scheduling and management algorithmsIntelligent algorithmsGeneral networksTraffic classification, traffic forecast, and traffic scheduling
[3]Comparative analysis of load-balancing techniquesTraffic detection and rerouting method, Offloading method, Trask/service/packets classification, Job/switch migration, and Workload schedulingGeneral context, not SDN-specificCharacteristics of load-balancing techniques
[4]Algorithms applicable in SDN, with experimentsRound-robin, Server Load Balancing, Flow Statistics Load Balancing, Least time-based weighted load balancingSDN networksResponse time and server CPU load
[5]Improvement of Graph Coloring Problem using ACO algorithmAnt Colony Optimization (ACO) and Greedy AlgorithmData sets from Facebook and TwitterEffectiveness and accuracy in real-world networks
[6]Load balancing in fog computing environments integrated with D2D networksFirst Come First Served and Max–Min AlgorithmFog computing and D2D networksExecution time and throughput

Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization (2)

Table 2. A brief review of the articles addressing heuristic algorithms.

Table 2. A brief review of the articles addressing heuristic algorithms.

ReferenceMain FocusAlgorithms/TechniquesContext/EnvironmentExperimentation/Comparison Parameters
[11]Particle Swarm Optimization Algorithm for Controller Placement in SDNParticle Swarm OptimizationSoftware Defined NetworkController Placement Problem
[12]SDN Routing Strategy based on Genetic Algorithm and Particle Swarm OptimizationGenetic Algorithm and Particle Swarm OptimizationSFC BackgroundRouting Strategy
[13]Improved Ant Colony Algorithm in Load Balancing of SDNsImproved Ant Colony AlgorithmSoftware-Defined NetworksLoad Balancing
[14]Best Path Finding in SDN using Firefly AlgorithmFirefly AlgorithmSoftware-Defined NetworksPath Finding
[15]Cost-effective Tabu Search Algorithm for Controller Placement in SDNTabu Search AlgorithmSoftware-Defined NetworksController Placement Problem
[16]Simulated Annealing-Based Multilink Selection Algorithm in SDN-Enabled Avionic NetworksSimulated AnnealingSDN-Enabled Avionic NetworksMultilink Selection

Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization (3)

Table 3. Datasets and tools used to research heuristic algorithms.

Table 3. Datasets and tools used to research heuristic algorithms.

Dataset/ToolDescription
Mininet for SDN emulation, custom network topology datasets, and Python for PSO algorithm implementationProposes a PSO algorithm to address the controller placement problem in SDN.
Network topology datasets, tools like OMNeT++ or ns-3 for network simulation, Python or MATLAB for implementing genetic algorithms, and PSOCombines genetic algorithm and PSO for routing in SDN under SFC background.
Mininet for SDN emulation, synthetic network traffic data, and tools like NS-3, custom scripts in Python for improved ant colony algorithmUtilizes an improved ant colony algorithm for load balancing in SDN.
Mininet for SDN emulation, traffic datasets, and the implementation of firefly algorithm in Python or MATLABIntroduces a firefly algorithm to determine the optimal path in SDN.
Mininet for creating SDN topologies, Python or C++ for implementing tabu search algorithm, and topology datasetsDevelops a cost-effective tabu search algorithm for solving the controller placement problem in SDN.
Aviation network datasets, SDN emulators like Mininet, and Python for implementing simulated annealingPresents a simulated annealing-based algorithm for multilink selection in SDN-enabled avionic networks.

Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization (4)

Table 4. Review of the articles with a main focus on load-balancing techniques.

Table 4. Review of the articles with a main focus on load-balancing techniques.

ReferenceMain FocusAlgorithms/TechniquesContext/EnvironmentExperimentation/Comparison Parameters
[23]A comprehensive review of load balancing algorithms in SDNStatic load balancing, dynamic load balancing, and hybrid load balancingSDN networksPerformance metrics such as throughput, latency, and jitter
[24] Study on load-balancing techniques in SDNRound-robin, Least connection method, Agent-Based Adaptive Load Balancing, Chained Failover method, Weighted Response Time, Source IP HashSDN networksEvaluation of techniques based on network performance
[25] Server load balancing with Round-robin technique in SDNRound-RobinSDN, POX Controller, and MininetLoad distribution, response time, and network health
[26] Comparative analysis of load balancing with the Shortest Delay and Least Connection methodsShortest Delay and Least ConnectionSDN frameworksDelay reduction and network load
[27] Increasing SDN network performance using load-balancing scheme on web serversAdvanced load balancing schemesSDN and web server applicationsServer efficiency and traffic handling
[24] SDN implementation using a Weighted Load-Balancing algorithmWeighted load balancingSDN networksNetwork performance and optimal load distribution
[28] Dynamic load balancing in SDN-based data center networksDynamic load balancingSDN and data center networksCongestion reduction, load distribution, and network efficiency

Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization (5)

Table 5. Available datasets and tools for evaluating load balancing algorithms in SDN.

Table 5. Available datasets and tools for evaluating load balancing algorithms in SDN.

Dataset/ToolDescription
CAIDA Internet TracesAnonymized internet traffic traces for studying and modeling network traffic.
MAWI Traffic ArchiveTraffic data from a trans-Pacific link for analyzing wide-area traffic patterns.
Facebook Network AnalyticsData used to model large-scale network behavior (availability varies).
MininetNetwork emulator for creating custom topologies and traffic patterns.
POXOpen-source SDN controller for prototyping and development.
CloudSimFramework for the modeling and simulation of cloud computing infrastructures and services.
OMNeT++Discrete event simulation environment for modeling communication networks.
NS-3Discrete event network simulator for internet systems.

Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization (6)

Table 6. Comparative table of algorithms presented.

Table 6. Comparative table of algorithms presented.

Algorithm TypeBrief DescriptionAdvantagesLimitationsSDN Application
Heuristic algorithms
-

offer practical approach to solving complex optimization problems, otherwise computationally infeasible

-

provide good-enough solutions in a reasonable timeframe

-

flexibility (address wide problem range)

-

satisfactory solutions compared to exact algorithms

-

no guarantee of optimal solutions

-

affect performance in accordance with the problem that is being solved

-

dynamic and complex network configurations (like CPP)

Latency optimization algorithm
-

focus on minimizing network delays

-

critical in real-time data environments

-

data flow optimization by reducing delays

-

not quite feasible for dynamic networks (may require frequent recalculations)

-

real-time interaction apps (VoIP and online gaming)

Load Balancing Algorithms
-

distribute network traffic or computational load evenly across resources

-

preventing bottlenecks on nodes

-

an improvement in network utilization

-

avoids the overload of individual components

-

performance and reliability enhancement

-

complex implementation proportional to traffic scaling

-

may require continuous adjustments to balance properly

-

data center networks

-

cloud services

-

environments with high and unpredictable traffic volumes

Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization (7)

Table 7. Targeted networks in the state-of-the-art.

Table 7. Targeted networks in the state-of-the-art.

Network TypeReference Numbers
General SDN[1,4,5,11,12,13,14,15,17,18,19,20,21,23,24,25,26,27,29,30]
Data Centers (IP Networks)[2,28]
IoT Networks (Wireless and IP Networks)[3]
Fog Computing Integrated with D2D (Wireless Networks)[6]
IP Networks (General SDN Context)[7,8,9,10]
SDN-Enabled Avionic Networks (Transport Networks)[16]

Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization (8)

Table 8. Limitations related to the present research.

Table 8. Limitations related to the present research.

LimitationDescription
Breadth vs. DepthWhile the paper covers a wide range of algorithms, the depth of discussion on each algorithm might be limited due to the broad scope. Future work could focus on the in-depth analyses of specific algorithms.
Real-World ImplementationThe practical implementation and real-world performance of some algorithms may not be extensively covered. More empirical studies and case studies could address this gap.
Evolving TechnologiesThe rapid evolution of SDN and related technologies like 5G and IoT means that new algorithms and approaches are continuously emerging. Keeping the review up-to-date with the latest advancements is a challenge.
Performance MetricsDifferent studies use various metrics to evaluate performance, making direct comparisons difficult. Standardized metrics and benchmarks would help in better comparative analysis.
Scalability and ComplexityThe scalability and computational complexity of algorithms are critical in real-world applications, but may not be thoroughly addressed for each algorithm in this review.

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.


© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization (2024)
Top Articles
Latest Posts
Article information

Author: Carmelo Roob

Last Updated:

Views: 5649

Rating: 4.4 / 5 (45 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Carmelo Roob

Birthday: 1995-01-09

Address: Apt. 915 481 Sipes Cliff, New Gonzalobury, CO 80176

Phone: +6773780339780

Job: Sales Executive

Hobby: Gaming, Jogging, Rugby, Video gaming, Handball, Ice skating, Web surfing

Introduction: My name is Carmelo Roob, I am a modern, handsome, delightful, comfortable, attractive, vast, good person who loves writing and wants to share my knowledge and understanding with you.