## 5 Experimental Evaluation
### Evaluation and Benchmarking of AQM Algorithms
#### 5.1.1 CoDel  
In experiments (4)-(7), multiple instances of iperf3 were deployed under FreeBSD to generate four TCP NewReno streams with staggered start and end times (starting at t = 0, 10, 20, 30 s, and each flow lasting for 60 s). The bandwidth was set to 10 Mbps or 1 Mbps, and the delay was set to 20 ms. The internal parameters of CoDel were configured with a target of 5 ms and an interval of 100 ms, tested both with ECN enabled and disabled.  
**Scenario 1 (Bandwidth = 10 Mbps, Delay = 20 ms)**: We evaluated the performance of CoDel in two cases: (i) Case 1 is with enabled ECN; the results are shown in Figure 4, and (ii) Case 2: ECN is disabled, and the results are in Figure 5.  
When ECN is disabled, an evident spike in RTT occurs at the initiation of each TCP stream, indicating the slow-start phase of NewReno, as depicted in Figures 4c and 5c. The CoDel always uses ECN-marking when ECN is enabled and never drops packets in case of extreme delays, unlike in the PIE algorithm, which drops packets if marking packets does not decrease RTT. During congestion, the NewReno algorithm reduces its _cwnd_ more conservatively under ECN-enabled conditions, resulting in a higher maximum _cwnd_ size and more stability, albeit with sub-optimal _cwnd_ sizes. CoDel sets the ECN flag in the packet header to CE to indicate congestion and does not drop packets, unlike PIE-based AQMs. Furthermore, in the absence of ECN, _cwnd_ undergoes rapid adjustments, as depicted in Figures 4b and 5b. This conservative approach also results in higher RTT but lower total throughput when ECN is enabled compared to its absence, as depicted in Figure 4 and in Table 2.  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**AQM Algorithm** & \
\begin{tabular}{c} **Data Transferred** \\ **(Mbytes)—NoECN** \\ \end{tabular} &
\begin{tabular}{c} **Data Transferred** \\ **(Mbytes)—ECN** \\ \end{tabular} \\ \hline CoDel Scenario 10 Mbps & 46.574638 & 41.101404 \\ \hline CoDel Scenario 1 Mbps & 4.938126 & 4.523826 \\ \hline PIE Scenario 10 Mbps & 50.339712 & 45.790667 \\ \hline PIE Scenario 1 Mbps & 4.976113 & 6.371356 \\ \hline FQ-CoDel Scenario 10 Mbps & 38.928913 & 53.030176 \\ \hline FQ-CoDel Scenario 1 Mbps & 5.245358 & 5.571887 \\ \hline FQ-PIE Scenario 10 Mbps & 47.984545 & 48.413749 \\ \hline FQ-PIE Scenario 1 Mbps & 5.389362 & 5.438388 \\ \hline L4S Scenario 10 Mbps & 48.196893 & 48.748529 \\ \hline L4S Scenario 1 Mbps & 5.676679 & 5.159440 \\ \hline \hline \end{tabular}
\end{table}
Table 2: Total data transferred (including retransmissions) in the experiment.  
Figure 4: Case 1: CoDel (ECN enabled)—Scenario 1 with Bandwidth = 10 Mbps, Delay = 20 ms. (**a**) Throughput; (**b**) Congestion Window; (**c**) Smoothed TCP RTT.  
**Scenario 2 (Bandwidth = 1 Mbps, Delay = 20 ms)**: We evaluated the performance of CoDel in two cases: (i) Case 1 is with enabled ECN; the results are shown in Figure 6, and (ii) Case 2: ECN is disabled, and the results are in Figure 7. The conservative approach of CoDel in adjusting _cvnd_ sizes when ECN is enabled results in more stable, low but unfair _cvnd_ sizes when compared across multiple TCP connections, as depicted in Figures 6b and 7b. This conservative approach appears to have influenced RTT noticeably. Specifically, RTT shows fewer variations but is consistently higher than when ECN is disabled. Similarly, _cvnd_ has influenced throughput to have a higher maximum throughput but unfair bandwidth sharing across multiple TCP connections, as depicted in Figures 6a and 7a.