A Novel Strategy for Computing Routing Paths for Software-Deﬁned Networks Based on MOCell Optimization

: Software-deﬁned networking (SDN) is the fastest growing and most widely deployed network infrastructure due to its adaptability to new networking technologies and intelligent applications. SDN simpliﬁes network management and control by separating the control plane from the data plane. The SDN controller performs the routing process using the traditional shortest path approach to obtain end-to-end paths. This process usually does not consider the nodes’ capacity and may cause network congestion and delays, affecting ﬂow performance. Therefore, we evaluate the most conventional routing criteria in the SDN scenario based on Dijkstra’s algorithm and compare the found paths with our proposal based on a cellular genetic algorithm for multi-objective optimization (MOCell). We compare our proposal with another multi-objective evolutionary algorithm based on decomposition (MOEA/D) for benchmark purposes. We evaluate various network parameters such as bandwidth, delay, and packet loss to ﬁnd the optimal end-to-end path. We consider a large-scale inter-domain SDN scenario. The simulation results show that our proposed method can improve the performance of data streams with TCP trafﬁc by up to 54% over the traditional routing method of the shortest path and by 33% for the highest bandwidth path. When transmitting a constant data stream using the UDP protocol, the throughput of the MOCell method is more than 1.65% and 9.77% for the respective paths.


Introduction
In recent years, there has been a rapid expansion of the Internet and the continuous development of information and communication technologies such as 5G [1], cloud computing [2], Internet of Things (IoT) [2,3], and Big Data [4].However, the evolution of these technologies requires network operators and Internet service providers (ISPs) to adopt new strategies and technologies to meet the emerging traffic demands that cannot be met by traditional networks.
The traditional network design originated as a simple distributed system to provide best-effort packet communication services in a reliable environment using network devices to forward packets and make routing decisions by implementing packet routing rules.The traffic accounts for routing tables on devices such as switches/routers.
However, with the rapid evolution of networks, the constant increase in devices and the excessive consumption of bandwidth lead to specific performance problems such as a higher rate of packet loss, a more significant increase in end-to-end transmission delay, and, in the worst case, network collapse [5].
Software-defined networking (SDN) is an emerging centralized network architecture technology that differs from traditional networks by decoupling the control plane from the data plane [6].The data plane is responsible only for forward and switch data and consists of the network's physical infrastructure, such as switches and routers, both physical and virtual, accessible through an open interface.The control layer is the essential layer of the architecture, consisting of SDN controllers that centralize the intelligence and management of the network and provide a global view of the network [7,8].SDN has a third layer, the application layer, which provides users with services such as traffic engineering, quality of service, and network security.
The SDN architecture also has two communication interfaces that allow the controllers to interact with the other layers:

•
Southbound interface: Provides a communication environment between the controller and communication devices.Installs the appropriate flow rules in the device forwarding table.OpenFlow [9] is the open-source community's most widely implemented Southbound interface standard.

•
Northbound interface: Provides communication between the SDN controller and network applications running on the application plane.This communication is critical, as each network application's requirements can be very different.Applications can communicate with the SDN using various APIs, such as ad hoc and REST APIs, to request network resources or services according to their needs.
SDN promises to solve several problems in traditional networks due to its flexibility.However, there are still some open problems and challenges, such as the design of routing algorithms that guarantee QoS.The SDN controller typically employs the shortest path method when an application requires the transfer of a flow between end-to-end networks [10].As the variety of services increases, so do the requirements for service improvement, which include latency, bandwidth, packet loss rate, and network stability.The conventional best-effort routing algorithm results in the network architecture having certain constraints in order to optimize the performance parameters for the diversity of demands [11].Figure 1 shows an example of a data flow that requires a path with a bandwidth of more than 80 Mbps and a delay of less than 7 ms.In the case of the traditional routing algorithm based on the shortest path, the traffic flows along the path R1,R2,R3,R7, which has the following values: bandwidth = 70 Mbps and delay = 8 ms.This does not meet the criteria for bandwidth service.This path may result in poor service performance and cause problems such as congestion.Therefore, it is helpful to consider different criteria for selecting a good path.For example, using the highest bandwidth path (R1,R2,R5,R6,R7) results in a bandwidth of 90 and a delay of 6, which meets the data flow requirements.
Appl.Sci.2022, 12, x FOR PEER REVIEW 2 of 27 However, with the rapid evolution of networks, the constant increase in devices and the excessive consumption of bandwidth lead to specific performance problems such as a higher rate of packet loss, a more significant increase in end-to-end transmission delay, and, in the worst case, network collapse [5].
Software-defined networking (SDN) is an emerging centralized network architecture technology that differs from traditional networks by decoupling the control plane from the data plane [6].The data plane is responsible only for forward and switch data and consists of the network's physical infrastructure, such as switches and routers, both physical and virtual, accessible through an open interface.The control layer is the essential layer of the architecture, consisting of SDN controllers that centralize the intelligence and management of the network and provide a global view of the network [7,8].SDN has a third layer, the application layer, which provides users with services such as traffic engineering, quality of service, and network security.
The SDN architecture also has two communication interfaces that allow the controllers to interact with the other layers:


