Week7 Congestion Control

advertisement
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
Congestion
• When too much traffic is
offered, congestion sets in
and performance degrades
sharply.
• Factors:
• Insufficient memory
• Slow processors
• Low bandwidth.
• Congestion Control vs Flow
Control:
• Congestion control has to do
with making sure the subnet is
able to carry the offered traffic.
• Flow control relates to the
point-to-point traffic between a
given sender and a given
receiver.
General Principles of Congestion
Control
Open loop solution
Attempt to solve the problem by good design. It
makes decisions without regard to the current
state of network.
Closed loop solution based on the concept of
a feedback loop.
Monitor the system .
 detect when and where congestion occurs.
Pass information to where action can be taken.
Adjust system operation to correct the problem.
Congestion Control in VirtualCircuit Subnets
 Admission control technique: once congestion
has been signalled, no more virtual circuits are
setup until the problem has gone away.
 Allow new virtual circuits but carefully route all
new virtual circuits around problem areas.
 Negotiating an agreement between the host and
subnet when a virtual circuit is set up. The
agreement specifies the volume the shape of the
traffic, Qos etc. To keep part of the agreement,
the subnet, the subnet will typically reserve
resources along the path when the circuit is set
up.
Congestion Prevention Policies
Policies that affect congestion.
Congestion Control in Virtual-Circuit Subnets
(a) A congested subnet. (b) A redrawn
subnet, eliminates congestion and a virtual
circuit from A to B.
Congestion control in Datagram
Subnets
• Theory:
– Each line has a real variable, u, whose value between
0.0 and 1.0 reflects the recent utilization of that time.
– To maintain a good estimate of u, a sample of the
instantaneous line utilization, f (0, or 1), can be made
periodically and u updated according to:
u2=a*u1+(1-a)f
– When u moves above the threshold the output line
enters a warning state
Congestion control in Datagram
Subnets
• The Warning Bit
– The warning state is set as a special bit in the packet’s header.
– As long as the router was in the warning state, it continued to set
the warning bit, which meant that the source continued to get
acknowledgements with it set.
– As long as the warning bits continued to flow in, the source
continued to decrease its transmission rate.
• Choke Packets
– In the warning state, the router sends a choke packet back to the
source host.
– When the source host gets the choke packet. It reduce the traffic
by x%. It ignore choke packets referring to the destination for a
fixed time interval, and check again if there is still the choke
packets sent back.
Hop-by-Hop
Choke
Packets
1.
2.
•
A choke packet that affects only the
source.
A choke packet that affects each hop
it passes through. More buffer request
for router F at this moment.
The net effect of this hop-by hop
scheme is to provide quick relief at the
point of congestion at the price of
using up more buffers upstream.
Jitter Control
•
•
(a) High jitter.
(b) Low jitter.
The variation (i.e., standard deviation) in the packet arrival times is
called jitter.
What a packet arrives at a router, the router checks to see how
much the packet is behind or ahead of its schedule. If it is behind
schedule, the router tries to get it out the door quickly and if it is
ahead of schedule, it is held just long enough to get it back on
schedule.
Download