Taxonomy of Computer Network Congestion Control/Avoidance Methods

Taxonomy of Computer Network Congestion Control/Avoidance Methods

Mirza Waseem Hussain (Baba Ghulam Shah Badshah University, India), Sanjay Jamwal (Baba Ghulam Shah Badshah University, India), Tabasum Mirza (Baba Ghulam Shah Badshah University, India) and Malik Mubasher Hassan (Baba Ghulam Shah Badshah University, India)
Copyright: © 2021 |Pages: 35
DOI: 10.4018/978-1-5225-9493-2.ch008
OnDemand PDF Download:
No Current Special Offers


The communication platform in the computing field is increasing at a rapid pace. Technology is constantly budding with the materialization of new technological devices, specifically in the communication industry. The internet is expanding exponentially. Internet-enabled devices are becoming part and parcel of our daily lives. It has turned out to be almost impossible to think about the world without the internet. The internet structures might be reinforced to meet coming prerequisites in mobile communication. Congestion plays a vital role in regulating the flow of data to accelerate the exchange of data in between the wired and wireless devices. In this chapter, the authors try to highlight various network congestion techniques with their limitations proposed from time to time by various researchers. This chapter plays a vital role in highlighting the history of networking congestion detection/avoidance techniques starting from the early days of networking.
Chapter Preview

1. Introduction To Network Congestion

Congestion can be defined as the state of the network where total demand for resources is more than availability of the resource. Mathematically it can be defined as: If ∑ Total demand > ∑ Total available resources, then it is in the state of congestion. In other words, the congestion can be defined as the situation where the total number of packets are more than it can accumulate thus resulting in deterioration of performance. Usually congestion occurs when availability of resources is insufficient to meet the demand of the network. Often increasing the number of resources i.e. larger buffers, reducing processing time, using high speed links does not alienate the problem of congestion (C.-Q. Yang & Reddy, 1995). Although there is no universal accepted definition for network congestion nevertheless one of commonly used definition not in technical perspective but in users perspective is defined as: “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”(Keshav, 1991).

1.1 Reasons for Network Congestion

Congestion in the network can be caused due to various reasons, which are defined as under:

1.1.1 Inadequate Memory to Store Incoming Packets

Sometime, all of the sudden a large chunk of data arrives simultaneously from several input sources and this data needs to be forwarded through a common output link, then a long queue of packets will be created at the output link. If the size of the queue is small, the packets will be dropped. Adding more buffers also may not help even. If the router has infinite memory the situation may even get worse, for example if there is a long queue of packets, the packets a tail end will take some time to reached the head of queue to be processed but in the meantime, time out for majority packets occurs resulting in useless processing and duplication of packets (Raj Jain, n.d.). Thus, increasing the load needlessly and making the situation worse. It was Nagel who proved that a network with infinite buffer is also susceptible to congestion as a network with normal buffer (Nagle, 1987). The size of the buffer should not be too large as it will create more delay and waste processing time as in Figure 1(a), nor should it be too small resulting in packet loss as shown in Figure 1(b).

Figure 1.

Effect on packets with large and small buffer: (a) Queue with infinitely large buffer; (b) Queue with small buffer


Providing a high-speed link seems to control the congestion but it may worsen the condition in some situations. Since high speed balanced links and network processing need to be configured. In reality it’s almost impossible. If in case the balanced links with same speed are configured with processing, still bottleneck possess problem. Bottleneck causes significant degradation of performance due to the limited amount of resources available. This can be perceived in the Figure 2. In spite of the fact that all the links are of same speed 30 Mbps, but at the bottleneck link the data is thrice the capacity of link causing congestion and plunging the quality of the entire network.

Figure 2.

Representing the bottleneck in a balanced network


1.1.3 Laggy Processor

The Laggy processor of routers can also cause congestion. If the processor is slow in performing various tasks like processing queues, processing routing table etc. The large queue will be still built, although having links with excess bandwidth. Increasing the bandwidth of the line will not increase the speed of the CPU and vice versa. Therefore, there is only the shift of bottleneck from one part of the system to another. With the real cause as the mismatch between the various parts of the system.

1.1.4 Bursty Traffic

This is one of the major causes of congestion. If the source host can send data at a uniform rate, then the problem of congestion will be very less as all the above causes just act as the catalyst for congestion for bursty traffic.

Complete Chapter List

Search this Book: