EC-Elastic an Explicit Congestion Control Mechanism for Named Data Networking

In recent years, Named Data Networking (NDN) has attracted researchers’ attention as a new internet architecture. NDN changes the internet communication paradigm from a host-to-host IP model to a name-based model. Thus, NDN permits the retrieval of requested content by name, from different sources and via multiple paths, and the use of caching in intermediate routers. These features transform the transport control model from sender to receiver and make traditional end-to-end congestion control mechanisms incompatible with NDN architecture. To deal with this problem, a reliable congestion control mechanism becomes necessary for a successful deployment of NDN. This paper presents a new hybrid congestion control mechanism for NDN, EC-Elastic (Explicit Congestion Elastic), which adopts the basic concept of ElasticTCP to control the sending rates of the interest packets at the consumer nodes. In the intermediate nodes, a queue has been associated with the Controlled Delay-Active Queue Management CoDel-AQM to measure the packet sojourn time and notify the consumer to decrease its interest packet sending rate when it receives an explicit congestion signal. EC-Elastic was implemented in ndnSIM and evaluated with Agile-SD, CUBIC, and STCP in different scenarios. Simulation results show that EC-Elastic provides a significant improvement in bandwidth utilization while maintaining lower delay and packet loss rates. Keywords—NDN; named data networking; congestion control; explicit congestion control; TCP-elastic


I. INTRODUCTION
The use of the internet has grown exponentially from pointto-point communications to the distribution of information everywhere. This growth has increased the number of internet users where these users are more interested in getting data in a short period of time than the location of that data. To facilitate connectivity between these users, high-speed and long-distance networks have been widely employed in many countries [1] [2]. However, this evolution poses some problems, namely, the current Transmission Control Protocol/Internet Protocol TCP/IP internet architecture and its variants have seen poor performance [3], and cannot cope with this growth, as they are designed for end-to-end communications. The use of high speed and long distance networks requires consideration of two major problems that are often encountered in this type of environment and that affect network performance negatively. The first problem concerns the use of large buffer regimes and long distances which leads to very long RTTs while the second problem concerns the need to increase the congestion window (cwnd) as much as possible to maximize the use of available bandwidth.
The first problem concerning the current TCP/IP internet architecture has motivated the researchers to explore new architectures for the future internet [4]. Information-Centric Networking (ICN) [5] has been proposed as a new contentcentric internet architecture to replace the current host-centric internet architecture. ICN has proposed several architectures that are all based on the content name rather than the IP address. Among these architectures, Named Data Networking (NDN) [6], an important research topic that has quickly encountered considerable interest from researchers. NDN uses hierarchical names to exchange two types of packets (interest packets and data packets [6]) between consumers and content producers. A consumer requests content via an interest packet, and then any node that has the requested data sends it through a data packet. These data packets follow the reverse path of interest packets. Each NDN node has three components, namely Content Store (CS), Pending Interest Table (PIT) and Forwarding Information Base (FIB) as shown in Fig. 1. Content Store (CS) : works as a content cache [7]. When CS receives data packets, it can store them temporarily in a cache and use them again in case of a request for the same data [8]. Pending Interest Table (PIT): The PIT contains interests that have been transmitted upstream but have not yet been satisfied [7]. It also contains the incoming interface list from which the interest packet for that name was received and the outgoing interface list from which the interest packet was sent [8]. Forwarding Information Base (FIB) : This is a database that contains prefix names for identifying the location of content producers, and an interfaces list for determining which interface is needed to forward the interest packet [8].
The NDN architecture has new features such as connectionless, one-interest-one-data, caching, multipath and multi-source. However, these features complicate network congestion control, because the existing TCP/IP solutions cannot be applied directly in NDN, which made congestion control an active research topic to be studied. The different characteristics between the two architectures (NDN and TCP/IP) mainly lie in:  In NDN, communication is receiver-based and connectionless, whereas in TCP/IP it is connectionoriented between two end points.
These challenges have motivated the research community to design and develop new mechanisms for NDN networks that are able to avoid congestion, increase the use of available bandwidth while maintaining fast delivery time. However, the majority of existing mechanisms in NDN are based on the AIMD mechanism which can prevent full utilization of the available bandwidth due to the huge bandwidth-delay product (BDP: Bandwidth-Delay Product refers to the maximum quantity of data that can be sent over a link or network) in high-speed and long-distance networks, making it a waste of network resources [1] because AIMD takes a long time to reach the maximum capacity of the network links, which leads to underutilization of the bandwidth. Moreover, in case of congestion, AIMD divides the congestion window by 2, which requires more time to reach the maximum throughput again and consequently, the link performance is degraded.
To address the second problem concerning large buffer regimes and very long RTTs, this paper proposes a new hybrid congestion control mechanism for NDN named Explicit Congestion Elastic (EC-Elastic), which adapts the basic idea of Elastic-TCP [1] to control the sending rate of interest packets at the consumer nodes. EC-Elastic uses the Window-correlated Weighting Function WWF that aims to improve the bandwidth utilization of the network. In intermediate routers, EC-Elastic uses a CoDel-AQM queue for each prefix on each interface to measure packet sojourn time. This algorithm allows routers, which have a large buffer, to absorb traffic bursts and to reduce its queues through detecting congestion before the buffer is full [10] then explicitly signals congestion to inform consumers to reduce their traffic rate. The rest of the paper is organized as follows: Section II presents the related work while Section III presents the principle of congestion control. Section IV details the proposed "EC-Elastic" mechanism and Section V evaluates the performance of this mechanism, it presents the topologies and measurements used as well as the results and discussion. Finally, Section VI concludes the paper.

