Time and space complexity is the most critical problem of the current routing optimization algorithms for Software Defined Networking (SDN). To overcome this complexity, researchers use meta-heuristic techniques inside the routing optimization algorithms in the OpenFlow (OF) based large scale SDNs. This paper proposes a hybrid meta-heuristic algorithm to optimize the dynamic routing problem for the large scale SDNs. Due to the dynamic nature of SDNs, the proposed algorithm uses a mutation operator to overcome the memory-based problem of the ant colony algorithm. Besides, it uses the box-covering method and the k-means clustering method to divide the SDN network to overcome the problem of time and space complexity. The results of the proposed algorithm compared with the results of other similar algorithms and it shows that the proposed algorithm can handle the dynamic network changing, reduce the network congestion, the delay and running times and the packet loss rates.

Distributed routing algorithms are used in traditional networks and this cause problems in controlling and management of the network. SDN outperforms the traditional network architecture management in terms of cost. SDN separates the network control plane layer from the forwarding/data plane layer. SDN controllers have a full image of the network topology and make forwarding decisions based on flow tables using the OF protocol. SDNs controller have full image and control of the network topology and which improves the performance of routing processes [

Time and space complexity is the most critical problem of the current SDN routing optimization algorithms. These algorithms use Dijkstra algorithm in exploring the shortest path. The complexity of the Dijkstra algorithm is that the number of nodes and edges of the network affect the efficiency of the algorithm [

Ant Colony Optimization (ACO) is the most famous meta-heuristic technique that outperforms other traditional routing techniques beside the ACO methodologies have the potential to conduct the flow-based routing strategy as same as SDNs [

This paper proposes a hybrid meta-heuristic algorithm to optimize the dynamic routing problem for the large scale SDNs. it is called Hybrid Ant Colony Optimization (HACO) algorithm HACO uses two different methods for dividing the network into small subnets to overcome the problem of time and space complexity. These methods are box-covering and k-means clustering methods. Also, HACO uses a mutation operator to discover new areas in the search space and improve the solution.

The structure of this paper as follows. Section 2 presents the goal of the research. Section 3 covers the related work efforts. Section 4 gives an overview of the SDN. Section 5 presents an overview of the network routing problem. Section 6 presents an overview of Ant Colony Optimization. Section 7 presents the proposed algorithm. Section 8 presents the performance evaluation of the proposed algorithm. Finally, the conclusion of the paper is presented in Section 9.

The main goal of this paper is to overcome the problem of time and space complexity of the dynamic routing problem inside SDNs using the proposed HACO algorithm.

Dijkstra algorithm is one of the most famous shortest path algorithms applied in network routing. But the complexity of the Dijkstra algorithm affects the efficiency of the routing process. Literature [

Although the BCR algorithm in [

The SDN architecture is divided into three planes. At the very bottom is the data plane which comprises of hardware such as network switches. Above the data plane is the network control plane. The centralized controller could be as simple as a server machine attached to the network running on controller software [

OpenFlow is the core of the forwarding plane of network devices in SDNs [

Network routing is the process of selecting a path across one or more networks. Metrics are cost values used by routers to determine the best path to a destination network. The most common metric values are hop, bandwidth, delay, reliability, load, and cost [

Routing algorithms are responsible for selecting the best path for the communication [

ACO is a meta-heuristic algorithm where ants searching for food and depositing pheromone on the route. The quantity of pheromone on the route affects the behavior of ants; the path with the largest quantity of pheromone represents the shortest path [

ACO starts with generating m random ants and evaluates the fitness of each ant according to an objective function then updates the pheromone concentration of every possible trail using

where

where

Once the pheromone is updated, each ant must update its route respecting the pheromone concentration and also some heuristic preference consistent with the subsequent probability by

where

The deployment phases of the SDN environment are presented in this section followed by presenting the proposed algorithm.

Phase (1) SDN Simulation: SDN is simulated by Mininet with VMware Workstation in the Ryu controller.

Phase (2) Network discovery and network dividing: SDN controller features a full image of the topology and it dynamically updates the topology after every data flow (Packet In). HACO divides the network using either the BCR or the k-means clustering algorithm. Both algorithms are introduced as follow:

Box-Covering algorithm (BCR) in [

where, term

Phase (3) The Suggested Algorithm Implementation: Here the routing process is executed by the proposed algorithm.

Phase (4) Forwarding: This phase responsible for forwarding the data through the path given form phase (3). If no matching happens, the controller is informed to take new action (drop the packet or install it in the pipeline tables).

HACO optimizes the routing in large scale SDN using four parallel optimization steps.

In the first step, the SDN network is divided into boxes using BCR or k-means. This optimizes the search space and the packet time of exploring the best path.

In the second step, assuming a zero-memory system within the network initiated for the first time. A broadcast is a way to explore all network nodes; this is often like ants’ first time randomly distributed on all the available paths. An ant within the HACO algorithm decides the path to follow based on the pheromone trails on the path but, instead of covering the path where the pheromone trail is stronger just like the natural ant would do, it explores the path where the pheromone intensity does not exceed a predefined threshold. This avoids the congestion and maximizes the network throughput.

In the third step, the packet matching time spent in each router is optimized by creating a new matching table within the OF pipeline with entries of the discovered best paths and giving the matching table the priority so that decreasing the time spent in the packet matching process and minimize both the total delay time and the packet loss rate. The probability of choosing a node is consistent with the roulette wheel statistical distribution [

where

The local pheromone level on all the paths discovered is decreased by an amount called the pheromone decay or the evaporation rate

In the fourth step, HACO uses a mutation operation to discover new paths. Mutation operation is mainly derived from the Genetic Algorithm (GA) but it can be applied to other meta-heuristic algorithms to increase the probability of exploring a better solution in the search space and improve the routing optimization process [

where

The platform for implementing the proposed HACO algorithm on large-scale SDNs involves the following software tools and programming language: Ubuntu16.04, Mininet 2.2, Ryu 3.6, VMware Workstation Pro, the size l of each box is 1, clustering parameter k is 3, Iperf software was used in the SDN network flow, flow rate 2 Mb/s, bandwidth 5 Mb/s and Python 2.7.9. The hardware environment includes a PC that has an Intel i7 as a CPU, 8 GB memory, and 1 GB hard disk.

This platform is used to create SDN, and then the performance of the HACO algorithm is measured as follows:

Measuring the performance of HACO under dynamic changing of the topology.

Testing the HACO using k-means network delay and packet loss at different centroids.

Testing the proposed HACO total network delay and packet loss rates at different network sizes.

Comparing the performance of HACO against other routing algorithms in SDN and literature relevant algorithms consistent with the running time.

Comparing the performance of HACO against other routing algorithms in SDN and literature relevant algorithms consistent with the delay time.

At a predefined time-instance, a network device is added, and the network is reconfigured, and therefore the best paths are updated consistent with the least hop count and congestion [

For different network sizes, the k-means++ method is generating the initial centroids, then the HACO using k-means is implemented at different centroids to choose the best centroids which achieve the minimum network delay and packet loss rates.

HACO is executed at different network sizes as shown in

Network size | Total delay using box-covering (ms) | Total delay using k-means (ms) | Packet loss rate using box-covering (%) | Packet loss rate using k-means (%) |
---|---|---|---|---|

10 | 19.2 | 27.2 | 0.002 | 0.003 |

50 | 90.2 | 105.3 | 0.003 | 0.004 |

100 | 220.1 | 251.2 | 0.005 | 0.006 |

500 | 403.4 | 469.4 | 0.008 | 0.009 |

750 | 489.4 | 567.1 | 0.010 | 0.201 |

1000 | 667.3 | 813.6 | 0.100 | 0.365 |

2000 | 876.1 | 1165.8 | 0.231 | 0.582 |

5000 | 1004.2 | 1398.4 | 0.398 | 0.895 |

HACO is implemented at different network sizes against the running time and compared with both Dijkstra and BCR algorithm in [

Running time (ms) | ||||
---|---|---|---|---|

Network size | HACO using box-covering | HACO Using k-means | Dijkstra Alg. | BCR Alg. in [ |

10 | 0.00001 | 0.00098 | 0.00113 | 0.00998 |

50 | 0.00009 | 0.00812 | 0.03098 | 0.03899 |

100 | 0.00021 | 0.08001 | 0.09302 | 0.08042 |

500 | 0.04302 | 1.97674 | 3.36523 | 2.34667 |

750 | 1.13456 | 3.8534 | 8.72980 | 4.69111 |

1000 | 2.46721 | 4.6542 | 17.7252 | 7.32198 |

2000 | 17.5231 | 25.7634 | 92.1916 | 32.1823 |

5000 | 131.4875 | 171.872 | 815.167 | 204.111 |

HACO is implemented at different network sizes against the total delay time and compared with Dijkstra and BCR algorithm in [

Delay time (ms) | ||||
---|---|---|---|---|

Network size | HACO using box-covering | HACO using k-means | Dijkstra Alg. | BCR Alg. in [ |

10 | 19.2 | 27.2 | 50.4 | 100.1 |

50 | 90.2 | 105.3 | 130.6 | 129.7 |

100 | 220.1 | 251.2 | 535.4 | 300.4 |

The results shown in

When the number of nodes is 10, the delay time by BCR algorithm is the worst and the delay time by HACO using box-covering is the best one. When the number of nodes is 50, the two delay times by BCR and Dijkstra are approximately the same but the delay time by HACO using box-covering is still the best one. When the number of nodes reaches 100, the delay time by Dijkstra algorithm becomes the worst and the delay time by HACO using box-covering is still the best one, consequently the proposed HACO using box-covering outperforms the other algorithms.

This paper suggested Hybrid Ant Colony Optimization (HACO) algorithm for optimizing the routing problem inside SDNs.

HACO using box-covering optimized the time and space complexity and the mutation gives a far better divergence and a far better chance for HACO for exploring less congested paths. A new table within the OF pipeline is created which contains all the explored paths. This optimizes the packet matching time and both the network delay and running times and maximizing the network throughput.

By comparing with other routing algorithms, the results show that HACO using box-covering outperforms all other algorithms and achieves a significant reduction of the network delay, packet loss rates, and running times.

It is recommended to use either HACO using box-covering or HACO using k-means when the network size is less than 50 nodes and to use HACO using box-covering when the network size exceeds 50 nodes.

As a future point for research, the proposed HACO may be improved by optimizing the initial centroids or the box-size values.