# Quality of Service and Congestion Control in Software-Defined Networking Using Policy-Based Routing
## 1 Introduction  
Ensuring Quality of Service (QoS) is critical for delay-sensitive applications, especially in real-time communications like video conferencing and live media streaming. Among the performance metrics for such applications, delay is one of the most important, with queuing delay being a primary contributor to the end-to-end delay experienced by packets in networks [1, 2]. Real-time applications like video conferencing have stringent requirements for both delay and QoS due to their interactive nature. Even minor increases in delay or packet loss can severely disrupt interactivity, resulting in a poor user experience. These performance issues are often caused by network congestion, which leads to excessive packet delays and losses, thereby degrading QoS. To manage network congestion and ensure QoS, two main approaches are typically employed. The first approach is end-to-end congestion control, where transport protocols at the end nodes, such as TCP, QUIC [3], and RTCP, handle congestion while attempting to maintain QoS. The second approach involves controlling congestion and improving QoS at the network level by using techniques like Active Queue Management (AQM) [4]. While AQM marks or drops TCP packets when they are ECN-enabled [5], it does not distinguish between different flows and therefore lacks the ability to provide flow-specific QoS, treating all packets the same, except for ECN-enabled TCP packets. Moreover, real-time multimedia applications predominantly rely on UDP, which cannot tolerate the latency associated with packet retransmission in TCP, complicating the ability to maintain QoS in congested networks. Since UDP is an unreliable protocol, real-time multimedia applications depend on the Real-Time Transport Protocol (RTP) [6] over UDP for media delivery. RTP is typicallyused in conjunction with the RTP Control Protocol (RTCP), which provides feedback about the status of RTP flows to end hosts. Based on RTCP feedback, RTP adapts to changing network conditions, reducing the transmission rate when delays or packet losses are detected. However, this adaptation often results in reduced throughput, which negatively impacts media quality and overall QoS by lowering the bitrate. Traditional routing protocols, such as RIP and OSPF, are still widely deployed and are unlikely to be replaced in the near future. However, these protocols do not provide QoS for specific network flows, as they treat all packets equally, regardless of their QoS requirements. Modifying these protocols to support QoS is a complex and labor-intensive task, and any changes may not be compatible with vendor-specific hardware. In contrast, Software-Defined Networking (SDN) offers programmability and flexibility, revolutionizing research and development in computer networks. Although writing complete routing protocols from scratch remains challenging, SDN enables network administrators and developers to write simple policy programs that automate network behavior, dynamically adjust routing decisions, and ensure QoS in real-time multimedia environments. The increasing demand for flexible, customized QoS tailored to specific network flows, such as video conferencing, highlights the limitations of traditional networks. While traditional networks can offer basic QoS, they are typically constrained by standard protocols and vendor-specific configurations, limiting their ability to deliver user-defined QoS. The programmability of SDN provides an opportunity to overcome these challenges by enabling more flexible and customized QoS policies. Furthermore, modifying standard routing protocols to improve performance and QoS is a complex and resource-intensive process, often restricted by hardware compatibility issues. This motivated our exploration into how SDN's programmability can facilitate user-defined QoS, providing a more adaptable and efficient solution for real-time media applications.