II. RELATED WORK
In the literature, several congestion control mechanisms have been proposed for NDN networks. According to [11], these mechanisms can be classified into three categories: Receiver-based method: which is characterized by detecting congestion and controlling the sending rate of interest packets only at the consumer nodes [7]. Hop-by-hop method: which is characterized by detecting congestion and controlling the sending rate of interest packets at each intermediate node [12]. Hybrid method: which is characterized by detecting and controlling congestion at both receiver nodes and intermediate nodes [7] [12].
In NDN, the majority of congestion control mechanisms are inherited from TCP's window-based mechanisms, and most of them adjust the size of their congestion window based on the Additive Increase Multiplicative Decrease (AIMD) mechanism that increases the congestion window by Additive Increase (AI) and decreases the congestion window by Multiplicative Decrease (MD). Specifically, the authors of [13] propose ICP (Interest Control Protocol) a receiver-based congestion control mechanism that detects congestion by measuring the delay and timer expirations and adjusts the congestion window size by AIMD mechanism. The authors of [14] propose ICTP (Information Centric Transport Protocol) which also detects congestion by RTO Timeout and adjusts the congestion window size by AIMD mechanism. These two mechanisms did not consider the case of multiple source scenarios. To solve this problem, the authors of [15] propose a mechanism named ConTug that detects congestion using an RTO value for each content source and then adjusts the size of congestion window by AIMD mechanism. However, the authors of [16] propose CCTCP (Content Centric TCP) which instead of using a single RTO value for each content source, it uses a separate RTO value for each data source and then adjusts the congestion window size by AIMD mechanism. On the other hand, the authors of [17] propose predictive which maintains an RTO value for each Content Store to detect congestion and then uses the AIMD mechanism to adjust the congestion window size. In [18], the authors propose a Hop-by-hop Receiver-driven Interest Control Protocol (HR-ICP), which at the router level detects congestion using a virtual queue and then depending on the state of this queue, the consumer nodes use the AIMD mechanism to adjust the congestion window size. Other authors proposed CVUnion in [19] which detects congestion at intermediate nodes through the calculation of the average queue length of the interest packets, then once the consumer receives the feedback, it adjusts its congestion window size by the AIMD mechanism. In [20], the authors propose CHoPCoP (Chunk-switched Hop Pull Control Protocol) which detects congestion at intermediate nodes by monitoring the queue size of outgoing data packets, and then, based on the queue size, an explicit congestion notification is sent to the consumer to www.ijacsa.thesai.org adjust the congestion window size through the AIMD mechanism. The authors of [21] propose Stateful Forwarding which detects congestion by calculating the limit rate of interest packets. Stateful Forwarding generates a Negative-ACKnowledgment NACK packet that will be sent on downstream when congestion is detected. Once the downstream router receives this NACK packet, and depending on the received link state, it uses the AIMD mechanism to adjust the size of the congestion window. However, the authors of [22] [23] detected problems with the use of NACK, namely the delay in transmitting the NACK between two routers, which results in an excessive reduction in the sending rate of interest packets. Therefore, the authors propose to use three states for each interface which are, normal, congestion and check, and depending on the state of the network, the AIMD mechanism is used to adjust the congestion window size. Other authors propose to combine the multipath forwarding strategy with congestion control as in [24] where the authors deployed the forwarding strategy at the intermediate routers and the AIMD mechanism at the consumer nodes. In [25], the authors propose Standbyme which controls congestion in three steps: Accurate Local Congestion detection, Hob-by-hop congestion notification and Multipath strategy congestion avoidance and adjusts the congestion window size with AIMD mechanism.
In the congestion avoidance phase, AIMD increases the congestion window by 1/cwnd. In the case of short distance, cwnd is small, so the congestion window increase will be rapid and reasonable. However, in the case of long distance, cwnd is large and therefore the congestion window increase will be slow. In addition, in the case of congestion, AIMD uses a Multiplicative Decrease which divides the congestion window by 2 and moves to the next phase, where the congestion window will be increased by Additive Increase to reach again the cwnd maximum. In the case of short distance where the RTTs are small, this method provides acceptable throughput and reasonable bandwidth utilization. However, in the case of long distance where the RTTs are very large, this method takes too much time to reach again the maximal cwnd which results in low throughput and bandwidth utilization and consequently degrades the link performance.
To address these issues, this paper proposes EC-Elastic, a Hybrid congestion control mechanism to avoid congestion, increase bandwidth utilization on long delays and high-BDP networks and achieve efficient data delivery. EC-Elastic adapts the basic idea of Elastic-TCP [8] to control the rate at which the interest packets are sent to consumer nodes. EC-Elastic controls congestion in three phases; congestion detection at intermediate routers using CoDel-AQM, then explicitly signaling congestion to inform consumers to reduce their traffic rate, and finally adjusting the congestion window based on the type of packet received by consumers.