Southbound interface: Provides a communication environment between the controller and communication devices.Installs the appropriate flow rules in the device forwarding table.OpenFlow [9] is the open-source community's most widely implemented Southbound interface standard. Northbound interface: Provides communication between the SDN controller and network applications running on the application plane.This communication is critical, as each network application's requirements can be very different.Applications can communicate with the SDN using various APIs, such as ad hoc and REST APIs, to request network resources or services according to their needs.
SDN promises to solve several problems in traditional networks due to its flexibility.However, there are still some open problems and challenges, such as the design of routing algorithms that guarantee QoS.The SDN controller typically employs the shortest path method when an application requires the transfer of a flow between end-to-end networks [10].As the variety of services increases, so do the requirements for service improvement, which include latency, bandwidth, packet loss rate, and network stability.The conventional best-effort routing algorithm results in the network architecture having certain constraints in order to optimize the performance parameters for the diversity of demands [11].Figure 1 shows an example of a data flow that requires a path with a bandwidth of more than 80 Mbps and a delay of less than 7 ms.In the case of the traditional routing algorithm based on the shortest path, the traffic flows along the path R1,R2,R3,R7, which has the following values: bandwidth = 70 Mbps and delay = 8 ms.This does not meet the criteria for bandwidth service.This path may result in poor service performance and cause problems such as congestion.Therefore, it is helpful to consider different criteria for selecting a good path.For example, using the highest bandwidth path (R1,R2,R5,R6,R7) results in a bandwidth of 90 and a delay of 6, which meets the data flow requirements.These problems can be avoided by effectively routing flows while considering available network parameters and QoS requirements.The selection of paths in the routing process must evaluate the network conditions through the multiple available metrics, which can be represented as objectives.The goals may conflict in this type of problem, and each purpose has a different solution.With more than one optimization criterion, this routing process is known as a multi-objective optimization problem (MOP) [12].
Discovering paths that provide QoS in a network according to different data flow requirements is a difficult problem, which is usually solved optimally using heuristic algorithms [13], especially those based on integer linear programming, game theory, and evolutionary algorithms (EA).Algorithms based on game theory and approximation are usually computationally intensive.Therefore, these two methods are usually not suitable for providing acceptable solutions.On the other hand, EAs search for global optima by developing an iterative search within a finite time.They have proven to provide highquality solutions to the problem within a limited computation time [14].Genetic algorithms (GA) are a family of models of EAs.They have emerged as a method for optimizing difficult search problems based on the principle of genetic selection, such as inheritance mutation, selection, and crossover.Their advantage is that they can handle large search spaces and generate multiple solutions in a single pass, which is suitable for this type of QoS routing optimization for SDN [15].
Our proposal (Figure 2) resides in the application plane and communicates with the SDN controller using the REST API provided by the Northbound interface.We use these SDN capabilities to create, query, and delete flow rules on OpenFlow (OF) switches, in order to forward data flow according to the path established by our path selection proposal or optimization criteria, based on a cellular genetic algorithm for multi-objective optimization (MOCell).

Related Work
This section describes the research works on routing proposals to improve the quality of service (QoS) implemented in the SDN architecture.We describe the works according to the network parameters considered for QoS improvement, the use of SDN architecture resources, and their contribution depending on a single domain or multiple.
In OpenQoS [17], the authors developed an architecture that classifies incoming data streams into multimedia or data streams and provides quality service support for the different multimedia streams, considering the application's requirements.Their proposed algorithm focuses on the shortest path according to the delay as a constraint, while for data streams, it provides the best possible path according to the controller (hops).
In CECT [18], a network congestion avoidance scheme was proposed in which resources are reallocated based on data flow requirements.It should be noted that the The main contributions of our proposal are as follows:

•
An SDN strategy for routing data flows based on QoS that considers an inter-domain approach and compares its performance with traditional routing algorithms in the context of SDN.

•
Using MOCell, the routing strategy considers some of the most critical network parameters: available bandwidth, delay, and packet loss.
The MOCell algorithm differs from conventional methods in evaluating multiple possible solutions from the first iteration.Its population is structured into small neighborhoods that generate high-quality solutions.They are fed back with the non-dominant solutions stored in each iteration.This algorithm has shown better performance in extensive testing than the NSGA-II and SPEA2 algorithms, which are widely recognized and used in practice [16].
Alongside this research, we set aside for future work the analysis of time complexity and computational delay.The fastest output results and least computational effort will likely be the result of Dijkstra's algorithm, rather than the MOCell method.However, the network performance results of this work presented in Section 4 show how the MOCell method obtains better results than Dijkstra's algorithm and the multi-objective evolutionary algorithm based on decomposition (MOEA/D).Additionally, the stationary state of the SDN network connection processes allows the implementation and evaluation of the MOCell method for a new inter-domain routing proposal.
The rest of the article is organized as follows: Related work is presented in Section 2. Section 3 presents our proposed system and describes the experimental setup.In Section 4, the performance evolution is presented, and the results are discussed.Finally, Section 5 describes the conclusions of the work and future directions.

