## 2 Background and the Related Work
### Related Works  
Using a broad perspective of the network, a network controller in SDN decides how to forward data. As a result, it may manage network traffic \"on demand\" to meet application requirements. Traffic management is essential for ensuring the quality of service (QoS) for real-time business traffic, which is sensitive to packet losses and delays. Therefore, a lot of researchers have concentrated on designing dynamic-data-forwarding path-planning algorithms that may satisfy end-user requirements. Currently, network traffic classification is a hot topic in computer science. Understanding the variety of network applications that are used in a network is a crucial task for internet service providers (ISPs). Traditional techniques for classifying internet traffic include those that use ports, payloads, and ML. The ML approach is currently the most commonly utilized method. It has received excellent, accurate results and is utilized by numerous researchers. [PERSON] et al. [36] discuss network traffic classification approaches step by step. The classifiers Support Vector Machine, C4.5 decision tree, Naive Bays, and Bayes Net are used. According to experimental data, C4.5 classifiers perform quite well in terms of accuracy when compared to other classifiers. [PERSON] et al. [37] introduce the framework Atlas, which uses ML-based classification techniques in order to incorporate fine-grained application awareness in SDN. The proposed approach can classify network traffic in real-time since it gathers the packet size of the first N packets of a network flow. Atlas is installed on a wireless network and uses the Android OS to collect network traffic. Using the distributed controllers, [PERSON] et al. [5] propose a mechanism that splits the traffic into TCP and UDP and employs a failover strategy to provide a high-availability environment that ensures reliability. [PERSON] et al. [38] use three supervised classification techniques, such as Random Forest (RF), Stochastic Gradient Boosting (SGB), and Extreme Gradient Boosting (EGB)-XG Boost. They set up this platform in an enterprise network and gathered data using the following schemes: Bittorrent, Dropbox, Facebook, HTTP, LinkedIn, Skype, Vimeo, and YouTube. The OpenFlow protocol was used to collect the data for this study, and features such as packet size, interval arrival time, source and destination IP/MAC/Port, flow length, byte count, and the packet count of the first five packets were collected. [PERSON] et al. [39] suggest a supervised learning model for classifying data traffic in the SDN context. SVM, closest centroid, and Naive Bayes are the three different models employed to categorize the data traffic based on the applications in an SDN platform. In all three supervised learning models, the accuracy of traffic classification is greater than 90%. [PERSON] et al. [40] describe a technique for raising the quality of service (QoS) for traffic flows in a cloud data center by utilizing SDN and ML-based traffic classification. The proposed real-time traffic classification module makes use of ML techniques to improve traffic classification accuracy. Compared to Equal Cost Multi-Path (ECMP), the proposed optimization method increases bandwidth consumption. This improvement may be extremely important in ensuring that users' interactions with cloud data centers have a sufficient QoE. In order to address the mislabeled training data issue, [PERSON] et al. [41] introduce a novel approach in their research called Noise-resistant Statistical Traffic Classification (NSTC), which integrates reliability estimates and noise reduction into traffic classification. In the case of large amounts of unclean data, NSTC can dramatically outperform state-of-the-art approaches in terms of classification performance. [PERSON] et al. [42] propose an SDN-based system for classifying network traffic.