0% found this document useful (0 votes)
30 views

Congesion Control Algorithm

The document discusses congestion in computer networks. It defines congestion as occurring when too many packets are present in the network queue such that transmitting nodes are adding packets faster than receiving nodes can remove them. It then describes some of the main causes of congestion and techniques for congestion control, including both open-loop and closed-loop approaches.

Uploaded by

Sasi Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Congesion Control Algorithm

The document discusses congestion in computer networks. It defines congestion as occurring when too many packets are present in the network queue such that transmitting nodes are adding packets faster than receiving nodes can remove them. It then describes some of the main causes of congestion and techniques for congestion control, including both open-loop and closed-loop approaches.

Uploaded by

Sasi Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Introduction

As Internet can be considered as a Queue of packets, where


transmitting nodes are constantly adding packets and some
of them (receiving nodes) are removing packets from the
queue.

So, consider a situation where too many packets are present


in this queue (or internet or a part of internet), such that
constantly transmitting nodes are pouring packets at a
higher rate than receiving nodes are removing them. This
degrades the performance, and such a situation is termed as
Congestion.

Main reason of congestion is more number of packets into the


network than it can handle.

May 21, 2012 2


 When the number of packets dumped into the
network is within the carrying capacity, they all are
delivered, expect a few that have too be rejected due to
transmission errors .

 As traffic increases too far, the routers are no longer


able to cope, and they begin to lose packets. This tends
to make matter worse.

 At very high traffic, performance collapse


completely, and almost no packet is delivered .

May 21, 2012 3


Causes Of Congestion

 Congestion can occur due to several reasons. For example, if


all of a sudden a stream of packets arrive on several input
lines and need to be out on the same output line, then a long
queue will be build up for that output. If there is insufficient
memory to hold these packets, then packets will be lost
(dropped) .

 If router have an infinite amount of memory even then instead


of congestion being reduced, it gets worse; because by the time
packets gets at the head of the queue, to be dispatched out to the
output line, they have already timed-out.

 All the packets will be forwarded to next router up to the


destination, all the way only increasing the load to the network
more and more.

May 21, 2012 4


 Finally when it arrives at the destination, the packet
will be discarded, due to time out, so instead of been
dropped at any intermediate router (in case memory is
restricted) such a packet goes all the way up to the
destination, increasing the network load throughout
and then finally gets dropped there.

 Slow processors also cause Congestion. If the router


CPU is slow at performing the task .

May 21, 2012 5


NOTE:--
“ when a device sends a packet and does not receive an
acknowledgment from the receiver, in most the cases it
can be assumed that the packets have been dropped by
intermediate devices due to congestion. By detecting the
rate at which segments are sent and not
acknowledged, the source or an intermediate router can
infer the level of congestion on the network ”

May 21, 2012 6


Effects of Congestion

Congestion affects two vital parameters of the network


performance ..

1. Through put
2. Delay

 Initially throughput increases linearly with offered load,


because utilization of the network increases. However, as the
offered load increases beyond certain limit, say 60% of the
capacity of the network, the throughput drops.

 If the offered load increases further, a point is reached when


not a single packet is delivered to any destination, which is
commonly known as deadlock situation.

May 21, 2012 7


The ideal one corresponds to the situation when all the packets introduced
are delivered to their destination up to the maximum capacity of the
network.
The second one corresponds to the situation when there is no congestion
control.
The third one is the case when some congestion control technique is used.
This prevents the throughput collapse, but provides lesser throughput than
the ideal condition due to overhead of the congestion control technique.

May 21, 2012 8


The delay also increases with offered load, as
shown in Fig. And no matter what technique is
used for congestion control, the delay grows
without bound as the load approaches the
capacity of the system. It may be noted that
initially there is longer delay when congestion
control policy is applied. However, the network
without any congestion control will saturate at a
lower offered load .

May 21, 2012 9


Congestion Control Techniques

 Open loop: Protocols to prevent or avoid congestion,


