# A Distributed Multicast QoS Routing Construction Approach in Information-Centric Networking
## 3 System Design
### Neighborhood State Management  
To obtain neighborhood state information, two essential steps need to be taken. Firstly, it is necessary to calculate the forwarding delay for adjacent ports. Moreover, the neighbor state information is propagated to nodes directly connected to the network node. Each node is responsible for maintaining a neighborhood state information base (NSIB) that stores the status of nodes within a designated range. To commence the process, each node will periodically transmit announcement messages to its adjacent nodes. These messages are designed explicitly for one-hop transmission and contain delay information, thereby avoiding excessive propagation throughout the network. This approach can seamlessly integrate with existing distributed routing protocols such as Open Shortest Path First (OSPF). The routing protocol transmits hello packets with timestamps at intervals (5 s). Upon receiving a hello packet, the node computes the transmission delay by comparing the timestamp enclosed in the packet with the local time. Figure 2: System overview of the distributed delay-constrained multicast routing construction approach. Delay calculating requires ensuring time synchronization between the two ports. Given the proximity of these two ports, time synchronization can be accomplished through the utilization of the Network Time Protocol (NTP). This method facilitates the seamless exchange of port delay between nodes in close proximity without significant overhead. Upon receiving the hello packets containing the announcement information from all local ports, the node has obtained the transmission delays of all neighbor nodes directly connected to the node. Subsequently, the node builds a neighbor status information table. Next, nodes communicate the forwarding delay of their adjacent ports to neighboring nodes via hello packets. Suppose node N has neighbors N\({}_{1}\), N\({}_{2}\),..., N\({}_{i}\), where N\({}_{k}\) is the node connected to port k. Node N sends a hello packet to Nk containing all the delay information of N\({}_{1}\), N\({}_{2}\),..., N\({}_{i}\), excluding N\({}_{k}\)'s. This enables N\({}_{k}\) to obtain the delay information between N and all its neighboring nodes through node N. With this data, N\({}_{k}\) can precisely calculate the delays for reaching N\({}_{1}\), N\({}_{2}\),..., N\({}_{i}\) via node N, typically within a 10-second margin (depending on the specific configuration). Ultimately, N\({}_{k}\) integrates this information into its neighborhood state information base (NSIB). Throughout this process, each node within the network generates and maintains a repository of delay information for nodes located within a maximum range of two hops. This repository is consistently updated to ensure that accurate and up-to-date information is available. To illustrate the process of establishing the Neighbor State Information Base (NSIB), Figure 3 is referenced. In Figure 3a, the network topology is depicted, where the neighbors of node N\({}_{3}\) periodically advertise their state information. Consequently, N\({}_{3}\) establishes a Neighbor State Information Table (NSIT), as depicted in Figure 3b. Over time, all nodes in the network build their respective NSITs. Following this, nodes begin disseminating their NSITs to neighbors. Utilizing the advertisement information from N\({}_{0}\), N\({}_{2}\), and N\({}_{3}\), Node N\({}_{1}\) constructs an NSIB that includes delay information for all nodes within two hops, as shown in Figure 3c. Utilizing this one-hop message propagation mechanism, nodes in the network acquire real-time status information within their two-hop neighborhoods, preventing the propagation of real-time updated statuses across the entire network. Subsequently, _NSIB_[N\({}_{i}\)]. _Cost_ and _NSIB_[N\({}_{i}\)]. _Delay_ are used to represent the cost and delay of reaching node N\({}_{i}\) in the NSIB table, respectively. When integrated into real-world environments, switches may employ distinct Quality of Service (QoS) forwarding levels for various packet types.