# A Replica-Selection Algorithm Based on Transmission Completion Time Estimation in ICN
## 3 NDC Transmission and NRS Overview
### Overview of the NDC Transmission Process  
In ICN, each piece of content is an NDC whose size is reasonable, from hundreds of KBs to a few MBs [34; 35]. The ICN router caches the NDC to serve as a replica node. The identifier (ID) and the locator in the ICN are separated, the identifier can identify the NDC and the device in the network, and the locator is the network address (NA). The client sends a content request (REQ) packet to the network, and the replica node responds to the REQ packet and replies with a content data (DATA) packet. Both the REQ packet and the DATA packet will carry a source ID and a destination ID. In the REQ packet, the source ID identifies the client device, and the destination ID identifies the NDC. In the DATA packet, the source ID identifies the NDC, and the destination ID identifies the client device. An NDC transmission process can be identified according to the device ID and the NDC ID. Due to the consideration of flow and congestion control, the replica node cannot send all the data of NDC at once, otherwise it will cause traffic bursts in the network, and even cause the network to crash. The REQ packet will carry the segmentation information of the data, indicating the starting offset and length of the requested data in the NDC. Clients can perform receiver-driven congestion control by controlling the size of the requested data per REQ packet and the frequency at which REQ packets are sent. In this paper, we use Copa-ICN [36] as the congestion control algorithm of the client, which has a good performance in terms of algorithm convergence speed and fairness. In addition, packet loss \begin{table}
\begin{tabular}{c c c} \hline \hline
**Application Scenarios** & **Approaches** & **Characteristics** \\ \hline \multirow{8}{*}{NBR-based ICN architecture} & Shortest-path routing & Only replicas on the path can be selected. \\ \cline{2-3}  & Cluster-based method & Cluster head node decision. \\ \cline{2-3}  & iNRR & Select the nearest replica by flooding. \\ \cline{2-3}  & SEARCH-CNG & Avoid selecting replicas on congested paths. \\ \cline{2-3}  & INFORM & Use flooding to discover replicas, and complete replica selection based on indicators such as RTT. \\ \cline{2-3}  & Stateful forwarding & Calculate the ranking value of the link and select the replica on the better link. \\ \cline{2-3}  & SCAN & The information exchange of the cache node can select the neighbor replica of the node on the path. \\ \cline{2-3}  & RFW & Applicable to a hierarchical ICN architecture, the lower-level replica is selected by random walk. \\ \hline \multirow{8}{*}{NRS-based ICN architecture} & MF & Select the closest replica based on a routing table. \\ \cline{2-3}  & ERS & Based on weighted values of congestion, RTT, and hops. \\ \cline{2-3}  & NetInf TP & Based on latency and network distance. (No approach details provided by author.) \\ \hline \multirow{8}{*}{Traditional network} & Reference [30] & Proactively detects the network and selects the replica with the lowest flow completion time. \\ \cline{2-3}  & Ping-random & Randomly selects one of the five smallest replicas of RTT. \\ \cline{1-1} \cline{2-3}  & 2 RC & Randomly takes two replica nodes and chooses the one with the smaller load. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Characteristics of the related work. is hard to avoid during transmission. When data loss occurs, the client will re-request the lost data to ensure reliable transmission of NDC. When the replica node receives the REQ packet, it will read the NDC data from the cache according to the request data segmentation information in the REQ packet and assemble it into the DATA packet to send. Due to the limitation of the maximum transmission unit (MTU), the replica node may split the data requested by an REQ into several DATA packets and send them.