Congestion Control
Congestion is a situation in which too many packets
are present in (a part of) the subnet,
performance degrades.
Factors causing congestion:
• The input traffic rate exceeds the capacity of the
output lines.
• The routers are too slow to perform bookkeeping
tasks (queuing buffers, updating tables, etc.).
• The routers' buffer is too limited.
Perfect
Desirabl
e
Congest
ed
Packets
sent
P
a
c
k
et
s
d
el
iv
er
e
d
Max. carrying
capacity of subnet
When too much traffic is offered, congestion sets in and performance
degrades sharply.
Congestion control is different from flow control:
• Congestion is a global issue, involving the behavior of all
the hosts, all the routers, the store-and-forward processing
within the routers, etc.
• Flow control relates to the point-to-point traffic between a
given sender and a given receiver.
• A situation requiring flow control: a fiber optic network
with a capacity of 1000 gigabits/sec on which a
supercomputer was trying to transfer a file to a personal
computer at 1Gbps.
• A situation requiring congestion control: a store-and-
forward network with 1-Mbps lines and 1000 large
minicomputers, half of which were trying to transfer files at
100 kbps to the other half.
General principles of congestion control
Open loop solutions solve the problem by good design, in essence,
to make sure the problem does not occur in the first place.
• Tools include deciding when to accept new traffic, when to discard
packets and which ones, and how to schedule packets at various
points in the network.
• A common fact: they make decisions without regard to the current
state of the network.
• Closed loop solutions are based on the concept of a feedback loop,
which consists of the following three parts:
– Monitor the system to detect when and where congestion occurs.
– Pass this information to places where actions can be taken.
– Adjust system operation to correct the problem.
How to correct the congestion problem?
• Increase the resource:
– Using an additional line to temporarily increase the
bandwidth between certain points.
– Splitting traffic over multiple routes.
– Using spare (extra) routers.
• Decrease the load:
– denying service to some users,
– degrading service to some or all users, and
– having users schedule their demands in a more
predictable way.
Congestion prevention policies
• The open loop congestion control approach tries
to achieve the goal by using appropriate policies
at various levels.
Traffic shaping
• One of the main causes of congestion is that
traffic is often bursty. Another open loop method
is forcing the packets to be transmitted at a more
predictable rate. This method is widely used in
ATM networks and is called traffic shaping.
The leaky bucket algorithm
• Each host is connected to the network by an
interface containing a leaky bucket - a finite
internal queue.
• The outflow is at a constant rate when there is
any packet in the bucket, and zero when the
bucket is empty.
• If a packet arrives at the bucket when it is full,
the packet is discarded.
Host Computer
packets
Unregulated
flow
The bucket holds
packets
Regulated flow
Network
Interface
containing a
leaky bucket
The token bucket algorithm
• The leaky bucket algorithm enforces a rigid output pattern at the
average rate, no matter how bursty the traffic is.
• For many applications, it is better to allow the output to speed up
somewhat when large bursts arrive, so a more flexible algorithm is
needed, preferably on that never loses data.
• The bucket holds tokens, generated by a clock at the rate of one
token every sec.
• For a packet to be transmitted, it must capture and destroy one
token.
• The token bucket algorithm allows saving up to the maximum size
of the bucket, which means that bursts of up to packets can be sent
at the maximum speed (for a certain period of time).
Host
computer
- -
-
Host computer
The bucket
holds token
One
token
is
added
to the
bucket
every
sec.
Networks Networks
Difference between Leaky bucket and
Token bucket algorithms:
• The Token bucket algorithm provides a different kind of traffic shaping than
the Leaky bucket algorithm.
• Such as:
• The leaky bucket algorithm does not allow idle hosts to save up permission to
send large burst later. Where as token bucket algorithm does allow saving, up
to the maximum size of the bucket, n i.e. at a time n packets can send through
the hole.
• Token bucket algorithm throws away tokens when the bucket fills up but
never discards packets. Where as the leaky bucket algorithm discards packets
when the bucket fills up.
• In token bucket algorithm, regulating the host and router to stop sending
packets while bucket’s input still pouring in may result in lost data. To
implement this system, token bucket used one variable that counts token. The
counter is incremented by one every second and decremented by one whenever
a packet is sent. When the counter is zero, no packets may be sent. Where as in
leaky bucket algorithm, there is no scheme to do this.

