## 3 System Design
### Comparison of ILDM and PIM-SM  
In this section, we give a use-instance to show how ILDM avoids the problems caused by general ST-based multicast methods. We used the most widely used PIM-SM to represent the general ST-based multicast methods. We assumed that there were two multicast services (multicast groups). Multicast service MSEID1 (multicast group1) included Source1, Source2, Receiver1, and Receiver2. Multicast service MSEID2 (multicast group2) included Source3 and Receiver3. First, we considered the scenario of PIM-SM, as shown in Figure 5a. Router3 was set as the RP and needed to aggregate multicast flows sent from all sources (arrows 2, 4, 14) and handle the join (or leave) messages of Receiver1, Receiver2, and Receiver3 (arrows 6, 10, 16), which brought a great burden to the RP. Since the path was not optimized for each receiver, the established multicast trees may reuse some links, causing these links to be overloaded. In the scenario shown in Figure 5a, link Router3-Router4 was overloaded because it was used by multicast group1 and multicast group2 at the same time (arrows 11, 17). Figure 4: The example of the multicast tree node selection process. Figure 5: The use-cases of PIM-SM and ILDM. (**a**) The use-case of PIM-SM; (**b**) the use case of ILDM. Then, we consider the scenario of ILDM as shown in Figure 5b. In the initialization phase, Router1, Router2, Router3, Router4, and Router5 registered with the NRS to become candidate cores. NRS sorted the candidate cores based on the center distance and degree. The state of NA3 was set to \"Enable\", and the state of other candidate cores was set to \"Ready\". When Router1 received the multicast packet identified by MSEID1 from Source1 for the first time (arrow 1), it queried the NRS for the NA of the core of MSEID1 (arrow 2). Since the mapping of MSEID1 was not stored in NRS, NRS returned the Enable-state candidate core NA3 to Router1 and added the mapping of MSEID1 and NA3 (arrow 3). Router1 forwarded the multicast packets identified by MSEID1 to the core located at NA3 (arrow 4). When Router2 received the multicast packet identified by MSEID1 from Source2 for the first time (arrow 5), Router2 could directly obtain that the core of MSEID1 was NA3 through NRS (arrows 6, 7), and then forwarded the multicast packets identified by MSEID1 to the core located at NA3 (arrow 8). Receiver1 sent a join message to join the multicast service MSEID1 (arrow 9). After receiving the join message, Router5 queried the NRS to obtain that the MTN of MSEID1 was NA3 (arrows 10, 11), and then joined to NA3 (arrow 12). Router5 initialized the MNFE and registered the mapping between MSEID1 and NA5 with the NRS (arrow 13). Then the multicast packets were forwarded to Receiver1 based on MSEID1 along the path Router3-Router5-receiver1 (arrows 14, 15). When Receiver2 sent a join message to join the multicast service MSEID1 (arrow 16). Router4 queried the NRS to obtain that the MTNs corresponding to MSEID1 were NA3 and NA5 (arrows 17, 18). Router4 detected the path state of each MTN and selected NA5 with the best path state as the destination node (arrows 19, 20). Then Router4 joined to NA5 (arrow 21), initialized the MNFE, and registered the mapping between MSEID1 and NA4 with NRS (arrow 22). Then the multicast packets were forwarded to Receiver2 along the path Router3-Router5-Router4-Receiver2 (arrows 14, 23, 24), instead of the shortest path Router3-Router4 -Receiver2. By using NRS to maintain the mapping between MSEID and MTNs, ILDM can dynamically select an MTN with the best path state for each receiver to join and efficiently use the low-load links, thereby alleviating traffic aggregation. When the load of the core (Router3) reached the threshold, Router3 notified the NRS to update its state to \"Busy\" (arrow 25). Then, NRS chose a Ready-state candidate core NA2 and set NA2 to \"Enable\" state. When Router2 received the multicast packet identified by MSEID2 from Source3 for the first time (arrow 26), it queried the NRS for the NA of the core of MSEID2 (arrow 27).