1-13
Figure 1-7 Diagram for WFQ queuing
Before WFQ is introduced, you must understand fair queuing (FQ) first. FQ is designed for
the purpose of sharing network resources fairly and optimizing the delays and delay jitters
of all the flows. It takes the interests of all parties into account, such as:
z Different queues are scheduled fairly, so the delay of each flow is balanced globally.
z Both short and long packets are scheduled fairly. When there are multiple long packets
and short packets to be sent among different queues, the short packets must be
scheduled preferentially, so that the delay jitters of packets of each flow is reduced
globally.
Compared with FQ, WFQ takes the priority into account when calculating the scheduling
sequence of packets. Statistically speaking, WFQ assigns more scheduling chances to
high priority packets than those to low priority packets. WFQ can classify the traffic
automatically according to the session information of traffic including the protocol types,
source and destination TCP or UDP port numbers, source and destination IP addresses,
and priority values in the ToS field. WFQ also provide as many queues as possible to
accommodate each flow evenly. Thus, the delay of each flow is balanced globally. When
the packets dequeue, WFQ assigns the bandwidth to each flow on the egress according to
the traffic precedence or DSCP precedence. The lower the traffic precedence is, the less
bandwidth the traffic gets. The higher the traffic precedence is, the more bandwidth the
traffic gets. Finally, each queue is polled and the corresponding number of packets is taken
out to be sent according to the proportion of bandwidth.
You can use the WFQ algorithm to assign bandwidth to the output queues of a port, and
then decide which queue a traffic flows into according to the mapping between the COS
value of the traffic and the queue, and also deicide how much bandwidth is to be assigned
to each traffic.
3) WRR queuing