Unit-3 PART-C Congestion Control Algorithms

You might also like

You are on page 1of 12

Unit-3 PART-C

CONGESTION CONTROL
ALGORITHMS

1
Congestion Control Algorithms
• General Principles of Congestion Control
• Congestion Prevention Policies
• Congestion Control in Virtual-Circuit Subnets
• Congestion Control in Datagram Subnets
• Load Shedding
• Jitter Control

2
CONGESTION CONTROL ALGORITHMS
• Congestion is a problem when too many packets are present in the network
(subnet) causes packet delay and, performance degrades.
• The network and transport layers share the responsibility for handling
congestion.
• Since congestion occurs within the network, it is the network layer that
directly experiences it and ultimately determine what to do with the excess
packets.
• The most effective way to control congestion is to reduce the load that the
transport layer is placing on the network.
•Below figure depicts the onset of
congestion.
•When the number of packets hosts
send into the network is well within its
carrying capacity, the number
delivered is proportional to the number
sent. If twice as many are sent, twice
as many are delivered. 3
• Thus the offered load approaches the carrying capacity, bursts of
traffic occasionally fill up the buffers inside routers and some packets
are lost.
• These lost packets consume some of the capacity, so the number of
delivered packets falls below the ideal curve. The network is now
congested.
• Unless the network is well designed, it may experience a congestion
collapse, in which performance plummets as the offered load increases
beyond the capacity.
• This can happen because packets can be sufficiently delayed inside the
network that they are no longer useful when they leave the network.
• A different failure mode occurs when senders retransmit packets that
are greatly delayed, thinking that they have been lost. In this case,
copies of the same packet will be delivered by the network, again
wasting its capacity.
• To capture these factors, the y-axis of Fig. is given as goodput, which
is the rate at which useful packets are delivered by the network.
4
• Congestions can be brought on by several factors:
– All of a sudden, streams of packets arrive on multiple input lines and all
of them need the same output line, a queue is built up. Allocating more
memory may help to a point but with infinite memory, congestion gets
worse because packets are timed out.
– Slow processors make queue to be built up even though there are enough
bandwidth.
– Low-bandwidth also causes congestion.

5
Congestion Control vs. Flow Control
• They are highly related to each other. The difference is subtle.
• Congestions control is a global issue, involving all hosts, routers, and
other factors
• Flow control relates to the point-to-point traffic between a given
sender and a given receiver, making sure a faster sender won’t swamp
a slow receiver.
• Open loop – solve the problem by essentially good design.
– deciding when to accept new traffic, when to discard packets, etc.,
without regard to the current state of the network
• Close loop – solve the problem based on the feedback.
– Monitor the system to detect when and where congestion occurs.
– Pass information to where action can be taken.
– Adjust system operation to correct the problem.
6
Approaches to Congestion Control
• The presence of congestion means that the load is greater than the
resources can handle
• Two solutions
– Increase the resources: increase the bandwidth, Split the traffic
over multiple routes, Put spare routers on-line
– Decrease the load (traffic): deny service to new users (hire-
freezing), degrade service to some/all users (reduce salary), drop
some users (lay off)

7
Congestion Prevention Policies

5-26

Policies that affect congestion.


8
Congestion Control in Virtual-Circuit
Subnets

(a) A congested subnet. (b) A redrawn subnet, eliminates


congestion and a virtual circuit from A to B.
9
The Leaky Bucket Algorithm

(a) A leaky bucket with water. (b) a leaky bucket with packets.
10
The Token Bucket Algorithm

5-34

(a) Before. (b) After. 11


Hop-by-Hop
Choke Packets

(a) A choke packet that affects


only the source.

(b) A choke packet that affects


each hop it passes through.
12

You might also like