Related Work
This section describes the research works on routing proposals to improve the quality of service (QoS) implemented in the SDN architecture.We describe the works according to the network parameters considered for QoS improvement, the use of SDN architecture resources, and their contribution depending on a single domain or multiple.
In OpenQoS [17], the authors developed an architecture that classifies incoming data streams into multimedia or data streams and provides quality service support for the different multimedia streams, considering the application's requirements.Their proposed algorithm focuses on the shortest path according to the delay as a constraint, while for data streams, it provides the best possible path according to the controller (hops).
In CECT [18], a network congestion avoidance scheme was proposed in which resources are reallocated based on data flow requirements.It should be noted that the routing algorithm uses a secondary genetic algorithm when there is a congestion problem.Therefore, the data streams are reallocated according to the minimum bandwidth required by the application.Jungmin et al. [19] proposed a method based on distributed data centers in an SDN cloud that guarantees bandwidth allocation for critical applications through priority queues in each network device.In AmoebaNet [20], a service is proposed that guarantees the QoS of services on campus or local area networks based on SDN and facilitates the transfer of large-scale scientific data (Big Data) depending on the application.The algorithm is based on the bandwidth constraint to calculate the end-to-end network path.Bastam et al. [21] proposed a dynamic method for traffic engineering in SDN data centers based on a linear propagation model and decomposition techniques to partition the flow allocation problem by determining the available capacity of paths for the redirection of the flows.In VSDN [22], the authors proposed an architecture within a domain for video transmission over SDN.This architecture includes a routing module and a network topology monitor that verifies network conditions.The authors monitored bandwidth, jitter, and link delay network parameters to forward data packets using a constraint-based routing algorithm.In PRIME-Q [23], a multi-domain routing method with end-to-end quality of service is presented, which considers privacy in a multi-domain SDN network.The algorithm can classify path flows according to three categories of QoS, bandwidth, delay, and the combination of both parameters in an optimization function.
In QosComm [24], the authors designed a strategy for routing data flows among an SDN-based distributed data center according to the application's QoS requirements.The algorithm selects the path with the minimum delay that satisfies the application requirements based on bandwidth, packet loss rate, and jitter.Li et al. [25] proposed a QoS-compatible routing method based on an evolutionary algorithm for multi-objective optimization (NSGA-II).This method considers the bandwidth threshold required by a flow and minimizes the parameter delay and packet loss.These parameters are determined by monitoring the network regularly to avoid bottlenecks, unlike most previous studies based on the assumption of the same domain.
In VQoSRR [26], a video streaming adaptive QoS-based routing and resource reservation scheme is proposed that shifts traffic to an alternate path when the QoS is violated, which satisfies video demands and enhances user experience more effectively than besteffort networks.In Civanlar et al. [27], the authors proposed a multi-domain design where each domain has an SDN controller, which shares the summarized topology of their domain.Each controller has end-to-end decision-making capabilities, and the flow decision selection is based on the effective bandwidth theory of the martingale process.
In MCEAACO-QSRP [28], the authors designed a multi-objective optimization strategy based on adaptive ant colonies to guarantee the quality of service in the industrial Internet of Things (IoT), considering the QoS constraints of delay, security, and power consumption.
Li-Sheng et al. [13] proposed a routing algorithm based on a multi-objective genetic algorithm for the QoS of the optical burst communication network.The algorithm takes the parameters of the minimization of delay, bandwidth, and packet loss.
As a summary of the reviewed works (Table 1), we can argue that the most implemented routing model to guarantee QoS is focused on the available bandwidth parameter [18][19][20][21]26,27].VSDN [22] and PRIME-Q [23] classified flows according to the multimedia flows' required bandwidth and delay parameters.PRIME-Q has the particularity of offering three options: the first is path selection with maximum available bandwidth; the second is path selection with the minimum delay; and the third is both network parameters as restrictions.Another approach is to reallocate resources when a congestion problem occurs [18,19,21,27], where the parameter to consider when improving the QoS is the bandwidth available in the network, without considering the delay and packet loss that may occur on the links, except for OpenQoS [17], which obtains a better performance by giving higher priority to delay than bandwidth.On the other hand, multi-objective techniques have been implemented to meet the requirements of multiple QoS parameters such as bandwidth, delay, packet loss, and jitter [24,25,28,29].These methods focus on optimizing one objective function, while the other parameters satisfy the minimum requirements of the data streams.Our routing proposal differs mainly by considering the minimization of these parameters, which gives us a set of feasible and balanced solutions since they are non-dominated solutions.

Problem Formalization
Generally, a network topology can be represented as a directed graph G(V, E), where V represents all nodes in the network and E represents all of the connections between the nodes.n = |V| is the number of nodes and m = |E| is the number of edges in the network.Each connection e (i,j) E has associated properties, such as λ e , the available bandwidth, µ e , the delay, and ρ e , the packet loss.The status and measurements of the network are updated when a routing request is made, in order to obtain the better accuracy of the available resources and to choose a path that satisfies the QoS parameters [29,30].
The path search problem must solve a path P from a source node s to a destination node d that satisfies the values of different network parameters.We define the following function for a path P: Hops path computes the number of links between s and d node.For this case, the cost of each link is assigned to 1.
The bandwidth path is the minimum available bandwidth between s to d node, and the cost metric of each link is set to be inversely proportional to the bandwidth capacity of that link.
The delay path is the total path delay.
The packet loss path is the percentage of packets lost in comparison with the number of packages sent (0 means no packet loss).
The delay function is additive, while the bandwidth function is concave, and the packet loss function is multiplicative but can be converted to an additive function by taking the logarithm of the ratio; with this parameter, we can provide network QoS.
Table 2 shows the network parameters described as variables.

P
Path from a source node to a destination node.

h(P)
Computes the number of links for a path.

λ(P)
Computes the minimum available bandwidth link on a path.

µ(P)
Computes the total path delay.

ρ(P)
Computes the percentage of packets lost concerning the number of packages sent.
To evaluate path performance, we consider throughput [31] (Equation ( 5)) as a performance measure that refers to the successful delivery of data E s,t over a communication channel; in our case, a path where E s,t is the received data d rx from source s tx excluding retransmitted data r data during the entire observation time T t . where

QoS Routing
The shortest path algorithm determines the path with the lowest connection cost, specified by a value inversely proportional to the available bandwidth of each connection.Dijkstra's algorithm is usually used for this type of search.In our case, we create variations of the shortest path using Dijkstra's algorithm to consider the path metrics with the lowest bandwidth cost and minimum hops, delay, and packet loss.[32].

•
The minimum hops path computes the shortest path with the minimum number of links between the source and destination node.
• Minimum cost of available bandwidth path: • Minimum delay path: • Minimum packet loss path:

Dijkstra's Algorithm
Dijkstra's algorithm (Algorithm 1) is widely used in the shortest path routing algorithm.It is based on a set of candidate neighbor nodes, and the calculation to identify the shortest path between a source s and a destination d; in other words, it computes the shortest paths to all destinations [33].
For the path calculation with Dijkstra's algorithm, we need to calculate the cost between two nodes i, j and the path with the least cost to node j, where j (j = i).We can represent this as two parameters: dt i,j = link cost between node i and node j Dt i,j = cost o f the minimum cost pathbetween node i and node j Dijkstra's algorithm uses two lists to specify the minimum cost of nodes, one containing the computed nodes of the permanent list S and another for the nodes still missing from the provisional list S .At each iteration, the algorithm computes the shortest path from a neighboring node k to node i with the lowest cost to node i.The list S is incremented by adding the computed node.In contrast, the list S is decremented by removing the nodes that are added to S.
Our work evaluated the shortest path using different QoS parameters (B, D, PL, Equations ( 8)-( 10)).We use Dijkstra's algorithm, modifying the minimum cost of the links with the metric we want to evaluate, and select the path that corresponds to the source and destination of the data flow.if S' = ø //if S' is empty stop 7: end 8: For j N k ∩ S' do //consider the list of neighboring N k , of the intermediary k. 9: Dt i,j = min (Dt ij , Dt ik + dt kj ) //check for improvement in the minimum cost path 10: return to step 3,

