10.2 Queuing Options
10.2.2 Weighted fair queuing overview
WFQ is an automated method that provides fair bandwidth allocation to all network traffic; it provides traffic-priority management that dynamically sorts traffic into messages that make up a conversation. WFQ then breaks up the “train” of packets within each conversation to ensure that the bandwidth is shared fairly between individual conversations.

WFQ overcomes an important limitation of FIFO queuing--WFQ breaks up packet trains to ensure that low-volume traffic is transferred in a timely fashion. This protocol gives low-volume traffic, such as Telnet sessions, priority over high-volume traffic, such as File Transfer Protocol (FTP) sessions. WFQ gives concurrent file transfers balanced use of link capacity.

Fair queuing is enabled by default for physical interfaces with bandwidth less than or equal to 2.048 Mbps that do not use Link Access Procedure, Balanced (LAPB), X.25, compressed Point-to-Point Protocol (PPP), or Synchronous Data Link Control (SDLC) encapsulations. Fair queuing is not an option for these protocols.

The WFQ algorithm arranges traffic into conversations. The discrimination of traffic into conversations is based on packet-header addressing.

Common conversation discriminators include:

  • Source/destination network address
  • Source/destination Media Access Control (MAC) address
  • Source/destination port or socket numbers
  • Frame Relay data-link connection identifier (DLCI) value
  • Quality of service/type of service (QoS/ToS) value

In the Figure, the WFQ algorithm has identified three conversations.

The WFQ algorithm places packets of the various conversations in the fair queue before transmission. The order of removal from the fair queue is determined by the virtual delivery time of the last bit of each arriving packet. Small, low-volume packets are given priority over large, high-volume conversation packets.

In the Figure, packet 3 is queued before packets 1 or 2 because packet 3 is a small packet in a low-volume conversation. As a result of the queuing order, short messages, (ones that do not require much bandwidth), are given priority.

After low-volume conversations are serviced, high-volume conversations share the remaining link capacity fairly, and interleave (alternate) transmission timeslots. In this Figure, high-volume conversation packets are queued in order of arrival after the low-volume packet--packets 1 and 2 transmit in the order received.

The queuing algorithm ensures the proper amount of bandwidth for each message. With WFQ, two equal-size file transfers get equal bandwidth, rather than the first file transfer using most of the link's capacity.