Presentation on theme: "Congestion Control Algorithms"— Presentation transcript:
1Congestion Control Algorithms General Principles of Congestion ControlCongestion Prevention PoliciesCongestion Control in Virtual-Circuit SubnetsCongestion Control in Datagram SubnetsLoad SheddingJitter Control
2CongestionWhen too much traffic is offered, congestion sets in and performance degrades sharply.Factors:Insufficient memorySlow processorsLow 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.
3General Principles of Congestion Control Open loop solutionAttempt 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.
4Congestion Control in Virtual-Circuit 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.
5Congestion Prevention Policies Policies that affect congestion.
6Congestion Control in Virtual-Circuit Subnets (a) A congested subnet. (b) A redrawn subnet, eliminates congestion and a virtual circuit from A to B.
7Congestion 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)fWhen u moves above the threshold the output line enters a warning state
8Congestion control in Datagram Subnets The Warning BitThe 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 PacketsIn 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.
9Hop-by-Hop Choke Packets 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.
10High jitter. (b) Low jitter. Jitter ControlHigh 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.