## 5 Experimental Results
### Simulation Setup  
As shown in Figure 2, computers or devices are connected according to the proposed model architecture (MCSDN approach); the devices communicate and are connected according to the implementation plan and according to the connection priority, respectively. The implementation plan includes the following steps:  
**Step 1**: An initial NS3 is created with seven (\(n\)) controllers, twenty-eight (\(n\)) switches, and forty-five (\(n\)) users [32]. **Step 2**: Next, the topology is constructed based on an undirected graph, and the optimal controller selection process is performed using FA [33]. **Step 3**: Next, the MCPP process is performed using the proposed SA- MCSDN optimized algorithm. **Step 4**: Sample packets are transitioned between the users. **Step 5**: Finally, performance metrics, propagation delay, average round-trip time (RTT), matrix of time session (TS), average delay, reliability, throughput, cost, and fitness value are evaluated. Table 5 outlines the framework arrangements, and Table 6 lists the setup parameters of the proposed MCSDN strategy. \begin{table}
\begin{tabular}{c c c} \hline
**VM Software and Hardware** & **Operating System** & **Linux Ubuntu-16.04 LTS -Desktop-Amd64** \\ \hline \multicolumn{3}{c}{Integrated development environment (IDE)} & VMware Workstation 16 Player \\ \hline \multicolumn{3}{c}{Network simulator} & NS3 \\ \hline \multicolumn{3}{c}{Language} & C++ \\ \hline \multicolumn{3}{c}{Bandwidth} & 100,000 downlink and uplink \\ \hline \multicolumn{3}{c}{Hard disk} & 20 GB \\ \hline \multicolumn{3}{c}{RAM} & 2048 MB \\ \hline \multicolumn{3}{c}{Delay} & 900 ms \\ \hline \multicolumn{3}{c}{MIPS} & 44,800 \\ \hline Devices & Delay & 1 ms \\ \hline \multicolumn{3}{c}{MIPS} & 1500 \\ \hline \multicolumn{3}{c}{RAM} & 4 GB \\ \hline SDN-CONTROLLER & No. of controllers & 7 \\ \hline \multicolumn{3}{c}{No. of switches} & 28 \\ \hline \multicolumn{3}{c}{Switch delay} & 5 μs \\ \hline \multicolumn{3}{c}{Bandwidth} & Variable \\ \hline \multicolumn{3}{c}{Controller delay} & 0.5 μs \\ \hline \multicolumn{3}{c}{No. of hosts or users} & 45 \\ \hline \multicolumn{3}{c}{Packet size} & 500 \\ \hline \multicolumn{3}{c}{Static Const Unit SIM\_DURATION} & 200 \\ \hline \multicolumn{3}{c}{speed} & 299,792,458 \\ \hline \end{tabular}
\end{table} 
Table 6: Parameter configurations of a virtual machine and an SDN controller. \begin{table}
\begin{tabular}{c c c} \hline
**Software Specifications** & **Operating System** & **Windows 10 Pro (64 Bits)** \\ \hline \multicolumn{3}{c}{Type of topology} & Undirected graph structure \\ \multicolumn{3}{c}{No. of Topologies} & 3 \\ Hardware Specifications & Hard Disk & 1 T \\ \multicolumn{3}{c}{CPU} & Intel(R) Core(TM) i7-10510U CPU @ 1.80 GHz 2.30 GHz \\ \multicolumn{3}{c}{RAM} & 8.00 GB \\ \hline \end{tabular}
\end{table} 
Table 5: Original system configuration and input parameters using the SA-MCSDN algorithm. When entering the information to run the simulation, the NS3 working steps are followed. Processing involves sending and receiving packets of data between switching devices and controllers, as well as among controllers themselves, as shown in Figure 4.  
After executing the NS3 network emulator, a software interface appears, consisting of an animator, stats, and packets. Figure 5 shows the process of exporting a table to optimally associate the chosen node location with other nodes. The table shown in Figure 5 consists of a group of device nodes, with the number of connections between these nodes ranging from 0 to 79, comprising 7 controllers, 28 switches, and 45 hosts. The table also contains ID and Mac addresses, through which devices are linked, as well as the optimal location for each controller after maximum iteration, which is correlated with the actual controller placement according to the improved SA-MCSDN algorithm. Figure 4: Multi-controller placement optimization by the SA-MCSDN algorithm. Figure 5: Optimal node placement relative to other nodes.