## 4 Simulation
### Core Load  
Our first set of experiments measures core load, which is the load of the core with the largest load among all cores. In our experiments, the load of the core was defined as the number of multicast flows sent by sources to the core. First, we tested the variation trends of maximum core load with the different number of groups in ILDM. In this experiment, the number of routers, load threshold, number of sources per group, and number of receivers per group were set to 5, 10, 5, and 10. From the result shown in Figure 5(a), we can find that as the number of groups increased, the maximum core load first increased rapidly, then remained unchanged, and finally increased slowly. We registered all routers as candidate cores, and the total load capacity of all routers was 50. When the number of groups was less than 10, the load of the Enable-state core did not reach the threshold. In this case, the Enable-state core was assigned to all groups, causing the load of the core to increase rapidly. When the number of groups was equal to 10, the load of the Enable-state core reaches the threshold. Therefore, the core notifies the NRS to update its state to \"Busy\" and NRS set a Ready-state core to \"Enable\". As long as the load of an Enable-state core reached the threshold, NRS selected a new Ready-state candidate core to set its state to \"Enable\", so the maximum load of all cores was not greater than the threshold (10). When the number of groups exceeded 50, the load of every core reached or exceeded the threshold. To balance the load, NRS evenly distributed the load to each core, so the maximum load of all cores slowly increased. \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Value** \\ \hline CPUs & 8 Intel(R) Core (TM) i7-6700 CPU @ 3.40 GHz \\ Memory & 16 GB \\ Operating system & Window10 \\ Topology & Waxman, \(\alpha=0.15\), \(\beta=0.2\), m degree = 4 \\ Node placement & Random \\ Number of routers & 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100 \\ Number of sources per group & 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 \\ Number of sources per group & 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 \\ Number of groups & 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75,Second, we tested the variation trends of maximum core load with a different number of sources and load thresholds in ILDM. In this experiment, the number of routers, number of groups, and number of receivers per group were set to 100, 100, and 10. From Figure 6b, we can find that the maximum core load increases as either the number of sources per group or the load threshold increases. The core load was related to the number of groups allocated to it and the number of sources per group. When the load threshold increases, the number of groups allocated to the core increases. Then, we also compared the maximum core load in different methods with a different number of groups. In this experiment, the number of routers, load threshold, number of sources per group, and number of receivers per group were set to 20, 5, 5, and 10. Figure 6c shows that the maximum core load in ILDM was less than that in other core-based multicast methods. As the number of groups increases, the maximum core load in ILDM first remains unchanged and then increases slowly. The growth rate of the maximum core load in ILDM was much smaller than that in other core-based multicast methods. Finally, we compared the maximum core load in different methods with a different number of routers. In this experiment, the load threshold, number of groups, number of sources per group, and number of receivers per group were set to 10, 200, 5, and 10. Figure 6d shows that as the number of routers increased, the maximum core load in other core-based multicast approaches remained unchanged, while that in ILDM decreases to the load threshold. This is because in ILDM, all routers in the network were registered as candidate cores and load balancing was implemented among all candidate cores. As the  
Figure 6: The comparison of maximum core load.