=Paper= {{Paper |id=Vol-3734/invited6 |storemode=property |title=Survey of model and algorithms of host-to-host congestion control |pdfUrl=https://ceur-ws.org/Vol-3734/paper6.pdf |volume=Vol-3734 |authors=Pengtao Kang,Tao Feng Xianming Gao |dblpUrl=https://dblp.org/rec/conf/iccic/KangG24 }} ==Survey of model and algorithms of host-to-host congestion control== https://ceur-ws.org/Vol-3734/paper6.pdf
                                Survey of model and algorithms of host-to-host congestion
                                control
                                Pengtao Kang1, Tao Feng1, ∗ and Xianming Gao1

                                1 Systems Engineering Institute AMS PLA, Beijing 100039, China




                                                Abstract
                                                Host-to-host congestion control is an important technology that avoids network congestion and
                                                improves network transmission performance by controlling the transmission rate. However, it is
                                                difficult for host-to-host congestion control mechanisms to remain effective in dynamic networks
                                                due to factors such as imperfect feedback information, error-prone congestion detection, slow
                                                convergence control algorithm, etc. In order to provide a basis for the development of new
                                                mechanisms, this paper provides a comprehensive review of control models, congestion
                                                detection and control algorithms, as well as evaluation indicators and the main challenges
                                                associated with such networks. Furthermore, the paper discusses the potential of intelligent
                                                algorithms and edge-host cooperation in host-to-host congestion control.

                                                Keywords
                                                host-to-host congestion control, control model, congestion detection algorithm



                                1. Introduction
                                Communication networks have seen a revolutionary shift in recent decades, largely due to
                                soaring data consumption and the widespread adoption of connected devices [1]. As the
                                number of devices and data usage surge, network congestion is emerging as a critical
                                concern once again. Moreover, applications like live broadcasting and gaming, which are
                                increasingly popular, demand stringent requirements for low latency, high bandwidth, and
                                stable host-to-host communication [2, 3]. Consequently, refining the host-to-host
                                congestion control mechanism has become an urgent practical matter.
                                   To furnish valuable references for researchers with a keen interest, we conduct a
                                comprehensive review of host-to-host congestion control, focusing on model and
                                algorithms. The primary contributions encompass three key aspects:

                                       In this paper we efficiently categorize control models based on their workflow,
                                        offering an in-depth analysis of each category’s unique features.
                                       The congestion control process is methodically broken down into two phases:
                                        detection and control. By examining commonly used algorithms in these stages

                                ICCIC 2024: International Conference on Computer and Intelligent Control, June 29–30, 2024, Kuala Lumpur,
                                Malaysia
                                * Corresponding Author

                                    k1067311368@163.com (P. T. Kang); feng09@163.com (T. Feng); nudt_gxm@163.com (X. M. Gao)
                                    0009-0004-6857-9351 (P. T. Kang); 0000-0001-9791-9694 (T. Feng); 0000-0002-4173-3740 (X. M. Gao)
                                           © 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).




CEUR
                  ceur-ws.org
Workshop      ISSN 1613-0073
Proceedings
       through network feedback signals, the paper effectively compares their strengths
       and weaknesses.
      We highlight the main challenges in mechanism design, delving into how intelligent
       algorithm and edge computing technologies could address issues like hosts
       collaboration, feedback delay, and inaccuracy.

   The structure of the paper unfolds as follows: Section 2 classifies and compares control
models, while Section 3 provides a summary of congestion detection. Section 4 delves into
the analysis of control algorithms, and Section 5 introduces the evaluation indicators.
Section 6 elucidates the main challenges faced in mechanism design. Section 7 discusses
potential future directions, and the paper concludes in Section 8.

2. Control model
Host-to-host congestion control models can be categorized based on the involvement of
switches into implicit feedback model and explicit feedback model. The implicit feedback
model operates without direct communication from switches, whereas the explicit feedback
model relies on direct signals or data from switches to manage congestion. This distinction
is vital for understanding the underlying mechanisms and effectiveness of each approach in
different network environments.

2.1. Implicit feedback model




Figure 1: Implicit feedback model

The implicit feedback model is shown as Figure 1. This model is fundamentally composed
of the sender and the receiver. The basic operation process can be outlined in the following
steps:
   1.   The sender initiates the process by transmitting packets at a predetermined rate.
   2.   Upon receiving these packets, the receiver generates ACKs (acknowledge packets).
   3.   The receiver then sends these ACKs back to the sender.
   4.   The sender, upon receiving the ACKs, analyzes them to extract the network state.
   5.   Based on the results of this congestion detection, the sender implements a control
        algorithm.
   6.   The sender adjusts its packet sending rate according to the outputs of the control
        algorithm.

   The emergence of the implicit feedback model can be traced back to post-1986
developments, driven by the early switches’ limitations in providing network status
information to terminals. This led to the development of various host-to-host congestion
control mechanisms based on this model, such as Tahoe [4], TCP Reno [5, 6], TCP NewReno
[7], TCP BBR [8], and referenced in [9-12].

2.2. Explicit feedback model




Figure 2: Explicit feedback model

As illustrated in Figure 2, the explicit feedback model is composed of three key components:
the sender, the switch, and the receiver. The operation process unfolds as follows:

   1.   The sender starts by transmitting packets at a predetermined rate.
   2.   As packets pass through, the switch embeds network status information into them.
   3.   The receiver, upon receiving enhanced packets, adds network status information
        into ACKs.
   4.   The receiver then sends these ACKs back to the sender.
   5.   The sender analyzes the ACKs to extract network status information.
   6.   Based on the congestion detection, the sender implements a specific control
        algorithm.
   7.   The sender adjusts its transmission rate according to the results of the control
        algorithm.

   The explicit feedback model gained prominence following the introduction of ECN
(Explicit Congestion Notification) in 2001, as per RFC 3168 [13]. This model has been
further developed and refined in various mechanisms, including DCQCN [11], HPCC [14] and
referenced in [15-21].

2.3. Comparative analysis
Through the above analysis, the implicit feedback model is characterized by its
straightforward structure, ease of implementation, and excellent scalability. However, it has
a limitation in collecting detailed network feedback, such as queue size and link utilization.
    The explicit feedback model enhances the implicit model by providing more detailed link
information, such as queue size and link utilization, for a deeper network understanding.
However, it has scalability and deployment challenges due to higher network device
capability requirements.

Table 1
Control Model Comparison
                     Model          Features, Advantages and Disadvantages
                                    No switch involvement;
                                    Ease of implementation;
            Implicit Feedback model
                                    Excellent scalability;
                                    Limited range of network feedback.
                                    Switch involvement;
            Explicit Feedback model More detailed link information;
                                    Poor deployment and scalability.
3. Congestion Detection
3.1. Network status collection
Network status collection is crucial for detecting congestion effectively. Here’s a summary
of the five primary methods for collecting network status information:

   1.   Using Packet Transmission Status: This basic method uses sent packets and received
        ACKs to calculate RTT (round-trip time), infer available bandwidth from ACK rates,
        and detect packet loss from ACKs. It’s simple, but limited in the data it can collect.
   2.   Using SDN Controller [22]: In SDN networks, the controller provides a full view,
        collecting data like queue size and delay from switches. For instance, TCCS
        mechanism [23] uses OpenFlow protocol to collect switch queue size for addressing
        TCP incast issues. However, larger networks and loads can affect the timeliness of
        data collection.
   3.   Using In-band Network Telemetry (INT) Technology [24]: The INT framework
        combines packet forwarding with network measurement for real-time, selective
        switch info collection. For example, HPCC [14] employs INT to gather bottleneck link
        utilization for precise control. The downside is increased communication bandwidth
        usage with link length.
   4.   Using the ECN Protocol [13]: ECN protocol facilitates active feedback collection from
        switches, like ECN marks. Mechanisms like DCTCP [25] use ECN-marked packets for
        active congestion control. Post-deployment dynamic control and flexibility are
        challenges of this method.
   5.   Using Cross-Layer Information: This approach involves collecting link status
        information from various layers during packet transmission. In cellular networks,
        methods like CQIC [26] and PBE [27] use physical layer data to measure link
        bandwidth and enhance performance. However, its applicability is limited to specific
        network types, affecting its versatility.

3.2. Congestion detection algorithms
Congestion detection algorithms categorize the network into congested and uncongested
states using network status information. The normalized representation can be described
as follows:

                                          true   condition1
                           fcongestion = 
                                          false  otherwise
                                                                                  (1)
                                         
   The condition1 denotes boundary conditions and its setting depends on the specific
network feedback information. Congestion detection algorithms can be categorized into
seven types based on the network status information they utilize.

3.2.1. Loss-Based detection algorithm
The Loss-Based detection algorithm uses packet loss as a key indicator of network
congestion. Packet loss is typically identified by observing duplicate ACKs. Notable Loss-
Based congestion detection mechanisms include TCP Tahoe [28], TCP Reno [29], and TCP
NewReno [7]. The formula for Loss-Based congestion detection [28] is:

                                       true   N ACKi ≥ 3
                        fcongestion = 
                                       false                                                       (2)
                                             otherwise
NACKi represents the number of times ACKi.

3.2.2. RTT-Based detection algorithm
The queue size measures network congestion, and RTT mirrors this by reflecting the time
from packet send to ACK receipt. RTT fluctuates due to network queuing, with its average
(𝑅𝑅𝑣𝑣𝑎𝑎𝑎𝑎 ) rising with queue size. The RTT range widens with network load 𝜌𝜌 (ratio of packet
arrival to departure rate), given as (−(1 − 𝜌𝜌) − 1𝛿𝛿𝑅𝑅𝑎𝑎𝑎𝑎𝑎𝑎 𝑡𝑡𝑡𝑡 (1 − 𝜌𝜌) − 1𝛿𝛿𝑅𝑅𝑎𝑎𝑎𝑎𝑎𝑎 ), where 𝛿𝛿 is
a window factor. Thus, RTT serves to evaluate network congestion. The RTT is calculated
using the following formula:
                                  R(tc ) = tc − ts − σ                                     (3)
   Here 𝑡𝑡𝑠𝑠 denotes the sending time of packet i, 𝑡𝑡𝑐𝑐 represents the time when the sender
receives ACKi, and 𝜎𝜎 stands for an error factor.
   There exist two types of congestion detection algorithms based on RTT:

   1. Instantaneous RTT-Based Congestion Detection
                                         true   R ≥ Thigh
                          fcongestion = 
                                         false                                         (4)
                                               otherwise
   𝑅𝑅 represents the most recent measured value of RTT, and 𝑇𝑇ℎ𝑖𝑖𝑖𝑖ℎ is a threshold factor.
There are congestion detection mechanisms grounded in instantaneous RTT, examples
being TIMELY [10] and Swift [30].

   2. Average RTT-Based Congestion Detection
                                                      true   RS ≥ Thigh
                RS = αRS + (1 − α )R , fcongestion = 
                                                      false                            (5)
                                                            otherwise
   Similar to the instantaneous RTT approach, 𝑅𝑅𝑆𝑆 denotes the estimated value of RTT [28],
the variable α represents a smoothing factor. Schemes based on average RTT include Vegas
[31] and FAST TCP [32], among others.

3.2.3. BDP-Based detection algorithm
In the congestion control pipeline model, Figure 3 illustrates the interrelationships among
RTT, delivery rate, and the amount of data in flight (i.e., data sent but not yet acknowledged)
[8]. The blue line represents the stage where the queue size is zero, the green line represents
the stage where the queue size grows, and the red line represents the stage where the
packets exceed the buffer capacity.




Figure 3: Delivery rate and RTT vs Inflight

   The Figure 3 shows that the optimal network transmission performance occurs where
the blue and green lines intersect, indicating the lowest RTT and highest delivery rate. In
the BDP-Based Detection Algorithm, the blue line’s region signifies no network congestion,
while other areas suggest congestion. The Bandwidth-Delay Product (BDP) is calculated as
the product of the minimum RTT and the maximum delivery rate, using statistical data for
these values. The formula for the minimum RTT [8] is given by:

                       Rα (t ) = min( R(t )),       ∀t ∈ [t − WR ,t ]                       (6)
   𝑅𝑅(𝑡𝑡) denotes the latest measured RTT, and 𝑊𝑊𝑅𝑅 represents a window factor.
   The formula for calculating the maximum delivery rate [8] is:

                       B(t ) = max( Rd (t )),       ∀t ∈ [t − WB , t ]                       (7)
   𝑅𝑅𝑑𝑑 (𝑡𝑡) = 𝑁𝑁𝑑𝑑 /∆𝑡𝑡, where 𝑁𝑁𝑑𝑑 is the number of ACKs received during ∆𝑡𝑡. 𝑊𝑊𝐵𝐵 is a window
factor.
   In accordance with the definition of BDP, the BDP-Based congestion detection formula is:

                                            true   N flight ≥ Rα ⋅ B
                             fcongestion = 
                                            false                                          (8)
                                                  otherwise
   𝑁𝑁𝑓𝑓𝑓𝑓𝑓𝑓ℎ𝑡𝑡 represents the amount of data in flight, 𝑅𝑅𝑎𝑎 is the minimum RTT, and 𝐵𝐵 is the
maximum delivery rate. BDP-Based congestion detection mechanisms, such as BBR [8] and
BBR-ACD [33], leverage these principles for effective congestion control.

3.2.4. ECN-Based detection algorithm
ECN is a mechanism that uses the last two bits of the DSCP (Differentiated Services Code
Point) field in the IP header to signal congestion. When a switch’s queue size exceeds a set
threshold, it marks subsequent packets with ECN. Upon receiving an ECN-marked packet,
the receiver generates a Congestion Notification Packet (CNP) and forwards it to the sender.
This process allows the detection of network congestion, and the formula is as follows:

                                          true   getCNP = true
                           fcongestion = 
                                          false  otherwise
                                                                                  (9)
                                         
   ECN-Based congestion detection mechanisms, such as DCTCP [25] and D2TCP [34],
utilize these principles to effectively detect and respond to network congestion.

3.2.5. Link-Utilization-Based detection algorithm
In the context of network congestion, link utilization serves as a direct indicator of the
congestion level. The congestion detection formula based on link utilization is expressed as:

                                           true     Rsum / C ≥ ϕ
                            fcongestion = 
                                           false   otherwise                              (10)
                                          
   𝑅𝑅𝑠𝑠𝑢𝑢𝑢𝑢 represents the total traffic of the bottleneck link, 𝐶𝐶 represents the bandwidth of
the bottleneck link, and 𝜑𝜑 is a threshold factor. Link-Utilization-Based congestion
detection mechanisms, such as HPCC [14] and EagerCC [35], leverage these principles to
effectively identify and respond to network congestion based on link utilization metrics.
3.2.6. Equation-Based detection algorithm
Equation-based congestion detection evaluates network state by constructing a utility
function. The formula based on equations is expressed as:

                                        true F( x1 , x2 ,..., xN ) ≥ Thigh
                        fcongestion =                                                        (11)
                                        false otherwise
   𝐹𝐹 represents the utility function. 𝑥𝑥1 , 𝑥𝑥2 𝑎𝑎𝑎𝑎𝑎𝑎 𝑥𝑥𝑁𝑁 represent network status. 𝑇𝑇ℎ𝑖𝑖𝑖𝑖ℎ is a
threshold factor. Equation-based congestion detection mechanisms allow for customizable
design to fit specific requirements. For instance, the network performance-oriented
congestion control framework [36] assesses network status by constructing a utility
function based on throughput, loss rate, and delay.

3.2.7. Composite-Approach-Based detection algorithm
Practical congestion control mechanisms often employ a combination of algorithms. The
congestion detection formula based on composite approach is expressed as:

                                     true   f1 = true or f2 = true
                     fcongestion =  false otherwise                               (12)
                                    
  𝑓𝑓1 and 𝑓𝑓2 represent the results of certain detection algorithms. Composite-Approach-
Based Detection mechanisms leverage these principles to combining the advantages of
multiple detection methods. For example, TCP Africa [37] integrates both loss-based and
RTT-based algorithms for effective congestion detection.

3.2.8. Comparative analysis

       Loss-Based Detection Algorithm: The Loss-Based detection algorithm operates on a
        simple principle and can be implemented in the implicit feedback model. It
        effectively determines network congestion, serving as the fundamental detection
        algorithm for TCP. However, it lacks the ability to differentiate between packet loss
        due to damage and congestion, performing poorly in high-error-rate networks like
        wireless networks. It exhibits low sensitivity in low congestion levels, leading to
        potential buffer overflow issues.
       RTT-Based Detection Algorithm: The RTT-Based detection algorithm is
        implementable in the implicit feedback model, allowing the adaptation of congestion
        detection thresholds to different environments. Yet, its accuracy is influenced by the
        randomness of RTT, and it suffers from a feedback time delay problem. As
        congestion intensifies, the RTT feedback duration increases, resulting in delayed
        congestion control.
       BDP-Based Detection Algorithm: Implementable in the implicit feedback model, the
        BDP-Based detection algorithm is insensitive to packet loss, avoiding misjudgments
        caused by damage-related losses in the Loss-Based detection. It effectively
        determines worsening congestion based on RTT sensitivity. However, it heavily
      relies on RTT and has a long detection period, leading to poor performance in highly
      dynamic environments, such as wireless networks.
     ECN-Based and Link-Utilization-Based Detection Algorithms: Both ECN-Based and
      Link-Utilization-Based detection algorithms can only be implemented in the explicit
      feedback model. They accurately determine network congestion and proactively
      control congestion through factor settings. However, they require network devices
      to support corresponding protocols, resulting in poor scalability.
     Equation-Based and Composite-Approach-Based Detection Algorithms: The
      Equation-Based detection algorithm establishes a mapping between network status
      information and congestion using complex functions, offering fine granularity. The
      Composite-Approach-Based detection algorithm combines the advantages of
      multiple detection methods to improve adaptability. However, these algorithms
      have high complexity, and their performance is challenging to guarantee in dynamic
      environments.

Table 2
Comparison of Major Congestion Detection Algorithms
      Algorithm                Advantages                       Disadvantages
                                                       Misjudgment during packet loss;
      Loss-Based             Simple structure.
                                                          Buffer overflow problems.
                            Simple structure;
                                                        Limited accuracy due to delay;
      RTT-Based            Adaptive congestion
                                                          Feedback delay problem.
                               thresholds.
                                                           Heavy reliance on RTT;
                            Simple structure;
                                                           Long detection period;
      BDP-Based        Avoiding misjudgments from
                                                        Poor performance in dynamic
                               Loss-Based.
                                                               environments.
   ECN-Based and          Accurate congestion
                                                             Complex structure;
   Link-Utilization-            detection;
                                                              Poor scalability.
        Based           Active congestion control.
                                                              High complexity;
                        Flexible design approach;
   Equation-Based                                          Unstable performance in
                            Fine granularity.
                                                           dynamic environments.
                                                              High complexity;
     Composite-         Combining the advantages
                                                           Unstable performance in
   Approach-Based        of multiple approaches.
                                                           dynamic environments.
4. Control Algorithm
The control algorithm computes the new sending rate based on congestion detection. The
basic strategy is to decrease the sending rate when congestion occurs and increase the
sending rate when there is no congestion. Its normalized representation is
                                  R ⋅ A − B         fcongestion = true
                           Rnew = RC ⋅ C + D        fcongestion = false                    (13)
                                   C                         ,
    𝑅𝑅𝑛𝑛𝑒𝑒𝑒𝑒 represents the new sending rate. 𝑅𝑅𝑐𝑐 represents the current sending rate. 𝐴𝐴, 𝐵𝐵, 𝐶𝐶
and 𝐷𝐷 are the control parameters whose values depend on the network feedback
information. It should be noted that there is a corresponding linear relationship between
the sending rate and the congestion window, and that adjusting the congestion window can
be converted equivalently to adjusting the sending rate. According to the network feedback
information and calculation rules, six typical control algorithms are selected to be analysed
in this section.

4.1. Loss-Based control algorithm: TCP Reno [38]
4.1.1. Overview of the algorithm
The TCP Reno algorithm encompasses several key components, including the slow start,
congestion avoidance, timeout retransmit, fast retransmit, and fast recovery algorithms.

   1. Slow start algorithm
   When the congestion window (cwnd) is less than the slow-start threshold (ssthtesh), and
a new ACK is received, cwnd is incremented by 1 (in MSS, Maximum Segment Size units).

   2. Congestion avoidance algorithm
   When cwnd ≥ ssthtesh, upon receiving a new ACK, cwnd=cwnd+1/cwnd.

   3. Timeout retransmission algorithm
   If RTT>RTO (the retransmission timeout), ssthtesh=max(2, cwnd/2), and cwnd=1,
entering the slow-start state.

   4. Fast retransmit algorithm
    Upon receiving 3 duplicate ACKs, ssthtesh=max(2, cwnd/2), and cwnd=cwnd/2. This
triggers the fast recovery state.

   5. Fast recovery algorithm
   In response to duplicate ACKs, cwnd=cwnd+1; upon receiving a new ACK, cwnd=ssthresh,
transitioning into the congestion avoidance state.

4.1.2 Fluid model
                                            0,        q(t) ≤ Kmin
                               
                        p(t) =  pmax ⋅ (q(t) − Kmin ), Kmin < q(t) ≤ K max                 (14)
                                           1,        q(t) > Kmax
                                       dq   N
                                          = ∑ Ri(t) − C                                     (15)
                                       dt i =1
                                                      Wi (t )
                                         Ri (t ) =                                                 (16)
                                                       τi
                                                   q(t )
                                      τ i (t ) =            i
                                                         + Dprop                                   (17)
                                                    C
                                  dWi (t )     1      W (t )
                                           =         − i Ri (t ) p(t )                             (18)
                                   dt        τi (t )   2

Table 3
TCP Reno Model Equation Parameters
          𝑝𝑝      Packet loss probability        𝐶𝐶                 Bandwidth of bottleneck link
       𝐾𝐾𝑚𝑚𝑖𝑖𝑖𝑖       Low threshold             𝑅𝑅𝑖𝑖                   Sending rate of flow i
       𝐾𝐾𝑚𝑚𝑎𝑎𝑎𝑎       High threshold             𝜏𝜏𝑖𝑖                    Round-trip time
                                                𝑖𝑖
       𝑃𝑃𝑚𝑚𝑎𝑎𝑎𝑎     Probability factor        𝐷𝐷𝑝𝑝𝑟𝑟𝑟𝑟𝑟𝑟                 Propagation time
          𝑞𝑞    Queue size of bottleneck link   𝑊𝑊𝑖𝑖                  Congestion window size
4.1.3 Algorithm analysis
   1. Stability and Proof
   If the algorithm is stable, there must be a point where the sending rate of all flows
                                   𝑑𝑑𝑊𝑊𝑖𝑖
remains constant. Assuming                = 0, the equations at the stable point can be derived as
                                    𝑑𝑑𝑑𝑑
follows:

                                           2 = Wi 2 ⋅ p
                                           N W
                                                                                                  (19)
                                           ∑    τ
                                                     i
                                                       =C
                                           i =1   i

   The equations with two unknowns have a unique solution. Furthermore, the unique
solution satisfies𝑊𝑊1 = 𝑊𝑊2 = ⋯ = 𝑊𝑊𝑁𝑁 , indicating the stability of the TCP Reno algorithm.

   2. Unfairness and Proof
    Assuming flow A and B share the same path, with 𝑊𝑊𝐴𝐴 (𝑡𝑡) > 𝑊𝑊𝐵𝐵 (𝑡𝑡), let 𝑓𝑓(𝑡𝑡) = 𝑊𝑊𝐴𝐴 (𝑡𝑡) −
𝑊𝑊𝐵𝐵 (𝑡𝑡). Utilizing equation (18), we can derive:

                         dWA (t ) − dWB (t ) p(t)
                     f ' (t ) =             =         (WB2 (t ) − WA2 (t )) < 0          (20)
                                 dt           2τ (t )
   The decreasing function 𝑓𝑓(𝑡𝑡) leads to equal congestion windows 𝑊𝑊1 = 𝑊𝑊2 = ⋯ = 𝑊𝑊𝑁𝑁
across flows, showing algorithm convergence. However, because 𝑅𝑅𝑖𝑖 (𝑡𝑡) = 𝑊𝑊𝑖𝑖 (𝑡𝑡)/𝜏𝜏𝑖𝑖 , the
algorithm does not ensure fair bandwidth sharing, lacking inherent fairness.

4.2. RTT-Based control algorithm: Patched TIMELY [39]
4.2.1. Overview of the algorithm
Patched TIMELY algorithm consists of two parts: RTT algorithm and rate algorithm.

   1. RTT algorithm
                                                 seg.size
                                    RTT = tc − ts −                                       (21)
                                                NICrate
    𝑡𝑡𝑠𝑠 refers to the time when packet 𝑖𝑖 is sent, and 𝑡𝑡𝑐𝑐 indicates the time when the 𝐴𝐴𝐶𝐶𝐶𝐶𝑖𝑖
is received. NICrate denotes the bandwidth capacity of the Network Interface Card (NIC),
while seg.size represents the size of an individual data burst.

   2. Rate algorithm

                R + δ                                              newRTT < Tlow
                
           R = R ⋅ (1 − β ⋅ (1 − Thigh / newRTT ))                  newRTT > Thigh       (22)
                
                δ ⋅ (1 − weight ) + R  ⋅ (1 − β ⋅ error ⋅ weight )  otherwise
   𝑛𝑛𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 represents the newly measured round-trip time. The 𝛿𝛿 acts as a step modifier
in the algorithm. 𝑇𝑇𝑙𝑙𝑜𝑜𝑜𝑜 and 𝑇𝑇ℎ𝑖𝑖𝑖𝑖ℎ are critical threshold factors that guide the rate
adjustment. Additionally, error and weight function as regulatory factors in this context. The
algorithm employs specific formulas, incorporating 𝛼𝛼 and 𝜏𝜏 ∗ as further regulatory
elements.

           newRTT − Tlow
    error =               ,   g = r(t ) / DminRTT ,                r(t ) = (1 − α )r(t − τ *) + α∆RTT ,
                 Tlow
                         g ≤ −0.25                                                                        (23)
             0
             
    weight = 2 g + 0.5 − 0.25 < g < 0.25 .
             1
                       g ≥ 0.25

4.2.2. Fluid model
                                         dq    N
                                            = ∑ Ri (t) − C                                                (24)
                                         dt   i =1

                      δ
                                                                    q(t − τ') < C ⋅ Tlow
                       τ*         C ⋅ Thigh
                 dRi  β
                    = − (1 −                )Ri(t)                  q(t − τ') > C ⋅ Thigh                (25)
                  dt  τ*          q(t − τ')
                       (1 − wi )δ − βwi Ri(t) q(τ − τ') − C ⋅ Τ low   otherwise
                      
                       τ*               τ*          C ⋅ Tlow

                                                  q
                                           τ' =     + Dprop                                               (26)
                                                  C
                        dgi   α                q(t − τ') − q(t − τ' − τ*)
                            =    ( − gi (t ) +                            )                               (27)
                        dt    τ*                      C ⋅ DminRTT

                                0
                                                    gi ≤ −0.25
                           wi = 2 gi + 0.5           − 0.25 < gi < 0.25                                  (28)
                                1
                                                    gi ≥ 0.25

                                                   seg
                                   τ* = max{           ,DminRTT }                                         (29)
                                                   Ri


Table 4
Patched TIMELY Model Equation Parameters
     𝑅𝑅𝑖𝑖 Sending rate of flow 𝑖𝑖           𝐶𝐶                 Bandwidth of 13 ottleneck link
     𝑔𝑔𝑖𝑖 RTT gradient of flow i            𝛽𝛽                 Multiplicative decrease factor
      𝑞𝑞 Queue size of the bottleneck       𝛿𝛿                 Additive increase step
      𝑡𝑡 Time                            𝑇𝑇𝑙𝑙𝑜𝑜𝑜𝑜              Low threshold
     𝜏𝜏 ∗ Rate update interval          𝑇𝑇ℎ𝑖𝑖𝑖𝑖ℎ               High threshold
     𝜏𝜏 ′ Round-trip time             𝐷𝐷𝑚𝑚𝑚𝑚𝑚𝑚𝑅𝑅𝑀𝑀𝑀𝑀           Minimum RTT for normalization
     𝑁𝑁 Number of flows at bottleneck   𝐷𝐷𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝             Propagation time
      𝛼𝛼 EWMA smoothing factor            𝑠𝑠𝑠𝑠𝑠𝑠               Burst size
     𝑤𝑤 EWMA smoothing factor            𝑀𝑀𝑀𝑀𝑀𝑀                Maximum Transmission Unit
4.2.3. Algorithm analysis
     1. Stability and Proof
  Considering the characteristics of a constant transmission rate and a stable queue size at
equilibrium, setting equation (24, 25) to zero leads to the following conclusion:

                                            C
                                       Ri = N
                                        * NδCTlow                                               (30)
                                       q =        + CTlow
                                              βC
     The unique solution implies that the algorithm demonstrates stability.

     2. Fairness and Proof
    In the scenario where flows A and B share a bottleneck link, with 𝑅𝑅𝐴𝐴 (𝑡𝑡) > 𝑅𝑅𝐵𝐵 (𝑡𝑡) and
𝐶𝐶 𝑇𝑇𝑙𝑙𝑜𝑜𝑜𝑜 < 𝑞𝑞𝑞𝑞 < 𝐶𝐶 ∗ 𝑇𝑇ℎ𝑖𝑖𝑖𝑖ℎ , The derivative of 𝑓𝑓(𝑡𝑡) = 𝑅𝑅𝐴𝐴 (𝑡𝑡) − 𝑅𝑅𝐵𝐵 (𝑡𝑡) is:
 ∗


                               dRA − dRB βwi q(t) − C ⋅ Τ low
                   f ' (t) =            =                     (RB(t) − RA(t))                    (31)
                                  dt      τ*    C ⋅ Tlow
   When 𝑅𝑅𝐴𝐴 (𝑡𝑡) > 𝑅𝑅𝐵𝐵 (𝑡𝑡) , the function 𝑓𝑓(𝑡𝑡) decreases until 𝑅𝑅𝐴𝐴 (𝑡𝑡) = 𝑅𝑅𝐵𝐵 (𝑡𝑡) , leading to
convergence. This ensures fair bandwidth sharing among flows in the Patched TIMELY
algorithm model, reflecting its fairness characteristic.

4.3 BDP-Based control algorithm: TCP BBR [8]
4.3.1 Overview of the algorithm
TCP BBR consists of four main algorithms: Start-up, Drain, ProbeBW, and ProbeRTT. For an
in-depth understanding of the round-trip propagation time (𝐷𝐷𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 ) and the methods used
to measure the bottleneck bandwidth (BW), one should refer to Section 3.2.3.

     1. Start-up algorithm
   Start-up phase fills the network pipe and transitions to Drain when the bandwidth
estimate stabilizes (no more than 1.25x increase over three assessments). During this phase,
the sending rate (R) and congestion window (cwnd) are calculated with the following
considerations:

                      2                                        2
                 R(t ) =  ⋅ BW (t ),           cwnd(t ) =          ⋅ BW (t ) ⋅ Dprop (t )           (32)
                     ln 2                                     ln 2
   2. Drain algorithm
    In Drain, once the inflight data falls beneath the BDP threshold, the algorithm transitions
to the ProbeBW state. In this state, the calculations for rate and congestion window are as
follows:

                   ln 2                                        2
                 R(t ) =⋅ BW (t ),             cwnd(t ) =          ⋅ BW (t ) ⋅ Dprop (t )           (33)
                     2                                        ln 2
   3. ProbeBW algorithm
   ProbeBW algorithm regularly evaluates the bottleneck link’s bandwidth, typically every
8 round-trip propagation times. If 𝐷𝐷𝑝𝑝𝑟𝑟𝑟𝑟𝑟𝑟 increases within a 10-second window, the
algorithm moves to the ProbeRTT state. In ProbeBW, the rate and congestion window are
calculated as follows:

                    R(t ) = Rgain ⋅ BW (t )        Rgain = [1.25,0.75,1,1,1,1,1,1] ,
                                                                                                    (34)
                    cwnd(t ) = 2 ⋅ BW (t ) ⋅ Dprop (t )
   4. ProbeRTT algorithm
    The ProbeRTT algorithm runs for a maximum of 200 milliseconds before transitioning.
It switches back to Start-up or ProbeBW based on network load. During this state, the
algorithm calculates rate and congestion window as follows:

                             R(t ) = BW (t ),        cwnd(t ) = 4( MSS)                             (35)
4.3.2 Fluid model
                                        dq    N
                                           = ∑ Ri (t) − C                                           (36)
                                        dt   i =1

                                                   q(t )    i
                                       Ti (t ) =         + Dprop                                    (37)
                                                    C
                      0.03                                             N
                                        i
                      Di Ri (t − Dprop )                              ∑
                                                                       i =1
                                                                                       i
                                                                            Ri (t − Dprop )0        (38)
             dt      
                               i             i
                            CDpropT (t − Dprop )
                     
                     
                     0                                                      otherwise

Table 5
TCP BBR Model Equation Parameters
         𝒒𝒒 Queue size of bottleneck link                     𝑻𝑻𝒊𝒊      Round-trip time of flow i
           𝑪𝑪    Bandwidth of bottleneck link 𝑫𝑫𝒊𝒊𝒑𝒑𝒑𝒑𝒑𝒑𝒑𝒑         Propagation time of flow i
          𝑹𝑹𝒊𝒊       Sending rate of flow i
4.3.3 Algorithm analysis
   1. Stability and Proof
   Setting equation (38) to zero yields a specific result:

                                  N
                                  ∑ Ri (t ) = C
                                   i =1                                              (39)
                                  
                                   q (t ) = 0
  The result shows that the equations have multiple solutions, indicating that TCP BBR has
numerous stable points and confirming its inherent stability.

   2. Unfairness and Proof

   Given 𝑅𝑅𝐴𝐴 (𝑡𝑡) > 𝑅𝑅𝐵𝐵 (𝑡𝑡) for flows A and B on the same path, the following observation can
be made:

                                        0.03 ( R (t ) − R (t )) > 0
                 d(RA (t ) − RB (t ))  Dprop
                                           i      A        B

                                     =  q(t − Di ) − q(t )                                     (40)
                         dt                     prop
                                                             ( RA (t ) − RB (t )) > 0
                                                i
                                           CD propT (t )

   This leads to the conclusion that the rate difference between flows A and B is growing,
suggesting that flow A continues to dominate bandwidth at the bottleneck. This behavior
indicates a lack of fairness in the algorithm.

4.4. ECN-Based control algorithm: DCQCN [11]
4.4.1. Overview of the algorithm
DCQCN consists of switch, receiver and sender algorithms.

   1. Switch algorithm
                                         0               q(t ) ≤ Kmin
                                q(t ) − Kmin
                       p(t ) =                Pmax       Kmin < q(t ) ≤ K max                  (41)
                                 Kmax − Kmin
                                        1               q(t ) > Kmax
  Here 𝑝𝑝 represents the marking probability. 𝐾𝐾𝑚𝑚𝑖𝑖𝑖𝑖 and 𝐾𝐾𝑚𝑚𝑎𝑎𝑎𝑎 define the minimum
and maximum thresholds, respectively, and 𝑃𝑃𝑚𝑚𝑎𝑎𝑎𝑎 denotes the maximum probability limit.

   2. Receiver algorithm
   After receiving an ECN-marked packet, the receiver sends a CNP. Maximum one CNP can
be sent per N microseconds.
   3. Sender algorithm
   The sender algorithm primarily governs the packet transmission rate (𝑅𝑅𝐶𝐶 ) utilizing
factors such as α (initial value is 1), 𝜏𝜏 ′ , 𝑅𝑅𝑇𝑇 , 𝐹𝐹, Timer 𝑁𝑁𝑇𝑇 , and Byte counter𝑁𝑁𝐵𝐵𝐶𝐶 . When the
sender receives a CNP,

                  RT = RC ,        RC = RC (1 − α / 2),           α = (1 − g )α + g               (42)
                                   ′
   If sender gets no CNP for𝜏𝜏 ,

                                           α = (1 − g )α                                          (43)
   If no CNP is received and max(NT, NBC) ≤ F occurs,

                                          RC = ( RT + RC ) / 2                                    (44)
   If no CNP is received and min(NT, NBC) > F occurs,

               RT = RT + iRAI           i = NT or N BC ,          RC = ( RC + RT ) / 2            (45)
   In other cases,

                          RT = RT + RAI ,            RC = ( RC + RT ) / 2                          (46)
4.4.2. Fluid model
                                           0            q(t) ≤ Kmin
                                   q(t) − Kmin
                           p(t) =               pmax    Kmin < q(t) ≤ K max                      (47)
                                    Kmax − Kmin
                                          1            q(t) > Kmax
                                          dq       N
                                              = ∑ Ri (t) − C                                      (48)
                                          dt      i =1

                    dα(i)     g                           τ'R(i) (t −τ* )
                           = ((1 − (1 − p(t − τ * )) C                    ) − α(i) (t ))          (49)
                     dt      τ'
                   dRC(i)      R(i)(t)α(i)(t)                                    (i)
                          =− C                 (1 − (1 − p(t − τ*))τRC (t −τ*) )
                    dt               2τ
                            RT(i)(t) − RC(i)(t) RC(i)(t − τ*)p(t − τ*)
                       +                                                                          (50)
                                     2          (1 − p(t − τ*)) − B − 1
                              (i)        (i)
                            RT (t) − RC (t)         RC(i)(t − τ*)p(t − τ*)
                       +                                                     (i)
                                     2          (1 − p(t − τ*)) −TRC (t −τ*) − 1
              dRT(i)   R(i)(t) − RC(i )(t)                           (i)
                     =− T                  (1 − (1 − p(t − τ*))τRC (t −τ*) )
               dt              τ
                           (i)          (1 − p(t − τ*)) FB p(t − τ*)
                  + RAI RC (t − τ*)                                                               (51)
                                           (1 − p(t − τ*)) − B − 1
                                                            (i)
                                        (1 − p(t − τ*)) FTRC (t −τ*) p(t − τ*)
                  + RAI RC(i)(t − τ*)                            (i)
                                           (1 − p(t − τ*)) −TRC (t −τ*) − 1

Table 6
DCQCN Model Equation Parameters
       𝑹𝑹𝑪𝑪  Current rate                                              𝑵𝑵              Number of flows at bottleneck
           𝑹𝑹𝑻𝑻        Target rate                     𝑪𝑪                              Bandwidth of bottlenck link
            𝜶𝜶         Decrease factor                 𝑭𝑭                              Fast recovery steps
            𝒒𝒒         Queue size of bottleneck link 𝑩𝑩                                Byte counter for rate increase
            𝒕𝒕         Time                            𝑻𝑻                              Timer for rate increase
         𝑲𝑲𝒎𝒎𝒎𝒎𝒎𝒎      Low threshold                 𝑹𝑹𝑨𝑨𝑨𝑨                            Rate increase step
         𝑲𝑲𝒎𝒎𝒂𝒂𝒂𝒂      High threshold                  𝝉𝝉                              CNP generation timer
         𝑷𝑷𝒎𝒎𝒎𝒎𝒎𝒎      Probability factor             𝝉𝝉∗                              Control loop delay
            𝒈𝒈         Decrease factor                𝝉𝝉′                              Update Interval of α
4.4.3. Algorithm analysis
   1. Stability and Proof
   Initially, if the bandwidth is underutilized, the sending rate increases. If it surpasses the
bottleneck capacity, congestion occurs, and the sending rate decreases. Therefore, at the
stable point, the bottleneck link bandwidth must be fully occupied and the queue size will
remain constant. Assuming the queue size at stable time is 𝑞𝑞 ∗, the following equations can
be obtained.

                      N (i)
                     ∑ RC (t) = C
                       i =1
                     
                             q * − Kmin
                      p* =                Pmax                                                                                 (52)
                           Kmax − Kmin
                      dα = 0 , dRT = 0 , dRC = 0
                      dt
                                   dt          dt
   Combining equation (49-51), we see that

                                                             a 2α ( i )*
                                        RC( i ) =                                                                               (53)
                                                    τ 2 RAI (b + c )(d + e)
   Here 𝛼𝛼 (𝑖𝑖)∗ , a, b, c, d, e is denoted as follows:
                                                                          * −B  −1 *
         α ( i )∗ = 1 − (1 − p* )τ ’R , a = 1 − (1 − p* )τR , b = ((1 − p ) − 1) p ,
                                        (i)                                      (i)
                                        C                                        C



                                                          * −B   −1     * FB *
                   c = ((1 − p* )−TR − 1)−1 p* d = ((1 − p ) − 1) (1 − p ) p
                                      (i)
                                      C                                                                                        (54)
                                                       ,                                                   ,
                                                       (i)                                  (i)
                             e = ((1 − p * )−TRC − 1)−1(1 − p * )FTRC p * .
                              a 2α ( i )*
         f ( p* ) =
   Let                τ 2 RAI (b + c )(d + e) . When 𝑅𝑅
                                                                𝐶𝐶 (𝑖𝑖) > 0, 𝑓𝑓(0) = 0 and              𝑓𝑓(1) → +∞. According to
                                                                                                                 *     ( i )*
the continuity principle, when 𝑅𝑅𝐶𝐶 (𝑖𝑖) > 0, there exists 𝑝𝑝                       ∗
                                                                                                  such that f ( p ) = RC . Since all
                                              ( 1 )*       ( 2 )*       ( N )*
flows share 𝑝𝑝∗ , it follows that RC = RC = ⋅ ⋅ ⋅ = RC = C / N .
   Based on the above analysis, the DCQCN algorithm has a unique stable point, where all
flows have equal sending rates. Therefore, the DCQCN algorithm is stable.
    2. Fairness and Proof
    The DCQCN algorithm’s fairness isn’t directly discernible from equation (51) due to the
interplay between RC and RT. To prove fairness, the paper uses a discrete method,
examining RC changes between CNPs. Here, we first prove two theorems.
    Theorem 1. In DCQCN algorithm, the smaller the sending rate of flow i is, the more
additive growth occurs between adjacent CNPs.
    Proof of Theorem 1. The switch algorithm estimates a flow collects CNPs at a rate of
p*RC*∆t. When a CNP is collected, the average packet sending rate is 1/p packets. This
means that the sending rates of adjacent CNPs for each flow are the same. DCQCN controls
this rate via a timer and byte counter. For equal data sent, the increment of the byte counter
is the same, but the timer increments more with smaller sending rates. Therefore, for flows
with smaller sending rates, the additive growth between adjacent CNPs occurs more
frequently.
    Theorem 2. In DCQCN algorithm, 𝛼𝛼 𝑖𝑖 (𝑡𝑡) is a converging function.
    Proof of Theorem 2. If the time interval between adjacent CNPs of flow i is ∆t, then

                     α ( i ) (t + ∆t ) = (1 − g)∆t / τ ' ((1 − g)α ( i ) (t ) + g) < (1 − g)1+ ∆t / τ ' α ( i ) (t ) < α ( i ) (t )   (55)
       The function 𝛼𝛼 𝑖𝑖 (𝑡𝑡) is monotonically decreasing. Given that 𝛼𝛼 𝑖𝑖 (𝑡𝑡) > 0 and 00. By induction, 𝛼𝛼 𝑖𝑖 (𝑡𝑡) >0 for all t>0. As 𝛼𝛼 𝑖𝑖 (𝑡𝑡) is monotonically
decreasing with an upper bound, it must converge.
       Below, we study the changes between adjacent CNPs. Let the receiving times of adjacent
CNPs be t and t+∆t, besides, the rate decreases at 𝑡𝑡 + 𝛿𝛿(𝛿𝛿 → 0) and then experiences
additive growth for 𝑁𝑁(𝑖𝑖) times.
       Let 𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡 + 𝛿𝛿) = (1 − 2−1 𝛼𝛼 (𝑖𝑖) (𝑡𝑡)𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡) and 𝛼𝛼 𝑖𝑖 (𝑡𝑡) = 𝛼𝛼 ∗ (𝛼𝛼 ∗ > 0), according to the
DCQCN algorithm and Theorem 2, we get that when the rate increase occurs 0 times,
𝑅𝑅 𝑇𝑇 (𝑖𝑖) [0] = 𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡), 𝑅𝑅𝐶𝐶 (𝑖𝑖) [0] = 𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡 + 𝛿𝛿), ∆𝑅𝑅 = 𝑅𝑅𝐶𝐶 (𝑖𝑖) [0] − 𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡) = −2−1 𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡)𝛼𝛼 ∗ .By
induction, we can obtain that at t+∆t, after N(i) growth times, ∆𝑅𝑅 = �1 − 2−𝑁𝑁(𝑖𝑖) �𝑅𝑅𝐴𝐴𝐴𝐴 −
2−𝑁𝑁(𝑖𝑖)−1 𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡)𝛼𝛼 ∗ .
     Assuming the number of rate increases between adjacent CNPs at the stable point
            𝐶𝐶
