## 5 Conclusions and Future Work  
This paper focuses on creating a model that can classify incoming traffic first according to its type and then use that information as a function for a load-balancing module to route the traffic through various paths for various classes of traffic. To avoid network congestion when high traffic of a single class enters the network, multiple controllers are created. The multi-controller strategy also prevents link failure.  
Different ML algorithms, including Logistic Regression, Support Vector Machine, K-Nearest Neighbors, XGBoost, decision tree (CART) and OPTICS have been implemented for classification purpose. In terms of accuracy, precision, recall, and f-1 score, decision tree is found to outperform others when the results of each of them are compared. In this case, logistic regression yields the best outcomes. However,the CART technique also produces results that are almost equal; as a result, after comparing the outputs of different algorithms for the training dataset and validation dataset, CART is considered to be the best algorithm. The considerable latency involved the classification process can be minimized by selecting the CART algorithm, which produces the least latency in the classification task. However, the calculation of latency during real-time classification before performing load-balancing has not been carried out in this study, and it remains one of the limitations that could be investigated in future work.  
In order to avoid network congestion and link failure, two backup controllers are implemented to handle traffic classification in the event that the main controller's CPU utilization exceeds the threshold value. The global controller keeps track of both the primary and secondary controllers. Further, the comparison of packet rate, bit rate, and jitter shows that applying load balancing based on traffic classification in multi-controller SDN environments enhances network performance as a whole.  
Even if the research effort is effective in incorporating traffic classification-based load balancing in SDN to enhance system performance, there is still opportunity for improvement. We might be able to improve the network in a few ways to further improve performance and fully take advantage of SDN for network management, e.g., by testing the proposed approach on larger and more complex topologies, including real world scenarios; adding more traffic types and applications for more complex classification; using intelligent traffic classification and prediction in SDN; and integrating with edge computing, cloud services, and network slicing. Additionally, research on load balancing in SDN for data centers and ISP/Telco networks could cover a wide range of topics, including energy-efficient load balancing, intelligent multi-controller placement techniques, AI-based dynamic load balancing for multiple controllers, application-based load-balancing, blockchain technology and security issues in a multi-controller-based SDN environment. In the future, we plan to explore near-real-time attack detection and mitigation in a multi-controller-based SDN environment using ML.  
Conceptualization, B.S., B.R.D. and S.R.J.; methodology, B.S., B.R.D. and S.R.J.; software, B.S. and G.K.; experiment analysis, B.S., B.R.D. and G.K; manuscript writing, B.S., B.R.D. and G.K.; validation B.S., B.R.D. and S.R.J.; supervision, B.R.D. and S.R.J., writing--review and editing, B.S., B.R.D. and S.R.J. All authors have read and agreed to the published version of the manuscript.  
This research was supported by University Grants Commission (UGC), Nepal (Grant ID: CRG-078/79-Engg-01).  
Data Availability StatementData of analysis shall be made available upon request.  
We are thankful to reviewers for their constructive comments to shape the article into standard quality.  
The authors declare no conflicts of interest.