A Survey on Load Balancing, Routing, and Congestion in SDN

promising techniques, and future directions’ suggestions that could be utilized further in research. Investigating SDN-based research published by well-known academic publishers in the last six years shows that enhancing network performance and AI-based approaches are the highest investigated topics with 28% and 27%, respectively, of the total investigated issues. Other topics took lower percentages. As far as we know, this study is the first work that jointly surveys and categorizes all existing approaches in the field of decreasing delay and congestion in SDN-based networks


H I G H L I G H T S A B S T R A C T
 Categorizeing existing approaches along with their features exposes promising techniques and future directions' suggestions.  This work surveys and categorizes existing load balance, routing, and congestion solutions.  The investigated metrics of previous works are statically analyzed so as to highlight the most important factors that should be evaluated.  Enhancing network performance and AIbased approaches are the highest investigated topics in the last 6 years.
High traffic could result in load imbalance or network congestion, which degrades the network's performance and efficiency. Thus, it is crucial to adopt efficient routing and load balancing models to face these challenging issues.
Additionally, when investigating a new approach, it is essential to consider the most important metrics to evaluate this potential approach precisely. This paper presents an intensive analysis of recently available SDN-based load balancing and routing techniques. Furthermore, the features and issues of each technique are stated. Moreover, the most important metrics that should be evaluated are statically analyzed. Also, a brief survey of available network congestion solutions is shown. Additionally, taxonomies of available load balancing, routing techniques, and congestion solutions are presented. Finally, we shed light on the trends, promising techniques, and future directions' suggestions that could be utilized further in research. Investigating SDN-based research published by wellknown academic publishers in the last six years shows that enhancing network performance and AI-based approaches are the highest investigated topics with 28% and 27%, respectively, of the total investigated issues. Other topics took lower percentages. As far as we know, this study is the first work that jointly surveys and categorizes all existing approaches in the field of decreasing delay and congestion in SDN-based networks

Introduction
It is important to evaluate the network performance to discover potential limitations and issues. Diagnosing such issues helped to find appropriate solutions [1,2]. For example, SDN-based networks face several challenges, such as delay and congestion, which could be solved by adopting efficient load balancing and congestion-aware routing schemes [3-6]. Furthermore, adopting an appropriate routing approach could decide which paths would better serve the required objectives [7-9], such as avoiding congestion, saving energy [6, 10], and security enhancement [11], providing a certain level of QoS [12], etc. Hence, improving routing is an essential issue, not in SDN networks only but in all network types [13]. Also, the delay could result from workload imbalance; hence it is essential to balance the load to support scalability and availability and present the minimal application's response time in addition to increasing network efficiency [14][15][16][17].
Despite several remarkable surveys on SDN, this paper has a different perspective in analyzing and classification since it contributes the following. First, it jointly introduces a survey of available routing and load balancing approaches along with the features of each approach. Also, it sheds light on the most important metrics that should be considered when investigating an approach for routing and load balancing. Furthermore, it presents taxonomies of available techniques in those topics. Moreover, it provides a brief survey and taxonomy of available solutions for the congestion problem. Finally, this study exposes promising techniques and potential future research directions.
The structure of this study can be organized as follows. First, the methods and features of each method, as well as taxonomies of load balance, routing, and congestion solutions, are presented in section 2. Then, in section 3, results and discussions of reviewed methods, in addition to comparative analyses of measured metrics, are illustrated. Then, recent trends and future research tendencies are depicted in section 4. Finally, a conclusion of this study is revealed in section 5.

