FIFO Queuing

NOTE This section covers FIFO Queuing, which like TX Queues, is not currently covered on the

DQOS 9E0-601 exam. This section does cover some useful information for all people interested in QoS. Therefore, for you DQOS exam takers, you might choose to just focus on the concepts about FIFO, and not worry about memorization or configuration. And as always, check the websites listed in the Introduction for any news about changes to the exams.

The first reason that a router or switch needs output queues is to hold a packet while waiting for the interface to become available for sending the packet. Whereas the other queuing tools in this chapter also perform other functions, like reordering packets, FIFO Queuing just provides a means to hold packets while they are waiting to exit an interface.

FIFO Queuing does not need the two most interesting features of the other queuing tools, namely classification and scheduling. FIFO Queuing uses a single queue for the interface. Because there is only one queue, there is no need for classification to decide the queue into which the packet should be placed. Also there is no need for scheduling logic to pick which queue from which to take the next packet. The only really interesting part of FIFO Queuing is the queue length, which is configurable, and how the queue length affects delay and loss.

FIFO Queuing uses tail drop to decide when to drop or enqueue packets. If you configure a longer FIFO queue, more packets can be in the queue, which means that the queue will be less likely to fill. If the queue is less likely to fill, fewer packets will be dropped. However, with a longer queue, packets may experience more delay and jitter. With a shorter queue, less delay occurs, but the single FIFO queue fills more quickly, which in turn causes more tail drops of new packets. These facts are true for any queuing method, including FIFO.

Figure 4-8 outlines simple FIFO Queuing. R1 uses FIFO Queuing on the interface connected to R2. The only decision required when configuring FIFO Queuing is whether to change the length of the queue.

Figure 4-8 Simple FIFO Queuing

Output Queue

Should I drop the packet?

Output Queue

Should I drop the packet?

Remember to consider two steps when configuring FIFO Queuing. First, configuring FIFO Queuing actually requires you to turn off all other types of queuing, as opposed to just configuring FIFO Queuing. Cisco IOS uses WFQ as the default queuing method on serial interfaces running at E1 speeds and slower. However, IOS does not supply a command to enable FIFO Queuing; to enable FIFO Queuing, you must first disable WFQ by using the no fair-queue interface subcommand. If other queuing tools have been explicitly configured, you should also disable these. Just by removing all other queuing configuration from an interface, you have enabled FIFO!

The second FIFO configuration step that you might consider is to override the default queue length. To do so, use the hold-queue x out interface subcommand to reset the length of the queue.

Example 4-2 shows a sample FIFO Queuing configuration.

Example 4-2 FIFO Queuing Configuration

R3#conf t

Enter configuration commands, one per line. End with CNTL/Z.

R3(config)#int s 0/0

R3(config-if)#no fair-queue

Serial0/0 is up, line protocol is up Hardware is PowerQUICC Serial

Description: connected to FRS port S0. Single PVC to R1. MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation FRAME-RELAY, loopback not set Keepalive set (10 sec)

LMI enq sent 80, LMI stat recvd 73, LMI upd recvd 0, DTE LMI up LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0 LMI DLCI 1023 LMI type is CISCO frame relay DTE

Broadcast queue 0/64, broadcasts sent/dropped 171/2, interface broadcasts 155 Last input 00:00:02, output 00:00:03, output hang never Last clearing of "show interface" counters 00:13:48

Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue :0/40 (size/max) 30 second input rate 0 bits/sec, 0 packets/sec 30 second output rate 0 bits/sec, 0 packets/sec 235 packets input, 14654 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 2 input errors, 0 CRC, 2 frame, 0 overrun, 0 ignored, 0 abort 264 packets output, 15881 bytes, 0 underruns 0 output errors, 0 collisions, 6 interface resets 0 output buffer failures, 0 output buffers swapped out 10 carrier transitions DCD=up DSR=up DTR=up RTS=up CTS=up

Example 4-2 FIFO Queuing Configuration (Continued) R3#conf t

Enter configuration commands, one per line. End with CNTL/Z. R3(config)#int s 0/0 R3(config-if)#hold-queue 50 out R3(config-if)#~Z !

Serial0/0 is up, line protocol is up

Hardware is PowerQUICC Serial ! Lines omitted for brevity Queueing strategy: fifo Output queue :0/50 (size/max) ! Line omitted for brevity

Example 4-2 shows FIFO Queuing being configured by removing the default WFQ configuration with the no fair-queue command. The show interface command lists the fact that FIFO Queuing is used, and the output queue has 40 entries maximum. After configuring the output queue to hold 50 packets with the hold-queue 50 out command, the show interface output still lists FIFO Queuing, but now with a maximum queue size of 50.

FIFO Queuing is pretty basic, but it does provide a useful function: It provides the basic queuing function of holding packets until the interface is no longer busy.

Advance SEO Techniques

Advance SEO Techniques

Turbocharge Your Traffic And Profits On Auto-Pilot. Would you like to watch visitors flood into your websites by the 1,000s, without expensive advertising or promotions? The fact is, there ARE people with websites doing exactly that right now. How is that possible, you ask? The answer is Advanced SEO Techniques.

Get My Free Ebook

Post a comment