Double Function Random Early Detection (DFRED): A Revised RED-Oriented Algorithm

Dropping packets with a linear function between two configured queue thresholds in Random Early Detection (RED) model is incapable of yielding satisfactory network performance. In this article, a new enhanced and effective active queue management algorithm, termed Double Function RED (DFRED in short) is developed to further curtail network delay. Specifically, DFRED algorithm amends the packet dropping probability approach of RED by dividing it into two sub-segments. The first and second partitions utilizes and implements a quadratic and linear increase respectively in the packet dropping probability computation to distinguish between two traffic loads: low and high. The ns-3 simulation performance evaluations clearly indicate that DFRED algorithm significantly controls the average queue occupancy and yields a reasonable gain in end-to-end-delay under different network conditions.


Introduction
The emergence of the Internet has certainly led to the outstanding increase in technological innovations witnessed across the globe.Consequently, the rate of user's connectivity is also at a fast increase.The data traffic volume transmitted on the network from various sources will increase accordingly, thereby imposing an inevitable problem of network congestion [1][2][3][4].Technically, congestion in a network happens when the aggregate of transmitted traffic load goes beyond the resource availability of network's supporting infrastructure (i.e., the router) thereby imposing limitations, such as network performance degradation and poor quality of network services [3; 5-7].In the end, congestion may result in a collapse-when communication in the network ceases [8].
In the Internet, congestion control is considered a germane and in fact a research hotspot for scholars in the field of data communications and computer networks ( [7], [9]).To ensure a good network performance, there is a need to effectively and properly manage the queue in the buffer of network routers [10].
The traditional router's algorithm, known as DropTail, a typical form of passive queue management (often abbreviated to "PQM") algorithm is challenged with limitations such as ISSN: 0067-2904 buffer overflow, lock-out phenomenon, long delay in data delivery, and global synchronization [11].Thankfully, active queue management (often abbreviated to "AQM") algorithm has emerged as a better approach for tackling the challenges of network congestion and has since been recommended by the Internet Engineering Task Force (IETF) for implementation in Internet routers [12].
Typically, AQM algorithms monitors and detects congestion at an emerging moment and sends a congestion report (using dropped packets) to end-hosts so that the proportion of data traffic being transmitted is reduced.AQM seeks two important goals.One is to reduce delay by keeping the average queue size minimal.The other is to improve throughput performance by reducing the number of dropped packets.
There exists a plethora of research studies on AQM in the literature.Among them, one algorithm is the most recognized developed Floyd and Jacobson in [13].The algorithm is termed Random Early Detection or (abbreviated to "RED").Hitherto, RED has received enormous attention from scientists both in academia and industry.Using RED, each time a packet arrives at a router, the algorithm computes the average queue size (hereafter "avg") (Eq.( 1)) by relying on an exponential weighted moving average (EWMA) function.

𝑎𝑣𝑔 = (1 − w)𝑎𝑣𝑔 ′ + (w × 𝑞)
(1) Where: q specifies the current queue size; ′ specifies previously calculated average queue size; w refers to a pre-decided weight parameter required to calculate avg.As for cases where the value of avg is less than a predetermined minimum threshold (hereafter "QTmin"), then the packet will be admitted into the queue.As for cases where the value of avg lies between QTmin and another pre-decided maximum queue's threshold (henceforth "QTmax"), then it performs the process of computing the drop probability through a linear function that rises from 0 to the maximum drop probability (hereafter "maxP").However, for cases where the value of avg exceeds QTmax, then all incoming packets will be dropped.To summarize, the initial packet drop function (from now "Pb") for RED is expressed as follows: The final packet dropping probability (hereafter "Pa") is defined by: where count specifies the number of arrived packets since the last packet dropped.Although, the easy-to-understand mathematical formulation of RED model is well-recognized, research continues to evolve to determine the suitability of its linear relationship that exist between the average queue size and packet dropping probability [9; 14-16].
In this article, the major limitation of RED algorithm of interest is its incapability to keep the average queue size low especially when the network is heavily congested, thereby imposing the problem of large network delay.Effectively, the main contribution of this paper is to propose an appropriate and amended RED algorithm, termed Double Function Random Early Detection (DFRED).The proposed algorithm implements a mixture of nonlinear (that is, quadratic) and a linear packet dropping functions to improve delay by reasonably reducing the average queue size.
The remainder of the paper is arranged as follows: Section 2 focuses on discussion of related works.Next, Section 3 presents the proposed DFRED algorithm.Section 4 presents the simulation results.Finally, Section 5 concludes the paper.

