QoS Overview Directory

The concept of QoS

End-to-End QoS Model

Best-Effort Service

Integrated Service

Differentiated Service

Various Queuing Algorithms of QoS

Weighted Fair Queueing

Weighted Random Early Detection

Custom Queueing

Priority Queueing

Signaling of QoS

QoS link efficiency mechanism

This section explains what Quality of Service (QoS) is and the service model that realizes the service quality. It also introduces various queuing algorithms of QoS. See QoS Configuration for related configurations.

The concept of QoS

QoS means the capability of a network that uses various basic technologies to provide better service for selected network communications. These basic technologies include: Frame Relay (FR), Asynchronous Transfer Mode (ATM), Ethernet and 802.1 network, and IP-route network. To guarantee the QoS of these networks, the router provides several functions such as queuing, scheduling and QoS signaling technology. In particular, by using technologies that support dedicated bandwidth and avoiding and managing network congestion, our routers provide better and more predictable network service.

End-to-End QoS Model

The service model describes the QoS capability of an End-to-End group, i.e. the capability of a network that provides services requested by special network communications from one end to the other. QoS software supports three kinds of service models: Best-Effort Service, Integrated Service and Differentiated Service.

Best-Effort Service

Best-Effort service is a simple service model. Under this kind of service model, applications can send any volume of data at any time without applying for permission or notifying the network in advance. For Best-Effort service, if conditions permit, the network can transfer data without any guarantee in the aspects of reliability, time delay range or throughput. The routers QoS function for Best-Effort service adopts the FIFO (first in, first out) queuing.

Integrated Service

Integrated service is a multiple service model, and it can handle various QoS requirements. In this model, applications have to apply to the network for a special kind of service by QoS signaling before sending data. This request is mainly for the network to notify the brief communication situations of this application, and apply for a special kind of service, which can fulfill its bandwidth and time delay requirements. Only after getting confirmation messages from the network can this application send data. Meanwhile, the data sent by it must comply with the previously described communication situations.

When conducting intelligent queuing operations for various streams, as long as the communication volume maintains the requested range, the network can meet the QoS requirement of this application.

The QoS of router software provides Controlled Load Service and Guaranteed Rate Service by using the Resource Reservation Protocol (RSVP). Controlled Load Service allows the application to maintain low time delay and high throughput operations even when the network is congested. To realize this target, router QoS provides Weighted Fair Queuing (WFQ).

Differentiated Service

The difference between the Differentiated Service and the Integrated Service model is that applications using Differentiated Service dont have to definitely send a signal to the router before sending data.

For Differentiated Service, if the network is going to send a special kind of service, it must specify the corresponding QoS mark in every data packet. This kind of specification can be realized in several ways, for example, using the IP priority bit in the IP data packet. The router uses this QoS specification to make classification, and complete the intelligent queuing task. The Weighted Random Early Detection (WRED), Custom Queuing (CQ), and Priority Queuing (PQ) provided by the router QoS can be used to send differentiated service.

Various Queuing Algorithms of QoS

The various queuing algorithms of QoS are the important guarantee for realizing QoS. Our routers provide Weighted Fair Queuing (WFQ), Custom Queuing (CQ), Priority Queuing (PQ) for bandwidth assignment; Weighted Random Early Detection (WRED) for congestion control; and the simplest FIFO algorithm.

Weighted Fair Queueing

WFQ is an automatic scheduling method, and it provides a fair bandwidth assigning solution for all network communications. WFQ applies priority or weight to specified communications to divide them into different sessions, and determines the bandwidth of every session as compared with other sessions. WFQ is an algorithm based on data stream, it not only moves communications with high priority to the front of the queue to reduce response time, but also distributes the remaining bandwidth among high bandwidth data streams fairly. In other words, WFQ assigns higher priority to low-volume traffic(for example, Telnet session) than high-volume traffic(for example, FTP session). WFQ provides balanced link volume assignment for concurrent file transfers; i.e. when there are several simultaneous file transfer tasks , it can provide equal bandwidth for these data transfer tasks.

WFQ overcomes the serious limitation of the FIFO queuing method. When the FIFO queuing method is in effect, communications are sent out according to the sequence in which they reach the interface without considering their bandwidth consumption or relative time delay. As a result, file transfer or other large data volume network applications can take almost all the available bandwidth, depriving the bandwidth of other communications. WFQ dynamically divides the communication into messages that constitute sessions in order to distribute the bandwidth fairly among different sessions, assuring that low-volume traffic can be transferred in a timely method.

WFQ can divide the communication into different data streams based on the addressing of the data packet head. Because most communications are IP data, it classifies the data packet according to various fields of IP head (Source and Target addresses, Source and Target ports, protocol type and TOS).

Before sending, WFQ puts the data packet of various sessions into a fair queue. The sequence in which data packets leave the fair queue is determined by the finish number indicated by the last bit of every arriving data packet.

For almost every serial interface whose speed is set to 2.048Mbps or lower, WFQ is the default queuing method.

For detailed information, see WFQ configuration.

