53
Congestion management policies
Queuing is a common technology used for congestion management. It classifies traffic
into queues and picks out packets from each queue following a certain algorithm. There
are various queuing algorithms, each addressing a particular network traffic problem.
Your choice of algorithm affects bandwidth assignment, delay, and jitter significantly.
Congestion management involves queue creating, traffic classification, packet
enqueuing, and queue scheduling. Queue scheduling treats packets with different
priorities differently to transmit high-priority packets preferentially.
This section briefly describes several common queue-scheduling mechanisms.
FIFO
Figure 11 FIFO queuing
As shown in Figure 11 , the first in first out (FIFO) uses a single queue and does not classify
traffic or schedule queues. FIFO delivers packets depending on their arrival order, with
the one arriving earlier scheduled first. The only concern of FIFO is queue length, which
affects delay and packet loss rate. On an AC, resources are assigned for packets
depending on their arrival order and load status of the AC. The best-effort service model
uses FIFO queuing.
FIFO does not address congestion problems. If there is only one FIFO output/input queue
on a port, you can hardly ensure timely delivery of mission-critical or delay-sensitive
traffic or smooth traffic jitter. The situation gets worsened if malicious traffic is present to
occupy bandwidth aggressively. To control congestion and prioritize forwarding of
critical traffic, you must use other queue scheduling mechanisms, where multiple
queues can be configured. Within each queue, however, FIFO is still used.
By default, FIFO queuing is used on interfaces.