congestion control algorithms general principles of congestion control congestion prevention...

10
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

Upload: tyshawn-darrin

Post on 14-Dec-2015

312 views

Category:

Documents


6 download

TRANSCRIPT

Congestion Control Algorithms

General Principles of Congestion ControlCongestion Prevention PoliciesCongestion Control in Virtual-Circuit

SubnetsCongestion Control in Datagram SubnetsLoad SheddingJitter 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 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.

Congestion 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.

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

Packets1. A choke packet that affects only the

source.

2. 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.