7/31/2019 Dcn Unit 3l4-Congestion
1/30
CONGESTION
Congestion is a situation in which too manypackets 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 bookkeepingtasks (queueing buffers, updating tables, etc.).
- The routers' buffer is too limited.
7/31/2019 Dcn Unit 3l4-Congestion
2/30
When too much traffic is offered,congestion sets in and performance
degrades sharply.
7/31/2019 Dcn Unit 3l4-Congestion
3/30
Policies that affect congestion.
7/31/2019 Dcn Unit 3l4-Congestion
4/30
Congestion control is different from flow control:
1.Congestion is a global issue, involving thebehavior of all the hosts, all the routers, the
store-and-forward processing within the routers,etc.
2.Flow control relates to the point-to-point trafficbetween a given sender and a given receiver.
7/31/2019 Dcn Unit 3l4-Congestion
5/30
General principles of congestioncontrol
Open loop solutions solve the problem by gooddesign, in essence, to make sure the problemdoes not occur in the first place.
Tools include deciding when to accept newtraffic, when to discard packets and which ones,and how to schedule packets at various points inthe network.
A common fact: they make decisions withoutregard to the current state of the network.
7/31/2019 Dcn Unit 3l4-Congestion
6/30
Closed Loop solution
Closed loop solutions are based on theconcept of a feedback loop, which consistsof the following three parts:
Monitor the system to detect when and wherecongestion occurs.
Pass this information to places where actions
can be taken. Adjust system operation to correct the
problem
7/31/2019 Dcn Unit 3l4-Congestion
7/30
Chief metrics for monitoring thesubnet for congestion are:-
the percentage of all packets discarded forlack of buffer space,
the average queue lengths,
the number of packets that time out andare retransmitted,
the average packet delay, and the standard deviation of packet delay.
7/31/2019 Dcn Unit 3l4-Congestion
8/30
How to propagate the monitoredcongestion information ?
The router detecting the congestion sends aseparate warning packet to the traffic source.
A bit or field can be reserved in each packet.
When a router detects a congested state, it fillsin the field in all outgoing packets to warn theneighbors.
Hosts or routers send probe packets outperiodically to explicitly ask about congestionand to route traffic around problem areas
7/31/2019 Dcn Unit 3l4-Congestion
9/30
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 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
7/31/2019 Dcn Unit 3l4-Congestion
10/30
Congestion Control in Virtual-Circuit Subnets
One technique that is widely used to
keep congestion that has already
started from getting worse isadmission control.
The idea is simple: once congestion
has been signaled, no more virtualcircuits are set up until the problem
has gone away.
7/31/2019 Dcn Unit 3l4-Congestion
11/30
Congestion Control in Virtual-Circuit Subnets
Thus, attempts to set up new transportlayer connections fail.
Letting more people in just makes mattersworse. While this approach is crude, it issimple and easy to carry out.
In the telephone system, when a switchgets overloaded, it also practicesadmission control by not giving dial tones.
7/31/2019 Dcn Unit 3l4-Congestion
12/30
Congestion Control in Virtual-Circuit Subnets
An alternative approach is to allow newvirtual circuits but carefully route all newvirtual circuits around problem areas.
Suppose that a host attached to router Awants to set up a connection to a hostattached to router B. Normally, thisconnection would pass through one of the
congested routers. Omitting the congested routers and all of
their lines. The dashed line shows apossible route for the virtual circuit that
avoids the congested routers.
7/31/2019 Dcn Unit 3l4-Congestion
13/30
(a) A congested subnet. (b) A redrawnsubnet that eliminates the congestion. A
virtual circuit from A to B is also shown.
7/31/2019 Dcn Unit 3l4-Congestion
14/30
Congestion Control in Virtual-Circuit Subnets
Another (open loop) strategy relating to virtualcircuits is to negotiate an agreement betweenthe host and subnet, so that the subnet canreserve resources along the path when thecircuit is set up.
Since all necessary resources are guaranteed tobe available, congestion is unlikely to occur onthe new virtual circuits.
Reservation can be done all the time, or onlywhen the subnet is congested.
7/31/2019 Dcn Unit 3l4-Congestion
15/30
Traffic shaping
One of the main causes of congestion isthat traffic is often bursty.
Another open loop method is forcing thepackets to be transmitted at a morepredictable rate.
This method is widely used in ATMnetworks and is called traffic shaping.
7/31/2019 Dcn Unit 3l4-Congestion
16/30
Leaky bucket algorithm
Figure:(a) A leaky bucket with water. (b) Aleaky bucket with packets.
7/31/2019 Dcn Unit 3l4-Congestion
17/30
Leaky bucket algorithm
Each host is connected to thenetwork by an interface containing aleaky bucket - a finite internal queue.
The outflow is at a constant rate whenthere is any packet in the bucket, andzero when the bucket is empty.
If a packet arrives at the bucket whenit is full, the packet is discarded.
7/31/2019 Dcn Unit 3l4-Congestion
18/30
The token bucket algorithm
The leaky bucket algorithm enforcesa rigid output pattern at the averagerate, 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 isneeded, preferably on that never
loses data.
7/31/2019 Dcn Unit 3l4-Congestion
19/30
The token bucket algorithm.
The bucket holds tokens, generatedby a clock at the rate of one tokenevery sec.
For a packet to be transmitted, it mustcapture and destroy one token.
After.The token bucket algorithm
allows saving up to the maximum sizeof the bucket, , which means thatbursts of up to packets can be sent atthe maximum speed (for a certain
period of time).
7/31/2019 Dcn Unit 3l4-Congestion
20/30
The token bucket algorithm. (a)Before. (b) After.
7/31/2019 Dcn Unit 3l4-Congestion
21/30
Choke packet
This method can be used in both virtualcircuit and datagram subnets.
Each line is associated with a variable ,whose value (0.0 - 1.0) reflects the recentutilization:
Whenever moves above the threshold, theoutput line enters a ``warning'' state.
7/31/2019 Dcn Unit 3l4-Congestion
22/30
Choke packet
If a newly arriving packet is outputting in aline in warning state, the router sendsa choke packet back to the source host,
giving it the destination found in thepacket.
When the source host gets the choke
packet, it is required to reduce the trafficsent to destination by certain percent.
7/31/2019 Dcn Unit 3l4-Congestion
23/30
The host should ignore choke packetsreferring to the same destination for a
fixed time interval (why ?). If no choke packets arrive during the
listening period, the host may increase theflow again.
Some variations on this congestion controlalgorithm exist.
Choke packet
7/31/2019 Dcn Unit 3l4-Congestion
24/30
Figure 24.7 Choke packet
7/31/2019 Dcn Unit 3l4-Congestion
25/30
(a) A choke packet that affects only the source. (b)A choke packet that affects each hop it passes
through.
7/31/2019 Dcn Unit 3l4-Congestion
26/30
Load shedding
When none of the above methods
make the congestion disappear,
routers can bring out the heavyartillery: load shedding, i.e, justthrowing packets away.
Which packet to discard ?
Discard any one at random.
7/31/2019 Dcn Unit 3l4-Congestion
27/30
Load shedding
Discard the younger ones (the wine policysuitable for file transfer).
Discard the older ones (the milk policysuitable for multimedia transfer.)
Discard less important ones (thisintelligence requires the senders to mark
their packets in priority classes to indicatehow important they are).
7/31/2019 Dcn Unit 3l4-Congestion
28/30
Jitter control
For audio and video transmission, it is importantto ensure constant transmission time.
So the agreement between the host and the
subnet might be that 99 % of the packets bedelivered with a delay in the range of 24.5 msecto 25.5 msec.
The jitter can be controlled by computing the
expected transit time for each hop along thepath:
7/31/2019 Dcn Unit 3l4-Congestion
29/30
Jitter control
When a packet arrives at a router, therouter checks to see how much the packetis behind or ahead of its schedule.
If the packet is ahead of schedule, it isheld just long enough to get it back onschedule.
If it is behind schedule, the router tries toget it out the door quickly.
7/31/2019 Dcn Unit 3l4-Congestion
30/30
(a) High jitter. (b) Low jitter.
Top Related