Microsoft KB Archive/233039

= QoS Queuing Techniques =

Article ID: 233039

Article Last Modified on 2/25/2007

-

APPLIES TO


 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Professional Edition
 * Microsoft Windows 2000 Datacenter Server

-



This article was previously published under Q233039



SUMMARY
Included in the Quality of Service (QoS) Internetwork architecture is a discipline sometimes called Queue Management. Queuing is a technique used in internetwork devices such as routers or switches during periods of congestion. Packets are held in the queues for subsequent processing. After being processed by the router, the packets are then sent to their destination based on priority (IP Precedence, 802.1P).



MORE INFORMATION
In Windows 2000 QoS, packets are classified by using 802.1p, or IP Precedence. Once the packets are classified, they are sent to traverse a network. QoS-enabled routers that are in the data path of a QoS packet must service this packet according to the precedence. During congestion periods, a router will accept a packet that has intentions to be routed through it. The packet is assembled and checked for integrity by the router's input processes. According to the precedence, the packet is then sent to one of several input queues. There, it waits to be accepted by a forwarding/scheduling process that will determine the Output queue the packet will be placed in. Again, the queue is determined by the priority set on the packet. The Output queue is then serviced by the output process which transmits the packet. A few of the most commonly used queuing techniques include:

First-In First-Out
This queuing implementation is the default mechanism used on routers. It is considered a store and forward method. During congestion periods, packets are stored in a queue, and then forwarded in the order in which they were received when the network is not congested.

Priority Queuing
The Priority Queuing technique is designed to give all mission-critical programs higher priority that less critical traffic. You could consider this queuing method a simple form of traffic differentiation. During congestion periods traffic is queued as high, normal, medium, or low. Using Priority Queuing, all high-priority traffic is serviced first, then normal, and so on.

Weighted Fair Queuing
Weighted Fair Queuing (WFQ) gives low-volume traffic flows preferential treatment and allows higher-volume traffic flows to obtain equity in the remaining amount of queuing capacity. WFQ tries to sort and interleave traffic by flow and then queues the traffic according to the volume of traffic in the flow. Therefore, the fairness in WFQ is that the larger traffic flows (greater in byte quantity) do not arbitrarily starve smaller traffic flows by consuming all the bandwidth.

Choosing the right queuing discipline and the adequate queue length (how long a packet sits in a queue) may be a difficult task, especially if your network is a unique one with different traffic patterns daily. Monitor your network to determine which queuing discipline is adequate for your network. It is also important to select a queuing length that is suitable for your environment. Configuring a queue length that is too shallow could easily transmit traffic into the network too fast for the network to accept, which could result in discarded packets. If the queue length is too long, you could introduce an unacceptable amount of latency and Round-Trip Time (RTT) jitter. Program sessions would not work and end-to-end transport protocols (TCP) would time out or not work.

Because queue management is one of the fundamental techniques in differentiating traffic and supporting QoS functionality, choosing the correct implementation can contribute to your network operating optimally.