QoS Monitoring with Obkio DSCP Features
Nowadays, IP networks are used to transport various types of applications. Some applications such as Voice over IP (VoIP), Video Conferencing (ex: GotoMeeting, Zoom, Webex), Unified Communications (ex: Skype for Business) and Collaboration (ex: Microsoft Teams) are a lot more sensitive to network performance and quality. This is why network engineers need to implement QoS (Quality of Service) to prioritize some traffic on the network in order to reduce latency, jitter and packet loss. In case of a network congestion, this will ensure that performance sensitive applications are always running without degradation and that only the less critical applications (such as web browsing) are impacted. It'll also help you monitor network performance for apps like Microsoft Teams.
The QoS can be configured in different ways depending on the network architecture, the network devices, and the transport technologies. The most popular way to configure QoS is by using the DSCP code located in the IP header (learn more details on Differentiated Services). With DSCP, the marking of the packets is done as close to the source as possible (ex: by the IP Phone or by the switch on which a computer is connected), and it is honored by all the network equipment up to the destination (ex: IP PBX or another IP Phone).
Customers with MPLS VPN services offered by service providers usually have the possibility to purchase multiple Classes of Service (CoS) to match their application. For example, a customer could purchase a Priority CoS for VoIP traffic, Mission Critical CoS for ERP traffic, and Best Effort CoS for normal traffic. In this case, DSCP is used to determine the traffic class so that the appropriate QoS settings can be applied to the packets.
Quality of Service configuration requires time, effort, knowledge, and money, but it's worth the effort because critical applications such as VoIP must work 100% of the time, even if someone is downloading a large file or running an application update. Now that everything is in place, how can you make sure that it's working properly? How can you ensure that the initial setup is still working after an extended period of time (months or even years)? A good network performance monitoring tool is required!
With DSCP packet marking, a network device must honor the DSCP code and map it to the appropriate CoS. Also, it must make sure it is not rewritten in the process. If a DSCP code is rewritten by a device, all the remaining devices on the path to the destination will be unable to apply the correct QoS settings. But wait a minute, when can this happen in real life?
- Someone installs a new switch that rewrites the DSCP code with a defaut QoS configuration.
- Firmware upgrades that screw up parts of the configuration.
- Bugs in a new firmware release.
- Manual configuration changes that modify the QoS settings on a device.
In the majority of the applications, if the DSCP is rewritten (i.e. QoS is now disabled), the application will not notice it and will continue to work just fine. However, when there is a network issue such as congestion, the QoS will not kick in. From experience, this always happens when the CEO is a on call with a big customer or investor!
Many actions can cause the modification of QoS settings and without a permanent network performance monitoring solution, how can you know that eveything is still working properly?
As with every Obkio monitoring setup, customers must deploy some agents. You can find more details about Agents at The Monitoring Agent - Introduce a key player to your team.
Once the Agents are deployed, a Network Monitoring Template must be configured to create the network performance monitoring sessions. Within that template, there is an Advanced Parameters section that allows you to configure the DSCP code used by the Agents for these monitoring sessions. By setting the DSCP code, there are two main advantages:
All monitoring packets sent for the session will be marked with the selected DSCP code. This means that the agent will monitor the network performance for that specific CoS. Many customers create two, three or even four monitoring templates, one for each CoS. When there is congestion on the network, one should expect performance degradation only on the best effort or data CoS, not on the priority or mission critical.
The DSCP propagation will be tested end-to-end. If one agent is not receiving the packet with the good DSCP code, a network issue will be raised with the severity level Information. The issue will be available with all the details in the App (Web or Mobile). With this feature, if a network device rewrites the DSCP code, you get notified immediately.
It is also possible to set the DSCP code during Speedtests. This way, it can be very easy to test any configured shapers or policers in the QoS configuration.
Now that you have the monitoring setup in place, it is very easy to install more agents in branch offices, data centers and other clouds providers to monitor network performance. There are also Public Monitoring Agents available to monitor performance to your favorite service provider on the Internet.