This article provides an analysis of the methods and protocols used to improve the Quality of Service (QoS) in Internet Protocol (IP) networks. The challenges of achieving a high level of QoS in IP networks are examined. The traditional methods for QoS are presented along with current and proposed methods for QoS in IP networks. The goal of the article is to educate the reader on the various methods of achieving QoS and to examine the best options for the future. As Internet bandwidth requirements grow and high quality IP applications such as real-time video and Voice over IP (VoIP) become widespread, QoS will be critical to the success of providing high quality Internet Protocol (IP) services.
Quality of Service
The Internet Engineering Task Force (IETF) defines Quality of Service (QoS) as a service agreement (or a guarantee) to provide a set of measurable networking service attributes, including end to end delay, delay variation (jitter), and available bandwidth. The International Telecommunication Union (ITU) defines QoS as the collective effect of service performance which determines the degree of customer satisfaction. Cisco defines QoS as the capacity of a network to provide better service to selected network traffic.
This article defines QoS as the capability of an IP network to classify and prioritize traffic flows in order to ensure that the technical characteristics of packet loss, delay, error rate and jitter are met for each customer. Quality of Service (QoS) methods are based on the ability of an IP network to identify and classify traffic that is higher priority so that the technical requirements of the customer are met. QoS methods are based on having an adequate amount of bandwidth (i.e. low network utilization) to prevent traffic congestion and to permit the setup of priority traffic flows.
Traditional QoS Methods for IP Networks
In the early days of the Internet, the applications were low bandwidth and not real-time in nature, so a high quality of service was easy to maintain. The early Internet applications of email, File Transfer Protocol (FTP) and web browsing were low-speed bursty IP traffic so delay, latency and bit error rates were not critical. The early networks relied on the Transmission Control Protocol (TCP) to provide flow control, error checks and retransmission of data packets when necessary. TCP provides a best-effort level of QoS that is acceptable for email and web browsing. However, the TCP protocol alone will not provide an acceptable level of QoS for real-time high bandwidth applications such as video or VoIP. Another method used to improve the QoS in early TCP/IP networks was the First-In First-Out (FIFO) buffer. FIFO buffers provided a simple method to store packets when there was temporary network congestion, but FIFO buffers make no intelligent decision about the priority of traffic. This section will examine some of the traditional methods of QoS to include the Transmission Control Protocol (TCP), IP Routing Protocols, First-In First-Out (FIFO) buffers, the Real Time Protocol (RTP) and the Explicit Congestion Notification (ECN) protocol.
Transmission Control Protocol (TCP). The Transmission Control Protocol (TCP) is one of the most common protocols used in the Internet. Although it is not traditionally considered a QoS protocol, TCP can provide adequate QoS for best-effort Internet applications such as email and web browsing. The Transmission Control Protocol (TCP) is a connection oriented protocol that provides reliable data transport between host computers. The term connection-oriented means the two host computers using TCP must establish a connection with each other before they exchange data. TCP includes flow-control to control the transmission of data so that the receiver can limit how much data the sender transmits. TCP uses a sliding window protocol for flow control. TCP uses the sequence, acknowledge and window fields in the header for flow control. The window field identifies the number of bytes that can be sent without acknowledgements. The window size will slide up and down based on performance of the connection.
First-In, First-Out (FIFO) Buffers. FIFO buffers provide temporary queuing of data when there is network congestion. The shortcoming of FIFO queuing is that no intelligent decision is made on the priority of traffic. FIFO is still used in many networking devices, but is now considered a non-QoS method because FIFO is unable to meet the QoS standards of today’s IP networks.
Explicit Congestion Notification (ECN). The ECN protocol provides advance warning of network congestion so the routers can mark data packets being transmitted. With ECN, a bit is placed in the IP header to signal the transmitter that the network is congested. ECN will set a flag notifying the sender to decrease the window size to avoid having to retransmit packets. ECN is also not a true QoS protocol and is incapable of reserving resources or guaranteeing services.
Quality of Service Methods in IP Networks
Quality of Service Levels. The service levels of QoS refer to the actual capabilities of the network to provide end to end service. There are three levels of QoS for IP networks:
1. Best Effort Service. This level of service provides no guarantees of service and relies on basic TCP and FIFO functions to transmit data across the network.
2. Differentiated Service. This level prioritizes traffic and provides a statistical preference for higher priority traffic, but not a hard guarantee of service. Priority Queuing (PQ) is an example of differentiated service.
3. Guaranteed Service. This is the best level of QoS and provides a reservation of network resources for high priority traffic. The RSVP protocol is an example.
Classification of IP Traffic. To provide a high priority service for a type of data traffic, the data must first be identified and classified for service. If the data is marked, then IP precedence throughout the network can be used to provide a higher level of service. For data that is identified, but not marked, classification is on a ‘per-hop’ basis. On a per-hop basis means that classification of the data only pertains to a single device that uses a QoS method such as priority queuing.
Access Control Lists (ACL). Access control lists are used in IP networks to identify traffic for congestion management methods such as policy based routing. The ACL is a list of permissions on a router that determine the actions that the device will take with a given traffic flow.
Policy Based Routing (PBR). Policy Based Routing permits the classification of traffic based on extended access control lists and set IP precedence bits. PBR uses route-maps within a network to route traffic based on established policies. PBR can direct packets to take a different path than derived from routing protocols.
Committed Access Rate (CAR). CAR is a method to classify traffic and set policies for handling traffic that exceeds a bandwidth allocation. If a traffic flow exceeds an established bandwidth on a device port, it can be either dropped, passed or have its IP precedence changed based on established policies.
IP Precedence. IP precedence takes advantage of the three precedence bits in the IPv4 header’s Type of Service (TOS) field to specify a class of service for each packet and provide a differentiated level of QoS. RFC 2475 extends the number of bits used in the TOS field from 3 to 6 and is known as DiffServ.
Priority Queuing (PQ). PQ provides a higher priority to important traffic so that it is handled first at each device in the network. Packets are given one of four levels of classification by the application. PQ is useful at prioritizing certain types of traffic, but PQ uses static routing and is unable to adapt to network changes.
Custom Queuing (CQ). CQ provides a guaranteed bandwidth for a higher priority data flow and is used in situations where network congestion or potential latency must be avoided by high priority traffic. Like PQ, CQ uses static routes and will not dynamically adapt to the network.
Flow-based Weighted Fair Queuing (WFQ). WFQ uses a flow-based queuing algorithm to ensure that all data is serviced fairly and predictably without wasting bandwidth on reservations. WFQ uses IP precedence for classification of traffic to provide superior service to high priority flows. The advantage of WFQ over PQ and CQ is that WFQ can automatically adapt to changing traffic conditions. WFQ is the default queuing mode for Cisco routers on low speed serial ports.
Real Time Protocol (RTP). The Real Time Transport Protocol (RTP) is a layer 4 transport protocol that can be used with either TCP or the User Datagram Protocol (UDP) to improve the quality of service. RTP is frequently used with UDP in voice over IP (VoIP) networks because it provides a sequence number for packets, allows applications to detect packet loss, and provides a time-stamp so delay and jitter can be monitored. RTP does not address resource reservation and does not guarantee quality-of-service for real-time services. The RTP data transport is normally used with a companion control protocol (RTCP) to allow monitoring of the data delivery.
Improving QoS Methods for IP Networks
Differentiated Services (DiffServ). The DiffServ protocol is used to provide service differentiation of services within backbone networks. Packets are labeled with their quality of service when they enter the network and placed within large groups. DiffServ is not an end-to-end solution and is only intended to work within the core of the network. There is no signaling between ends and the service is static, established ahead of time by service level agreements. However when used with an end-to-end QoS protocol such as IntServ, it has potential to provide good QoS. The DiffServ method is a good solution because it removes the per-flow state and scheduling that leads to scalability problems with IntServ QoS architectures.
Integrated Services (IntServ). The IntServ method of QoS provides guaranteed service with quantified delay and jitter standards. The IntServ protocol uses end-to-end signaling and resource reservation with three levels of service:
1. Guaranteed Service supports real-time applications and provides a guaranteed connection with standards for packet loss, delay and jitter that cannot be exceeded.
2. Controlled Load Service is the second best level of IntServ and is intended for applications that can tolerate some delay.
3. Best Effort Service provides no guarantees of service.
In a network using the IntServ protocol, every router in the network must implement IntServ, and every application that requires a level of QoS must reserve resources for the service. The RSVP protocol (described in the next paragraph) performs the signaling end to end and among the routers. There are problems with IntServ such as poor scalability. IntServ works well in small networks, but in large networks like the Internet, it is difficult to keep track of the many reservations. There could be thousands of reservations for some routers. Therefore IntServ is often recommended for use only in the edge networks while within the core of the network, other protocols will reserve aggregate resources. Another problem is that IntServ duplicates some of the functions of RTP such as jitter control.
Resource Reservation Protocol (RSVP). The RSVP protocol is used to signal QoS messages across a network. It is used with IntServ and also Microsoft Windows software. RSVP is an out of band protocol and messages are sent end-to-end. Routers listen for the RSVP requests for reservation and respond if they can support the service. RSVP is used in conjunction with other QoS protocols. The RSVP messages can be sent across the core of a network and only the edge routers using IntServ will interpret the messages.
Multi-Protocol Label Switching (MPLS). The MPLS protocol enables the transmitter to label packets and establish priority of service. The edge routers in a network mark the packets with a fixed length label that contains information on the route and the priority of the service. MPLS has a wide range of service classes, but it can only provide QoS within a MPLS domain and not end-to-end. Therefore the use of MPLS for QoS is very limited.
Layer 2 Solutions for QoS. A very effective method of implementing QoS within a network is to use layer 2 protocols to prioritize the traffic. Operating at the media control access (MAC) layer, the 802.p standard provides specifications for layer 2 switches that establish eight classes of traffic. Both Virtual Local Area Network (VLAN) and VPLS (Virtual Private LAN Service) will support 802.p to establish virtual circuits that are prioritized according to the type of content. Layer 2 solutions for QoS may be the most effective means for providing high quality and prioritized service over an IP network. However, layer 2 solutions are normally only used within intranets and VLANs that are controlled by a single system administrator. Over the global Internet, it may not be possible to use layer 2 QoS solutions when accessing public sites.
This article has demonstrated that the early methods of QoS in IP networks such as TCP flow control and FIFO buffers are not adequate for today’s high speed Internet applications. Better methods of QoS are necessary to support real time applications such as video and voice over IP.
There are three levels of QoS: best effort, differentiated service and guaranteed service. Best effort provides no QoS protocols other than TCP flow control and can only be used for bursty IP traffic that is not time sensitive such as email and web browsing. Differentiated service classifies and prioritizes traffic flows so that higher priority traffic has precedence in the network. Examples of differentiated service methods are PBR, CAR, IP precedence, PQ and DiffServ. The guaranteed service level of QoS provides the best QoS by reserving resources throughout the network for high priority traffic flows. Examples are RSVP and IntServ. Guaranteed level of service can only be provided when the network has adequate bandwidth to support the traffic.
Implementing Layer 2 QoS is very effective when a single system administrator controls the network. The 802.p standard provides a method for classifying and prioritizing traffic using the MAC address and layer 2 switches. With VLAN, virtual circuits can prioritize traffic and establish a high level of QoS. However these methods are not applicable when the IP network is the global Internet and public sites must be accessed.
The future of the Internet will depend on effective quality of service (QoS) methods. To support future real-time applications over the global Internet, reliable transmission methods will be needed along with the ability to classify and prioritize traffic on an end to end basis. The QoS methods described in this paper provide a framework for implementing QoS within IP networks. Layer 2 solutions will serve the Intranets, while standards and common solutions will have to be decided upon for the public Internet.