Multi-Constrained Optimal Path (MCOP)
The problem in this work considers three conflicting objectives that must be optimized simultaneously.The general formula of a MOP (multi-objective problem) [34] is as follows: Find a vector , where m inequality constraints g i (x) ≥ 0, i = 1, 2, . . ., m, p equation constraints h i (x) = 0, i = 1, 2, . . ., p, and minimizing the function T are satisfied, and where x = [x 1 , x 2 , . . .x n ] T is the decision variable vector.
The solution for an MOP may not be clear-cut because the objectives often conflict and cannot be met simultaneously, so no solution minimizes all objectives.The key is to construct the evaluation function for the objective problem.Two main approaches are usually used to formulate these functions.The first is to combine all of the objectives into a single objective using a feasible method or to select a particular objective and consider the other objectives as constraints.The second is to determine a representative set for all non-dominated solutions, called the Pareto front.For this case study, we consider approaching the problem using both approaches.We use the weighted sum for the first method and, for the second, the MOCell genetic algorithm.The forms are described in more detail below: 1.
The weighted sum method [35] is the sum of the values corresponding to the different objectives, each multiplied by a weighted coefficient.This method provides a weight for the various network parameters that can be used as a cost for path computation.
We use it as a fitness function for our proposed routing method.
The method based on Pareto dominance determines all non-dominated solutions that satisfy the conditions defined for the problem S (feasible region).Any point x S is a feasible solution.The feasible region is defined as follows [36]: Given 3 vectors u = (u i , . . . ,u k ), v = (v i , . . . ,v k ), and w = (w, . . . ,w k ), we say that u dominates v and v dominates w (denoted by u < v and u < w), if and only if u is less than v and w.
Each vector in the Pareto set has some correspondence in objective function space, obtaining the so-called Pareto front.Formally: Pareto optimality: A solution X * S is Pareto optimal if and only if it is non-dominated by any other solution X S.
Pareto optimal set: For a given MOP, f (x) is the Pareto optimal set, and p s is defined as follows: Pareto front: For a given MOP, f (x), and Pareto optimal set, p S , the Pareto front, p F , is defined as follows: MOPs can have a Pareto front composed of a possibly infinite number of solutions.The algorithms that use stochastic techniques, such as metaheuristics, aim to find an approximation p F , which represents the actual Pareto front.
To solve our problem with our proposed method, we need to find the path with the minimum end-to-end delay (D), packet loss (PL), and minimum cost of available bandwidth (B), as represented in Equation ( 16).The values of the functions are normalized to the minimum cost of delay and bandwidth for the QoS of the application.

MOCell-Based QoS Optimal Path
In this work, we consider the implementation of cellular GA for path selection considering the QoS of flows, particularly MOCell.The main feature of this algorithm is the distribution of its population in small neighborhoods, where each individual (possible solution to the problem) can be recombined only in the surrounding cells (neighborhood cells).Neighborhoods can be grouped with 4, 8, and 16 neighbors, with eight neighbors being the default configuration in the MOCell algorithm [37].The population is represented on a two-dimensional toroidal grid so that everyone has the same number of neighbors.The main idea is to explore the search space further since overlapping neighborhoods cause a slow spread of solutions in the population.At the same time, genetic operators exploit each neighborhood (see Figure 3).MOCell maintains a file that stores the non-dominated solutions found in each iteration; the grouping distance of NSGA-II [38] is used to compute them.MOCell differs from other genetic algorithms by maintaining a diverse solution set and a feedback mechanism of non-dominant solutions to replace individuals in the population after each generation.
Appl.Sci.2022, 12, x FOR PEER REVIEW 10 of 2 The genetic algorithms [39] start from a set (population) of potential solution (individuals).The best solutions are selected according to a fitness function through selection process to assign the parents of each neighborhood and carry out the crossove and mutation processes in order to find better solutions to the problem (Algorithm introduces the MOCell pseudocode).The genetic algorithms [39] start from a set (population) of potential solutions (individuals).The best solutions are selected according to a fitness function through a selection process to assign the parents of each neighborhood and carry out the crossover and mutation processes in order to find better solutions to the problem (Algorithm 2 introduces the MOCell pseudocode).One of the simplest methods for generating routing paths is random search.This involves using arrays of random integers to symbolize different paths.The population is generated by randomly assigning different priority IDs for each device, considering the size of the topology, as well as validating the path with the decoding process mentioned above.All individuals are distributed in a toroidal grid.
For the generation of an encoded path, a chain is created containing the total number of randomly ordered network devices.The positions of the numbers represent the genes (priority IDs) that make up a chromosome (pathway).The first gene represents the source path, and to determine the path of a chromosome is necessary to decode the sequence using the adjacency matrix of the topology.For example, in the coding process of a routing path between H1 and R1 of the network topology, as shown in Figure 4, the following procedure is defined: Decoding: Table 3 shows the network adjacency matrix used to perform this procedure.The genes' value is defined from highest to lowest to determine the order of the path, as shown below: (1) The path is initialized on H1 towards R4, as it is the only adjacent node.
(2) R4 has two adjacent nodes: R2 with an ID = 8 and R5 with an ID = 4.The selected node has the highest ID-in this case, R2.
(3) In R2, R1 is chosen because it has the highest value ID.
(4) The decoding process is completed; the path reaches the proposed destination node (R1).