III. PRINCIPLE OF CONGESTION CONTROL
To support high-speed applications (e.g., large-scale data transfer) and low-latency applications in NDN networks, we need a congestion control mechanism. This mechanism should contain the following steps: "Congestion detection", "Congestion signaling" and "Congestion window size adjustment". The description of each step is described above:

A. Congestion Detection
Data transfer can saturate queues, which degrades quality of service in the network. The deployment of an AQM strategy is necessary. In the literature, many AQM algorithms have been proposed such as Drop-Tail [26]., RED (Random Early Detection) [27], CoDel [28] or PIE (Proportional Integral controller Enhanced) [29]. The basic idea behind these algorithms is that the current queue length is not an indication of congestion as it can be caused by bursty traffic [30].
Drop-Tail [26] was proposed as the first algorithm to solve queue management problems. This algorithm works as follows: Each queue's length is fixed at a maximum value known as the maximum packet length, and user's incoming packets will be stored in this queue. When the length of the queue hits the maximum limit, the incoming packets will be dropped. Then, when the packets are removed from the queue and its length decreases, the incoming packets will be stored in the queue again. This method can fill up the queue quickly, resulting in a high loss rate for applications; the Drop-Tail queue increases delay since it can be full for a long period of time [26].
RED [27] is an algorithm that relies on the average queue length to drop packets, i.e., as the queue length increases, the probability of packet drop increases and vice versa. RED works according to two principles: the estimation of the queue length and the packet drop decision and uses two thresholds for this purpose. When the average queue length is lower than the minimum threshold, all incoming packets will be accepted. Otherwise, when the average queue length is higher than the maximum threshold, all incoming packets will be dropped. Finally, in the case of an average queue length between the two thresholds, the incoming packets will be marked by Pi probability. This probability is directly proportional to the bandwidth of the connection to the router. One of the problems with this algorithm is that it only works well when there is enough buffer space and it is properly parameterized. Thus, it requires a variety of parameters to cope with different types of congestion.
CoDel [28] is an algorithm that has been proposed to manage the queue by calculating the sojourn time of packets in the queue. Based on this packet sojourn time, CoDel decides if the packet should be dropped or not. CoDel works as follows: It calculates the packet sojourn time (the time spent by every packet in the queue) and compares it to the threshold which is by default 5ms. If the minimum sojourn time is less than this threshold, the packet will be transmitted, otherwise if the sojourn time is greater than this threshold, the packet will be dropped. When the algorithm enters into the drop state, it starts sending congestion signals and drops packets that have a low and linearly increasing rate. CoDel starts the drop with the packet that is at the top of the queue and reduces the time interval of the next drop by a certain value. The packet drop increases if the sojourn time remains above the threshold. This algorithm can handle bursty traffic without causing packet loss. This algorithm is considered as a better predictor of congestion [30]. In EC-Elastic, we adopt the same congestion detection method as CoDel.
PIE [29] is an algorithm that controls the average latency of the queue to a target value. The PIE algorithm consists of three (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 12, No. 11, 2021 597 | P a g e www.ijacsa.thesai.org components: a) Random dropping at enqueuing; calculates the dropping probability p. Based on this probability, the packets will be dropped randomly. The timestamp is not mandatory in this step. b) Latency based drop probability update; the calculation of drop probability uses the current estimate of the latency and the direction in which the latency is moving. Alternatively, the direction can be measured by subtracting the current delay from the old delay. There are two parameters used by PIE; (α) to determine the effect of the current latency on the fall probability and (β) to indicate the amount of additional adjustment based on increasing or decreasing latency. The probability of falling becomes stable at the point where the difference between the current and old latency is zero and the latency value equals the reference delay. The final balance between latency delay and latency jitter is determined by the relative weight between α and β. c) Dequeuing rate estimation; in a network, the queuing rate varies with the fluctuation of link capacity or queues that share the same link.

B. Congestion Signaling
After detecting congestion, the information of congestion should be transferred to the consumers and intermediate routers to react quickly to the congestion problem by decreasing the sending rate of interest packets. In NDN, several methods have been proposed to signal congestion to consumers and intermediate routers in order to regulate the sending rate of interest packets:  Explicit congestion notification, which explicitly returns congestion level information in a NACK packet [22].
 Tagging data packets in the downstream direction, which allows downstream routers and consumers to reduce the sending rate of interest packets, thereby reducing congestion.
 The addition of congestion information in the Congestion Information Bits (CIB) to data packets. Adding a congestion tag to the data packet and sending it to the consumers [31].
 Random Early Marker algorithm REM [20], which explicitly marks data packets to signal the congestion state to downstream nodes.

C. Congestion Window Size Adjustment
The congestion window "cwnd" is used in all congestion control algorithms. It is used to control the quantity of sending packets between consumer and producer to avoid congestion. Despite this, congestion is not really avoidable, because the consumer always tries to maximize the available bandwidth by increasing its cwnd window, which could congest the network.
The congestion window adjustment of EC-Elastic borrows the basic idea of Elastic-TCP [1], which aims to increase the utilization of available bandwidth by using a Window Correlated Weighting Function (WWF), that handles large buffers, long delays and high-BDP networks [1].

