Congestion and
Queuing
Congestion and Queuing
Congestion can occur at any point in the network where there are
points of speed mismatches or aggregation.
Queuing manages congestion to provide bandwidth and delay
guarantees.
Software and Hardware Components
Speed Mismatch
Speed mismatches are the most typical cause of congestion.
Possibly persistent when going from LAN to WAN.
Usually transient when going from LAN to LAN.
Aggregation
Queuing Algorithms
Definition
Queuing is designed to accommodate temporary congestion
on an interface of a network device by storing excess
packets in buffers until bandwidth becomes available.
Queuing is a congestion-management mechanism that
allows you to control congestion on interfaces.
Congestion and Queuing
Queuing Algorithms
First in, first out (FIFO)
Priority queuing (PQ)
Round robin
Weighted round robin (WRR)
FIFO
FIFO
First packet in is first
packet out
Simplest of all
One queue
All individual queues
are FIFO
Priority Queuing
Priority Queuing
Uses multiple queues
Allows prioritization
Always empties first queue
before going to the next queue:
Empty queue No. 1.
If queue No. 1 is empty, then
dispatch one packet from
queue No. 2.
If both queue No. 1 and queue
No. 2 are empty, then dispatch
one packet from queue No. 3.
Queues No. 2 and No. 3 may
starve
Priority Queuing
Priority Queuing
Custom Queuing
(Round Robin)
Custom Queuing (Round Robin)
Uses multiple queues
No prioritization
Dispatches one packet from
each queue in each round:
One packet from
queue No. 1
One packet from
queue No. 2
One packet from
queue No. 3
Then repeat
Custom Queuing (Round Robin)
Weighted Fair Queuing
(WFQ)
Weighted Fair Queuing (WFQ)
Allows prioritization
Assign a weight to each queue
Dispatches packets from each
queue proportionately to an
assigned weight:
Dispatch up to four from
queue No. 1.
Dispatch up to two from
queue No. 2.
Dispatch 1 from
queue No. 3.
Go back to queue No. 1.
Weighted Fair Queuing (WFQ)
Weighted Round Robin (Cont.)
Problem with WRR:
Some implementations of WRR dispatch a configurable number of
bytes (threshold) from each queue for each roundseveral packets
can be sent in each turn.
The router is allowed to send the entire packet even if the sum of all
bytes is more than the threshold.
Class-Based WFQ
(CBWFQ)
Class-Based WFQ (CBWFQ)
Class-Based WFQ (CBWFQ)
Low-Latency Queuing
(LLQ)
Class-Based WFQ (CBWFQ)
Implement the DiffServ QoS Model
Configuring CBWFQ and LLQ
Describing Advanced
Queuing Mechanisms
Queuing Methods Combined
Basic methods are combined to create more versatile queuing
mechanisms.
Class-Based Weighted
Fair Queuing
Class-Based Weighted Fair Queuing
CBWFQ is a mechanism that is used to guarantee bandwidth
to classes.
CBWFQ extends the standard WFQ functionality to provide
support for user-defined traffic classes:
Classes are based on user-defined match criteria.
Packets satisfying the match criteria for a class constitute
the traffic for that class.
A queue is reserved for each class, and traffic belonging to a
class is directed to that class queue.
CBWFQ Architecture
and Benefits
CBWFQ Architecture
Classification
Classification uses class maps.
Availability of certain classification options depends on the
Cisco IOS version.
Some classification options depend on type of interface and
encapsulation where service policy is used.
For example:
Matching on Frame Relay discard-eligible bits can be used
only on interfaces with Frame Relay encapsulation.
Matching on MPLS experimental bits has no effect if MPLS
is not enabled.
Matching on ISL priority bits has no effect if ISL is not
used.
Scheduling
CBWFQ guarantees bandwidth according to weights
assigned to traffic classes.
Weights are internally calculated from bandwidth or its
percentage.
Bandwidth availability can be defined by specifying:
Bandwidth (in kbps)
Percentage of bandwidth (percentage of available
interface bandwidth)
Percentage of remaining available bandwidth
One service policy can not have mixed types of weights.
The show interface command can be used to display the
available bandwidth.
Available Bandwidth
Available bandwidth is calculated according to the
following formula:
CBWFQ Benefits and Drawbacks
Benefits Custom-defined classifications
Minimum bandwidth allocation
Finer granularity and scalability
Drawback Voice traffic can still suffer unacceptable
delay.
Low Latency Queuing
Low Latency Queuing
A priority queue is added to CBWFQ for real-time traffic.
High-priority classes are guaranteed:
Low-latency propagation of packets
Bandwidth
High-priority classes are also policed when congestion
occursthey then cannot exceed their guaranteed
bandwidth.
Lower-priority classes use CBWFQ.
LLQ Architecture and
Benefits
LLQ Architecture
LLQ Benefits
High-priority classes are guaranteed:
Low-latency propagation of packets
Bandwidth
Configuration and operation are consistent across all media
types.
Entrance criteria to a class can be defined by an ACL.
Not limited to UDP ports as with IP RTP priority
Defines trust boundary to ensure simple classification and
entry to a queue
Summary (Cont.)
LLQ is implemented within CBWFQ by the addition of a
priority queue that is serviced using a strict-priority
scheduler for time-sensitive traffic such as voice and video.
The LLQ scheduler guarantees both low latency and
bandwidth for the traffic in the priority queue.
In the event of congestion, if the priority-queue traffic
exceeds the bandwidth guarantee, a congestion-aware
policer is used to drop the exceeds traffic.