Related Works
Four parameters are fixed in RED: QTmin, QTmax, maxP, and w.Among these four, Ryoo and Yang in [17] chose to dynamically adjust QTmax and w to gain an improved delay and jitter, which are essential for traffics from real-time interactive services.The modified algorithm was termed state dependent RED or (SDRED).
An enhancement of RED, termed RED with reconfigurable maximum dropping probability or (RRMDP) algorithm introduced by Al-Allaf and Jabbar in [18] used a reconfiguration parameter to reconfigure the maximum packet dropping probability of RED.RRMDP was reported to gain a reduced delay and avg.
To improve upon RED, Q-Learning-based RED (QRED) algorithm was introduced by Su et al. in [19] that dynamically adjusts the maximum packet probability through the Q-Learning mechanism.QRED was reported to gain an increased throughput.
The extended double slope random early detection mechanism (ExRED) scheme by Prabhavat et al. in [20] is an enhanced flavor of RED scheme.Usually, RED drop packets when QTmax ≤ avg (that is, drop probability is 1).However, ExRED developers believed that drop probability should increase slowly by using a second order polynomial packet dropping function so as to gain a reduced number of packet drop and consecutive packet drop.
The Smart RED's (SmRED) strategy presented by Paul et al. in [15] is also another extended version of RED algorithm.SmRED performs the process of computing the drop probability through a mixture of both quadratic and square root functions, for different degrees on network congestion.Moreover, SmRED was reported to gain improved link utilization at low traffic and a reduced end-to-end delay at high traffic, respectively.The SmRED dropping function is expressed in Eq. ( 4): where Target value in Eq. ( 4) is expressed in Eq. ( 5): In contrast to RED, RED-Exponential (RED_E) [16] algorithm performs the process of computing the drop probability by-means-of an exponential function that increases from zero to one cases when   [  ,   ).Simulation results reported indicates that RED_E gained an improved performance in terms of reduction in average queue size and delay metrics especially at high congestion situation.Moreover, in RED_E's, there is no need for the involvement of maxP in the computation of dropping probability as expressed in Eq. ( 6): In [21], the gentle RED (GRED) model was developed.The underlying strategy of GRED algorithm is the implementation of two drop functions (whereby both are linear).Dropping function for GRED is given in Eq. ( 7): To enhance the performance of GRED, Baklizi et al in [22] pursued to propose adaptive GRED (AGRED).The dropping function for AGRED is given in Eq. ( 8): To tackle the high number of packet drop limitation of RED algorithm especially when QTmax ≤ avg, the authors in [23] proposed to modify the packet dropping probability of RED such that it performs the process of computing the drop probability by-use-of an exponential function.The new algorithm was termed congestion control RED or (CoCo-RED).The drop function for CoCo-RED is given in Eq. ( 9 where K in Eq. ( 9) specifies the maximum buffer capacity.
To improve the throughput performance of CoCo-RED, Suwannapong and Khunboa in [24] presented the enhanced CoCo-RED or (EnCoCo-RED) algorithm.Based on the congestion level, EnCoCo-RED, dynamically adjusts the QTmin and QTmax thresholds.
To improve upon GRED, Baklizi in [25] dynamically adjusted two thresholds namely: QTmin and 2QTmax.The algorithm aimed at stabilizing the average queue size between QTmin and 2QTmax.The algorithm obtained a performance gain with regards to queuing delay and packet loss rate.
Rather than using a linear drop function in RED, Zhou et al. in [9] performed the process of computing the drop probability via a quadratic function (expressed according to Eq. ( 10)) when avg  [QTmin, QTmax).This enhancement to RED was termed nonlinear RED or (NLRED).
where  ′ was set as 1.5 × maxP.NLRED gained an improved throughput performance.
The flexible RED or (FXRED) algorithm proposed by Adamu et al. in [26] is yet another improved version of RED.In FXRED, avg and current traffic load condition were used as indicators for congestion.When avg  [QTmin, Δ). (where Δ is a mid-point threshold specified as (QTmin+QTmax)/2), FXRED performs the process of computing the drop probability by-means-of a nonlinear function at both low and moderate traffic loads.However, when avg  [ Δ, QTmax).FXRED performs the process of computing the drop probability by-means-of a linear function at high traffic load.In FXRED, a mode selector γ is employed for switching between these two functions.
Authors in [27] developed an improved flavor of RED, named improved adaptive RED algorithm.Unlike RED, which performs the process of computing the drop probability bymeans-of a linear function, the improved adaptive RED uses a cubic function expressed as follows: Upper threshold RED or (URED) algorithm presented by Patel in [28] performs the process of computing the drop probability by-means-of using double linear functions, however, at different traffic loads to gain an improved performance in terms of throughput and packet loss rate metrics.
The self-adaptive random early detection or (SARED) algorithm presented by Adamu et al. in [7] introduced a self-adaptive mechanism into the operations of RED such that it performs the process of computing the drop probability by-way-of nonlinear function when avg  [QTmin;QTmax) at low and moderate traffic load conditions.However, when the traffic load gets heavy, FXRED performs the process of computing the drop probability by-use-of a linear function.
In [29], the double slope RED or (DSRED) was proposed to perform the process of computing the drop probability by using a mixture of two linear functions.The slopes for these two linear dropping functions are complementary and could be adjusted by using the mode selector γ.DSRED was reported to outperform RED in terms of queuing delay, normalized throughput, and packet drop.
In [10], linear RED or (LRED) utilizes an adaptive average queue size, which is a simplified congestion measure and a linear drop function that has a reduced number of operators.This way, RED's computational cost was reduced.It can therefore be deduced from the discussion so far that the effectiveness of an AQM mechanism is dictated, at least to a large extent by the dropping function implemented [30].
Unlike various highlighted existing RED enhancement algorithms, we propose a minimal adjustment to the packet dropping probability profile of RED algorithm.As it turns out, the proposed double function random early detection (DFRED) algorithm simply substitutes RED's linear drop function with a mixture of power-of-two drop function and a power-of-one drop function to gain a more effective congestion control.Other attributes of original RED are kept unchanged.

Double Function RED (DFRED) Algorithm
In this section, we present details of another nonlinear enhancement to RED, termed Double Function Random Early Detection (DFRED).DFRED's model depicted in Figure 1 distinguishes between a low and high traffic load scenarios.It exhibits the implementation of a mixture of power-of-two drop function and a power-of-one drop function (i.e., quadratic and linear) both between QTmin and QTmax queue thresholds.
First, as is given in Eq. ( 12), DFRED performs the process of computing the drop probability by-way-of a power-of-two (or quadratic) function when the value of avg is between QTmin and a new incorporated threshold, called Target (specified according to Eq. ( 13)) positions.Using this strategy, a low packet dropping probability will be gained at low traffic load to increase the network throughput.
) −   (13) Secondly, as is given in Eq. ( 14), DFRED performs the process of computing the drop probability by-means-of a linear function particularly when the value of avg is between Target and QTmax threshold positions.Using this linear growth approach, a high packet dropping probability will be gained at high traffic load to decrease network delay.
The pseudo-code for DFRED is expounded in Algorithm 1.

