In any organization, communication networks are used to transfer a multitude
of applications and data continuously. These may include high quality video and
other delay sensitive data such as, real time voice. For any successful
organization, the communication network forms its backbone. Therefore, for lag
free data transfers, networks must provide predictable, measurable and sometimes
guaranteed services. This is where (Quality of Service) QoS comes into action
and helps achieve the desired performance.
What is QoS?
In the fields of computer networking and other packet switched
telecommunications network, Quality of Service is regarded as a traffic
engineering term. QoS is the ability of a network to prioritize different
applications, users or data flows in order to guarantee a certain level of data
flow. Networks in which capacity is a limited resource, QoS is achieved by
putting a number of resource reservation control mechanisms in place.
As a result, achieving the required QoS by managing the delay, delay
variation (jitter), bandwidth, and packet loss parameters on a network becomes
the secret to a successful end-to-end business solution.
QoS plays an important role in achieving the desired performance in places
like telecommunications networks, where network capacity is limited, streaming
multimedia applications such as, VoIP, online gaming and IPTV, which often
require fixed bit rate and are delay sensitive.
Why is it required?
When the Internet was first deployed many ages ago, it worked on a default
quality of service. The reason why it lacked the provision of QoS was quite
simple, the computing power of routers was limited.
When talking of packet switched networks, quality of service is affected by
various factors, which can be classified as 'human' or 'technical'. Stability
and availability of service, delays, user information form the human factor,
whereas the technical factors include: reliability, scalability, effectiveness,
maintainability, grade of service, etc.
While traveling from their origin to destination, there are a lot of things
that can happen to a packet. Some of the most common problems faced in networks
that were seen from the point of view of the sender and receiver are:
Dropped packets
Depending on the state of the network, some, none or all of the packets might be
dropped and it is almost impossible to predict what will happen in advance. The
routers might fail to deliver (drop) some packets, if they arrive when their
buffers are already full. As a result, the receiving application would ask for
this information to be transmitted again, in turn causing severe delays in the
overall transmission.
Delay
If the packet takes a less direct route to avoid congestion, or it gets held up
in long queues, it might take a longer time to reach its destination. In some
cases, for example, applications like VoIP or online gaming can become unusable
due to excessive delays.
Jitter
Packets might take different routes to travel from their source to destination.
In their paths they also come across different amounts of traffic and
congestion. Therefore, packets from the source will reach the destination with
different delays. A packet's delay varies with its position in the queues of the
routers along the path between source and destination and this position can vary
unpredictably. This variation in delay is known as jitter and can seriously
affect the quality of streaming audio and/or video.
Out of order delivery
As discussed that different packets might take different routes. The result is
that the packets arrive in a different order than they were sent. Therefore,
when a collection of related packets is routed through the Internet, they reach
the destination at different times and hence in a different order. This problem
requires special additional protocols responsible for rearranging out-of-order
packets to the desired state, once they reach their destination.
Error
Apart from the above mentioned situations, at times packets are misdirected, or
combined together, or corrupted while en route. The receiver has to detect this,
and just as if the packet was dropped, ask the sender to repeat itself.
Where is it required?
There are numerous applications these days where implementing QoS has become
necessary. For starters, streaming multimedia requires a certain level of
guaranteed throughput to maintain that a minimum level of quality is maintained.
Services like IPTV rely heavily on QoS. Strict limits on jitter and delay are
required for IP telephony or VoIP and so is the case for video conferencing.
Safety critical applications like remote surgeries and others may also require a
guaranteed degree of availability. Lack of QoS is what harms online gaming
experience by introducing lags.
Obtaining a certain QoS
The service provider is the one who gives a certain QoS. When the expenses for
bringing QoS into are justified, network customers and providers typically enter
into a contractual agreement. This contractual agreement termed as an SLA or
service level agreement specifies guarantees for the ability of a
network/protocol to give guaranteed performance/throughput/latency bounds, based
on mutually agreed measures, usually by prioritizing traffic and reserving
resources.Two such mechanisms are:
Intserv: IntServ is a more ambitious scheme than DiffServ. In IntServ,
resource reservation protocol (RSVP) is the major mechanism to guarantee QOS. As
its name suggests, RSVP reserves capacity along an end-to-end route for a
specific packet flow by signaling its requirements before the flow is sent. It
is, in effect, a “yes or no” protocol: Either it receives a signal that capacity
is available, or it does not.
DiffServ: DiffServ marks the type-of-service (TOS) bits, which had
been previously defined in the IP standard. By looking at these bits different
application flows are assigned to different aggregate flows. Advantages over
intserve include; all of the processing takes place before the flows enter the
network, at the boundaries; and the flows are aggregated so that there is no
need for routers to analyze the requirements of each individual flow.
Quality of Experience
Unlike QoS, Quality of experience is a subjective measure of customer's user
experience with a vendor. It is not tied closely to the black and white of a
contract and doesn't measure how well the vendor lives up to its end of the
bargain. A vendor may be living up to the contractual agreement about QoS, but
still the users can be very unhappy. The factors effecting Quality of Experience
can include the mix of goods, services, and support that is provided to the end
user.