- Quality of service
In the field of
computer networking and otherpacket-switched telecommunication networks, the traffic engineering term quality of service (QoS) refers to resource reservation control mechanisms rather than the achieved service quality. Quality of service is the ability to provide different priority to different applications, users, or data flows, or to guarantee a certain level of performance to a data flow. For example, a requiredbit rate , delay, jitter, packet dropping probability and/or bit error rate may be guaranteed. Quality of service guarantees are important if the network capacity is insufficient, especially for real-timestreaming multimedia applications such asvoice over IP , online games andIP-TV , since these often require fixed bit rate and are delay sensitive, and in networks where the capacity is a limited resource, for example in cellular data communication. In the absence ofnetwork congestion , QoS mechanisms are not required.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.In the field of
telephony , quality of service was defined in theITU standard X.902 as "A set of quality requirements on the collective behavior of one or more objects". Quality of Service comprises requirements on all the aspects of a connection, such as service response time, loss, signal-to-noise ratio, cross-talk, echo, interrupts, frequency response, loudness levels, and so on. A subset of telephony QoS is Grade of Service (GOS) requirements, which comprises aspects of a connection relating to capacity and coverage of a network, for example guaranteed maximum blocking probability and outage probability.ITU-T Study Group 2, Teletraffic Engineering Handbook (350 pages, 2.7 MB)(It uses abbreviation GoS instead of QoS) http://www.com.dtu.dk/teletraffic/handbook/telenook.pdf]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 or achieved service quality, for example high
bit rate , low latency and lowbit error probability . See also Relation to subjective quality measures below.Relation to subjective quality measures
An alternative and disputable definition of QoS, used especially in telephony and
streaming video services, is a metric that reflects or predicts the subjectively experienced quality, for example theQuality of Experience (QoE) subjective business concept, the "user perceived performance" [Leonard Franken. Quality of Service Management: A Model-Based Approach. PhD thesis, Centre for Telematics and Information Technology, 1996. ] , the "degree of satisfaction of the user", the "number of happy customers" or theMean Opinion Score (MOS). In this context, QoS is the cumulative effect on subscriber satisfaction of all imperfections affecting the service. This definition includes the application and the human in the assessment, and demands an appropriate weighting of diverse objective measures.Quality of Service Experience (QoSE) on the other hand, is the actual measure of user’s experience with an operator in terms of delivered quality with or without reference to what is being promised. This differs from QoS as the former is defined only in the context of user experience but notQuality of Experience (QoE) because it is not subjective.Problems
When the Internet was first deployed many years ago, it lacked the ability to provide Quality of Service guarantees due to limits in router computing power. It therefore ran at default QoS level, or "best effort". There were four "Type of Service" bits and three "Precedence" bits provided in each message, but they were ignored. These bits were later re-defined as
DiffServ Code Points (DSCP) and are largely honored in peered links on the modern Internet.When looking at 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, availability of service, delays, user information. Technical factors include: reliability, scalability, effectiveness, maintainability, Grade of Service, etc.Peuhkuri M., IP Quality of Service, Helsinki University of Technology, Laboratory of Telecommunications Technology, 1999.]
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:
; Dropped packets : The routers might fail to deliver ("drop") some packets if they arrive when their buffers are already full. Some, none, or all of the packets might be dropped, depending on the state of the network, and it is impossible to determine what will happen in advance. The receiving application may ask for this information to be retransmitted, possibly causing severe delays in the overall transmission.; Delay : It might take a long time for a packet to reach its destination, because it gets held up in long queues, or takes a less direct route to avoid congestion. In some cases, excessive delay can render an application, such as VoIP or online gaming unusable. ; Jitter : 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 : When a collection of related packets is routed through the Internet, 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 responsible for rearranging out-of-order packets to anisochronous state once they reach their destination. This is especially important for video and VoIP streams where quality is dramatically affected by both latency and lack of isochronicity.; Error : Sometimes 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.Applications requiring QoS
A defined Quality of Service may be required for certain types of network traffic, for example:
* streamingmultimedia may require guaranteed throughput to ensure that a minimum level of quality is maintained.
*IPTV offered as a service from a service provider such asAT&T 'sU-verse
*IP telephony or Voice over IP (VOIP) may require strict limits on jitter and delay
* Video Teleconferencing (VTC) requires low jitter and latency
* Alarm signalling (e.g.,Burglar alarm )
*dedicated link emulation requires both guaranteed throughput and imposes limits on maximum delay and jitter
* a safety-critical application, such asremote surgery may require a guaranteed level ofavailability (this is also called "hard QoS").
* a remote system administrator may want to prioritize variable, and usually small, amounts of SSH traffic to ensure a responsive session even over a heavily-laden link.
* online games, such as fast paced real time simulations with multiple players. Lack of QoS may produce 'lag'.These types of service are called "inelastic", meaning that they require a certain minimum level of bandwidth 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.
Obtaining QoS
* Per call
* In call
* In advance: When the expense of mechanisms to provide QoS is justified, network customers and providers typically enter into a contractual agreement termed aservice level agreement (SLA) which 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.
* Reserving resources: Resources are reserved at each step on the network for the call as it is set up. An example is RSVP,Resource Reservation Protocol .QoS mechanisms
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 and economical for networks with predictable and light traffic loads. The performance is reasonable for many applications. This might include demanding applications that can compensate for variations in bandwidth and delay with large receive buffers, which is often possible for example in video streaming.
Commercial VoIP services are often competitive with traditional telephone service in terms of call quality even though QoS mechanisms are usually not in use on the user's connection to his ISP and the VoIP provider's connection to a different ISP. Under high load conditions, however, VoIP quality degrades to cell-phone quality or worse. The mathematics of packet traffic indicate that a network with QoS can handle four times as many calls with tight jitter requirements as one without QoS Fact|date=August 2008. The amount of over-provisioning in interior links required to replace QoS depends on the number of users and their traffic demands. As the Internet now services close to a billion users, there is little possibility that over-provisioning can eliminate the need for QoS when VoIP becomes more commonplace Fact|date=September 2008.
For narrowband networks more typical of enterprises and local governments, however, the costs of bandwidth can be substantial and over provisioning is hard to justify.Fact|date=July 2008 In these situations, two distinctly different philosophies were developed to engineer preferential treatment for packets which require it.
Early work used the "IntServ" philosophy of reserving network resources. In this model, applications used the
Resource reservation protocol (RSVP) to request and reserve resources through a network. While IntServ mechanisms do work, it was realized that in a broadband network typical of a larger service provider, Core routers would be required to accept, maintain, and tear down thousands or possibly tens of thousands of reservations. It was believed that this approach would not scale with the growth of the Internet, and in any event was antithetical to the notion of designing networks so that Core routers do little more than simply switch packets at the highest possible rates.The second and currently accepted approach is "DiffServ" or differentiated services. In the DiffServ model, packets are marked according to the type of service they need. In response to these markings, routers and switches use various queuing strategies to tailor performance to requirements. (At the IP layer, differentiated services code point (
DSCP ) markings use the 6 bits in the IP packet header. At the MAC layer,VLAN IEEE 802.1Q andIEEE 802.1D can be used to carry essentially the same information)Routers supporting DiffServ use multiple queues for packets awaiting transmission from bandwidth constrained (e.g., wide area) interfaces. Router vendors provide different capabilities for configuring this behavior, to include the number of queues supported, the relative priorities of queues, and bandwidth reserved for each queue.
In practice, when a packet must be forwarded from an interface with queuing, packets requiring low jitter (e.g.,
VoIP or VTC) are given priority over packets in other queues. Typically, some bandwidth is allocated by default to network control packets (e.g., ICMP and routing protocols), while best effort traffic might simply be given whatever bandwidth is left over.Additional
bandwidth management mechanisms may be used to further engineer performance, to include:*
Traffic shaping (rate limiting ):
**Token bucket
**Leaky bucket
** TCP rate control - artificially adjusting TCP window size as well as controlling the rate of ACKs being returned to the senderFact|date=July 2008
*Scheduling algorithms :
**Weighted fair queuing (WFQ)
**Class based weighted fair queuing
**Weighted round robin (WRR)
**Deficit weighted round robin (DWRR)
**Hierarchical Fair Service Curve (HFSC)
* congestion avoidance:
** RED, WRED - Lessens the possibility of port queue buffer tail-drops and this lowers the likelihood ofTCP global synchronization
** Policing (marking/dropping the packet in excess of the committed traffic rate and burst size)
**Explicit congestion notification
** Buffer tuningAs mentioned, while
DiffServ is used in many sophisticated enterprise networks, it has not been widely deployed in the Internet. Internetpeering arrangements are already complex, and there appears to be no enthusiasm among providers for supporting QoS across peering connections, or agreement about what policies should be supported in order to do so.One compelling example of the need for QoS on the Internet relates to this issue of
congestion collapse . The Internet relies on congestion avoidance protocols, as built into TCP, to reduce traffic load under conditions that would otherwise lead to Internet Meltdown. QoS applications such asVoIP andIPTV , because they require largely constant bitrates and low latency cannot use TCP, and cannot otherwise reduce their traffic rate to help prevent meltdown either. QoS contracts limit traffic that can be offered to the Internet and thereby enforce traffic shaping that can prevent it from becoming overloaded, hence they're an indispensable part of the Internet's ability to handle a mix of real-time and non-real-time traffic without meltdown.Asynchronous Transfer Mode (ATM)network protocol has an elaborate framework to plug in QoS mechanisms of choice. Shorter data units and built-in QoS were some of theunique selling point s of ATM in thetelecommunications applications such asvideo on demand ,voice over IP .QoS Priority Levels
{| border="0" cellpadding="2"!width="100" style="background:#D5A872"|6!width="235" style="background:#D5A872"|Layer 3 Network Control Reserved Traffic
[Less than 10ms latency and jitter]
QoS problems
*
Internet2 QoS Working Group concluded that increasing bandwidth is probably more practical than implementing QoS. [http://www.oreillynet.com/pub/a/network/2002/06/11/platform.html] [http://qbone.internet2.edu/papers/non-architectural-problems.txt]Protocols that provide Quality of Service
*
Differentiated services (DiffServ)
*Frame relay
*X.25
*SomeADSL modems
*Integrated services (IntServ)
*Resource reSerVation Protocol (RSVP)
*RSVP-TE
*Asynchronous Transfer Mode (ATM)
*Multiprotocol Label Switching (MPLS) provides eight QoS classes
*IEEE 802.1p
*IEEE 802.11e
*IEEE 802.11p
*TheType of Service (TOS) field in the IP header
*HomePNA Home networking over coax and phone wiresQoS Solutions
The research project [http://www.ist-muse.org MUSE] defined a QoS concept in Phase I which was further worked out in another research project [http://www.medea-planets.eu/QoSsolution.php PLANETS] . The new idea of this solution is to agree on a discrete jitter value per QoS class which is imposed on network nodes. Including best effort, four QoS classes were defined, two elastic and two inelastic. The solution has several benefits:
* End-to-end delay and packet loss rate can be predicted
* It is easy to implement with simple scheduler and queue length given in [http://www.medea-planets.eu/QoSsolution.php PLANETS]
* Nodes can be easily verified for compliance
* End users do notice the difference in qualityThe MUSE project finally elaborated its own QoS solution which is primarily based in:
* The usage of traffic classes
* Selective CAC concept
* Appropriate network dimensioningSee also
*
BSSGP
*Best-effort
*Class of Service
*Deep packet inspection (DPI)
*Downstream QoS
*Grade of service (GOS)
*Mean Opinion Score (MOS)
*Mobile QoS
*Network neutrality
*Quality of Experience (QoE)
*Series of tubes
*Streaming media
*Subjective video quality
*Tiered Internet
*Traffic shaping
*QPPB tandards Activity
*Quality of service, or QoS, in the field of
telephony , was defined in 1994 in the [http://www.itu.int/rec/T-REC-E.800-199408-I/en/ ITU-T Recommendation E.800] . This definition is very broad, listing 6 primary components: Support, Operability, Accessibility, Retainability, Integrity and Security.*In 1998 the ITU published a document discussing QoS in the field of data networking, [http://www.itu.int/rec/T-REC-X.641-199712-I/en/ ITU-T Recommendation X.641] . X.641 offers a means of developing or enhancing standards related to QoS and provide concepts and terminology that will assist in maintaining the consistency of related standards.
*The main QoS-related IETF RFCs are Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers (RFC 2474), and Resource ReSerVation Protocol (RSVP) (RFC 2205); both these are discussed above. The IETF has also published two RFCs giving background on QoS: RFC 2990: Next Steps for the IP QoS Architecture, and RFC 3714: IAB Concerns Regarding Congestion Control for Voice Traffic in the Internet.
External links
* [http://vonage.nmhoy.net/qos.html QoS Tutorial]
* [http://www.cisco.com/en/US/docs/internetworking/technology/handbook/QoS.html Quality of Service Networking]
* [http://www.cs.columbia.edu/~hgs/internet/qos.html Network QoS]Open Source QoS Software
* [http://lartc.org/ Linux Advanced Routing & Traffic Control]
* [http://www.bandwidtharbitrator.com/ Bandwidth Arbitrator]
* [http://www.untangle.com/index.php?option=com_content&task=view&id=82&Itemid=152 Untangle]
* [http://www.zeroshell.net/eng Zero Shell]Notes
Wikimedia Foundation. 2010.