Open In App

Congestion Control in Datagram Subnets

Last Updated : 30 Nov, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will discuss different approaches to Congestion control in the data-gram subnet. Also, we will discuss the drawback and will explain each approach in detail. Let’s discuss them one by one.

Pre-requisite –Congestion control 

Congestion control in data-gram and sub-nets :
Some congestion Control approaches which can be used in the datagram Subnet (and also in virtual circuit subnets) are given under.

  1. Choke packets
  2. Load shedding
  3. Jitter control.

Approach-1: Choke Packets :

  • This approach can be used in virtual circuits as well as in the datagram sub-nets. In this technique, each router associates a real variable with each of its output lines. 
  • This real variable says u has a value between 0 and 1, and it indicates the percentage utilization of that line. If the value of the variable goes above the threshold then the output line will enter into a warning state. 
  • The router will check each newly arriving packet to see if its output line is in the warning state. if it is in the warning state then the router will send back choke packets. Several variations on the congestion control algorithm have been proposed depending on the value of thresholds.
  • Depending upon the threshold value, the choke packets can contain a mild warning a stern warning, or an ultimatum. Another variation can be in terms of queue lengths or buffer utilization instead of using line utilization as a deciding factor

Drawback –
The problem with the choke packet technique is that the action to be taken by the source host on receiving a choke packet is voluntary and not compulsory.

Approach-2: Load Shedding :

  • Admission control, choke packets, and fair queuing are the techniques suitable for congestion control. But if these techniques cannot make the congestion disappear, then the load-shedding technique is to be used. 
  • The principle of load shedding states that when the router is inundated by packets that it cannot handle, it should simply throw packets away. 
  • A router flooded with packets due to congestion can drop any packet at random. But there are better ways of doing this. 
  • The policy for dropping a packet depends on the type of packet. For file transfer, an old packet is more important than a new packet In contrast, for multimedia, a new packet is more important than an old one So.the policy for file transfer is called wine (old is better than new), and that for the multimedia is called milk (new is better than old). 
  • An intelligent discard policy can be decided depending on the applications. To implement such an intelligent discard policy, cooperation from the sender is essential. 
  • The application should mark their packets in priority classes to indicate how important they are.
  •  If this is done then when the packets are to be discarded the routers can first drop packets from the lowest class (i.e. the packets which are least important). Then the routers will discard the packets from the next lower class and so on. One or more header bits are required to put the priority to make the class of a packet. In every ATM cell, 1 bit is reserved in the header for marking the priority. Every ATM cell is labeled either as a low priority or high priority.

Approach-3: Jitter control :

  • Jitter may be defined as the variation in delay for the packet belonging to the same flow. The real-time audio and video cannot tolerate jitter on the other hand the jitter doesn’t matter if the packets are carrying information contained in a file.
  • For the audio and video transmission, if the packets take 20 ms to 30 ms delay to reach the destination, it doesn’t matter, provided that the delay remains constant. 
  • The quality of sound and visuals will be hampered by the delays associated with different packets having different values. Therefore, practically we can say that 99% of packets should be delivered with a delay ranging from 24.5 ms to 25.5 ms.
  • When а packet arrives at a router, the router will check to see whether the packet is behind or ahead and by what time. 
  • This information is stored in the packet and updated at every hop. If a packet is ahead of the schedule then the router will hold it for a slightly longer time and if the packet is behind schedule, then the router will try to send it out as quickly as possible. This will help in keeping the average delay per packet constant and will avoid time jitter.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads