Queuing in a Router 117
Applications such as voice and video over IP are delay-sensitive. These
applications need consistent, predictable bandwidth and low delay; otherwise,
the transmission may appear garbled or choppy. This does not necessarily mean
that all users of voice and video should be given high priority, as it might be
desirable to set policies (in conjunction with QoS) to limit these applications to
• Political versus apolitical—Whose data is this? What users should get better service
from the network?
Cisco offers several IOS services for delivering QoS. As we cover each service in the following
sections, keep in mind that each service has its own behavior, purpose, and place in the network.
It is not enough to know how to conﬁgure these services, but rather, to know how they work,
when they might be needed, and where they should be placed in the network. This is covered
in the following sections as well as in Chapter 5.
Queuing in a Router
Queuing is used by a router to hold outbound packets when a communications link is congested.
When a router receives and processes packets faster than the output link can handle, it
temporarily stores those packets in a queue (a block of router memory) assigned to the output
interface. After the congestion clears, the router removes packets from the queue and sends
them out the interface.
How does congestion happen? If the speed of the output link is slower than the trafﬁc coming
into the router, there is certain to be a trafﬁc jam of packets because data is coming in faster than
it can exit. (The speed of a link is known as its bandwidth.) This is analogous to pouring water
through a funnel. When you pour slowly, the amount of water going in is equal to the amount
exiting, so the funnel does not ﬁll up. However, when you pour quickly and the amount of water
entering exceeds the amount exiting, there is congestion at the drain, so the water queues (ﬁlls
up) in the funnel.
NOTE Queuing a packet is generally more desirable than dropping it (the alternative) because queuing
saves the client from having to retransmit the packet.
Dropping a packet means to discard it, or simply throw it away. In certain situations, it is
necessary, even desirable, to drop packets from a queue. Random Early Detection (RED),
covered in Chapter 5, is an example of a QoS drop strategy.
First-In, First-Out Queuing
When the router removes the oldest packet in the queue ﬁrst, it's called ﬁrst-in, ﬁrst-out (FIFO)
queuing. FIFO is the most basic form of queuing. It does not offer multiple levels of QoS and
is illustrated in Figure 4-1.
118 Chapter 4: Deploying Basic Quality of Service Features
Figure 4-1 FIFO Queuing Is the Most Basic Form of Queuing
The ﬁrst half of Figure 4-1 depicts a situation where the outbound link is congested: Packet 1
is only midway through the Outbound Interface. Another packet, Packet 2, arrives and needs
to go out of the interface. Instead of dropping the packet because the outbound interface is
congested, the router puts it in the queue so that it can be dispatched after Packet 1 passes
through the link. You can think of the queue as a container that temporarily stores packets that
are headed out the interface.
NOTE The time it takes for a packet to pass through an interface is called the serialization delay.
The second half of Figure 4-1 depicts a trafﬁc burst situation. That means the rate of packets
into the router and processed by the router exceeds the bandwidth of the outbound link. The link
is congested and packets are piling up in the queue. Because this is a FIFO queue, the packets
are drained from the queue in the order they were placed into the queue. The packets are stacked
in the queue so that the oldest packet in the queue is at the bottom.