ensuring that the system never enters a Congested State.

 Close loop: Protocols that allow system to enter


congested state, detect it, and remove it.

May 21, 2012 10


Open Loop rules or policies include deciding upon when to accept
traffic, when to discard it, making scheduling decisions and so on .

The second category Closed loop is based on the concept of feedback. During
operation, some system parameters are measured and feed back to portions of
the subnet that can take action to reduce the congestion. This approach can be
divided into 3 steps:

 Monitor the system (network) to detect whether the network is congested or


not and what’s the actual location and devices involved.

 To pass this information to the places where actions can be taken

 Adjust the system operation to correct the problem.

May 21, 2012 11


Open Loop Approach…

1. Leaky Bucket Algorithm Consider a Bucket with a small hole at the


bottom, whatever may be the rate of water pouring into the bucket, the rate
at which water comes out from that small hole is constant. This scenario is
depicted in fig. Once the bucket is full, any additional water entering it spills
over the sides and is lost .
The same idea of leaky bucket can be applied to packets, as shown in Fig.
When the host has to send a packet, the packet is thrown into the bucket.
The bucket leaks at a constant rate, meaning the network interface transmits
packets at a constant rate.

May 21, 2012 12


2.Token Bucket Algorithm
For many applications it is better to allow the output to speed up somewhat
when a larger burst arrives than to loose the data. Token Bucket algorithm
provides such a solution.

In this algorithm leaky bucket holds token, generated at regular intervals.


Main steps of this algorithm can be described as follows….

 In regular intervals tokens are thrown into the bucket.

 The bucket has a maximum capacity.

 If there is a ready packet, a token is removed from the


bucket, and the packet is send.

 If there is no token in the bucket, the packet cannot be send.

May 21, 2012 13


Figure shows the two scenarios before and after the tokens present
in the bucket have been consumed.

In Fig. 1 the bucket holds two tokens, and three packets are
waiting to be sent out of the interface.
In Fig. 2 two packets have been sent out by consuming two
tokens, and 1 packet is still left.

Fig. 1 Fig. 2

May 21, 2012 14


May 21, 2012 15
Congestion control in virtual Circuit

 Admission control is one such closed-loop


technique, where action is taken once congestion is
detected in the network. Different approaches can be
followed .
Simpler one “Do not set-up new connections, once the
congestion is signalled. This type of approach is often
used in normal telephone networks. When the exchange
is overloaded, then no new calls are established. “

Another approach “To allow new virtual connections,


but route these carefully so that none of the congested
router (or none of the problem area) is a part of this
route”.

May 21, 2012 16


 Choke Packet Technique

Each router monitors its resources and the utilization at each


of its output line. There is a threshold set by the administrator,
and whenever any of the resource utilization crosses this
threshold and action is taken to curtail down this.

For Example, when source A receives a choke packet


with destination B at first, it will curtail down the traffic
to destination B by 50%, and if again after a fixed
duration of time interval it receives the choke packet
again for the same destination, it will further curtail
down the traffic by 25% more and so on.

May 21, 2012 17


Depicts the functioning of choke packets, (a) Heavy traffic
between nodes P and Q, (b) Node Q sends the Choke packet
to P, (c) Choke packet reaches P, (d) P reduces the flow and
send a reduced flow out, (e) Reduced flow reaches node Q .

May 21, 2012 18


 Hop-by Hop Choke Packets
This technique is an advancement over Choked packet method.
At high speed over long distances, sending a packet all the way back to the
source doesn’t help much, because by the time choke packet reach the
source, already a lot of packets destined to the same original destination
would be out from the source.

So to help this, Hop-by-Hop Choke packets are used. In this approach, the
choke packet affects each and every intermediate router through which it
passes by.

Here, as soon as choke packet reaches a router back to its path to the
source, it curtails down the traffic between those intermediate routers. In
this scenario, intermediate nodes must dedicate few more buffers for the
incoming traffic as the outflow through that node will be curtailed down
immediately as choke packet arrives it, but the input traffic flow will only be
curtailed down when choke packet reaches the node which is before it in the
original path.

