# Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization
## 3 Classes of Algorithms  
### Traditional Algorithms Usage in SDN  
The work in [7] focuses on the implementation of the Open Shortest Path First (OSPF) protocol in SDN. Mininet was used as a simulation tool for the virtualized network environment and the Quagga routing suite was configured to handle the OSPF routing of each network node to simulate traditional router functionalities. For the topology, a ring structure was used for redundancy and multiple paths, while physical PCs were used to emulate virtual routers connected to the GRE tunnel (Generic Routing Encapsulation). The experiment measured convergence time, stability, round-trip time (RTT), and Quality of Service (QoS) metrics such as jitter, delay, and packet loss through continuous data transmission and video streaming tests. The results showed better performance and security overall and an improved quality of service in the virtualized environment.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Reference** & **Main Focus** & **Algorithms/Techniques/Methods** & **Context/Environment** & **Experimentation/Comparison Parameters** \\ \hline \multirow{4}{*}{[1]} & \multirow{4}{*}{Load-balancing algorithms} & Joint-Load Balancing Algorithm, Dynamic Server Load-Balancing Algorithm, and Hybrid Routing Algorithm & SDN networks & Best path selection to the selected server \\ \cline{3-5}  & & & & \\ \hline \multirow{4}{*}{[2]} & Traffic scheduling and management algorithms & Intelligent algorithms & General networks & Traffic classification, traffic forecast, and traffic scheduling \\ \hline \multirow{4}{*}{[3]} & \multirow{4}{*}{Comparative analysis of load-balancing techniques} & Traffic detection and rerouting method, Offloading method, Trask/service/packets classification, Job/switch migration, and Workload scheduling & General context, not SDN-specific & Characteristics of load-balancing techniques \\ \hline \multirow{4}{*}{[4]} & \multirow{4}{*}{Algorithms applicable in SDN, with experiments} & Round-robin, Server Load Balancing, Flow Statistics Load Balancing, Least time-based weighted load balancing & SDN networks & Response time and server CPU load \\ \hline \multirow{4}{*}{[5]} & Improvement of Graph Coloring Problem using ACO algorithm & Ant Colony Optimization (ACO) and Greedy Algorithm & Data sets from Facebook and Twitter & Effectiveness and accuracy in real-world networks \\ \hline \multirow{4}{*}{[6]} & Load balancing in fog computing environments integrated with D2D networks & First Come First Served and Max–Min Algorithm & Fog computing and D2D networks & Execution time and throughput \\ \cline{1-1} \cline{2-5}  & & & & \\ \hline \hline \end{tabular}
\end{table}
Table 1: General topics addressed in the state-of-the-art articles.  
Another experiment using the OSPF algorithm was conducted in [8] in order to measure metrics like bandwidth utilization and link congestion. A dynamic controller was integrated to manage the flow tables of the router, with the scope of redirecting high data flows to alternative paths with sufficient residual bandwidth to prevent congestion.  
The Border Gateway Protocol (BGP) was used in [9]. The SDN controller managed the BGP routing information aiming to improve flexibility of the network management. OpenFlow API was used in order to communicate with the network devices and program their forwarding tables based on BGP decisions. The results showed improved security and high scalability.  
The architecture proposed in [10] used an SDN controller, communicating with OpenFlow switches acting like proxies for the traditional BGP routers, running an internal BGP daemon, Quagga, in order to obtain global routing information from border routers. The traffic was redirected through the switches and the MAC addresses were rewritten as necessary. The experiment showed that the controller can learn routing information in a secure way without requiring new protocols or equipment.