The normal weighted fair queuing can only automatically identify streams, but cant provide specified services to some special streams as required. Our routers provide category-based weighted fair queuing (CBWFQ), and this algorithm enhances the normal weighted fair queuing algorithm. It can identify a stream of some category defined by users, and assign a specified weight to this stream.

For detailed information, see CBWFQ configuration.

Weighted Random Early Detection

Random Early Detection (RED) technology is a generally used congestion avoidance mechanism. Once RED is configured, routers use RED to control dropped message packets. If you dont configure Weighted Random Early Detection (WRED), routers will use a rough message packet dropping technology called Tail Drop by default. (Weighted Random Early Detection (WRED) doesnt guarantee the bandwidth ratio of a specified stream.)

Tail Drop treats all communications equally, and it doesnt distinguish the service level. When congestion occurs, some packets will accumulate in the sending queue. If the sending queue is full, message packets will begin to be dropped until congestion disappears and sending queue is full no more. When using RED to resolve the congestion on routers, the globalization of this problem can be avoided. Global Synchronization occurs at the peak of congestion, many hosts using TCP protocol to decrease their transfer speeds to handle dropped message packets, and increase their transfer speeds again when congestion mitigates, but the transfer link is not fully used during this process.

The basic assumption of RED technology is that most applications are sensitive to the packet loss during communication, and if some message packets are dropped, the sending speed will be reduced temporarily. TCP is used to handle dropped message packets accurately or even soundly, i.e. effectively assuring that the effectiveness of the packet dropping technology is the same as that of congestion avoidance signaling technology.

The target of RED is achieved by controlling average queue length to indicate terminal hosts to reduce their message packet transfer speed temporarily when required. RED indicates message packet source to reduce its transfer speed by dropping packets randomly before the peak congestion period comes. If packet source uses TCP, it will reduce its sending speed, until all packets arrive at their destinations and the congestion is cleared. You can use RED to call TCP in order to reduce the transfer speed of message packets. TCP can not only pause sending, but also restart quickly, which adjusts the transfer speed to the speed supported by the network.

When average queue length exceeds the minimum threshold, RED begins to drop packets. The packet dropping speed is increased linearly as average queue length increases until the average queue length reaches the minimum threshold and packets stop being dropped. When average queue length exceeds the maximum threshold, all packets will be dropped. The minimum threshold must be set high enough in order to maximize the utilization of the transfer link. If the minimum threshold is set too low, packets will be dropped unnecessarily, and the transfer link will not be utilized fully. The interval between the maximum and the minimum thresholds must be set large enough to avoid Global Synchronization. If the interval is too small, many packets will be dropped immediately which results in Global Synchronization.

For detailed information, see WRED configuration.

Custom Queueing

When Custom Queuing is in effect on a port, the system maintains 17 output queues for this port. You can specify queue No.1 to No.16. Configurable number of bytes and packet types concerned with every output queue. Configurable number of bytes means the number of bytes in the current queue that the system should send before moving to the next queue.

Queue No.0 is a system queue; before Queue No.1 to No.16 can be handled, Queue No.0 must be emptied first. The system puts high priority packets, such as keep-alive packets and signaling packets, in this queue. Other communications cannot use this queue.

For Queues No.1 to No.16, the system polls these queues, gets the configured number of bytes from the current queue, and then sends these packets before moving to the next queue. When handling a queue, the system keeps on sending packets until the number of sent bytes exceeds the total number of bytes of this queue or this queue is emptied. The bandwidth used by a queue can only be specified by the total number of bytes indirectly. Like PQ, CQ is configured statically, so it cant adapt to the continuously changing network conditions automatically.

For detailed information, see CQ configuration.

Priority Queueing

Priority Queuing has four kinds of communication priorities (high, middle, normal, low). During data transfer, Priority Queuing handles the high priority queues absolutely before the low priority queues; as long as important communications are given the highest priorities, they are always serviced before the communications with lower priorities.

According the criteria defined by users, packets are classified and put into one of the four output queues; packets whose priorities have not been defined will be put into the Normal queue. When the system is going to send out packets from an interface, it begins to scan priority queues on this interface from the highest level to the lowest level. It scans the high priority queues first, and then scans the middle priority queues, and so on. Then, it selects the first packet in a queue with the highest priority, and begins transmission. Every time when it is going to send a packet, it repeats this process.

For detailed information, see PQ configuration.

Signaling of QoS

The signaling function of our router QoS allows end points or network nodes to send signals to other nodes in order to apply for the special processing of some communication. The signaling function of QoS can assist the QoS with scheduling, and configure successful, comprehensive End-to-End QoS service for the entire network. The signaling function of QoS uses IP protocol. Both the inside (IP priority) and the outside (RSVP protocol) signaling functions indicate that any specified communication type has the chance to get some kind of QoS service. IP priority and RSVP protocol provides a stable union to the End-to-End QoS signaling function: IP priority signal is used in the differentiated QoS, and RSVP is used in the guaranteed QoS.

For more comprehensive information, see RSVP documents.

QoS link efficiency mechanism

To avoid the unnecessary waste of available bandwidth, our routers adopt RTP header compression (CRTP). For detailed information, see CRTP documents.