•
Filled the string with random numbers from 1 to 10.
Decoding: Table 3 shows the network adjacency matrix used to perform this procedure.The genes' value is defined from highest to lowest to determine the order of the path, as shown below: (1) The path is initialized on H1 towards R4, as it is the only adjacent node.
(2) R4 has two adjacent nodes: R2 with an ID = 8 and R5 with an ID = 4.The selected node has the highest ID-in this case, R2.
(3) In R2, R1 is chosen because it has the highest value ID. (4) The decoding process is completed; the path reaches the proposed destination node (R1).
In genetic algorithms, to improve the characteristics of solutions (chromosomes), crossover operators are used in each generation.In the MOCell algorithm, a single-point crossover (SPX) between two parents without the point from the origin and destination was used to conserve the path [40].For this method, a cut-off point between both parents is selected, and an element of the solution vector is selected randomly to assign it as a cut-off point.The genes of both parents are exchanged between the parents' genes, providing two new descendants with information about parental genetics.
In genetic algorithms, an additional operator is used to avoid falling local optima and maintain genetic diversity from one population to another, called the mutation operator.We employ the swap mutation operator, which proposes the random selection of a pair of genes in the chromosome and the exchange of values between them [41].Figure 5 shows the operators used.
ppl.Sci.2022, 12, x FOR PEER REVIEW 12 of 27 off point.The genes of both parents are exchanged between the parents' genes, providing two new descendants with information about parental genetics.
In genetic algorithms, an additional operator is used to avoid falling local optima and maintain genetic diversity from one population to another, called the mutation operator We employ the swap mutation operator, which proposes the random selection of a pair of genes in the chromosome and the exchange of values between them [41].Figure 5 shows the operators used.Fitness function representation: The optimization problem is formulated with three objective functions,  ,  , and  , represented by QoS parameters such as delay, packet loss, and available bandwidth, respectively.The purpose of the first is to minimize the cost of delay and latency covered by a specific path.The purpose of the second is to minimize the loss of data, and that of the third is to minimize the loss of quality of service when the demand for bandwidth consumption is not satisfactory for the correct functionality of the flow.
The  function (Equation ( 9)) consists of the summation of all delay costs for the path.The QoS parameters, such as delay, have an additive metric composition rule for the end-to-end path.
The  function (Equation ( 10)) indicates the packet loss on the path, represented as the sum of the data losses in the links.Fitness function representation: The optimization problem is formulated with three objective functions, f 1 , f 2 , and f 3 , represented by QoS parameters such as delay, packet loss, and available bandwidth, respectively.The purpose of the first is to minimize the cost of delay and latency covered by a specific path.The purpose of the second is to minimize the loss of data, and that of the third is to minimize the loss of quality of service when the demand for bandwidth consumption is not satisfactory for the correct functionality of the flow.
The f 1 function (Equation ( 9)) consists of the summation of all delay costs for the path.The QoS parameters, such as delay, have an additive metric composition rule for the end-to-end path.
The f 2 function (Equation ( 10)) indicates the packet loss on the path, represented as the sum of the data losses in the links.
The f 3 function (Equation ( 8)) consists of the bandwidth parameter; the end-to-end path selects the minimum capacity bandwidth of the network links.
We consider a standard configuration for the algorithm parameters: a population size of 100 for domains A and B and 400 for domain C, considering twice the number of individuals concerning the number of nodes in each domain; a neighborhood size of 8; and the tournament selection method with a crossover probability pc of 0.6 and operator SPX and a mutation pm of 0.6 with operator swap.

MOEA/D QoS Optimal Path
The multi-objective evolutionary algorithm based on decomposition (MOEA/D) [42] decomposes a MOP into a set of scalar optimization subproblems using N uniformly distributed weight vectors, w i , each of which is iteratively optimized using recombination operators (crossover and mutation).Each normalized weight vector is uniformly distributed in T regions, called neighboring subproblems, and the objective is to find a Pareto-optimal solution along each reference neighborhood.The child solutions replace the parent solutions of the subproblems if their cost, w, is better than the previous cost.An important aspect of the algorithm is the choice of the decomposition method.According to Zhang and Li [43], three common decomposition methods are implemented: weighted sum, Tchebysheff, and penalty-based boundary interaction.For simplicity, in this paper, we focus only on the weighted sum approach according to Equation ( 13).The problem is divided into three weight vectors using the weighted sum method, where each neighborhood is assigned a network parameter priority using weight vectors, w (Algorithm 3, introduces MOEA/D pseudocode).

Simulation Model
The simulation model implements a network topology that considers the transfer of data flows from host to host among SDN-based distributed clouds.In our research, the experimental configuration considers an extreme network topology where a very dense cloud is considered for communication between two data centers, presenting a threetier data center topology.This topology consists of the access layer to connect hosts, an aggregation layer to connect access switches, and a core layer at the root where the network controller is located.At the same time, the intermediate cloud presents a topology in the form of a mesh to provide a challenge for the appropriate path selection process due to the multiple alternatives that can arise in scenarios containing networks with a large number, such as IoT networks.
Figure 6  experimental configuration considers an extreme network topology where a very dense cloud is considered for communication between two data centers, presenting a three-tier data center topology.This topology consists of the access layer to connect hosts, an aggregation layer to connect access switches, and a core layer at the root where the network controller is located.At the same time, the intermediate cloud presents a topology in the form of a mesh to provide a challenge for the appropriate path selection process due to the multiple alternatives that can arise in scenarios containing networks with a large number, such as IoT networks.

Experiment Setup
The path selection process and the MOCell algorithm implementation were developed in the MATLAB programming language.We used the OpenDayLight (ODL) controller with the RESTCONF module.The distributed data topology was designed using the Mininet simulator [20].Mininet is one of the most used platforms in the literature for SDN emulation due to its compatibility and flexibility with other applications and controllers.For the simulation environment, we configured a virtual machine with a Linux Debian 9 operating system with 12 CPUs, 16 RAM, and 100 GB of disk space (NLSAS disks).Below is a list of the software specifications and tools used: The ODL controllers for Domains A, B, and C were configured according to the simulated network topology (Figure 6) and the link parameters (bandwidth, packet loss, and delay) corresponding to the values in Appendix A. We simulated each domain along with its SDN controller, and they were configured to connect with the Mininet simulator.
The network topology was divided into three domains.Controllers A, B, and C managed the domains, respectively.Since the domains were separate, each controller had its own domain status and network information.Therefore, it was necessary to implement an application that coordinates the controllers to establish the routing process that allows communication among them.