𝑅𝑅𝐶𝐶 (𝑡𝑡) = , ∆𝑅𝑅 = 0 is 𝑁𝑁(𝑘𝑘). According to Theorem 1, if 𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡) > 𝐶𝐶/𝑁𝑁 for flow i, 𝑁𝑁(𝑖𝑖) <
            𝑁𝑁
𝑁𝑁(𝑘𝑘) . We can get that ∆𝑅𝑅(𝑖𝑖) = �1 − 2−𝑁𝑁(𝑖𝑖) �𝑅𝑅𝐴𝐴𝐴𝐴 −2−𝑁𝑁(𝑖𝑖)−1 𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡)𝛼𝛼 ∗ < ∆𝑅𝑅(𝑘𝑘) = 0 . So
𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡) will converge to the stable point where𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡) = 𝐶𝐶/𝑁𝑁. When 𝑅𝑅𝐶𝐶 (𝑖𝑖) (𝑡𝑡) < 𝐶𝐶/𝑁𝑁, the
proof method is the same.
      In summary, in the DCQCN algorithm, all flows will share the bottleneck bandwidth. So
the algorithm is fair.

4.5. Link-Utilization-Based control algorithm: HPCC [14]
4.5.1. Overview of the algorithm
HPCC consists of bottleneck link utilization and congestion window algorithms.
    1. Bottlenck link utilization algorithm
                                              U = max(U j )
                                  q j + txRate j × T               qj            txRate j
                           Uj =                              =               +
                                       C ×T                      C ×T               C                          (56)
                                          ack1.txBytes j − ack0 .txBytes j
                             txRate j =
                                                   ack1.ts j − ack0 .ts j
   U represents the bottleneck link utilization, 𝑎𝑎𝑐𝑐𝑐𝑐1 and 𝑎𝑎𝑐𝑐𝑐𝑐0 are two ACKs, T denotes