IV. EC-ELASTIC DESIGN DETAIL
Avoiding congestion is a major concern of all network architectures. In the following section, we present in detail our proposal EC-Elastic, which controls congestion in three steps: 1) Congestion detection based on packet sojourn time using CoDel. 2) Explicit congestion signaling. 3) Congestion window adjustment at the consumer node.

A. Motivation
As mentioned earlier, NDN is a new paradigm that is content-based rather than IP address-based. With this paradigm, data transfer evolves from host-based point-to-point transfer to more elaborate, efficient multipoint-to-multipoint transfer that is better suited for the massive and intensive use of content-based Internet. Thus, NDN adopts new features which are mainly receiver-based and connectionless transport mode, one-interest-one-data, multi-source, multi-path and caching. These new features have made TCP/IP's traditional congestion control mechanisms unable to act towards high performance in the emerging NDN paradigm. We present below, the limitations and motivations that led to our proposal:  Interest Table) entry and transmit the corresponding data packet to all the aggregated faces [10]. The recovery time of the interest packets that arrive after the first one will be shorter.
 These new features (multi-source, multipath, caching and PIT aggregation) can lead to short or long RTT measurements, which increases the detection time of packet losses (the case of long RTT) and consequently also increases the time of reaction to congestion. EC-Elastic avoids this problem by using explicit congestion signaling to react quickly to network congestion (see Section IV.3).
 If the cache is used, if it exhausts its data, the next requests will be handled by another more distant. If the route to the newer cache has a lower BDP and the number of interest packets in transit is higher, the new bottleneck queue may be overloaded before the consumer can adjust its interest packet sending rate.
(IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 12, No. 11, 2021 598 | P a g e www.ijacsa.thesai.org Our mitigation of this problem is to use large buffers to manage temporary traffic bursts through detecting and signaling congestion using CoDel before that these buffers reach their limit (see Section IV.2).
To avoid the waste of network resources that are very expensive and important that can be caused by large buffers, we need to extend the congestion window to a large number of packets in order to fully utilize the available network bandwidth. In case of a network with high BDP (the number of interest packets in transit is higher), using RTT to increase the congestion window is not reliable because in these networks RTT is long which makes the increase of the congestion window very slow. In this case, the network spends a long period of time capturing the maximum link capacity, which underutilizes the network bandwidth. To avoid this problem, we propose to adopt the same Window-correlated Weighting Function (WWF) that was proposed by [1] to increase bandwidth utilization on TCP/IP high-BDP networks and try to prove its effectiveness on NDN networks to avoid congestion in the congestion avoidance phase and increase bandwidth utilization of NDN networks (see Section IV.4).

B. Congestion Detection based on Packet Sojourn Time using CoDel
In NDN networks, congestion detection based on packet loss or RTT (Round-Trip Time) is not reliable as in the current internet network TCP/IP because NDN is characterized by "multi-source" and "multi-path" transfer. In addition, the use of these features can increase bursty traffic that disrupts queue length and thus the production of congestion. Therefore, to absorb these bursty traffics, the buffer size must be larger than usual [30]. Active queue management (AQM) systems have been proposed to control the amount of data buffered to keep space available to absorb bursts and reduce queue delay. CoDel [28], as an AQM algorithm, is designed to control the queue by calculating the sojourn time of packets in the queue. This algorithm allows routers, which have a large buffer, to absorb traffic bursts and to reduce its queues through detecting congestion before the buffer is full [10]. In EC-Elastic, we adopt the congestion detection method proposed by Codel.
The CoDel algorithm, presented below, calculates the sojourn time of each packet in the queue "queuing delay" and compares the minimum sojourn time over a given period of time (default: 100ms) with a threshold, by default equal to 5ms. The first time the packet sojourn time exceeds the threshold, the current time will be recorded as FirstAboveTime and the packet sojourn time will be recorded as FirstSojourn. If the minimum sojourn time over a period of time (default: 100ms) exceeds the threshold (default: 5ms), the outgoing link in the queue is considered congested. The Codel code is presented in Algorithm 1.

C. Explicit Congestion Signaling
We use the same congestion signaling method that CoDel used, ECN marking (Explicit Congestion Notification) [32]. This signaling is done in the downstream direction by explicitly marking the concerned packets to notify the consumer of the link status, i.e., when a router detects congestion on one of its outgoing links, it marks the data packets and explicitly signals this state of congestion to the consumer nodes to reduce their sending rate of interest packets.
ECN marking is done as follows: When congestion occurs, the first packet is marked and the next packets are marked in a marking interval that corresponds to the CoDel drop spacing; This interval starts at "1.1 * the CoDel interval (100ms)" [33]. A congestion notification bit is used by ECN in the packet headers to provide feedback on network congestion. This bit is activated in the PIT entry of the packet when the packet sojourn time exceeds the threshold. Depending on the data packet received (Normal or Marked) at the consumer nodes, the authors adapt the sending rate of interest packets. An advantage of ECN marking is that consumers can be informed of congestion quickly and thus react quickly to the congestion problem. www.ijacsa.thesai.org

D. Congestion Window Adjustment
This section describes in detail the algorithm used to adjust the congestion window of EC-Elastic, which is based on the Elastic-TCP mechanism. The principal purpose of this algorithm is to improve overall performance and bandwidth utilization while avoiding packet loss. Algorithm 2 describes the core functionality of EC-Elastic at the consumer node, where the congestion window cwnd is increased when the consumer receives a normal data packet and is decreased when the consumer receives marked packets or Timeouts.

1) Design of the consumer window adjustment algorithm:
The basic idea of algorithm 2 is to use the Window-correlated Weighting Function WWF which was proposed in [1] and aims to improve the bandwidth utilization. WWF is based on the variation of RTT (Round Trip Time) according to the following formula: Where, RTT current is the current RTT obtained from the last ACK, RTT max is the maximum RTT and cwnd is the current congestion window. This function is used in the congestion avoidance phase to increase the congestion window by . However, in the slow start phase, EC-Elastic increases its congestion window by cwnd+1. In case of congestion detection or timeouts, Elastic-TCP [1] applies a multiplicative decrease that halves the cwnd after each loss detection regardless of the phase in which the loss is detected. In contrast, EC-Elastic uses two ways to decrease the cwnd, after any congestion detection. This decrease varies depending on the phase where the loss is detected. As shown in Algorithm 2, if the loss is detected in the slow start phase, EC-Elastic decreases its cwnd to cwnd*β1 of the last cwnd. If the loss is detected in the congestion avoidance phase, EC-Elastic decreases its cwnd to cwnd*β2 of the last cwnd and the ssthresh (the threshold) is reduced to cwnd -1 after any degradation to avoid switching to an undesirable slow start. Since the loss that occurs in the slow start phase is more severe than the loss that occurs in the congestion avoidance phase [34], the value of β1 should therefore always be less than β2 (β1 and β2 are two parameters used for adjusting the size of the congestion window, their values vary between 0 and 1). Fig. 2 presents the simulation results we conducted on the first scenario ( Fig. 3 and Table II) in order to find the most optimal values for choosing the coefficients β1 and β2. This figure shows a comparison between using a multiplicative decrease (as in Elastic-TCP which uses β=0.5 to decrease its congestion window ", a multiplicative decrease is usually equal to 1/2") and using two parameters β1 and β2 in both congestion control phases. According to Fig. 2, with the increase of β 1 and β 2 , the throughput also increases and when β 1 = 0,9 / β 2 =0,95, the throughput is almost the same as that of β 1 = 0,85 / β 2 =0,9 which indicates that the throughput does not change when the value of β1 is greater than 0,85 and β 2 is greater than 0,9. EC-Elastic performs better in terms of link utilization with the use of the two parameters β 1 and β 2 than the use of multiplicative decrease. Based on the experimental result (Fig. 2), we set β 1 = 0,85 and β 2 = 0,9 in our algorithm. www.ijacsa.thesai.org 2) General behavior of EC-elastic: EC-Elastic uses a slow start phase to increase the congestion window at consumer nodes. Then, intermediate routers calculate the sojourn time of each packet in the queue (using CoDel). If this sojourn time exceeds a well-defined threshold, the router marks data packets and sends them explicitly to the consumers to react to this situation. At the consumer nodes, once the first marked packet is received; EC-Elastic reduces its congestion window cwnd by the factor β1 and enters into the congestion avoidance phase which is characterized by using the Window-Correlated Weighting Function (WWF). In this phase, EC-Elastic increases its congestion window cwnd by WFF/cwnd and decreases it by the factor β2 (by receiving a marked packet). However, if a timeout is detected in any phase, EC-Elastic resets its congestion window cwnd to the initial value. The main objective of EC-Elastic in NDN is the same as that of Elastic-TCP in TCP/IP network, to improve bandwidth utilization in NDN networks, where RTTs are long, buffers are very large, and packet losses are very frequent.

