# SDN-Based Congestion Control and Bandwidth Allocation Scheme in 5G Networks
## 4 Performance Analysis
### Throughput Test  
Figure 7a depicts the network topology of Mininet utilized for throughput testing, while Table 1 presents the network configurations of routers R0 and R1. When S1's CC algorithm is set to BRF, router R0 executes the BRF protocol's hierarchical bandwidth allocation algorithm, whereas the OpenDaylight controller operates the BRF protocol's congestion detection module. When the CC algorithm on S1 is configured as BBR or CUBIC, the hierarchical bandwidth allocation algorithm of the BRF protocol and congestion detection module on the OpenDaylight controller are disabled at router R0. Router R1 emulates the network conditions of a real 5G network by setting bandwidth to 100 Mbps and latency to 20 ms. The routing buffer is equipped with two settings, namely, 1000 packets and 100,000 packets. We evaluate the throughput performance of three protocols under various packet loss rates ranging from 0.1% to 10%.  
The procedure for throughput testing is as follows:  
1. The buffer size of R1 is configured as 1000 packets, while the packet loss rate remains at 0.1%.
2. The CC algorithm on S1 is configured to use the BRF protocol, and the BRF hierarchical bandwidth allocation algorithm is executed on R0. Data transmission from S1 to C1 is conducted for a duration of 60 s, during which throughput measurements are taken.
3. R0 ceases the execution of the BRF hierarchical bandwidth allocation algorithm, configures the CC algorithm to CUBIC on S1, and transmits data from S1 to C1 for a duration of 60 s, and the throughput will be recorded.
4. The congestion control algorithm is configured as BBR on S1 and data transmission from S1 to C1 is initiated. The experiment duration is set to 60 s, and the throughput is recorded.
5. The packet loss rate of router R1 is adjusted to various values ranging from 0.1% to 10%, and steps 2 through 4 are repeated for each adjustment of the packet loss rate.
6. The buffer size of router R1 is configured to 100,000 packets, and steps 2 to 5 are repeated for each subsequent update of the buffer size.  
The results of the throughput test are presented in Figure 8. The throughput of the BRF protocol and the BBR protocol exhibits a gradual decline with increasing packet loss rate, as depicted in Figure 8a, with a routing buffer size of 1000 packets. Comparatively, the BRF protocol slightly outperforms the BBR protocol. Conversely, the CUBIC protocol experiences a significant decrease in throughput as the link packet loss rate increases due to its reliance on the packet loss signal. The window value will be significantly reduced,  
\begin{table}
\begin{tabular}{c c c} \hline \hline  & **R0** & **R1** \\ \hline Capacity & 100 Mbps & 100 Mbps \\ \hline Delay & 0 ms & 20 ms \\ \hline Loss & 0\% & 0.1–10\% \\ \hline Buffer Size & 100,000 packet & 1000–100,000 packet \\ \hline \hline \end{tabular}
\end{table}
Table 1: Throughput test network setup.  
Figure 7: Network topology for protocol testing.  
and the throughput of the CUBIC protocol will experience a sharp decline in the presence of continuous packet loss. Figure 8b illustrates the throughput performance of all three protocols under a routing buffer size of 100,000 packets. The throughput of the BRF protocol exhibits a gradual decline as packet loss rates increase, while that of the BBR protocol experiences a rapid decrease under similar conditions when routing buffer sizes are large. This is attributed to the fact that the BBR protocol's ability to estimate RTT becomes less accurate with larger buffers, leading to reduced throughput.