# SDN-Based Routing Framework for Elephant and Mice Flows Using Unsupervised Machine Learning
## 2 Literature Review  
The centralization concept of SDNs is to transfer the control of routing from individual elements of a network to a central point of control. In addition, the synchronization and control ability in a SDN provides all the required information about the interconnection between the hosts and the capability to make fast decisions of switching. Therefore, SDNs can guarantee a high level of performance. The essential reasons for network performance degradation are network congestion and imbalance in network load, which may be caused by inefficient routing of elephant and mice flows. In [20], a SDN-based detection and scheduling algorithm was proposed for the detection and scheduling of elephant and mice flows based on flow-completiontime (FCT), leading to the mitigation of mice flows and the throughput maintenance of elephant flows in the data center network. Similarly, the authors in [21] introduced an ESCA framework. The aim of the proposed framework is to achieve an effective load-balanced routing for scheduling mice and elephant flows. This framework is implemented based on the proposed efficient sampling and classification methods. In [22], a SDN-based load balancing approach in a data center network is suggested. This approach starts with classifying flows as elephants and mice and ends with enforcing distinct schemes of routing for specified flow types to enable a high-capacity usage of the network. The proposed solution works initially by determining two zones for elephant and mice flows with several idle paths, which are pre-decided for elephant flows, and minimum weighted paths, which are confined to the mice zone for mice flows. In [23], a load balancing mechanism was proposed using multipath routing of elephant flows in the SDN to improve the utilization of the network. The application of SDNs have attracted a lot of interest to solve the problem of network management in recent years. In [24], the authors applied a dynamic routing mechanism in a SDN to solve the problem of inconsistent distribution of network traffic that causes congestion in the network links. The authors in [25] introduced a system that enables the operator of the network to define templates. These templates can reroute elephant flows for a specific objective in order to address the high impact of elephant flows on the overall network traffic. To improve network performance, elephant detection and routing techniques were proposed in [26]. The proposed techniques scan the network to find all the paths available between the source and the destination and calculate the link bandwidth of different available paths. In [27], the rerouting of elephant flows using an ant colony optimization-based technique is presented. This technique, which is called DPLBAnt, utilizes a shortest-path problem in the SDN to alleviate the high controller-switch load. In [28], the authors proposed a routing strategy that is based on deep Q-learning (DQL) to autonomously generate optimal routing paths for SDN-based data center networks. The proposed framework trains deep Q networks to meet the different demands of mice and elephant flows in the data center networks by achieving a low latency and a low packet loss rate for mice flows and a high throughput and a low packet loss rate for elephant flows. The researchers in [29] presented a model-free reinforcement learning method, which converts the path computational problem into a learning problem. In order to improve the network's average path utilization, the DeepRoute model learns strategies to manage arriving elephant and mice flows from the network environment. Similarly, [30] proposed an NNIRSS, which is a neural network (NN)-based intelligent routing scheme for SDNs. It utilizes NN to create patterns for data flow transmission and replaces the flow table with well-trained NN in the form of an NN packet. Furthermore, the authors developed a mechanism of intelligent routing based on the radial basis function of neural networks.