# Software-Defined Networking: Categories, Analysis, and Future Directions
## 9 Comparison with Existing Studies
\begin{table}
\begin{tabular}{p{56.9 pt} p{56.9 pt} p{56.9 pt} p{56.9 pt} p{56.9 pt}} \hline \hline
**Studies** & **Techniques** & **Description** & **Strengths** & **Weaknesses** \\ \hline \multirow{3}{*}{Trema [243]} & \multirow{3}{*}{C, Ruby} & Utilizes ad hoc NBI and SBI with OpenFlow 1.0 and supports Linux platform in CLI mode & Supports GPL 2.0 licenses and has good modularity & No consistency and reliability \\ \hline \multirow{3}{*}{Yanc [244]} & \multirow{3}{*}{C, C++} & Utilizes REST NBI and SBI with OpenFlow 1.0–1.3 and supports CLI mode & Provides reliable communication & Limited documentation and no consistency \\ \hline \multirow{3}{*}{ZeroSDN [245]} & \multirow{3}{*}{C++} & Uses REST NBI and SBI with OpenFlow 1.0 and 1.3 and supports Linux platform with CLI and WebUI modes & High modularity and consistency & Does not support multi-threading and not scalable \\ \hline \hline \end{tabular}
\end{table} 
Table 7: \(Cont.\)ML in networking. They ended their study by discussing research gaps and challenges. [PERSON] et al. [257] review existing different ML and deep learning (DL) algorithms in the context of SDN networking for the measurement of traffic classification and traffic prediction. DL approaches are used for traffic prediction. [PERSON] et al. [258] directed their attention to ML-based security solutions for SDN. ML models used in network prediction and prevention are identified to be deficient, so attackers can control or avoid the model. Attackers are also versed in ML capabilities to predict the defending model's behavior. The authors suggest some specific recommendations that are helpful for SDN security. They recommend that a secure development process must be followed. They made an auditable ML model. This is important to give attention to threat models, instead of scheming ML solutions, and there must be an operational cost model that is produced at the initial level. These recommendations are helpful to improve the properties of ML-based solutions for SDN. [PERSON] et al. [259] discuss the deployment of SDN among legacy networks. Due to the speedy growth of the Internet, network structures have become huge and complicated. This complexity initiates a huge amount of traffic data, and it becomes a challenge to take traffic measurements such as traffic classification and prediction, in a network. To manage networks efficiently, the SDN paradigm is adopted, and it has already been adopted by several organizations. This survey presents a comprehensive study on a specific topic. For hybrid SDN, some efficient algorithms are needed to measure and deploy the SDN alongside traditional networking. [PERSON] et al. [260] provide a comprehensive review and report of state-of-the-art progress on productive traffic management, including load balancing and energy-efficient routing. The introduction and deployment of SDN controls, network safety, and optimum positioning of controllers affecting traffic management are also discussed. This paper also addresses a few unexplored SDN challenges, such as modular implementation, convergence with the legacy network, and possible analysis charts. Although there are multiple studies on SDN, most of them are old and do not cover the state-of-the-art approaches. Some of them just cover one or two aspects of the SDN environment (i.e., SDN controller placement [261; 262], SDN programming languages [263; 264], SDN simulators [265; 266]). In all of the above-mentioned studies, none of them evaluate the state-of-the-art approaches related to different classifications of SDN. We categorize the approaches as network testing and verification, flow rules installations, SDN controllers, SDN simulators, network security and management, programming languages, and memory management. Moreover, we provide comparisons of all these categories in the form of tables and discuss limitations of each technique, which require attention in future research.