=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==
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 0 0. 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.