Related Work
Despite several remarkable surveys in SDN, this work differs in its perspective in analysis and classification. Besides, none of the previous surveys present a joint analysis for load balancing, routing, and congestion solutions. For example, both [18] and [19] analyzed load balancing in terms of the applied level, which is control and data-plane levels, in addition to their types. However, this study neither provided a comparative analysis nor specified features and issues related to each type. In contrast, the work of [20] specified the challenges in addition to presenting a comparative analysis along with the challenges. In 2019, Mehra et al. [21] surveyed the existing types of load balancing at the control level without analyzing other aspects. Belgaum et al. [22] presented comparative analysis along with taxonomy in addition to specifying issues facing the types of control level load balancing. However, this survey studies the load balance at the control level only.
Kumar and Anand [23] provided a systematic review for load balancing in which a comparative analysis and challenges were presented. Still, this review lacks taxonomies that illustrate the existing techniques. On the other hand, Hamdan et al. [24] presented the types and categories of load balancing, illustrating issues and comparative analysis.
Guck et al. [25] surveyed and evaluated QoS-aware routing algorithms only. They did not provide any taxonomy. Abdullah et al. [26] presented a survey study on segment routing. They compared various types and provided a taxonomy that illustrates the existing types. Assefa Ö. Özkasap [27] surveyed energy efficiency approaches in SDN. They presented an illustrating taxonomy and comparative analysis and discussed their issues. In 2020, Gunavathie et al. [28] presented a survey on predicting and classifying traffic. In 2021, Yang et al. [29] surveyed network forwarding. A comparative analysis was presented.
However, this survey has a different perspective in the analysis since its survey's network performance enhancement in terms of decreasing delay and congestion. This work jointly surveyed the existing techniques and their features. All existing works survey either load balance alone or a specific type of routing only. None of those studies surveyed all existing routing techniques since all previously mentioned routing surveys studied an individual routing category, whereas this work surveyed all possible routing approaches. Moreover, none surveyed available congestion solutions, which is an essential issue in network performance. Additionally, our study categorizes all existing research in load balance, routing, and congestion. Such graphical taxonomies facilitate the researchers' works and guide them in choosing the appropriate approach to their work. Furthermore, it comparatively analyzes all possible solutions in addition to investigating the most important metrics required to evaluate any proposed approach properly. Additionally, it analyzed and specified the merits and limitations of each category. As far as we know, this study is the first work that jointly surveyed all existing approaches to decreasing delay and congestion.

Methodology
In this study, our methodologies are divided into two approaches which are: SDN-based network load balance.  SDN-based network routing. 

Sdn-Based Network Load Balancing
Distributing the workload can prohibit congestion and minimize delay and response time. Additionally, it offers better resource allocation as well as improves QoS metrics. Load balancing (LB) could be done at the control level [30] and dataplane level [31,32]. At the control level, LB could be applied on distributed controllers [30] or virtualized controllers [33]. Whereas at the data plane, LB could be categorized in: Server LB [34] and Link LB [35]. To achieve LB, several techniques are available. These techniques are surveyed and discussed along with their features in Table 1, Appendix A. Load balance levels could be categorized as illustrated in Figure 1a. While the available LB techniques could be categorized as shown in Figure 1b.

Sdn-Based Network Routing
Routing and selecting a specific path for traffic could be done according to the objective. Categories and features for some of the previous research are discussed in Table 2, Appendix A. In addition, the taxonomy of recent routing techniques is depicted in Figure 2.
In addition to routing [36] and load balancing [ 22 ] , several other solutions could solve the problem of congestion, such as artificial intelligence (AI) [37,38]. However, the work proposed by [39] suffered from a side effect of reconfiguring networks. While predicting traffic congestion was presented by [40]. In 2019, Amiri et al. [41] proposed an approach for routing and solving congestion through the migration of multiple flows.
A taxonomy of recent solutions for congestion is illustrated in Figure 3. Congestion could occur either in the flow or in the flow table. Hence, congestion could be categorized as flow congestion [39] and flow table congestion [42].

Results and Discussion
This study provided an intensive survey of recently existing SDN load balance, routing, and congestion solutions. In addition, it introduced several taxonomies for illustrating those solutions. These taxonomies spotlight potential methods could be employed in those topics. Also, it showed the most important metrics that should be measured to evaluate any proposed solution properly. Also, this paper highlighted the most recent trends in these aspects.

Load Balance Metrics
A histogram of load balance metrics of the previously surveyed studies in Table 1 is illustrated in Figure 4. The benefit of such a chart is to highlight the most important features in any proposed model and to evaluate its behavior precisely. Regardless of the adopted technique for achieving load balance, it is obvious that throughput, load balancing degree, response time, and delay are the most metrics that have been investigated. In contrast, the other metrics took less attention.

Routing Metrics
The measured routing metrics of the previously surveyed studies in Table 2 are shown as a histogram in Figure 5. Analyzing this figure shows that packet loss (or delivery) ratio and delay were the highest investigated metric, followed by throughput. In contrast, the other metrics took the least interest.

Sdn Researches Trends
In this study, we investigated the trends in SDN research by checking nearly 180 articles published by well-known academic publishers between 2016 and 2021. These publishers are IEEE, Springer, Elsevier, Wiley, and ACM.     The chart illustrates the number of articles per category over the last six years. Generally, the most investigated topics over this period were networking, AI, and security. During 2020-2021, a significant tendency toward enhancing network performance appeared. Improving SDN network performance includes various SDN-based networks rather than pure SDN networks. Also, AI-based methods are utilized in various issues. Analyzing Figure 6 shows a tendency towards a higher interest in investigating AI-based techniques, security enhancement, and networking improvement in the near future. Moreover, Figure 7. shows the percentage of each method. It is obvious that networking and AI-based approaches were the highest investigated topics in the last six years, with 28% and 27% respectively of the total investigated topics. In contrast, the percentage of security and cloud computing topics were about 14% and 10%, respectively. Statistically, other topics took a lower percentage. Hence, it has been noticed that the highest number of investigated topics were networking enhancement, AIbased approaches, and security improvement in the last six years. Analyzing Figures 6 and 7 shows that it is predictable to take a high-interest rate in those three topics in the next years.