May 21, 2012 19


Depicts the functioning of Hop-by-Hop choke packets
(a) Heavy traffic between nodes P and Q, (b) Node Q sends the
Choke packet to P, (c) Choke packet reaches R, and the flow
between R and Q is curtail down, Choke packer reaches P, and
P reduces the flow out .

May 21, 2012 20


Load Shedding
Another simple closed loop technique is Load Shedding
It is one of the simplest and more effective techniques. In this
method, whenever a router finds that there is congestion in the
network, it simply starts dropping out the packets.
There are different methods by which a host can find out which
packets to drop. Simplest way can be just choose the packets
randomly which has to be dropped. More effective ways are
there but they require some kind of cooperation from the sender
too. For many applications, some packets are more important
than others.
So, sender can mark the packets in priority classes to indicate
how important they are. If such a priority policy is
implemented than intermediate nodes can drop packets from
the lower priority classes and use the available bandwidth for
the more important packets.

May 21, 2012 21


Slow Start - a Pro-active technique

This is one of the pro-active techniques, which is used to avoid


congestion. In the original implementation of TCP, as soon as
a connection was established between two devices, they could
each go “hog wild”, sending segments as fast as they liked as
long as there was room in the other devices receive window. In
a busy internet, the sudden appearance of a large amount of
new traffic could aggravate any existing congestion.

May 21, 2012 22


Contd….

Each sender is at first restricted to sending only an amount


of data equal to one “full-sized” segment—that is, equal to
the MSS (maximum segment size) value for the connection.

Each time an acknowledgment is received, the amount of


data the device can send is increased by the size of another
full-sized segment. Thus, the device “starts slow” in terms of
how much data it can send, with the amount it sends
increasing until either the full window size is reached or
congestion is detected on the link.

May 21, 2012 23


Some review questions….
• What is congestion? Why congestion occurs?

Ans : In a packet switching network, packets are introduced


in the nodes (i.e. offered load), and the nodes in-turn forward
the packets (i.e. throughput) into the network. When the
“offered load” crosses certain limit, then there is a sharp fall in
the throughput. This phenomenon is known as congestion.
In every node of a packet switching network, queues (or
buffers) are maintained to receive and transmit packets
(store/forward network). Due to busty nature of the network
traffic there may be situations where there is overflow of the
queues. As a result there will be re-transmission of several
packets, which further increases the network traffic. This
finally leads to congestion

May 21, 2012 24


How congestion control is performed by leaky bucket
algorithm?

Ans : In leaky bucket algorithm, a buffering mechanism is


introduced between the host computer and the network in
order to regulate the flow of traffic. Busty traffic are generated
by the host computer and introduced in the network by leaky
bucket mechanism in the following manner

* Packets are introduced in the network in one per tick


* In case of buffer overflow packets are discarded

May 21, 2012 25


In what way token bucket algorithm is superior to leaky
bucket algorithm?

Ans : The leaky bucket algorithm controls the rate at which the packets
are introduced in the network, but it is very conservative in nature.
Some flexibility is introduced in token bucket algorithm. In token
bucket algorithm tokens are generated at each tick (up to certain limit).
For an incoming packet to be transmitted, it must capture a token and
the transmission takes place at the same rate. Hence some of the busty
packets are transmitted at the same rate if tokens are available and thus
introduces some amount of flexibility in the system. This also improves
the performance.

May 21, 2012 26


What is choke packet? How is it used for congestion
control?

Ans : Choke packet scheme is a close loop mechanism where each


link is monitored to examine how much utilization is taking place. If
the utilization goes beyond a certain threshold limit, the link goes to
a warning and a special packet, called choke packet is sent to the
source. On receiving the choke packet, the source reduced the traffic
in order to avoid congestion.

May 21, 2012 27

You might also like