Quality of Service(QoS)
In this tutorial, we will be covering the concept of Quality of Service (QoS) in Computer Networks.
Quality of Service(QoS) is basically the ability to provide different priority to different applications, users, or data flows, or in order to guarantee a certain level of performance to the flow of data.
In other words, we can also define Quality of Service as something that the flow seeks to attain.
QoS is basically the overall performance of the computer network. Mainly the performance of the network is seen by the user of the Network.
Let us know first take a look at the characteristics of the Flow:
Given below are four types of characteristics that are mainly attributed to the flow and these are as follows:
It is one of the main characteristics that the flow needs. If there is a lack of reliability then it simply means losing any packet or losing an acknowledgement due to which retransmission is needed.
Reliability becomes more important for electronic mail, file transfer, and for internet access.
Another characteristic of the flow is the delay in transmission between the source and destination. During audio conferencing, telephony, video conferencing, and remote conferencing there should be a minimum delay.
It is basically the variation in the delay for packets that belongs to the same flow. Thus Jitter is basically the variation in the packet delay. Higher the value of jitter means there is a large delay and the low jitter means the variation is small.
The different applications need different bandwidth.
How to achieve Quality of Service?
Let's get into some details and say, your organization wants to achieve Quality of Service, which can be done by using some tools and techniques, like jitter buffer and traffic shaping.
This is a temporary storage buffer which is used to store the incoming data packets, it is used in packet-based networks to ensure that the continuity of the data streams doesn't get disturbed, it does that by smoothing out the packet arrival times during periods of network congestion.
This technique which is also known as packet shaping is a congestion control or management technique that helps to regulate network data transfer by delaying the flow of least important or least necessary data packets.
QoS is included in the service-level agreement when an organization signs it with its network service provider which guarantees the selected performance level.
There are 2 types of Quality of Service Solutions:
Stateless solution: Here, the server is not required to keep or store the server information or session details to itself. The routers maintain no fine-grained state about traffic, one positive factor of this is, that it's scalable and robust. But also, it has weak services as there is no guarantee about the kind of performance delay in a particular application which we encounter. In the stateless solution, the server and client are loosely coupled and can act.
Stateful solution: Here, the server is required to maintain the current state and session information, the routers maintain per-flow state as the flow is very important in providing the Quality-of-Service which is providing powerful services such as guaranteed services and high resource utilization, provides protection, and is much less scalable and robust. Here, the server and client are tightly bounded.
Quality of Service Parameters:
QoS can be measured quantitatively by using several parameters
Packet loss: it happens when the network links become congested and the routers and switches start dropping the packets. When these packets are dropped during real-time communication, such as audio or video, these sessions can experience jitter and gaps in speech.
Jitter: occurs as the result of network congestion, timing drift, and route changes. And also, too much jitter can degrade the quality of audio communication.
Latency: is the time delay, which is taken by a packet to travel from its source to its destination. For a great system, latency should be as low as possible, ideally, it should be close to zero.
Bandwidth: is the capacity of a network channel to transmit maximum possible data through the channel in a certain amount of time. QoS optimizes a network by managing its bandwidth and setting the priorities for those applications which require more resources as compared to other applications.
Mean opinion score: it is a metric for rating the audio quality which uses a five-point scale, with a five indicating the highest or best quality.
Implementing Quality of Service:
We can implement Quality of service through three of the following existing models:
Best Effort: if we are applying this model then, it means that we are prioritizing all the data packets equally. But since we all setting the priority order like this, then there is no guarantee that all the data packets will be delivered, but it will put up the best effort to deliver all of them. Point to remember is, that the best-effort model is applied when networks haven’t configured with the QoS policies or incase their network infrastructure does not support QoS.
Integrated Services: or IntServ, this QoS model reserves the bandwidth along a specific path on the network. The applications ask the network's resource reservation for themselves and parallelly the network devices monitor the flow of packets to make sure network resources can accept packets. Point to remember: while implementing Integrated Services Model, the IntServ-capable routers and resource reservation protocol are necessary. This model has limited scalability and high consumption of the network resources.
Differentiated Services: in this QoS model, the network elements such as routers and switches are configured to serve multiple categories of traffic with different priority orders. A company can categorize the network traffic based on its requirements. Eg. Assigning higher priority to audio traffic etc.
Let us understand the difference between Integrated Services and Differentiated Services:
|Integrated Services||Differentiated Services|
|This Architecture mainly specifies the elements to guarantee Quality of Service (QoS) on the network.||This Architecture mainly specifies a simple and scalable mechanism for classifying and managing the traffic of the network and also provides QoS on the modern IP networks.|
|These services mainly involve the prior reservation of the resources before sending in order to achieve Quality of Service.||These services mark the packets with the priority and then sends it to the network and there is no concept of prior reservation.|
|It is also known as IntServ.||It is also known as DiffSer.|
|These are not Scalable||These are Scalable.|
|These involve per flow Setup||These involve long term Setup|
|In this end to end service scope is available.||In this domain service scope is involved|