Posts tagged QOS DSCP
Posts tagged QOS DSCP
This post looks at the basics of QoS and what can be done within my network to promote certain application behaviors at the expense of others.
Background
First some basics. IP QoS is only beneficial when resources such as bandwidth are limited and congestion occurs.
Therefore one way to avoid the need for IP QoS is to have unlimited (or at least beyond your needs) resources. This is unfortunately not a viable option for many networks and for services that flow over those networks that we have little or no control is certainly not a viable method.
A simple way of considering QoS is to think of it as a contract. A service requests a contract from the network and says for me to work satisfactorily I need certain levels of assurance. As we are dealing with IP Qos these assurances are mesured by metrics such as:
The IP (network layer) is responsible for setting up a contract that meets all the contracts it has agreed to with the layers above typically session and application.
This concept can be depicted using the picture below.

Ideal Situation
As the Application is the only thing that knows what it needs from the layer below to function satisfactorily then the developer of the application is responsible for coding this contract negotiation into their application, unfortunately many developers assume theirs is the only application running and that all resources are infinite so therefore do not bother to include the necessary logic to request a service contract.
As I go through setting up QoS on my applications, I will check to see if the developers have implemented QoS and where they have I will prefer to use this rather than simply implementing it at the IP layer which can struggle with some of the nuances of services.
Where applications have yet to have the capabilities developed for Service Quality I will look at the IP or Network layer to try to fill the gap as best as it can.
Planning for QoS
QoS implementation is not something to be entered into lightly, it is complicated and time consuming. To make matters worse different groups of people have different perspectives on what it means and how it should be implemented. This leads to confusion when two people converse and although the language is the same the meaning is different and leads to arguments and confusion.
I AM NOT the worlds expert on QoS I know that for sure.
However I have grasped that “a device view”, “a bit-pipe view”, “an Internet view” do not meet the acronym of Quality of SERVICE. The service is seen as being provided by an application in most of the cases I have looked at and it is therefore of little benefit to know that a single device is setup correctly for “QoS” when to get the true benefit I need all devices, networks, and session components that the service requires to be aligned and working in harmony to provide me with the quality assurance I require.
This is a big ask! and if we do have the Internet involved is currently doomed to failure as we do not have a way of asking for a contract higher than “Best Effort” from the Internet.
However rather than throw our hands in the air and say this is pointless what we can limit the impact that devices and networks play on our services by ensuring we present our traffic to the Internet in a prioritized way, and if the loss, jitter, latency seen becomes too much we do not add to the issue by using services that will not perform satisfactorily in those conditions at that time.
I have produced a list of groups that represent Traffic types. I have used material found around the internet to map applications in to different traffic groups and assigned a marking that can be used to distinguish them.
This marking is called DSCP (DiffServ Code Point) and is a set of bits in the IP header, there is lots of discussion onĀ the internet to explain DSCP so I will not go into this in this post.
Armed with my list of applications mapped to DSCP values which in turn is grouped into traffic Groups I will proceed to take each application I find which is not in the default Traffic Group (aka as “Best Efforts”) and see how best to implement QoS for that application.
As your list of applications and the associated mapping to DSCP and groups will no doubt be different. I will use the next post to go through some of the applications I have and how I have dealt with them.
Till next Time….