# On the Fairness of Internet Congestion Control over WiFi with Deep Reinforcement Learning
## 3 Mathematical Interpretation of Unfairness and Starvation in Representative CCAs  
Multiple TCP CCAs exist, but all have the common core philosophy of improving users' experience in reliable data transformation. Some of the CCAs explicitly in use are Bottleneck Bandwidth and Round-trip propagation time (BBR), Performance-oriented Congestion Control (PCC) Vivace, Vegas, Copa, CUBIC, NewReno, and Reno. In this section, we aim to provide a detailed discussion of four key CCAs: BBR, PCC Vivace, CUBIC, and Copa. The exposition will elucidate the comprehensive functioning of each TCP variant, shedding light on their overall behavior and how they respond to packet loss and variations in RTT across flows. Before moving to the detailed mathematical interpretation, we briefly explain the hypotheses formulated later in this section. Three key hypotheses are made for each selected CCA:  
* _Equal Loss with Varying RTT:_ This hypothesis aims to investigate how a CCA manages flows with different RTTs when they experience the same level of packet loss. Specifically, it evaluates whether disparities in RTTs result in unequal congestion window allocation under identical loss conditions. The primary purpose is to ascertain whether variations in RTT alone can lead to unfairness in congestion window sizes across different flows. * _Equal RTT with Varying Loss:_ In this hypothesis, the focus is on how varying levels of packet loss impact the congestion window of flows with the same RTT. It examines whether changes in packet loss lead to fairness issues or potential starvation in flows that experience identical network delays. The objective is to investigate whether packet loss alone can disrupt fairness and lead to differential treatment of flows. * _Starvation Hypothesis:_ This hypothesis examines extreme cases of unfairness, where one flow significantly underperforms compared to another due to variations in RTT or packet loss. The aim is to assess the worst-case scenarios for fairness and evaluate how effectively the CCA prevents starvation. \"TCP Starvation\" [18] is a critical phenomenon that can significantly impact network performance and fairness. It occurs when a TCP flow with a longer RTT receives a disproportionately smaller share of bandwidth/observed ratio compared to flows with shorter RTT. This can lead to degraded throughput, increased latency, and unfair resource allocation. TCP CUBIC performs the window growth functions in a cubic function. It sets a Maximum Window (\(W_{\max}\)) at the point where the packet loss occurred. Then, the congestion window decreases multiplicatively. It recovers the performance quickly and enters the congestion-avoidance phase. Up to the inflection point, the window size increases in concave style. However, it adjusts the window size after the congestion is detected and maintains stabilized networks at \(W_{\max}\) before entering convex-style growth of the window size. Concave and convex styles of window adjustments assist CUBIC to stand out from the other existing congestion control algorithms, improving protocol and network stability by maintaining high network utilization. Improvements are possible as the window size remains stable around \(W_{\max}\) by forming a plateau. The detailed derivation are provided at the end of this paper. With extensive analytic modeling, we consider two cases to explain the causes of unfairness and starvation. Case i: Considering two CUBIC flows with different RTTs, \(\tau_{1}\) and \(\tau_{2}\), and experiencing the same loss \(p\), we can evaluate how the congestion windows \(W_{1}^{\star}\) and \(W_{2}^{\star}\) evolve as  
\[\frac{W_{1}^{\star}}{W_{2}^{\star}}=\sqrt[4]{\frac{\tau_{1}^{3}}{\tau_{2}^{3}}} \tag{1}\]  
using (1); if \(\tau_{1}=2\tau_{2}\), then \(\frac{W_{1}^{\star}}{W_{2}^{\star}}=\sqrt[4]{8}\), which explain the key reason for the observed unfairness.