the minimun RTT. For link 𝑗𝑗, 𝑈𝑈𝐽𝐽 , 𝑞𝑞𝑗𝑗 , 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑗𝑗 , 𝑎𝑎𝑎𝑎𝑎𝑎. 𝑡𝑡𝑡𝑡𝑗𝑗 and 𝐶𝐶 represent the bandwidth
utilization, queue size, sending rate, sending data volume, timestamp and bandwidth,
respectively.
   2. Congestion window algorithm
                                                W
                                             W=     + WAI                                                      (57)
                                               U /η
   𝑊𝑊𝐴𝐴𝐼𝐼   is a step factor, and η is generally set to 0.95.

4.5.2. Fluid model
                                                          Wa(t)
                                          Ra(t) =                                                               (58)
                                                           τ
                                                       1
                                          U j (t ) =
                                                       C
                                                         ∑i Ri(t)                                               (59)
                              dWa (t )      η           W (t − τ ) WAI
                                       =( j         − 1) a        +                                             (60)
                               dt        U (t − τ )        τ        τ

Table 7
HPCC Model Equation Parameters
       𝑹𝑹𝒂𝒂 Sending rate of flow a                                      𝒊𝒊       flow at bottleneck link j
            𝑾𝑾𝒂𝒂   Congestion window size of flow a 𝑹𝑹𝒊𝒊                         Sending rate of flow i
             𝝉𝝉    Control loop delay                𝜼𝜼                          Threshold
             𝒋𝒋    Bottlenck link of flow a          𝑪𝑪                          Bandwidth of bottlenck link
            𝑼𝑼𝒋𝒋   the utilization of link j        𝑾𝑾𝑨𝑨𝑨𝑨                       Additive increase step
4.5.3. Algorithm analysis
   1. Stability and Proof
   Let the left side of equation (58) be zero, then

                                                       U j (t − τ )WAI
                                          Wa (t ) =                                                            (61)
                                                       U j (t − τ ) − η
   For any 𝑈𝑈𝑗𝑗 (𝑡𝑡−𝜏𝜏) , 𝑊𝑊𝑎𝑎 (𝑡𝑡) has a unique solution, so the algorithm is stable.

   2. Unfairness and Proof
     Assuming the algorithm is fair, for flows with different initial rates, the rate difference
between them will decrease over time. If flows A and B have the same path and 𝑊𝑊𝒂𝒂 (𝑡𝑡) >
𝑊𝑊𝐵𝐵 (𝑡𝑡), 𝑈𝑈𝑗𝑗 𝑡𝑡 < 𝜼𝜼. Let 𝑓𝑓(𝑡𝑡) = 𝑊𝑊𝒂𝒂 (𝑡𝑡) > 𝑊𝑊𝐵𝐵 (𝑡𝑡), then

                     dWA (t + τ ) − dWB (t + τ )     η      W (t) − WB(t)
                 f ' (t + τ ) =                  = ( j − 1)( A            )>0 (62)
                                 dt                 U (t )       τ
   The increasing function 𝑓𝑓(𝑡𝑡) contradicts the fairness assumption. Thus, HPCC
algorithm is unfair.

4.6. Machine-Learning-Based control algorithm: TCP Drinc [40]
TCP Drinc leverages deep reinforcement learning to regulate transmission rate. It defines
event S as a series of states, represented as 𝑆𝑆 = [𝑠𝑠0 , 𝑠𝑠1 , . . . , 𝑠𝑠𝑁𝑁 ]. The state space is defined as
𝑠𝑠𝑡𝑡 = [∆𝑤𝑤(𝑡𝑡), 𝜏𝜏𝑅𝑅𝑇𝑇𝑇𝑇 (𝑡𝑡), 𝑣𝑣(𝑡𝑡), 𝛿𝛿(𝑡𝑡), 𝜏𝜏𝐴𝐴𝐶𝐶𝐶𝐶 (𝑡𝑡)] . Here, ∆𝑤𝑤(𝑡𝑡) indicates the variation in the
congestion window size, 𝜏𝜏𝑅𝑅𝑇𝑇𝑇𝑇 (𝑡𝑡) signifies the round-trip time, 𝑣𝑣(𝑡𝑡) is the ratio of
propagation time to RTT, 𝛿𝛿(𝑡𝑡) highlights the disparity between RTT and propagation time,
and 𝜏𝜏𝐴𝐴𝐶𝐶𝐶𝐶 (𝑡𝑡) refers to the interval between successive ACKs.
     The action space is defined as 𝐴𝐴 = [𝑤𝑤 = 𝑤𝑤 + 1; 𝑤𝑤 = 𝑤𝑤 − 1; 𝑤𝑤 = 𝑤𝑤 + 𝑤𝑤 −1 ; 𝑤𝑤 = 𝑤𝑤 −
𝑤𝑤 −1 ; 𝑤𝑤 = 𝑤𝑤]. 𝑤𝑤 is the congestion widow size.
     The reward is defined as 𝑟𝑟(𝑡𝑡) = 𝑈𝑈(𝑡𝑡 + 𝜏𝜏𝑅𝑅𝑇𝑇𝑇𝑇 (𝑡𝑡 + 𝜏𝜏𝑅𝑅𝑇𝑇𝑇𝑇 (𝑡𝑡))) − 𝑈𝑈(𝑡𝑡). Related functions are
listed below:

                                  U(t ) = Uα ( z(t )) − βUα (τ RTT (t )) ,
                                          t + L −1
                                                        (1 − η )
                                  z(t ) = ∑ x(l) ⋅                ⋅ η l −t
                                            l =t        1 −η L +1
                                                                           ,                           (63)
                                              log(l)       α =1
                                             
                                    Uα (l) =  l1−α
                                                           otherwise
                                             
                                             1 − α
   In the aforementioned equations, 𝑥𝑥(𝑡𝑡) symbolizes the network throughput at time 𝑡𝑡,
which is derived from the congestion window and RTT. The variables 𝛼𝛼, 𝛽𝛽, 𝜂𝜂 and 𝐿𝐿 are
introduced as adjustment factors to fine-tune the algorithm. Importantly, this algorithm is
characterized by a dynamic relationship between its inputs and outputs, precluding the
formulation of a fluid model equation for analytical purposes.

4.7. Comparative analysis
From the standpoint of control models, algorithms based on packet loss, RTT, and
Bandwidth-Delay Product (BDP) are straightforward in their approach, allowing
implementation within an implicit feedback model. In contrast, algorithms reliant on ECN
and link utilization necessitate an explicit feedback model, entailing more complex
protocols.
    Regarding algorithm characteristics, the input-output relationship in the first five types
