Sunday, January 30, 2011

Quality of service

In the field of computer networking and other packet-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 required bit 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-time streaming multimedia applications such as voice over IP, online games and IP-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.

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 eliminates the need for QoS mechanisms.

In the field of telephony, quality of service was defined in the ITU 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.[1]

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 low bit error probability.

An alternative and disputable definition of QoS, used especially in application layer services such as telephony and streaming video, is requirements on 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 (QoE) subjective business concept, the required "user perceived performance",[2] the required "degree of satisfaction of the user" or the targeted "number of happy customers". Examples of measures and measurement methods are Mean Opinion Score (MOS), Perceptual Speech Quality Measure (PSQM) and Perceptual Evaluation of Video Quality (PEVQ). See also subjective video quality.

History

Conventional Internet routers and LAN switches lack the ability to provide quality of service guarantees. This made Internet equipment less expensive, faster and thus more popular than competing more complex technologies that provided QoS mechanisms, for example X.25. Internet traditionally therefore runs at default QoS level, or "best effort". There were four "Type of Service" bits and three "Precedence" bits provided in each IP packet, but they were ignored. These bits were later re-defined as DiffServ Code Points (DSCP) and are sometimes honored in peered links on the modern Internet.

With the advent of IP-TV and IP-telephony, QoS mechanisms are increasingly available to the end user.

A number of attempts for layer 2 technologies that add QoS tags to the data have gained popularity during the years, but then lost attention. Examples are Frame relay and ATM. Recently, MPLS (a technique between layer 2 and 3) have gained some attention. However, today Ethernet may offer QoS and is, by far, the most popular layer 2 technology.

In Ethernet, Virtual LANs (VLAN) may be used to separate different QoS levels. For example in fibre-to-the-home switches typically offer several Ethernet ports connected to different VLAN:s. One VLAN may be used for Internet access (low priority), one for IP-TV (higher priority) and one for IP telephony (highest priority). Different Internet providers may use the different VLANs.

Key qualities of traffic

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.[3]

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:

Low throughput
    Due to varying load from other users sharing the same network resources, the bit rate (the maximum throughput) that can be provided to a certain data stream may be too low for realtime multimedia services if all data streams get the same scheduling priority.
Dropped packets
    The routers might fail to deliver (drop) some packets if their data is corrupted or they arrive when their buffers are already full. The receiving application may ask for this information to be retransmitted, possibly causing severe 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 takes a less direct route to avoid congestion. This is different from throughput, as the delay can build up over time, even if the throughput is almost normal. In some cases, excessive latency 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 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 responsible for rearranging out-of-order packets to an isochronous 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 sequence.

Applications

A defined quality of service may be desired or required for certain types of network traffic, for example:

    * Streaming media and specifically Internet protocol television (IPTV)
    * IP telephony also known as Voice over IP (VoIP)
    * Videoconferencing
    * Circuit Emulation Service
    * Safety-critical applications such as remote surgery where availability issues can be hazardous
    * Network operations support systems either for the network itself, or for customers' business critical needs
    * Online games where real-time lag can be a factor
    * Industrial control systems protocols such as Ethernet/IP which are used for real-time control of machinery

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

    * In advance: When the expense of mechanisms to provide QoS is justified, network customers and providers typically enter into a contractual agreement termed a service 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.

Overprovisioning

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 may degrade to cell-phone quality or worse. The mathematics of packet traffic indicate that network requires just 60% more raw capacity under conservative assumptions.[4]

The amount of over-provisioning in interior links required to replace QoS depends on the number of users and their traffic demands. This is an important factor that limits usability of over-provisioning. Newer more bandwidth intensive applications and the addition of more users results 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.

QoS mechanisms

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 and IEEE 802.1p 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):
          o Token bucket
          o Leaky bucket
          o TCP rate control—artificially adjusting TCP window size as well as controlling the rate of ACKs being returned to the sender[citation needed]
    * Scheduling algorithms:
          o Weighted fair queuing (WFQ)
          o Class based weighted fair queuing
          o Weighted round robin (WRR)
          o Deficit weighted round robin (DWRR)
          o Hierarchical Fair Service Curve (HFSC)
    * Congestion avoidance:
          o RED, WRED - Lessens the possibility of port queue buffer tail-drops and this lowers the likelihood of TCP global synchronization
          o Policing (marking/dropping the packet in excess of the committed traffic rate and burst size)
          o Explicit congestion notification
          o Buffer tuning

As mentioned, while DiffServ is used in many sophisticated enterprise networks, it has not been widely deployed in the Internet. Internet peering 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 as VoIP and IPTV, 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 the unique selling points of ATM in the telecommunications applications such as video on demand, voice over IP.

Protocols that provide quality of service

    * The Type of Service (TOS) field in the IP header (now superseded by Diffserv)
    * IP Differentiated services (DiffServ)
    * IP Integrated services (IntServ)
    * Resource reSerVation Protocol (RSVP)
    * Multiprotocol Label Switching (MPLS) provides eight QoS classes
    * RSVP-TE
    * Frame relay
    * X.25
    * Some ADSL modems
    * Asynchronous Transfer Mode (ATM)
    * IEEE 802.1p
    * IEEE 802.1Q
    * IEEE 802.11e
    * HomePNA Home networking over coax and phone wires
    * The ITU-T G.hn standard provides QoS by means of "Contention-Free Transmission Opportunities" (CFTXOPs) which are allocated to flows which require QoS and which have negotiated a "contract" with the network controller. G.hn also supports non-QoS operation by means of "Contention-based Time Slots".

