The weight of a queue is inversely proportional to throughput. Higher IP precedence reduces the weight, and link-level congestion feedback increases it. The result is reduced jitter, leading to more predictable bandwidth availability to each application. There is also less chance that larger traffic flows will starve smaller flows of resources.
This algorithm dynamically characterizes data flows—these are referred to as conversations in WFQ terminology. The packet attributes used to identify a conversation are similar to RSVP. They include the source and destination IP addresses and ports, and the IP protocol. Details of each conversation can be examined using the show queue <interface> command.
WFQ maintains two types of queues:
• Hashed queues are characterized according to the volume of traffic associated with the conversation, the IP precedence of packets in the flow (higher precedence means lower weight), and the link-level congestion feedback associated with the flow. Examples include Frame Relay discard-eligible, backward explicit congestion notification, or forward explicit congestion notification.
• Reserved queues are characterized by the RSVP session associated with the traffic flow.
You can set the number and size of reserved and hashed conversation queues on an interface using the fair-queue interface subcommand. When queue lengths exceed the congestive discard threshold, messages for that conversation are dropped.
The IP Precedence field has values between 0 (the default) and 7. IP Precedence serves as a divisor to this weighting factor. For instance, traffic with an IP Precedence field value of 7 receives a lower weight than traffic with an IP Precedence field value of 3, and therefore has priority in the transmit order.
For example, if you have one flow at each precedence level on an interface, the total link denominator is the following:
Thus, the flows at each precedence level will receive (precedence+1)/denominator.
However, if you have 18 precedence-1 flows and one each of the others, the denominator becomes the following:
The flows at each precedence level will get 8/70, 7/70, 6/70, 5/70, 4/70, 3/70, 2/70, and 1/70 of the link. This means the 18 flows at precedence 1 will share approximately 2/70 of the link.
Was this article helpful?