Evaluation
In contrast to problems where we only try to satisfy a simple objective and where optimality is given by a single minimal solution, in the multi-objective problem, we strive to find the set of non-dominated solutions that satisfy the constraints associated with path selection according to QoS criteria and simultaneously optimize two or more features.For each domain, 30 independent runs of the genetic algorithm were performed with a breakpoint of 500 generations.Figure 7 shows the initial and final populations for each implementation of the MOCell in the three independent domains.The values are normalized to the maximum value found for the scores of each parameter and domain.A significant decrease was observed in the space of better solutions representing higher QoS parameters.As for the path selection of the non-dominated solutions, it is possible to consider a priority order of the functions according to the flow requirements.In this case, we choose the delay first, packet loss second, and bandwidth third, according to the performance of the different algorithms evaluated in Table 4 and their flows, as shown in Figures 8 and 9.The experiment measured data transmission between the end-to-end hosts of data centers H1 and H14.We compared traditional data forwarding based on the shortest path algorithm and the highest available bandwidth.We also considered the path with the lowest delay, the lowest packet loss, a weighting criterion, and our MOCell routing proposal.We used the IPERF [44] application to test network performance with the connection-oriented protocol (TCP) and connectionless protocol (UDP).Our method queries the SDN controller to obtain the network's topology and compute the paths from one end to the other.Table 4 shows the network paths for hosts from source to destination according to their optimization value and all QoS parameters used in this work.
Each test was performed under the same conditions as the experiment, where the total availability of the network was used for path selection according to the parameters in Tables A1-A3 from Appendix A.
The following steps were defined for the execution of the test:  Design and execute the network topology with three domains (A, B, and C) and an The experiment measured data transmission between the end-to-end hosts of data centers H1 and H14.We compared traditional data forwarding based on the shortest path algorithm and the highest available bandwidth.We also considered the path with the lowest delay, the lowest packet loss, a weighting criterion, and our MOCell routing proposal.We used the IPERF [44] application to test network performance with the connectionoriented protocol (TCP) and connectionless protocol (UDP).Our method queries the SDN controller to obtain the network's topology and compute the paths from one end to the other.Table 4 shows the network paths for hosts from source to destination according to their optimization value and all QoS parameters used in this work.Appl.Sci.2022, 12, x FOR PEER REVIEW transmission.We obtained the best performance with our proposed method s minimized all of the parameters represented in Equation ( 16).For evaluatin selection based on MOCell, we considered the multi-objective functions in or priority as  <  <  , as described in Equations ( 8)-( 10).This evaluated comparison between algorithms shows the capacity of the selected path for each.Next, we discuss each algorithm regarding the chosen path and how it affects the network performance results.
As seen in Table 4, the average data transfer speeds of the traditional methods are slower (minimum hops 23.8 Mbps and maximum available bandwidth 38 Mbps) than the path selected by our method (66.9 Mbps), as were the paths with the lowest delay (53.4 Mbps) and packet loss (63.1 Mbps).For the test, we used the exact Dijkstra search algorithm to show the efficiency of different paths with optimization criteria according to the parameters usually implemented in traditional routing: fewer hops and higher bandwidth.We also added the path with the minimum delay and data loss.Each test was performed under the same conditions as the experiment, where the total availability of the network was used for path selection according to the parameters in Tables A1-A3 from Appendix A.
The following steps were defined for the execution of the test: • Design and execute the network topology with three domains (A, B, and C) and an external controller per domain.

•
Execute network performance tests between the end nodes with IPERF according to the optimization parameter.

•
Transfer the traffic during the specified period.

•
Repeat the experiment using data stream forwarding according to the optimization parameter.
An inter-domain approach was used to evaluate the data flow performance between two hosts.IPERF was used to generate TCP and UDP traffic between hosts H1 and H14 to simulate a scenario where an application transfers data among hosts.
The test used several optimization criteria to select the path (these are described in Table 4).Paths shared by host-to-host routing methods have different network metrics.Our proposal computes and configures the path considering all available QoS parameters in the network.The algorithm can be configured depending on the requirements of a particular application, but in this case, the path minimizes the parameters considered.