Simulation Results and Evaluation
The proposed DFRED algorithm is implemented using an open-source ns-3 simulator [31].To investigate and demonstrate its effectiveness, simulation experiments were conducted based on the network topology shown in Figure 2 under two network traffic conditions namely, low and high loads.The performance of DFRED is compared to an existing algorithm -SmRED.Performance.Metrics of interest include (i) average queue size, (ii) delay, and (iii) throughput.
Referring to Figure 2, router A has the implementation for DFRED and SmRED algorithms (in a sequential pattern) while router B has implementation for DropTail algorithm.These routers perform a pivotal role of directing the flow of data packets.Individual sources (from S1 to SN) are connected to router A with 100 Mbps link capacity and 3 ms propagation delay.The two routers are connected with a bottleneck link having 10 Mbps as the capacity and 100 ms propagation delay.Router B is connected to the destination node (D) with 100 Mbps capacity and 3 ms propagation delay.TCP-NewReno algorithm was implemented.The buffer size is set to 250 packets.Total simulation duration is set to 100 seconds.Other parameter configurations are shown in Table 1.The values for QTmin and QTmax were both suggested by [15] while the values for maxP and w were both suggested by [13].

Scenario 1: Low traffic load
In this scenario, 5 TCP connections are involved.Table 2 presents the comparison between SmRED and DFRED algorithms based on the scenario under consideration.Figure 3 shows the performance comparison of DFRED versus SmRED in terms of average queue size (in packets), delay (in milliseconds), and throughput (in Mb/s).Figure 3 (a) shows the change in average queue size over time for SmRED and DFRED algorithms.It can be easily seen from the figure that DFRED has a reduced and better control of the average queue size (which implies 51.7% reduction).Figure 3 (b) shows the delay.As seen in the figure, DFRED algorithm gained an outstanding performance (corresponding to 9.96% reduction) than SmRED with regards to delay.Figure 3 (c) shows the throughput.SmRED outperformed DFRED in terms of throughput (though at the expense of delay).Sm-RED has 14.15% gains in network throughput when compared to DFRED.50 TCP connections are involved in this scenario.Table 3 presents the comparison between SmRED and DFRED based on the scenario under consideration.Figure 4 illustrates the simulation results for DFRED and SmRED in terms of average queue size (in packets), delay (in milliseconds) and throughput (in Mb/s).Figure 4

