Quality of service


Quality of service is the description or measurement of the overall performance of a service, such as a telephony or computer network, or a cloud computing service, particularly the performance seen by the users of the network. To quantitatively measure quality of service, several related aspects of the network service are often considered, such as packet loss, bit rate, throughput, transmission delay, availability, jitter, etc.
In the field of computer networking and other packet-switched telecommunication networks, quality of service refers to traffic prioritization and resource reservation control mechanisms rather than the achieved service quality. Quality of service is the ability to provide different priorities to different applications, users, or data flows, or to guarantee a certain level of performance to a data flow.
Quality of service is particularly important for the transport of traffic with special requirements. In particular, developers have introduced Voice over IP technology to allow computer networks to become as useful as telephone networks for audio conversations, as well as supporting new applications with even stricter network performance requirements.

Definitions

In the field of telephony, quality of service was defined by the ITU in 1994. Quality of service comprises requirements on all the aspects of a connection, such as service response time, loss, signal-to-noise ratio, crosstalk, echo, interrupts, frequency response, loudness levels, and so on. A subset of telephony QoS is grade of service requirements, which comprises aspects of a connection relating to capacity and coverage of a network, for example, guaranteed maximum blocking probability and outage probability.
In the field of computer networking and other packet-switched telecommunication networks, teletraffic engineering refers to traffic prioritization and resource reservation control mechanisms rather than the achieved service quality. Quality of service is the ability to provide different priorities to different applications, users, or data flows, or to guarantee a certain level of performance to a data flow. For example, a required bit rate, delay, delay variation, packet loss or bit error rates may be guaranteed. Quality of service is important for real-time streaming multimedia applications such as voice over IP, multiplayer online games and IPTV, since these often require a fixed bit rate and are delay sensitive. Quality of service is especially important in networks where the capacity is a limited resource, for example, in cellular data communication.
A network or protocol that supports QoS may agree on a traffic contract with the application software and reserve capacity in the network nodes, for example during a session establishment phase. During the session, it may monitor the achieved level of performance, for example, the data rate and delay, and dynamically control scheduling priorities in the network nodes. It may release the reserved capacity during a tear down phase.
A best-effort network or service does not support quality of service. An alternative to complex QoS control mechanisms is to provide high-quality communication over a best-effort network by over-provisioning the capacity so that it is sufficient for the expected peak traffic load. The resulting absence of network congestion reduces or eliminates the need for QoS mechanisms.
QoS is sometimes used as a quality measure, with many alternative definitions, rather than referring to the ability to reserve resources. Quality of service sometimes refers to the level of quality of service, i.e. the guaranteed service quality. High QoS is often confused with a high level of performance, for example high bit rate, low latency and low bit error rate.
QoS is sometimes used in application layer services such as telephony and streaming video to describe a metric that reflects or predicts the subjectively experienced quality. In this context, QoS is the acceptable cumulative effect on subscriber satisfaction of all imperfections affecting the service. Other terms with similar meaning are the quality of experience, mean opinion score, perceptual speech quality measure and perceptual evaluation of video quality.

History

A number of attempts for layer 2 technologies that add QoS tags to the data have gained popularity in the past. Examples are Frame Relay, Asynchronous Transfer Mode and Multiprotocol Label Switching . Despite these network technologies remaining in use today, this kind of network lost attention after the advent of Ethernet networks. Today, Ethernet is, by far, the most popular layer 2 technology. Conventional Internet routers and network switches operate on a best-effort basis. This equipment is less expensive, less complex and faster and thus more popular than earlier, more complex technologies that provide QoS mechanisms.
Ethernet optionally uses 802.1p to signal the priority of a frame.
There were four type of service bits and three precedence bits originally provided in each IP packet header, but they were not generally respected. These bits were later re-defined as Differentiated services code points.
With the advent of IPTV and IP telephony, QoS mechanisms are increasingly available to the end user.

Factors

In packet-switched networks, quality of service is affected by various factors, which can be divided into human and technical factors. Human factors include: stability of service quality, availability of service, waiting times and user information. Technical factors include: reliability, scalability, effectiveness, maintainability and network congestion.
Many things can happen to packets as they travel from origin to destination, resulting in the following problems as seen from the point of view of the sender and receiver:

Goodput

Due to varying load from disparate users sharing the same network resources, the maximum throughput that can be provided to a certain data stream may be too low for real-time multimedia services.

Packet loss

The network may fail to deliver some packets due to network congestion. The receiving application may ask for this information to be retransmitted, possibly resulting in congestive collapse or unacceptable delays in the overall transmission.

Errors

Sometimes packets are corrupted due to bit errors caused by noise and interference, especially in wireless communications and long copper wires. The receiver has to detect this, and, just as if the packet was dropped, may ask for this information to be retransmitted.

Latency

It might take a long time for each packet to reach its destination because it gets held up in long queues, or it takes a less direct route to avoid congestion. In some cases, excessive latency can render an application such as VoIP or online gaming unusable.

Packet delay variation

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. Delay variation can be absorbed at the receiver, but in so doing increases the overall latency for the stream.

Out-of-order delivery

When a collection of related packets is routed through a network, different packets may take different routes, each resulting in a different delay. The result is that the packets arrive in a different order than they were sent. This problem requires special additional protocols for rearranging out-of-order packets. The reordering process requires additional buffering at the receiver, and, as with packet delay variation, increases the overall latency for the stream.

Applications

A defined quality of service may be desired or required for certain types of network traffic, for example:
These types of service are called inelastic, meaning that they require a certain minimum bit rate and a certain maximum latency to function. By contrast, elastic applications can take advantage of however much or little bandwidth is available. Bulk file transfer applications that rely on TCP are generally elastic.

Mechanisms

Circuit-switched networks, especially those intended for voice transmission, such as ATM or GSM, have QoS in the core protocol; resources are reserved at each step on the network for the call as it is set up, and there is no need for additional procedures to achieve the required performance. Shorter data units and built-in QoS were some of the unique selling points of ATM for applications such as video on demand.
When the expense of mechanisms to provide QoS is justified, network customers and providers can enter into a contractual agreement termed a service-level agreement which specifies guarantees for the ability of a connection to give guaranteed performance in terms of throughput or latency based on mutually agreed measures.

Over-provisioning

An alternative to complex QoS control mechanisms is to provide high-quality communication by generously over-provisioning a network so that capacity is based on peak traffic load estimates. This approach is simple for networks with predictable peak loads. This calculation may need to appreciate demanding applications that can compensate for variations in bandwidth and delay with large receive buffers, which is often possible, for example, in video streaming.
Over-provisioning can be of limited use in the face of transport protocols that, over time, increase the amount of data placed on the network until all available bandwidth is consumed and packets are dropped. Such greedy protocols tend to increase latency and packet loss for all users.
The amount of over-provisioning in interior links required to replace QoS depends on the number of users and their traffic demands. This limits the usability of over-provisioning. Newer, more bandwidth-intensive applications and the addition of more users result in the loss of over-provisioned networks. This then requires a physical update of the relevant network links, which is an expensive process. Thus, over-provisioning cannot be blindly assumed on the Internet.
Commercial VoIP services are often competitive with traditional telephone service in terms of call quality, even without QoS mechanisms in use on the user's connection to their ISP and the VoIP provider's connection to a different ISP. Under high load conditions, however, VoIP may degrade to cell-phone quality or worse. The mathematics of packet traffic indicates that the network requires just 60% more raw capacity under conservative assumptions.