congestion_control: types, uses and application

  • 1.
    Congestion Control Congestion isa situation in which too many packets are present in (a part of) the subnet, performance degrades. Factors causing congestion: • The input traffic rate exceeds the capacity of the output lines. • The routers are too slow to perform bookkeeping tasks (queuing buffers, updating tables, etc.). • The routers' buffer is too limited.
  • 2.
    Perfect Desirabl e Congest ed Packets sent P a c k et s d el iv er e d Max. carrying capacity ofsubnet When too much traffic is offered, congestion sets in and performance degrades sharply.
  • 3.
    Congestion control isdifferent from flow control: • Congestion is a global issue, involving the behavior of all the hosts, all the routers, the store-and-forward processing within the routers, etc. • Flow control relates to the point-to-point traffic between a given sender and a given receiver. • A situation requiring flow control: a fiber optic network with a capacity of 1000 gigabits/sec on which a supercomputer was trying to transfer a file to a personal computer at 1Gbps. • A situation requiring congestion control: a store-and- forward network with 1-Mbps lines and 1000 large minicomputers, half of which were trying to transfer files at 100 kbps to the other half.
  • 4.
    General principles ofcongestion control Open loop solutions solve the problem by good design, in essence, to make sure the problem does not occur in the first place. • Tools include deciding when to accept new traffic, when to discard packets and which ones, and how to schedule packets at various points in the network. • A common fact: they make decisions without regard to the current state of the network. • Closed loop solutions are based on the concept of a feedback loop, which consists of the following three parts: – Monitor the system to detect when and where congestion occurs. – Pass this information to places where actions can be taken. – Adjust system operation to correct the problem.
  • 5.
    How to correctthe congestion problem? • Increase the resource: – Using an additional line to temporarily increase the bandwidth between certain points. – Splitting traffic over multiple routes. – Using spare (extra) routers. • Decrease the load: – denying service to some users, – degrading service to some or all users, and – having users schedule their demands in a more predictable way.
  • 6.
    Congestion prevention policies •The open loop congestion control approach tries to achieve the goal by using appropriate policies at various levels. Traffic shaping • One of the main causes of congestion is that traffic is often bursty. Another open loop method is forcing the packets to be transmitted at a more predictable rate. This method is widely used in ATM networks and is called traffic shaping.
  • 7.
    The leaky bucketalgorithm • Each host is connected to the network by an interface containing a leaky bucket - a finite internal queue. • The outflow is at a constant rate when there is any packet in the bucket, and zero when the bucket is empty. • If a packet arrives at the bucket when it is full, the packet is discarded.
  • 8.
    Host Computer packets Unregulated flow The bucketholds packets Regulated flow Network Interface containing a leaky bucket
  • 9.
    The token bucketalgorithm • The leaky bucket algorithm enforces a rigid output pattern at the average rate, no matter how bursty the traffic is. • For many applications, it is better to allow the output to speed up somewhat when large bursts arrive, so a more flexible algorithm is needed, preferably on that never loses data. • The bucket holds tokens, generated by a clock at the rate of one token every sec. • For a packet to be transmitted, it must capture and destroy one token. • The token bucket algorithm allows saving up to the maximum size of the bucket, which means that bursts of up to packets can be sent at the maximum speed (for a certain period of time).
  • 10.
    Host computer - - - Host computer Thebucket holds token One token is added to the bucket every sec. Networks Networks
  • 11.
    Difference between Leakybucket and Token bucket algorithms: • The Token bucket algorithm provides a different kind of traffic shaping than the Leaky bucket algorithm. • Such as: • The leaky bucket algorithm does not allow idle hosts to save up permission to send large burst later. Where as token bucket algorithm does allow saving, up to the maximum size of the bucket, n i.e. at a time n packets can send through the hole. • Token bucket algorithm throws away tokens when the bucket fills up but never discards packets. Where as the leaky bucket algorithm discards packets when the bucket fills up. • In token bucket algorithm, regulating the host and router to stop sending packets while bucket’s input still pouring in may result in lost data. To implement this system, token bucket used one variable that counts token. The counter is incremented by one every second and decremented by one whenever a packet is sent. When the counter is zero, no packets may be sent. Where as in leaky bucket algorithm, there is no scheme to do this.