Network Performance
We use the IPERF tool to evaluate the performance of different routing methods between the extreme nodes of our network topology, from H1 to H14.The values of the IPERF tool were configured with standard TCP traffic and UDP parameters and a time interval of 200 s for each data transmission.We executed the experiment 30 times.
Figures 8 and 9 show the first experiment where the traffic of the paths was evaluated with the IPERF tool and the Wireshark tool [45] based on the maximum possible data transfer rate for TCP traffic.The graphs show in black the total traffic transmitted in the experiment, and the traffic in red represents retransmitted packets that affect the network performance, such as data packets that arrive in a different order from which they were sent or the re-sending of packets that were damaged or lost during their initial transmission.We obtained the best performance with our proposed method since it minimized all of the parameters represented in Equation (16).For evaluating path selection based on MOCell, we considered the multi-objective functions in order of priority as f 1 < f 2 < f 3 , as described in Equations ( 8)- (10).This evaluated comparison between algorithms shows the capacity of the selected path for each.Next, we discuss each algorithm regarding the chosen path and how it affects the network performance results.
As seen in Table 4, the average data transfer speeds of the traditional methods are slower (minimum hops 23.8 Mbps and maximum available bandwidth 38 Mbps) than the path selected by our method (66.9 Mbps), as were the paths with the lowest delay (53.4 Mbps) and packet loss (63.1 Mbps).For the test, we used the exact Dijkstra search algorithm to show the efficiency of different paths with optimization criteria according to the parameters usually implemented in traditional routing: fewer hops and higher bandwidth.We also added the path with the minimum delay and data loss.
The path with the H (fewest hops, most frequent routing) had the lowest average data transfer rate because it had little effective traffic.A significant portion of its traffic had to retransmitted because its path went through several nodes where there would have been significant losses, making it the worst path in this test.
The path with B (the highest available bandwidth) had the highest number of hops and a high probability of packet loss and delay because it had to go through many nodes to reach its destination.
The path with PL (the least packet loss) had a higher traffic transfer rate than the previous paths.However, it was the path with the most packet retransmissions due to packet delays, significantly affecting performance.
The path with w B,D,PL (weighted sum), considered the weight by the available metrics, achieved better performance than the traditional methods.
From the obtained results, we can see that an evolutionary algorithm (MOCell and MOEA/D) can improve the routing-related aspects by evaluating multiple available paths for establishing routing flows and evaluating their QoS parameters.
The path performance is determined by the amount of data successfully transmitted during the cycle period (Equation ( 5)).We can evaluate the throughput in terms of the maximum data transmission capacity in the network to normalize the throughput size of each path and calculate the area enclosed by the throughput function (Figure 10) using the Riemann sum [46].We find that the path proposed by Min f 1 , f 2 , f 3 (MOCell) can exploit 71.08% of the network throughput on average, and MOEA/D can exploit 69.23%, while the paths selected by the other techniques had values below 55.99% (see Figure 10).The MOCell-based routing path improves by more than 54% on average compared with the traditional routing method with fewer hops (H) and by 35.44% for the path with the highest available bandwidth (B), in the case of the network topology presented in this paper.Finally, in the case of the evolutive algorithms, MOCell had a 1.85% higher throughput than the MOEA/D method when using the same parameters and metrics for mutations, generations, and the method of selecting individuals by tournament; in this way, a fair evaluation was obtained.
The path chosen by the MOCell method shows slightly better performance than the MOEA/D method, especially in the first 30 s of transmission, since it converges earlier.After this period, both methods show similar performance.
Figure 11 and Table 5 show the values of the throughput area (normalized by the maximum capacity) of 30 independent runs of the Mininet experiment for each path selected by the algorithms.This graph shows that the w B,D,PL (weighted sum) and PL (packet loss) paths have a larger standard deviation in their performance than the other paths.The selected path using the minimum delay algorithm (D) leads to a higher median without considering the paths of the MOCell and MOEA/D methods.
MOCell-based routing path improves by more than 54% on average compared with the traditional routing method with fewer hops (H) and by 35.44% for the path with the highest available bandwidth (B), in the case of the network topology presented in this paper.Finally, in the case of the evolutive algorithms, MOCell had a 1.85% higher throughput than the MOEA/D method when using the same parameters and metrics for mutations, generations, and the method of selecting individuals by tournament; in this way, a fair evaluation was obtained.The path chosen by the MOCell method shows slightly better performance than the MOEA/D method, especially in the first 30 s of transmission, since it converges earlier.After this period, both methods show similar performance.
Figure 11 and Table 5 show the values of the throughput area (normalized by the maximum capacity) of 30 independent runs of the Mininet experiment for each path selected by the algorithms.This graph shows that the  , , (weighted sum) and P (packet loss) paths have a larger standard deviation in their performance than the othe paths.The selected path using the minimum delay algorithm (D) leads to a higher media without considering the paths of the MOCell and MOEA/D methods.
From the results, it can be concluded that both packet loss and delay are related t not only the available bandwidth but also the low speed of the network, as is usuall considered when assigning paths and QoS for the data streams.Retransmissions o packets in transit lead to poor or slow network performance, and low throughpu indicates problems such as increased latency and possible congestion.As mentioned earlier, minimizing all of the factors that affect end-to-end lin performance is essential to improve the speed and efficiency of data transfer.It is critica to leverage the various parameters in the network to improve network performance an provide a better quality of service.Our proposal can improve the routing-related aspect From the results, it can be concluded that both packet loss and delay are related to not only the available bandwidth but also the low speed of the network, as is usually considered when assigning paths and QoS for the data streams.Retransmissions of packets in transit lead to poor or slow network performance, and low throughput indicates problems such as increased latency and possible congestion.
As mentioned earlier, minimizing all of the factors that affect end-to-end link performance is essential to improve the speed and efficiency of data transfer.It is critical to leverage the various parameters in the network to improve network performance and provide a better quality of service.Our proposal can improve the routing-related aspects by evaluating multiple available paths to set up routing flows and evaluate their QoS requirements.
The second experiment was performed with UDP traffic between nodes at the ends of topology H1 to H14.As mentioned above, the performance of the paths selected by the different algorithms presented is evaluated in this experiment.In this case, the data transmission consisted of a constant flow of UDP traffic with a bandwidth of 45 Mbps for 200 s and the standard configuration of the IPERF tool.The network state corresponded to the first experiment's conditions, and the initial conditions were restarted for each evaluated case in the Mininet simulator.
Table 4 shows that the capacities of the paths selected by each of the evaluated algorithms perfectly covered the required bandwidth per UDP flow; however, the performance of each path varied due to the other network parameters involved.Table 6 shows the average values for the performance of the paths, and Figure 12 presents a graph of the lost packets.performance of each path varied due to the other network parameters involved.Table 6 shows the average values for the performance of the paths, and Figure 12 presents a graph of the lost packets.The most critical path is chosen by the widest path, B, although it has the highes bandwidth capacity to divert flows, followed by the path PL.However, this path consists of the links with the lowest losses.This severe drawback is a result of this path selecting connections with high jitter values.It should be remembered that a packet that takes longer than the time specified by the waiting window is usually considered to be a los packet, as well as packets that arrive out of order.The weighted sum method has the same effect.This method states that even if we consider different parameters for path selection, it is necessary to properly determine the weights of the metrics to obtain a balanced path.We can solve these optimization problems using evolutive algorithms, which provide a set of non-dominated paths and consider multiple metrics.The MOCell method reaches a throughput of 99.09%, which is only 0.07% better than MOEA/D and, compared with the other algorithms, 1.6% higher The most critical path is chosen by the widest path, B, although it has the highest bandwidth capacity to divert flows, followed by the path PL.However, this path consists of the links with the lowest losses.This severe drawback is a result of this path selecting connections with high jitter values.It should be remembered that a packet that takes longer than the time specified by the waiting window is usually considered to be a lost packet, as well as packets that arrive out of order.
The weighted sum method has the same effect.This method states that even if we consider different parameters for path selection, it is necessary to properly determine the weights of the metrics to obtain a balanced path.We can solve these optimization problems using evolutive algorithms, which provide a set of non-dominated paths and consider multiple metrics.The MOCell method reaches a throughput of 99.09%, which is only 0.07% better than MOEA/D and, compared with the other algorithms, 1.6% higher than path H, 3.2% higher than path D, 3.6% higher than path w B,D,PL , 4.6% higher than path PL, and 9.77% higher than path B. Link capacity is a necessary network parameter to guarantee QoS.However, this is not sufficient to provide adequate service in all cases.Therefore, it is advisable to never lose sight of the other parameters available in the network and to use more than one criterion in the routing process to improve the quality of service and enhance the quality of experience.

