# Two-Level Congestion Control Mechanism (2 LCCM) for Information-Centric Networking
## 2 Related Work  
Congestion control is closely related to network data transmission technology. However, the new characteristics of ICN's receiver-driven transmission make the traditional TCP congestion control mechanisms cannot be directly applied. Based on the mode of congestion control, existing ICN congestion control mechanisms can be divided into three main categories: receiver-driven congestion control, hop-by-hop congestion control, and hybrid congestion control [17]. The main idea of receiver-driven congestion control is similar to TCP end-to-end congestion control, but the most obvious difference is that the sender-driven is adjusted to the receiver-driven mode. Its core idea is to adjust the request sending rate by monitoring the link state. For example, ITahoe [18] is a simple algorithm based on TCP Tahoe [19]. [PERSON] et al. proposed ICP [20], which is a transport protocol for CCN, implements a window-based interest flow control mechanism and determines congestion by the changes of Round-Trip Time (RTT) or the packet loss due to timeout. NetInf TP [21] is designed for the NetInf architecture, and its operation consists of three steps: locating the replica, transmission establishment, and data transfer. Data transfer in NetInf TP is achieved by exponentially increasing the transmission rate with one request packet corresponding to two data packets, and uses a window-based congestion control mechanism that follows the Additive Increase and Multiplicative Decrease (AIMD) algorithm of TCP logic for congestion avoidance. The difference is that NetInf TP does not determine congestion based on packet loss due to timeout, but by the number of packets sent without receiving replies. The above congestion control mainly works during the transmission of the entire content. However, content in ICN is split into multiple smaller chunks by default [22], and multiple chunks may come from different data sources at the same time. CCTCP [23] maintains multiple timeout values and multiple congestion windows for the multi-source multi-path nature of ICN. ConTug [24] maintains multiple conceptual congestion windows for multiple chunks and uses RTT variations as a light congestion signal for the transmission of multiple chunks, and it converts them to the difference between the expected rate and the actual rate to determine the degree of congestion. However, setting multiple timeout values or congestion windows for multi-source multi-path transmissions increases the complexity of congestion control. The hop-by-hop interest shaping mechanism [14] is the method that each CCN router controls the transmission rate of individual chunks by appropriately adjusting the forwarding rate of interest packets. It does so by monitoring the queue size of the routers, determining the interest packets allowed into the forwarding port of that router, and performing the corresponding packet drop operation for the interest packets that are not allowed in. Thus, it forces the queue size to converge to a given target (percentage of buffer capacity) as a way of avoiding congestion in the CCN transmission queue. However, this approach requires a high performance from routers and is not yet well supported by today's widely used routers. The hybrid congestion control scheme, typically implemented in the Backpressure based Congestion avoidance model (BCON) is introduced in the literature [25]. BCON calculates the queue size of packets in the router through Active Queue Management (AQM) mechanism, and it drops the packets of interest with a certain probability and sends Negative Acknowledgment (NACK) messages to notify the receiver to reduce the request sending rate after a packet is dropped. A Practical Congestion control scheme (PCON) is proposed in the literature [26]. PCON is a method where an intermediate router detects the queue size through AQM and then forwards this congestion signal to the receiver hop-by-hop, then reduces the request rate at the receiver side.