32 Chapter 2: End-to-End QoS: Quality of Service at Layer 3 and Layer 2
LAN-to-WAN connections—When traffic is flowing from a LAN, where bandwidth
is typically at least 10 Mbps, to a WAN, where bandwidth is typically less than 10
Mbps, the possibility of congestion is very real.
Aggregation—When several links are aggregated and their traffic transmitted over a
single link, the possibility exists that a situation may cause congestion. If ten 10-Mbps
links were being aggregated into a Gigabit Ethernet connection, congestion would not
be possible, because the single link’s bandwidth would exceed that of the aggregated
links. However, it is more common to see 24 or even 48 100-Mbps ports aggregated
into a single Gigabit Ethernet uplink. In this situation, the sum of traffic from the
aggregated links has the potential to exceed the capacity of the gigabit port.
Speed mismatch—It is also possible to have congestion when traffic flows
downstream, from higher-speed aggregation links to lower-speed access links. For
example, traffic coming from the core of the network, through a Gigabit Ethernet link,
to a PC that is connected by a 100-Mbps connection may experience congestion. In
this example, the congestion point would occur at the 100-Mbps Ethernet port, as
traffic tries to egress that port toward the PC.
Congestion Management
QoS involves many components and features, but the component that is most typically
associated with the term QoS is congestion management. Congestion management is the
key component for QoS on Catalyst switches. The congestion management component of
QoS itself is made up of many different features in Cisco IOS and CatOS. All Catalyst
switches that support QoS features support congestion management or congestion
avoidance. The next section looks at these features in detail, but the purpose of this section
is to define congestion management, in general.
As the name implies, congestion management enables you to manage the congestion that
is experienced by packets at a given point in the network. Congestion management involves
three main steps:
1 Queues are created at the interface where congestion is expected. Depending on the
specific feature or mechanism being used to provide QoS and the platform on which
the QoS is being configured, there could be only two queues or there could be several
hundred (although there is currently no practical application for this many queues on
any Catalyst platform).
2 Packets (this could also be frames, but for the sake of simplicity, the word packets is
used) are then assigned to these queues, based on classification characteristics such as
DiffServ codepoint (DSCP) value. The classification of packets by characteristics is
typically user-defined, and packets are placed into queues by these predetermined
characteristics. Some examples of packet characteristics that are typically used in
classification are the values in the packet for IP precedence, DSCP, and Layer 2 class
of service (CoS). It is also common to use extended access lists to match packets based
on more complex criteria, such as port numbers.
Congestion Management 33
3 Packets are then scheduled for transmission. Determining the scheduling of packets is
specific to every congestion management mechanism, but it can generally be said that
there will be a way to provide for the transmission of more packets out of some queues
than some others. That is, you will be able to give some packets better treatment than
others, with regard to the amount of bandwidth that those packets receive.
Congestion Management Mechanisms
As previously mentioned, several mechanisms in Cisco devices fall under the definition of
congestion management. Although this chapter does not get deep into the specifics of these
mechanisms, because there are several other books from Cisco Press that already cover
these in detail, an overview of the various mechanisms will help explain the overall function
of congestion management as part of an end-to-end QoS strategy.
The preceding section alluded to the need to queue packets, but did not explicitly discuss
that need. When dealing with a situation where more traffic needs to be transmitted than an
interface is capable of transmitting, some traffic must be queued while waiting for the
resources necessary to transmit that packet. Cisco devices utilize four main types of
queuing, as follows:
First In, First Out
Priority Queuing
Custom Queuing
Weighted Fair Queuing
First In, First Out
First In, First Out (FIFO) Queuing has no concept of priority for packets. FIFO is the most
basic form of queuing, in that there is a default queue depth (64 packets in most cases) and
that number of packets will be buffered, in the order that they were received, and trans-
mitted in the order that they were received. A good analogy for FIFO is flying an airline
where the first person to show up at the counter gets to board the plane first, and the last
person to arrive boards last; there is no priority boarding for frequent flyers or other special
treatment for certain passengers.
FIFO Queuing is the default behavior of most Catalyst switches where QoS is disabled and
all Catalyst switches that do not support QoS.
Priority Queuing
Priority Queuing (PQ), on the other hand, is all about priority. With PQ, there are four
queues to which packets are assigned. The queues are called High, Medium, Normal, and
Low, and packets are serviced in that order, with all packets from the High queue being
transmitted first. You can draw an analogy between PQ and the way that most airlines board
34 Chapter 2: End-to-End QoS: Quality of Service at Layer 3 and Layer 2
their flights. All of the first-class passengers board first, then all of the elite frequent fliers,
then the passengers in the rear of the main cabin, and then the passengers in the front of the
main cabin. Unlike an airline, which eventually allows everyone with a ticket to board, PQ
would continue to service “elite” packets to the point that other packets would not be able
to get through. This condition is called queue starvation, because the applications with
packets in lower-level queues can actually be starved of bandwidth by a high volume of
traffic in higher-level queues.
Current Catalyst switches support PQ as an optional method for applying strict priority to
Voice over IP (VoIP) traffic. Each platform that supports PQ varies slightly in implemen-
tation and architecture. Refer to the corresponding platform chapters for a discussion these
variations.
Custom Queuing
Custom Queuing (CQ) does not have a strict priority scheduling mechanisms like PQ;
instead, CQ tries to be fair by providing all classes with some ability to transmit packets in
each interval of time. With CQ, there can be up to 16 queues and the packets in those queues
are serviced in a round-robin fashion. That is, some packets from each queue are trans-
mitted in each time interval. This method is similar to an airline deciding that in every 5-
minute period, they will board 1 first-class passenger, 5 elite frequent fliers, 10 people
seated in the rear of the main cabin, and 7 people seated in the front of the main cabin. If it
seems like this method might become a little confusing at the airport, rest assured that it’s fairly
confusing to configure in a router, too.
Weighted Fair Queuing
Weighted Fair Queuing (WFQ) is a dynamic process that divides bandwidth among queues
based on weights. The process is designed to be fair, such that WFQ ensures that all traffic
is treated fairly, with regard to its weight.
There are several forms of WFQ, including Class-based Weighted Fair Queuing (CBWFQ)
and Low Latency Queuing (LLQ).
CBWFQ is probably the form of WFQ that is most commonly being deployed these days.
CBWFQ works quite a bit like CQ, but the algorithm is more efficient and the configuration
is quite a bit easier to understand. With CBWFQ, classes are created and traffic is assigned
to those classes, as explained earlier in this chapter. Bandwidth is then assigned to those
classes, and the amount of bandwidth assigned to a given class determines the amount of
scheduling that class receives. In other words, the bandwidth statement on a given class
determines the minimum amount of bandwidth that packets belonging to that class receive
in the event of congestion.
In the recent past, a PQ was added to the CBWFQ mechanism, specifically to handle VoIP
traffic. This addition was necessary because, although CBWFQ did an excellent job of
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset