Examining The Problems Of Network Congestion Information Technology Essay

Published: November 30, 2015 Words: 1852

When congestion occurs traffic queues build up and packets are dropped. Loss due to congestion is controlled by managing the traffic load and then applying appropriate queuing and scheduling techniques. This paper identifies congestion avoidance and management tools and how to efficiently use bandwidth. Networks with limited bandwidth are difficult to manage and although over provisioning will allow the network to grow in the future it is not the answer to all congestion problems (Internet Society, 2009).

Network traffic has three problems which are examined in this paper.

traffic can be delayed due to queuing processing, involved nodes

traffic can be dropped if the queue length is exceeded

traffic can be changed with the header or content changed

Welzl (2005) identifies that standard internet routers place excess packets in a buffer which works on a basis of first in first out (FIFO) queue and drop packets if the queue is full, causes packet loss that is unacceptable for real time traffic such as voice and video. A network is said to be congested from the perspective of a user if the service quality noticed by the user decreases because of an increase in network load (Welzl, 2005). Congestion occurs when demands exceed the capacity. Standard internet routers place excess packets in buffers using FIFO and only drop packets when a queue is full. Welzl (2005) identified a number or problems with this process, the first problem was that storing packets in a queue adds significant delay depending on the length of the queue and packet loss can occur no matter how long the maximum queue is, therefore queues should be kept short because when queues grow the network is said to be congested and this increases delay and packet loss.

2. TCP Congestion

TCP uses a windowing system where it limits the amount of data that can be transmitted at a time, it uses four congestion mechanisms: slow start, congestion avoidance, fast retransmit and fast recovery (Beijnum, 2002). According to Beijnum slow start occurs before TCP transmission, this is the 3 way handshake. When the sender wants to transmit to the receiver it sends a sync packet, once the receiver receives the sync packet, it sends the packet back to the sender along with an acknowledgement packet (ACK PKT), the sender then sends back a final packet to acknowledge the ACK PKT. Once this is completed transmission can take place until the buffer window is full. If no congestion is indicated it uses this slow start mechanism. If TCP acknowledgments are sent out of order, this indicates congestion, once this occurs the congestion window is set to half the current window size and it is only allowed to gradually increase so as not to cause immediate congestion again (Beijnum, 2002). According to RFC 2001, if TCP sessions receive three out of order acknowledgements in a row it automatically assumes that the packet is lost so it retransmits the packet. This in turn slows down TCP transmission so packets will not be lost, allowing routers to queue packets and smooth out traffic. Congestion avoidance and queuing mechanisms identified in this paper aim to even out traffic flow, eliminate tail drops and solve the problem of network congestion.

3. Congestion Scheduling Tools

Queuing algorithm are used as a method of prioritising traffic. Some common methods used are first in first out (FIFO), priority queuing (PQ), weighted round robin (WRR), weighted fair queuing (WFQ) and class based weighted fair queueing (CBWFQ). These algorithms will be identified by their acronym from here on in this paper. Queuing algorithms take effect when congestion is experienced. To avoid congestion queuing mechanisms are activated at the hardware buffer of the outgoing interface (Cisco Press, 2007).

3.1 FIFO - FIFO queuing works by storing packets during congestion and forwarding them on in order of arrival. This process has a not processor consuming compared to more advanced queuing mechanisms identified below (Balliache, 2003). Balliache (2003) identified some characteristics of FIFO as treating all traffic equally and makes no decision based on packet priority; this can cause delays with time sensitive traffic such as voice or video also when queues are full tail drops can occur and routers have no way of preventing this. From his research he also identified that FIFO favours UDP over TCP, as when TCP identifies congestion it slows its transmission down where as UDP keeps transmitting at the same rate.

3.2 PQ - PQ allows traffic to be prioritised accordingly with important traffic allocated faster speeds, prioritisation can be based on a number of requirements such as network protocol, incoming interface, packet size, access lists and source and destination address (Cisco Press). According to Cisco there are four queues with priority values of high, medium, normal and low, the highest priority queue gets preferential treatment and traffic that is not classified is allocated to the normal queue.

3.3 WRR - WRR shares network bandwidth among the classes, with each class assigned a specific amount of queue space and up to sixteen queues at a time being serviced in a round robin fashion, where each queue is serviced in turn (Evans, 2007). Some higher priority traffic may be given a weight so it will get preferential treatment. This does not allocate bandwidth accurately and is not a common method as the router can often forward a packet even if the queue is already full. (Szigeti, 2005)

3.4 WFQ - WFQ allows each queue to be serviced fairly in terms of byte count, with this queues do not starve for bandwidth and all traffic gets a predictable service (Gabbay, 2006). According to Gabbay WFQ applies modifiable weights to identified traffic, classifies traffic into flows and determines how much bandwidth each flow is allocated. WFQ has two methods of dropping packets, the first is congestive discard threshold (CDT) which drops packets when this threshold is reached, the second drops all packets when the hold queue limit is reached (Cisco Systems, 2006).

3.5 CBWFQ - CBWFQ allows a minimum amount of bandwidth to be assigned to each predefined class, this algorithm has a priority queue for carrying real time traffic which always has precedence over other queues (Cisco Systems, 2006). Traffic can be defined based on access control lists, protocols and input interfaces. Each specific class has its own queue and a specific amount of bandwidth assigned to it, which is the minimum amount it will receive during congestion. A queue limit is set for each class; this is the maximum number of packets allowed in the class queue. Voice traffic is still prone to unacceptable delay with this method as tail drops can occur during congested periods. During periods of congestion the priority queue is metered to make sure that the bandwidth allocated is not exceeded. When the network is not congested the priority traffic is allowed to exceed its allocated bandwidth.

4. Active queue management techniques

Congestion avoidance is a form of queue management. It monitors network traffic loads in an effort to avoid congestion at common network bottlenecks as opposed to congestion management techniques that operate to control congestion after it occurs (Vinod, 2009). Random early detection (RED), weighted random early detection (WRED) and tail drops are common congestion avoidance tools. Dropping packets can cause performance problems as dropped packets may be real time traffic such as voice (Braden, 1998).

4.1 RED - RED tries to avoid congestion before it becomes a problem, it monitors traffic load and randomly drops packets before a queue is full, as traffic is dropped, the source of the traffic slows down transmission (Evans, 2007). According to Evans (2007) RED works best when most traffic is TCP, as dropped TCP packets indicate congestion so the transmitting source reduces its transmission rate, with other protocols packet sources might resend dropped packets at the same rate and so dropping packets might not decrease congestion. From Evans (2007) research he identified that tail drops can be avoided if congestion is prevented. Tail drops occur when there are traffic bursts on the network and queues are ful, RED randomly drops packets before a queue is full. RED results in slow TCP sessions, and TCP sessions can arrive out of sync due to random drops (Evans, 2007)

4.2 WRED -WRED provides preferential handling to high priority packets, and can selectively discard packets when an interface starts to become congested (Szigeti, 2005). Packets are dropped based on IP precedence. WRED monitors average queue length and determines when to begin discarding packets based on the length of the interface queue, when the queue length exceeds the threshold it randomly drops packets (Evans, 2007). If queues continue to increase larger than the max threshold it reverts to tail drops. WRED can discard low priority traffic when interfaces are congested; this reduces chances of tail drop by selectively dropping packets when interface begins to show signs of congestion (Szigeti, 2005). According to Szigeti (2005) this process drops small packets early rather than waiting until queue is full and avoids dropping large packets at once and non IP traffic is generally dropped first.

4.3 Tail drops - RFC 2309 describes tail drops as dropped packets that could not fit in the queue because it is full, this is not an appropriate method for important traffic as the dropped packets may have been high priority and the router did not have a chance to queue it. This RFC identifies that by managing the number of packets in a queue the router does its best to make sure the queues don't fill up and trail drops don't occur. Tail drops is not a congestion avoidance mechanism and should not be implemented. It does not work with real time traffic as dropping voice or video packets is unacceptable in today's modern networks.

4.4 ECN- Explicit congestion notification allows routers to set two bits in the IP header, one to indicate ECN capable and the second to indicate congestion experienced, unlike RED packets are marked in the IP packet header to indicate congestion where as in RED packets are just dropped (Ramakrishnan, 1999). The benefits of ECN can only be seen where all endpoints are ECN compatible (Evans, 2007).

5. Conclusion

Network congestion is caused by a number of problems including limited bandwidth and low memory in buffers. Before real time traffic was implemented into converged networks best effort service was acceptable and the FIFO queuing mechanism was able to cope with network traffic. By implementing network congestion avoidance tools such as WRED before congestion occurs, it allows networks to be able to facilitate congestion without having to drop large amounts of high priority traffic. By dropping low priority traffic it reduces the chances of tail drops on more critical data such as real time traffic. Also with the implementation of WFQ and traffic classes are guaranteed a minimum amount of bandwidth during periods of congestion. All real time traffic is assigned to the priority class making sure that traffic doesn't arrive out of sync. When both congestion management and avoidance tools are implemented networks have the best chance of coping with congestion, and not losing packets.