Conclusion
In this paper, DFRED AQM algorithm is proposed for Internet routers.DFRED modifies the dropping strategy of RED by employing a mix of power-of-two and power-of-one drop functions.DFRED algorithm was assessed and contrasted with SmRED (an enhanced RED algorithm) in a well-recognized ns-3 network simulator using performance metrics, such as average queue size, delay, and throughput.DFRED obtained shorter delay performance; however, this is at the expense of throughput under various network conditions.Therefore, the proposed DFRED could be easily implemented in Internet router as a replacement for RED even as the packet dropping probability profile moderately needs to be adjusted.

Disclosure and conflict of interest
The authors declare that they have no conflict of interest.

Figure 2 : 1 :
Figure 2: Network topology (a)  shows the average queue size for both SmRED and DFRED algorithms.As seen in the figure, DFRED has the lowest average queue size (which implies a reduction by 60.1%).

Figure 4 (
b) depicts the delay of SmRED and DFRED algorithms.It can be observed that the proposed DFRED algorithm gained an outstanding performance than SmRED with regards to delay (which implies a reduction by 10.28%).

Figure 4 (
c) shows the throughput.SmRED outperformed DFRED in terms of throughput (though at the expense of delay).

Figure 3 :
Comparison of DFRED with SmRED using average queue size (top left), delay (top right), and throughput (bottom) under low load condition

Figure 4 :
Comparison of DFRED with SmRED using average queue size (top left), delay (top right), and throughput (bottom) under high load condition

Table 2 :
Comparison of network performance under low traffic load

Table 3 :
Comparison of network performance under high traffic load