QoS solutions

The research project MUSE defined a QoS concept in Phase I which was further worked out in another research project 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 PLANETS
    * Nodes can be easily verified for compliance
    * End users do notice the difference in quality

The MUSE project finally elaborated its own QoS solution which is primarily based in:

    * The usage of traffic classes
    * Selective CAC concept
    * Appropriate network dimensioning

Quality of service procedures

Unlike the Internet 2 Abilene Network, the Internet is actually a series of exchange points interconnecting private networks and not a network in its own right.[5] Hence the Internet's core is owned and managed by a number of different Network Service Providers, not a single entity. Its behavior is much more stochastic or unpredictable. Therefore, research continues on QoS procedures that are deployable in large, diverse networks.

There are two principal approaches to QoS in modern packet-switched networks, a parameterized system based on an exchange of application requirements with the network, and a prioritized system where each packet identifies a desired service level to the network. On the Internet, Integrated services ("IntServ") implements the parameterized approach. In this model, applications use the Resource Reservation Protocol (RSVP) to request and reserve resources through a network.

Differentiated services ("DiffServ") implements the prioritized model. DiffServ marks packets according to the type of service they need. In response to these markings, routers and switches use various queueing strategies to tailor performance to requirements. (At the IP layer, differentiated services code point (DSCP) markings use the first 6 bits in the TOS field of the IP packet header. At the MAC layer, VLAN IEEE 802.1q and IEEE 802.1p can be used to carry essentially the same information.) Diffserv internally assumes over-provisioning within its delay-sensitive Expedited Forwarding, class. This assumption is not always justifiable in the Internet, making it a contributing factor to the lack of DiffServ implementations in networks that transit the Internet.

Cisco IOS NetFlow and the Cisco Class Based QoS (CBQoS) Management Information Base (MIB) can both be leveraged within a Cisco network device to obtain visibility into QoS policies and their effectiveness on network traffic. [6]

Non-IP protocols, especially those intended for voice transmission, such as ATM or GSM, have already implemented QoS in the core protocol and don't need additional procedures to achieve it.

End-to-end quality of service

End-to-end quality of service usually requires a method of coordinating resource allocation between one autonomous system and another. Research consortia such as EuQoS [1] and fora such as IPsphere [2] have developed mechanisms for handshaking QoS invocation from one domain to the next. IPsphere defined the SSS signaling bus (Service Structuring Stratum) in order to setup, invoke and assure network services. EuQoS conducted experiments to integrate SIP, NSIS and IPsphere's SSS.

The Internet Engineering Task Force (IETF) defined the RSVP protocol for bandwidth reservation. RSVP is an end to end bandwidth reservation protocol that is also useful to end to end QoS. RSVP:Resource reservation protocol. The traffic engineering version, RSVP-TE, is used in many networks today to establish traffic-engineered MPLS label-switched paths.

The IETF also defined NSIS [3] (Next Steps in Signalling) with QoS signalling as a target. NSIS is a development and simplification of RSVP.

Quality of service circumvention

Strong cryptography network protocols such as Secure Sockets Layer, I2P, and virtual private networks obscure the data transferred using them. As all electronic commerce on the Internet requires the use of such strong cryptography protocols, unilaterally downgrading the performance of encrypted traffic creates an unacceptable hazard for customers. Yet, encrypted traffic is otherwise unable to undergo deep packet inspection for QoS.

Doubts about quality of service over IP

Gary Bachula, Vice President for External Affairs for Internet2, asserts that specific QoS protocols are unnecessary in the core network as long as the core network links are "over-provisioned" to the point that network traffic never encounters delay. In "quality of service" engineering, this formulation is guaranteed by the admission control feature. It is important to note that this only refers to core networks and not end-to-end connections. Recent studies point to a relatively low end-to-end bandwidth availability even on Internet2.

The Internet2 QoS Working Group concluded that increasing bandwidth is probably more practical than implementing QoS.[7][8]

The Internet2 project found, in 2001, that the QoS protocols were probably not deployable inside its Abilene network with equipment available at that time. While newer routers are capable of following QoS protocols with no loss of performance, equipment available at the time relied on software to implement QoS. The Internet2 Abilene network group also predicted that "logistical, financial, and organizational barriers will block the way toward any bandwidth guarantees" by protocol modifications aimed at QoS.[9][10] In essence, they believe that the economics would be likely to make the network providers deliberately erode the quality of best effort traffic as a way to push customers to higher priced QoS services.

The Abilene network study was the basis for the testimony of Gary Bachula to the Senate Commerce Committee's Hearing on Network Neutrality in early 2006. He expressed the opinion that adding more bandwidth was more effective than any of the various schemes for accomplishing QoS they examined.[11]

Bachula's testimony has been cited by proponents of a law banning quality of service as proof that no legitimate purpose is served by such an offering. This argument is dependent on the assumption that over-provisioning isn't a form of QoS and that it is always possible. Cost and other factors affect the ability of carriers to build and maintain permanently over-provisioned networks.

Standards activity

    * Quality of service, or QoS, in the field of telephony, was defined in 1994 in the 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, 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.