What Is Congestion Management and Congestion Avoidance

Published: 17th June 2011
Views: N/A
Ask About This Article Print Republish This Article
Congestion management has many subcomponents (discussed in more detail later in this chapter, but the overall function of congestion management is to isolate various classes of traffic (based either on complex classification at the first hop or based on packet marking CCIE Exams at nonedge devices), protect each class from other classes, and then prioritize the access of each class to various network resources. Typically, congestion management is primarily focus on re-ordering packets for transmission. This impacts the overall bandwidth given to each class, however, and also impacts the delay and jitter characteristics of each class. Because of limited queue lengths, the delay experienced by packets in a given class could impact the packet loss experienced by the traffic in that class. Stated another way, if a large amount of delay exists for a given traffic type and the queue fills, packets for that class will be tail dropped. Congestion management in Cisco routers is an egress function and includes mechanisms such as CBWFQ and LLQ.


Congestion management is typically used at all network layers (access, distribution, and core) in a real-time CCIE Mock Labs environment, but no strict rules dictate where you must use congestion management in your network.

Congestion avoidance is specifically designed to discard packets to avoid congestion. The concept behind congestion avoidance is based on the operation of TCP. The details of TCP operation are beyond the scope of this text, but the basic concept is that when TCP traffic is sent, the receiver of the traffic is expected to acknowledge the receipt of said traffic by sending an acknowledgment (ACK) message to the sender. If the sender doesn't receive this ACK in a given amount of time, it assumes that the receiver didn't receive the transmission. In response to this assumption, the sender will reduce its TCP window size (which essentially reduces the rate of transmission) and retransmit the traffic for which it did not receive an ACK.

Note that all of this happens without the sender ever actually being told by the receiver that packets weren't received. A good analogy is two people having a conversation; one person asks the other a question, but receives no answer. After some reasonable amount of time, the person probably assumes that the other person didn't hear the question and avoidance is implemented in Cisco routers as Weighted Random Early Detection (WRED) and is the process of monitoring the depth of a queue, and randomly dropping packets of various flows to prevent the queue from filling completely. This section covers the concept of congestion avoidance, however, not the WRED implementation specifics. Chapter 2, "End-to-End QoS:

Quality of Service at Layer 3 and Layer 2," contains a more thorough discussion of WRED. By randomly discarding packets of various flows, two things are prevented. First, you prevent the queue from becoming completely full—if allowed to fill completely, "tail drop" would occur (that is, all incoming packets would be dropped). Tail drop is not good, because multiple packets from the same flows can be dropped, ccie
causing TCP to reduce its window size several times, thereby causing suboptimal link utilization. Second, it is possible to add intelligence to the decision-making process for which packets are "randomly" dropped; in the case of WRED, IP precedence or DiffServ codepoint (DSCP) markings can be used to influence which packets are dropped and how often.

This article is free for republishing
Source: http://ccie.articlealley.com/what-is-congestion-management-and-congestion-avoidance-2285365.html


Report this article Ask About This Article Print Republish This Article


Loading...
More to Explore
 


Ask a Professional Online Now
27 Experts are Online. Ask a Question, Get an Answer ASAP.
Type your question here...
Optional:
Select...