User`s guide
XSR User’s Guide 219
Chapter 10 Mechanisms to Provide QoS
Configuring Quality of Service
Congestion Control & Avoidance
Describing Queue Size Control (Drop Tail)
By using delay control and congestion avoidance, you can control the number of
queued up packets. If the outgoing queue is empty when a packet is ready to be
sent, the packet can be forwarded immediately to the line with minimal delay.
But, if there are 20 queued packets in the outgoing queue when the packet
arrives, the new packet must wait until the 20 queued packets are sent before
it can be sent.
Depending on the average packet size of the queued packets and the speed of
the link, this last packet could be delayed considerably. When the queue limit
is reached no new arriving packets are accepted in the queue and are
dropped. The limit of the queue is set by the
queue-limit command as
shown in the following example:
XSR(config)#policy-map droptail
XSR(config-pmap<droptail>)#class the_heat
XSR(config-pmap-c<the_heat>)#queue-limit 50
Describing Random Early Detection
Random Early Detection (RED) is a congestion avoidance mechanism for
adaptive applications (e.g., TCP/IP) that adjusts bandwidth usage of the XSR
based on network conditions. TCP/IP uses a slow-start feature that initially
sends a few packets to test network conditions. If the acknowledgement
returns indicating no packet loss, TCP considers the network capable of
handling more traffic and increases its output rate. The protocol continues to
do so until it detects any packets dropped and not delivered, at which point it
considers the network congested and begins cutting back the output rate.
Because of TCP’s slow-start/fast-drop-off behavior when dealing with
congestion, the protocol’s performance is choppy when the node/network is
heavily loaded and the network does not assert congestion avoidance. This
occurs because when the node is congested and the outgoing queue fills up,
subsequent packets (very likely from multiple TCP sessions) are dropped, and
these in turn cause corresponding TCP sessions to dramatically cut output.