of algorithms is typically fixed. Algorithms based on packet loss, RTT, BDP, and ECN struggle
to calculate the ideal regulation rate, often resorting to heuristic strategies for incremental
adjustments. This approach introduces a degree of latency. Conversely, algorithms focusing
on link utilization avoid this drawback but demand significant network feedback data, thus
incurring higher bandwidth and computational resource costs.
   Control algorithms integrating machine learning exhibit a dynamic control model
contingent on specific network feedback signals. These algorithms excel in adapting to
network environment changes, automatically adjusting relevant factors to optimize
regulation strategies and enhance performance. However, the complexity of designing
appropriate reward functions, ensuring swift convergence, and managing unpredictable
outcomes makes them inherently complex.

5. Evaluation Indicators
The criteria for assessing host-to-host congestion control are derived from network
performance metrics as outlined in [41]. Despite variations in emphasis among different
schemes, four key indicators are universally recognized: Throughput, Delay, Packet Loss
Rate, and Fairness Index, as referenced in [42].

   1. Throughput
   Throughput is defined as the quantity of data successfully transmitted over a network
per unit of time. This metric serves as a direct indicator of a control mechanism's efficacy.
Generally, higher throughput equates to superior performance. The formula for calculating
throughput is as follows:

                                      x = N / ∆t                                        (64)
   In this formula, ∆t represents the duration of the operational period, while N denotes the
total amount of data successfully received by the receiver.

   2. Delay
    Delay is the total time for a packet's transmission and reception, including sending,
transmission, processing, and queuing delays. Optimal network performance is
characterized by low delay and its stability, which is often associated with higher
throughput and stable transmission quality. For practical measurement, the smoothed RTT
is commonly used. The formula is as follows:

                               T (t ) = αT (t ) + (1 − α )(t − ts )                            (65)
   𝑡𝑡𝑠𝑠 is the send time for packet i, t is the 𝐴𝐴𝐶𝐶𝐶𝐶𝑖𝑖 receipt time, and α is the smoothing factor.

   3. Packet Loss Rate
   Packet Loss Rate is the ratio of lost packets to the total packets sent over a period, key
for analyzing data flows. Higher loss rates may signal network congestion and are critical
for assessing congestion control. The lower the rate, the better the performance, ideally. The
formula for Packet Loss Rate is as follows:
                                            N
                                η = (1 −         ) × 100%                               (66)
                                           Nsend
  𝑁𝑁 is the amount of data successfully received by the receiver in time interval ∆𝑡𝑡, and
Nsend is the amount of data sent by the sender in the same period.

   4. Fairness Index
    The Fairness Index serves as a measure of how equitably congestion control mechanisms
distribute network resources under congested conditions, quantitatively assessing fairness
in resource allocation. A common formula for calculating the Fairness Index [43] is as
follows:

                                       ( ∑i =1 xi )2
                                             n

                                  J=                                                      (67)
                                       n∑i =1 xi 2
                                              n


   𝑋𝑋𝑖𝑖 represents the throughput for the flow 𝑖𝑖. The Fairness Index ranges from 0 to 1, with
higher values indicating better fairness. Achieving a high Fairness Index is important for
protocol coexistence on the Internet, making it a key metric for assessing congestion control
protocols.

6. Main Challenges
A systematic analysis reveals three critical aspects of host-to-host congestion control: real-
time collection of network status, precise congestion detection, and efficient packet sending
rate control. To address these aspects, host-to-host congestion control mechanisms
encounter several challenges:

   1. Hosts Coordination
   Host-to-host congestion control operates as a distributed system without a central
control authority. Each host independently executes control algorithms. Inconsistencies or
conflicts in the behavior of different hosts can lead to uneven bandwidth allocation, creating
fairness issues. This disparity can also trigger network congestion, adversely impacting
network transmission performance. Thus, achieving effective coordination among hosts
represents a significant challenge.

   2. Feedback Delay
   Host-to-host congestion control relies on a feedback mechanism, requiring hosts to
gather network feedback and adjust their sending rates accordingly. This process inherently
introduces a delay, especially during periods of network congestion, potentially hindering
the timely acquisition of current network status. Such delays can result in suboptimal
decision-making, affecting congestion control efficacy. Addressing feedback delay is,
therefore, a pivotal challenge.

   3. Inaccurate Feedback
   Beyond the issues caused by feedback delay, the accuracy of feedback in host-to-host
congestion control is also compromised by factors like network noise, packet loss, and
inherent randomness (e.g., RTT variation). These elements can lead to erroneous
congestion control decisions. Consequently, resolving the issue of inaccurate feedback is
another crucial challenge.

7. Future Directions
Through the examination of existing research and considering the latest technological
trends, we identify two key areas that hold significant potential for future exploration.

   1. Edge-host Collaboration Control Model
    Using the idea of edge computing, the Edge-host collaboration control model could
offload some of the congestion detection and control functions to the edge switches. In
terms of distribution, edge switches exhibit a more centralized nature compared to hosts,
offering several advantages for congestion detection and control. Firstly, edge switches can
aggregate information from multiple hosts, thereby providing more comprehensive data for
congestion detection. Secondly, the feedback path can be shortened by leveraging edge
switches. Thirdly, the utilization of edge switches can minimize the redundant collection of
network state information, consequently reducing transmission overhead. Lastly, the
integration of edge switches can effectively coordinate host behavior locally and address
local fairness issues. Hence, the Edge-Host Collaboration Control Model signifies a
promising research direction.

   2. Intelligent Congestion Detection and Control Algorithm
    Intelligent congestion detection and control algorithm has emerged as a prominent area
of research in recent years, yielding substantial advancements. Innovative mechanisms like
Orca [44] and Sage [45] employ deep reinforcement learning to craft intelligent algorithms,
facilitating efficient data transmission in intricate network environments. This algorithm,
rooted in mathematical and statistical principles, discerns the patterns of network
congestion changes. Through logical reasoning, it calculates the optimal sending rate based
on network feedback information, thereby enhancing congestion control performance.
    Despite current challenges in applying intelligent algorithms to congestion control—
such as intricate model training, complex reward function design, and slow convergence—
their successes in fields like computer vision, speech recognition, and AIGC underscore their
capability to address complex issues. With ongoing technological progress, intelligent
algorithms are poised to access more extensive network information and adeptly learn
network characteristics and congestion control strategies. Consequently, the Intelligent
Congestion Detection and Control Algorithm is set to significantly enhance its efficiency and
adaptability, establishing itself as a pivotal area for future research.
8. Conclusions
Host-to-host congestion control, which is key for high-quality network transmission by
managing data rates, must now focus on efficiency and adaptability. This paper reviews
congestion control mechanisms across four areas: control models, detection methods,
algorithms, and evaluation metrics. It analyzes the three main challenges in this domain and
discusses the potential of machine learning and edge collaboration. It concludes that a
systematic and comprehensive optimization of host-to-host congestion control is necessary
to meet the demands of emerging networks.

References
[1] Cisco U, “Cisco annual internet report (2018–2023) white paper,” Cisco: San Jose, CA,
     USA, volume10(1), pp. 1-35, 2020.
[2] D. Milovanovic, Z. Bojkovic, M. Indoonundon, “5G Low-latency Communication in
     Virtual Reality Services: Performance Requirements and Promising Solutions,” World
     Scientific and Engineering Academy and Society (WSEAS), 2021.
[3] N. M. QUY, L. A. NGOC, N. T. BAN, “Edge Computing for Real-Time Internet of Things
     Applications: Future Internet Revolution, Wireless Personal Communications,” pp.
     1423-52, 2023.
[4] V. Jacobson, “Congestion Avoidance and Control,” ACM SIGCOMM Computer
     Communication Review, pp. 314-29, 1988.
[5] S. Floyd, V. Jacobson, “Random Early Detection Gateways for Congestion Avoidance,”
     IEEE/ACM Transactions on Networking, pp. 397-413, 1993.
[6] W. Stevens, “Congestion Avoidance, Fast Retransmit and Fast Recovery Algorithm,” RFC
     2001, 1997.
[7] A. Gurtov, T. Henderson, S. Floyd, “The NewReno Modification to TCP’s Fast Recovery
     Algorithm,” RFC 6582, 2012.
[8] N. Cardwell, Y. Cheng, C. S. Gunn, “BBR: Congestion-Based Congestion Control,”
     Communications of the ACM, 2017.
[9] S. Ha, I.Rhee, L. Xu, “CUBIC: A New TCP-friendly High-Speed TCP Variant,” ACM SIGOPS
     Operating Systems Review, pp. 64-74, 2008.
[10] R. Mittal, V. T. LAM, N. DUKKIPATI, “TIMELY: RTT-based Congestion Control for the
     Datacenter,” Proceedings of the ACM Conference on Special Interest Group on Data
     Communication, 2015.
[11] Y. Zhu, H.Eran, D. “Firestone, Congestion Control for Large-Scale RDMA Deployments,”
     ACM, 2015.
[12] R. Xie, X. Jia, K. Wu, “Adaptive Online Decision Method for Initial Congestion Window in
     5G Mobile Edge Computing Using Deep Reinforcement Learning,” IEEE Journal on
     Selected Areas in Communications, pp. 389-403, 2020.
[13] K. K. Ramakrishnan, S. Floyd, D. L. Black, “The Addition of Explicit Congestion
     Notification (ECN) to IP,” RFC 3168, 2001.
[14] Y. li, R. Miao, H. Liu, “HPCC: High Precision Congestion Control,” Proceedings of the ACM
     Special Interest Group on Data Communication, 2019.
[15] D. Giannopoulos, N. Chrysos, E. Mageiropoulos, “Accurate Congestion Control for RDMA
     Transfers,” Proceedings of the 2018 Twelfth IEEE/ACM International Symposium on
     Networks-on-Chip (NOCS), IEEE, 2018.
[16] R. Mittal, A. Shpiner, A. Panda, “Revisiting Network Support for RDMA,” The
     Proceedings of the 2018 Conference of the ACM Special Interest Group on Data
     Communication, 2018.
[17] J. Geng, J. Yan, Y. Zhang, “P4QCN: Congestion Control Using P4-capable Device in Data
     Center Networks,” Electronics, pp. 280, 2019.
[18] W. Cheng, K. Qian, W. Jiang, “Re-architecting Congestion Management in Lossless
     Ethernet,” Proceedings of the 17th USENIX Symposium on Networked Systems Design
     and Implementation (NSDI 20), 2020.
[19] P. Taheri, D. Menikkumbura, E. Vanini, “RoCC: Robust Congestion Control for RDMA,”
     the Proceedings of the 16th International Conference on Emerging Networking
     EXperiments and Technologies, 2020.
[20] Y. Hu, Z. Shi, Y. Nie, “Dcqcn Advanced (dcqcn-a): Combining ECN and RTT for RDMA
     Congestion Control,” proceedings of the 2021 IEEE 5th Information Technology,
     Networking, Electronic and Automation Control Conference (ITNEC), IEEE, 2021.
[21] J. Zhang, J. Shi, X. Zhong, “Receiver-Driven RDMA Congestion Control By Differentiating
     Congestion Types in Datacenter Networks,” Proceedings of the 2021 IEEE 29th
     International Conference on Network Protocols (ICNP), IEEE,2021.
[22] Y. Binghao, L. Qinrang, S. Jianliang, “A Survey of Low-Latency Transmission Strategies
     in Software Defined Networking,” Computer Science Review, pp. 40, 2021.
[23] Y. Lu, Z. Ling, S. Zhu, “SDTCP: Towards Datacenter TCP Congestion Control with SDN
     for IoT Applications,” Sensors, pp. 109, 2017.
[24] P4.ORG, “In-band Network Telemetry (INT) Dataplane Specificatio,” 2021.
[25] Mohammad, Alizadeh, Albert, “Computer Communication Review: A Quarterly
     Publication of the Special Interest Group on Data Communication,” Data Center TCP
     (DCTCP), 2010.
[26] F. Lu, H. Du, A. Jain, “CQIC: Revisiting Cross-Layer Congestion Control for Cellular
     Networks,” Proceedings of the Proceedings of the 16th International Workshop on
     Mobile Computing Systems and Applications, 2015.
[27] Y. XIE, F. YI, K. Jamieson, “PBE-CC: Congestion Control Via Endpoint-Centric, Physical-
     Layer Bandwidth Measurements,” Proceedings of the Proceedings of the Annual
     Conference of the ACM Special Interest Group on Data Communication on Applications,
     Technologies, Architectures, and Protocols for Computer Communication, USA, 2020.
[28] J. Postel, “Transmission Control Protocol,” RFC 793, 1981.
[29] J. M. Mathis, S. Floyd, A. Romanow, “TCP Selective Acknowledgement Options,” RFC
     2018, 2003.
[30] G. Kumar, N. Dukkipati, K. Jang, “Swift: Delay is Simple and Effective for Congestion
     Control in the Datacenter,” Proceedings of the SIGCOMM’20: Annual Conference of the
     ACM Special Interest Group on Data Communication on the Applications, Technologies,
     Architectures, and Protocols for Computer Communication, 2020.
[31] L. S. Brakmo, L. L. Peterson, “TCP Vegas: End to End Congestion Avoidance on A Global
     Internet,” IEEE, 1995.
[32] C. Jin, D. X. Wei, “LOW S H. FAST TCP: Motivation, Architecture, Algorithms,
     Performance,” Proceedings of the INFOCOM 2004 Twenty-third AnnualJoint
     Conference of the IEEE Computer and Communications Societies, 2004.
[33] I. Mahmud, G-H. Kim, T. Lubna, “BBR-ACD: BBR with Advanced Congestion Detection,”
     Electronics, pp. 136, 2020.
[34] B. Vamanan, J. Hasan, T. N. Vijaykumar, “Deadline-Aware Datacenter TCP (D2TCP),”
     ACM SIGCOMM Computer Communication Review, pp. 115-26, 2012.
[35] Y. Lu, G. Yuan, Y. Bai, “EagerCC: An Ultra-Low Latency Congestion Control Mechanism
     in Datacenter Networks,” Computer Networks, pp. 236, 2023.
[36] M. Dong, Q. Li, D. Zarchy, “PCC: Re-Architecting Congestion Control for Consistent High
     Performance,” USENIX Association, 2014.
[37] R. King, R. Baraniuk, R. Riedi, “TCP-Africa: An Adaptive and Fair Rapid Increase Rule for
     Scalable TCP,” Proceedings of the INFOCOM 2005 24th Annual Joint Conference of the
     IEEE Computer and Communications Societies Proceedings IEEE, 2005.
[38] J. Padhye, V. Firoiu, D. F. Towsley, “Modeling TCP Reno Performance: A Simple Model
     and Its Empirical Validation,” IEEE/ACM Transactions on Networking, pp. 133-45,
     2000.
[39] Y. Zhu, M. Ghobadi, V. Misra, “ECN or Delay: Lessons Learnt from Analysis of DCQCN
     and TIMELY,” ACM, 2016.
[40] K. Xiao, S. Mao, J. K. Tugnait, “TCP-Drinc: Smart Congestion Control Based on Deep
     Reinforcement Learning,” IEEE Access, pp. 11892-904, 2019.
[41] T. ITU, “Terms and Definitions Related to Quality of Service and Network Performance
     Including Dependability,” Recommendation E, pp. 800, 1994.
[42] V. Kushwaha, R. Gupta, “Congestion Control for High-Speed Wired Network: A
     Systematic Literature Review,” Journal of Network and Computer Applications, pp. 62-
     78, 2014.
[43] R. Jain, K. Ramakrishnan, “Congestion Avoidance in Computer Networks with A
     Connectionless Network Layer: Concepts, Goals and Methodology,” Proceedings of the
     [1988] Proceedings Computer Networking Symposium, IEEE, 1988.
[44] S. Abbasloo, C. Y. Yen, H. J. Chao, “Classic Meets Modern: A Pragmatic Learning-Based
     Congestion Control for the Internet,” Proceedings of the SIGCOMM’20: Annual
     Conference of the ACM Special Interest Group on Data Communication on the
     Applications, Technologies, Architectures, and Protocols for Computer Communication,
     2020.
[45] C. Y. Yen, S. Abbasloo, H. J. Chao, “Computers Can Learn from the Heuristic Designs and
     Master Internet Congestion Control,” Proceedings of the ACM SIGCOMM 2023
     Conference, 2023.