Articles

How to test DSCP QoS in your broadband gateway/Wi-Fi router

In an age where all of us rely on our broadband service for work, health, and entertainment applications, Quality of Service (QoS) differentiation is a well-developed concept for guaranteeing the quality of different applications and balancing them within the limitations of our home networks and WAN connections. Differentiated Services Code Point (DSCP) marking is one solution that serves as an essential tool for implementing QoS policies in broadband Customer Premises Equipment (CPE) and Wi-Fi routers.

For manufacturers of these devices, ensuring that DSCP based QoS works, and works well, when prioritizing video, voice, and other data is crucial to ensuring a quality end-user experience. Here’s a bit about DSCP and how you can test it on your products using CDRouter.

What is DSCP marking?

DSCP marking is a mechanism employed in the Differentiated Services (DiffServ) architecture to classify and prioritize network traffic. It involves assigning a specific value to the DSCP field in the IP header of a packet. This value determines how the router should treat this packet in relation to other traffic it is handling, balanced with available resources.

The DSCP field is incredibly flexible in the use of its value, so traffic classes (voice, video, best-effort, and bulk) are made to help categorize the use of it. The appropriate algorithms (Active Queue Management, or AQM) are further specified by various versions of the DiffServ definition, most recently DiffServ4. These algorithms are designed to mitigate several different causes of packet loss and poor latency, such as Bufferbloat.

Why is DSCP based QoS so important to broadband gateways and Wi-Fi routers?

Broadband gateways and Wi-Fi routers are typically responsible for handling a wide range of applications with varying QoS requirements. Especially today, many of these services have become mission-critical to broadband users such as telehealth, education, and remote working. 

DSCP marking allows these devices to prioritize time-sensitive and mission-critical applications, such as Voice over IP (VoIP) and video conferencing, over less critical traffic like file downloads or software updates. It allows these devices to manage traffic more effectively, reducing latency, jitter, and packet loss. This leads to improved performance for applications like online gaming, video streaming, and real-time communications.

What steps are necessary to test DSCP based QoS?

The validity of your device’s implementation of DSCP marking is difficult to prove with manual testing. To accomplish it, you’d need to do the following:

  1. Generate traffic with different DSCP markings from multiple clients.
  2. Measure the ideal throughput that the end-to-end connection delivers.
  3. Generate enough traffic to cause QoS prioritization to have to occur.
  4. Measure the resulting traffic.
  5. Compare it to the suggested traffic class behavior and judge if it met the criteria.

Each of these steps must be done in a consistent and repeatable manner over the course of multiple test runs.

How do you automate DSCP QoS testing in CDRouter?

CDRouter’s Performance Expansion includes automated test cases designed to do this fairly easily by configuring the test environment, sending data with the right traffic classes, and delivering clear pass/fail results. In these tests, CDRouter takes the following steps:

  1. Performance client generation: CDRouter programmatically creates performance clients for each configured LAN Client using one or multiple LAN interfaces. The objective is to emulate different traffic types, with each having its distinct DSCP/PHB Class and performance threshold. The first client is configured to send application traffic (marked traffic that we want to measure), and the second is configured to send background traffic (traffic that we use to “fill the pipe,” exceeding the capacity of the link and ensuring that prioritization must happen).
  2. Baseline throughput calculation: CDRouter automatically initiates a flow for each LAN client before starting application and background flows. It sends UDP traffic for a specific duration using the default best effort DSCP. This step provides a baseline throughput to benchmark the DUT's performance and understand what is necessary to create a bottleneck on the system.
  3. DSCP marked packet transmission: CDRouter systematically sends different DSCP marked packets through the DUT to simulate real-world network traffic conditions.
  4. Performance evaluation: CDRouter automatically assesses the DUT's performance based on its ability to meet the set performance thresholds for each traffic type. This evaluation gauges the effectiveness of the QoS implementation in the DUT.

DSCP validation now reduces field issues in the future

Ensuring that a device correctly prioritizes different types of traffic according to their DSCP markings will enable the device to perform better and use fewer resources. Providers can offer superior per-application services to their users, effectively manage traffic loads, and reduce the risk of issues such as bufferbloat. The CDRouter DSCP modules provide a comprehensive environment to test and validate the QoS implementation in a broadband CPE or Wi-Fi router. You can learn more about how it all works in our Performance User Guide!