V. PERFORMANCE EVALUATION OF EC-ELASTIC
This work focuses on developing a new congestion control mechanism named EC-Elastic that has the capability to increase bandwidth utilization in high-speed NDN networks. Using ndnSIM [35], based on NS-3 and designed specifically for the numerical study of NDN networks, the performance of EC-Elastic is evaluated and compared to three other congestion control algorithms: Agile-SD [34] , CUBIC [36] and STCP [37]. These algorithms have been implemented in NDN, in the same scenarios as EC-Elastic.
A. Simulation Scenarios 1) Scenario 1: one consumer -one producer Fig. 3 shows the first topology which contains a consumer, a router and a producer.  In this scenario, the link bandwidth from the consumer to the router is fixed at 100 Mbps with a 10 ms delay while the link bandwidth from the router to the producer is fixed at 1 Gbps with a 10 ms delay, as illustrated in Table I.

2) Scenario 2: Multiple consumers -multiple producers
In this second topology (Fig. 4), six consumer nodes are connected to six producer nodes via a bottleneck link, consisting of two routers (Router 1 and Router 2).
In this scenario, each link consumer-router is set to 100Mbps with different values of link delay between different nodes in the studied topology (1ms, 10ms, 15ms, 20ms, 25ms and 30ms). The link Router1-Router2 is set to 5Mbps with a delay of 15ms. From Router 2 to producers 1/3/5, the link is set to 20Mbps with delays of 10ms, 5ms and 1ms respectively and from Router 2 to producers 2/4/6, the link is set to 10Mbps with delays of 10ms, 5ms and 1ms respectively as presented in Table II. In this scenario, the consumers request the same content. The time for both simulations is set to 30 seconds.  Consumer2 -Router1 10ms 100Mbps

B. Simulation Results
We evaluate the performance of EC-Elastic in both study scenarios described above and are primarily interested in throughput, packet loss rate, and delay. In this study, delay is the time from sending an interest packet to receiving the corresponding data packet. Similarly, throughput, measured in bits per second, designates the number of successfully transmitted data packets from source to destination and changes with the amount of packets transmitted and the amount of packets dropped in the network [38]. Packet loss rate, designates the number of dropped packets per second and is measured as the difference between the amount of packets sent by a node and the amount of packets received by the same node, over a given period of time. In order to have reliable values, all simulations were repeated several times and the results presented in the following are an average of the obtained values. Fig. 5 shows a comparison of throughput between EC-Elastic and the three algorithms (Agile-SD, CUBIC, and STCP) in the first study scenario, and Fig. 6 shows a comparison of throughput between EC-Elastic and the three algorithms (Agile-SD, CUBIC, and STCP) in the second study scenario while, Table III shows the throughput of both scenarios.