Conclusions and Future Work
This document provides an overview of the routing algorithms used in the SDN network controller, including their quantitative performance characteristics, such as the number of hops, available bandwidth, delay and packet loss, and their throughput, considering a large-scale multi-domain network topology.This work suggests that the proposal of a genetic algorithm in the routing process can significantly improve network performance.Minimizing the cost of network metrics and reducing the likelihood of selecting connections with few resources or poor link performance can significantly reduce data flow performance or, in the worst case scenario, cause congestion.The experiments in this work show that our proposal based on the MOCell algorithm provides optimal routing by having a global view of the network and abstracting its QoS metrics.The proposed MOCell method adapts to any routing constraint, while the standard algorithms in the controller do not consider any of these essential properties to improve the routing service.
Managing a centralized environment as in SDN can significantly enhance the routing process by improving path selection and providing better service.Evolutionary algorithms and their variants take advantage of this problem because they are scalable and can find reasonable solutions during the first run, which helps networks to meet QoS requirements and improves network performance.
In future work, we will consider optimizing the algorithm for different population sizes, as well as different crossover and mutation methods.Similarly, we will evaluate the performance of the MOCell algorithm in more detail compared with other evolutionary algorithms such as NSGA-II and MOEA/D, considering convergence time and diversity of solutions.In the evaluation of other evolutionary algorithms, both their convergence to the Pareto front and the dispersion of the set of found solutions are evaluated, while in this paper we focus exclusively on the selection of a path from the solutions found by the methods.Therefore, we consider it appropriate to use other metrics such as cardinality, accuracy, and diversity to evaluate the performance of evolutionary multi-objective algorithms.
Institutional Review Board Statement: Not applicable.

Data Availability Statement:
The data presented in this study are available on request from the corresponding author.The data are not publicly available due to the large size of the dataset required to maintain a public repository.

Conflicts of Interest:
The authors declare no conflict of interest.

Algorithm 1 . 3 :
Dijkstra's shortest path algorithm (centralized approach) 1: S = {i} //permanent list; start with source node i 2: S' = N\{i} // tentative list (of the rest of the nodes) Find k S such that D ik = min m S D im //identify a neighboring node k not in the list S with the minimum cost path from i. 4: S = S U {K} //Add k to the permanent list S 5:S' = S'\{K} //Drop k from the tentative list S' 6:
shows the topology used in the simulation model.It is based on three domains, where two data centers are connected by a cloud, defined as Domain A, Domain B, and Domain C (cloud).Each domain has an SDN network controller.Domains A and B comprise a distributed topology with 29 nodes, while Domain C represents a topology with 196 nodes.The link values define a particular state that an ISP might have with bandwidth, delay, and packet loss metrics.
shows the topology used in the simulation model.It is based on three domains, where two data centers are connected by a cloud, defined as Domain A, Domain B, and Domain C (cloud).Each domain has an SDN network controller.Domains A and B comprise a distributed topology with 29 nodes, while Domain C represents a topology with 196 nodes.The link values define a particular state that an ISP might have with bandwidth, delay, and packet loss metrics.

Figure 7 .
Figure 7. Set of non-dominated solutions obtained by the multi-objective cellular genetic algorithm MOCell.(a) Domain A, (b) Domain B, and (c) Domain C.

Figure 7 .
Figure 7. Set of non-dominated solutions obtained by the multi-objective cellular genetic algorithm MOCell.(a) Domain A, (b) Domain B, and (c) Domain C.

Figure 8 .
Figure 8. Evaluation of the path capacity using TCP traffic.The paths were selected according to the following methods: (a) H (hops), (b) B (bandwidth), (c) D (delay), and (d) PL (packet loss).

Figure 9 .
Figure 9. Evaluation of the path capacity using TCP traffic.The paths were selected according to the following multi-objective methods: (a) w B,D,PL (weighted sum), (b) Min f 1 , f 2 , f 3 (MOCell), and (c) MOEA/D.

Table 2 .
Description of the network parameters used.
VSets all nodes in the network.E Sets all links between nodes.n = |V| Number of nodes.m = |E| Number of edges in the network.

Table 3 .
Example topology adjacencies matrix for coding representation.The path source: H1 and destination: R1.The hops of H1-R1 are highlighted.

Table 3 .
Example topology adjacencies matrix for coding representation.The path source: H1 and destination: R1.The hops of H1-R1 are highlighted.

Table 4 .
Results of routing paths and network parameters.

Table 6 .
Performance summary of UDP flow between H1 and H14.

Table 6 .
Performance summary of UDP flow between H1 and H14.