Recent Trends and Future Research Tendency in LB and Routing
AI techniques have been adopted for solving various issues. Analyzing Table 1 and Table 2 shows that the AI-based category is the most examined topic due to its effectiveness, efficiency, adaptation to the surrounding environment, ability to deal with vagueness and incomplete truth, quality-guaranteed solution, etc. [37, 43, and 44]. Also, AI-based techniques could be combined with other approaches, as illustrated in Tables 1 and 2. Thus, it is predictable that the AI-based category represents a high-interesting research approach for the near future. Recently, several studies have adopted reinforcement learning (RL) among various learning methods. There is a tendency toward employing RL in enhancing routing. It has been utilized as a hybrid and combined with other techniques due to its excellent features and ability to adapt to the changing environment. Some of such studies are references [43][44][45].
RL is considered a superior learning technique due to its ability to work well despite no prior or precise mathematical model of the environment. However, as everything exists, it also has some deficiencies. Some of such limitations are the low convergence rate and unsuitability to handle high-dimensionality in state and action space. Still, its main merit could be utilized, and at the same time, these shortcomings could be avoided by combining this powerful technique with other approaches such as deep learning [46][47][48].
Another promising approach is segment routing (SR), in which the forwarding rules number is reduced by reducing the needed number of labels to be coded and stored in each device along the route. This technique could significantly reduce the complexity and delay in addition to supporting scalability [49].
We conclude from analyzing Figure 6 and Figure 7 that networking and AI-based approaches were the highest investigated topics in the last six years, with 28% and 27% respectively of the total investigated topics. Hence, it is predictable to take a high-interest rate on those topics in the next years.

Conclusions
In this paper, we presented a joint survey of load balance and routing issues. Firstly, a tabular survey form associated with load balancing for some previous studies was shown. Then, a comparative analysis of measured metrics on this topic was depicted. Secondly, some previous studies in the field of the routing issue were presented, followed by analytic comparisons between routing measured metrics. After that, the techniques' categories and taxonomies for both issues were depicted. Additionally, a brief survey of available solutions for the congestion problem was mentioned, and a taxonomy of recent solutions for congestion was presented. Furthermore, we exposed the significant metrics that should be measured to properly evaluate any proposed solution in routing and load balancing issues. Analytic comparison of the measured metrics exposed those essential metrics as follows. In load balancing issues, the most significant metrics that should be measured, regardless of the adopted solution, are throughput, load balancing degree, response time, and delay. The other metrics took a lower rate. Some of those metrics are not less important than the previously mentioned factors but are solution-specific such as the number of migrations, migration cost, and completion (or execution) time. In the routing enhancement topic, packet loss (or delivery) ratio and delay were the highest investigated metric, followed by throughput. In contrast, the other metrics took the least interest.
Finally, we shed light on the trends, promising techniques, and future direction suggestions that could be utilized further in research. Combined and hybrid AI-based techniques showed a high-interesting research approach for the near future. Recent years witnessed a tendency toward utilizing reinforcement learning (RL) as a hybrid approach due to its ability to adapt to the varying environment in addition to its superior performance despite the absence of prior knowledge of a precise mathematical model of the surrounding environment. Another promising method is segment routing (SR), which can significantly reduce the required forwarding rules, reducing coding operations, storage, complexity, and delay, and supporting scalability.

Author contribution
All authors contributed equally to this work.

Funding
This research received no specific grant from any funding agency in the public, commercial, or not-for-profit sectors.

Data availability statement
The data that support the findings of this study are available on request from the corresponding author.

Conflicts of interest
The authors declare that there is no conflict of interest.  AI-based  AI could be combined with other solutions to achieve load balance.  For example, it could be used with switch migration solution to select the switch(es) that should migrate and to whom controller. Also, it could be used to classify traffic, select route, decide controllers' placement and so on. Several studies combined various solutions together are shown in Table (1).
 AI could be combined with other solutions to achieve load balance.  They have numerous advantages in achieving load balance. Several surveys showed their usage and feature in this field such as [22,24].
 The difficulty, cost, and timeconsuming process of selecting an optimal solution in large-scale networks. However, its features depend on the adopted method  However, it depends on the selected AI method