1) Throughput measurement:
The objective of the first scenario (Fig. 5) is to study the ability of these mechanisms to fully utilize the available bandwidth. EC-Elastic outperforms the other mechanisms because of its fast cwnd growth resulting from the use of the Window-correlated Weighting Function WWF. It is clear that EC-Elastic can fully utilize the bandwidth and is more stable than Agile-SD, CUBIC and STCP algorithms. In the second scenario (Fig. 6), increasing consumer and producer numbers shows better performance, in terms of throughput, for EC-Elastic than those obtained by the other three algorithms Agile-SD, CUBIC and STCP. In addition, EC-Elastic has a more stable throughput than the other three algorithms in both scenarios.
EC-Elastic achieves the best and most stable throughput performance compared to the other algorithms and this is due to the use of the Window-correlated Weighting Function WWF which aims to maximize the bandwidth usage of the network. The result of this study is that EC-Elastic has the capability to perceive and predict rapidly, deal with the variation of bandwidth and adapt to NDN characteristics.
The necessity of the proposed mechanism was raised because of the incapacity of the existing mechanisms to fully utilize the available bandwidth on high speed networks where RTTs are very long and large buffers are used.   2) Packet loss rate measurement: The main objective of each congestion control mechanism is to maximize throughput and minimize packet loss rate. Table IV shows the packet loss rate in both scenarios. The results obtained from our numerical study, show almost identical performance for the four algorithms compared, with almost negligible packet loss rate because the use of CoDel queueing reacts before the queue reaches its limit and also reacts quickly to the congestion problem by marking packets and notifying the consumer to reduce their sending rate of interest packets. In addition, explicit congestion marking reduces retransmissions, because by notifying the consumer of the link status in case of congestion, the packet received by the consumer also contains the requested data. www.ijacsa.thesai.org 3) Delay measurement: Fig. 7 and 8 show the delay measurement for Scenarios 1 and 2, respectively, and Table V shows the delay measurement for both scenarios.
For the first scenario (Fig. 7), we observe that EC-Elastic, Agile-SD, and Cubic show a lower delay measure than STCP and this measure becomes almost the same for all the mechanisms when we exceed 5s of the simulation. In the second scenario (Fig. 8), we observe that EC-Elastic and CUBIC have a lower average delay measure than that measured by STCP and Agile-SD.
The exponential increase in delay between seconds 1 and 5 is due to all algorithms rapidly increasing their congestion window at the end of the slow start phase to ensure full utilization of the available bandwidth before switching to the congestion avoidance phase, resulting in problems such as packet loss, and thus increasing the delay between sending a packet of interest and receiving its corresponding data packet. As a result, our mechanism EC-Elastic ensures a reasonable packet transmission delay.  The numerical study performed in this work reveals that our algorithm EC-Elastic seems to give better performance, in terms of throughput, compared to those of Agile-SD, CUBIC and STCP algorithms. Thus, our algorithm can continuously fully utilize the bandwidth of the sources while keeping the delay and packet loss rate lower.

VI. CONCLUSION
This paper proposes EC-Elastic, a hybrid congestion control mechanism for NDN, to avoid congestion, increase bandwidth utilization and achieve efficient data delivery. EC-Elastic is based on the use of Window Correlated Weighting Function (WWF) which aims to improve bandwidth utilization in the network. At the intermediate routers, EC-Elastic uses AQM-CoDel queue to measure the packet sojourn time and explicitly signals congestion to inform the consumer to decrease its sending rate of interest packets, and then at the consumer nodes, EC-Elastic adopts the basic idea of Elastic-TCP to control the sending rate of interest packets. The conducted numerical study of the performance of EC-Elastic compared to Agile-SD, CUBIC and STCP in terms of throughput, packet loss rate, and delay shows that EC-Elastic can significantly improve bandwidth utilization while maintaining lower delay and packet loss rates. EC-Elastic can be a promising solution to enhance bandwidth utilization on high speed networks where RTTs are very long and large buffers are used. As a future work, we plan to implement EC-Elastic in the Internet of Health Things (IoHT) to evaluate its performance in more complex scenarios where sensitive patient data becomes a critical component of healthcare that requires ensuring its timely delivery while avoiding congestion and data loss.