Tip

QoS congestion avoidance techniques to clear way for VoIP

As mentioned in a previous QoS tip, congestion avoidance is a QoS component that prepares for and prevents congestion

    Requires Free Membership to View

on typical bottlenecks throughout the data network. These techniques all involve dropping traffic during times of congestion, but the differences within these methods are the determining factors behind which packets of traffic to drop. Due to the special network performance requirements that are essential to transmitting voice traffic across a data infrastructure, congestion avoidance methods affect other prioritized traffic to prevent bottlenecks and assure voice quality. This tip provides the details of the congestion avoidance methods available today.

Tail Drop. Tail drop is typically the default congestion avoidance mechanism. Similar to the First-In First-Out (FIFO) default congestion management queuing method, there is no priority assigned to traffic flows in Tail Drop. Once the output queue or buffer on an outbound interface is full, tail drop simply drops any additional packets until the buffer is no longer at maximum capacity.

The drawback to utilizing Tail Drop occurs when multiple TCP sessions are affected by the packet discarding. Due to the send/acknowledgement behavior of TCP, the TCP senders will slow their transmission rate by half when they discover a drop. This is known as TCP slow start. When drops occur during multiple, simultaneous TCP flows, the resulting slow-start state will decelerate traffic severely, which underutilizes the available bandwidth. The traffic flows then increase their transmit rate until the outbound queue limit is attained again and prompts another slow-start state. This wave of traffic flow is known as global synchronization, a poor use of available bandwidth.

Random Early Detection (RED). This technique randomly discards packets during minimal congestion periods but before high or maximum congestion is reached by concentrating on one TCP source until the congestion is cleared. A minimum queue limit is the parameter that activates RED. Once the average queue size reaches this limit, RED randomly selects one traffic flow at a time to slow down its transmission rate until the minor congestion is cleared. This prevents global synchronization during times of "minor" congestion and better utilizes the available bandwidth. However, if the queue limit continues to build and ultimately reaches a maximum threshold, the tail drop technique would be in effect and all traffic flows would have to decrease their transmit rates.

Weighted Random Early Detection (WRED). This technique is Cisco's version of RED that drops packets based on bits in the ToS byte of the IP Header (IP Precedence or DSCP values). Its operation in terms of the minimum threshold to activate WRED and the maximum threshold to activate Tail Drop is similar to the RED technique. The difference is that the IP Precedence or DSCP values within packets decide which packets are dropped during times of congestion. Packets marked with a low priority have an increased likelihood of being dropped. Non-IP traffic is marked with a priority of 0 and will be dropped before IP traffic.

Because Voice over IP traffic is not designed to tolerate packet loss, these congestion avoidance mechanisms should never be configured for voice queues. The importance of these techniques lies in their ability to control congestion by affecting OTHER prioritized traffic to avoid congestion and guarantee the quality of voice traffic.

About the author: Richard Parsons (CCIE#5719) is a Manager of Professional Services for Callisma Inc., a wholly owned subsidiary of SBC. He has built a solid foundation in networking concepts, advanced troubleshooting, and monitoring in areas such as optical, ATM, VoIP, routed, routing, and storage infrastructures. Rich resides in Atlanta GA, and is a graduate of Clemson University. His background includes senior and principal consulting positions at International Network Services, Lucent, and Callisma.

This was first published in May 2004

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.