Beruflich Dokumente
Kultur Dokumente
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 (queueing buffers, updating tables, etc.). - The routers' buffer is too limited.
When too much traffic is offered, congestion sets in and performance degrades sharply.
Congestion control is different from flow control: 1.Congestion is a global issue, involving the behavior 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 traffic between a given sender and a given receiver.
Chief metrics for monitoring the subnet for congestion are: the percentage of all packets discarded for lack of buffer space, the average queue lengths, the number of packets that time out and are retransmitted, the average packet delay, and the standard deviation of packet delay.
(a) A congested subnet. (b) A redrawn subnet that eliminates the congestion. A virtual circuit from A to B is also shown.
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.
Choke packet
This method can be used in both virtual circuit and datagram subnets. Each line is associated with a variable , whose value (0.0 - 1.0) reflects the recent utilization: Whenever moves above the threshold, the output line enters a ``warning'' state.
Choke packet
If a newly arriving packet is outputting in a line in warning state, the router sends a choke packet back to the source host, giving it the destination found in the packet. When the source host gets the choke packet, it is required to reduce the traffic sent to destination by certain percent.
Choke packet
The host should ignore choke packets referring to the same destination for a fixed time interval (why ?). If no choke packets arrive during the listening period, the host may increase the flow again. Some variations on this congestion control algorithm exist.
(a) A choke packet that affects only the source. (b) A choke packet that affects each hop it passes through.
Load shedding
When none of the above methods make the congestion disappear, routers can bring out the heavy artillery: load shedding, i.e, just throwing packets away. Which packet to discard ? Discard any one at random.
Load shedding
Discard the younger ones (the wine policy suitable for file transfer). Discard the older ones (the milk policy suitable for multimedia transfer.) Discard less important ones (this intelligence requires the senders to mark their packets in priority classes to indicate how important they are).
Jitter control
For audio and video transmission, it is important to ensure constant transmission time. So the agreement between the host and the subnet might be that 99 % of the packets be delivered with a delay in the range of 24.5 msec to 25.5 msec. The jitter can be controlled by computing the expected transit time for each hop along the path:
Jitter control
When a packet arrives at a router, the router checks to see how much the packet is behind or ahead of its schedule. If the packet is ahead of schedule, it is held just long enough to get it back on schedule. If it is behind schedule, the router tries to get it out the door quickly.