Better to know some... than all
|
||||||
|
Congestion Control in networksA network has a certain carrying capacity, denoted by the maximum number of packets that it can hold at any point in time. When this limit is approached, considerable delays are experienced in packet delivery, and the network is said to be congested. Congestion can occur in all types of networks. Uncontrolled congestion can lead to outright network failure. At the node level, congestion manifests itself as packet buffers that have approached their full capacity. This happens because the node is receiving more packets than it is passing on to the next nodes, which in turn are presumably unable to receive more packets due to their buffers being full. When this situation occurs, the chances are that it will progressively get worse. The best way to deal with congestion is to avoid it. This is facilitated by putting in place measures that prevent buffer overflow. These measures include the following: * Reducing the load on a node by disposing packets. As mentioned in earlier sections, packet disposal can be guided by a lifetime indicator which is eroded by the nodes that handle the packet. More blatant ways of disposing packets may also be employed. For example, a node that receives a packet for which it has almost no buffer space may destroy it immediately. * Reducing the traffic destined for a heavily-utilized link. Nodes can monitor the traffic on their outgoing links and ask the source host to reduce the transmission rate when they feel that a link is approaching its capacity. The request can be put to the source host using a special packet. * Imposing a limit on the total number of packets in the network. This approach requires some means of keeping a count of the packets in the network. Furthermore, the nodes will have to communicate to ensure that the count is kept up-to-date. Although, this approach ensures that the network cannot be overloaded with too many packets, it does not prevent an individual node from being overloaded. | |||||