Congestion Control Error Handling

www.pragsoft.com Chapter 4: The Network Layer 63 The advantage of dynamic routing is its potential to improve performance and reduce congestion by choosing more optimal routes. Its disadvantage is its inherent complexity. Nevertheless, dynamic routing algorithms enjoy widespread use because they have proved to be generally more effective than other algorithms. Like static routing, dynamic routing can be used with both the datagram and the virtual circuit approach.

4.3.3. Congestion Control

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

4.3.4. Error Handling

The extent to which the network layer attempts to deal with errors is largely dependent on the type of service being offered. The datagram service offers little in 64 Communication Networks Copyright © 2005 PragSoft this respect. If packets do not arrive due to being corrupted or lost, or if they arrive out of order, it is the responsibility of the network user to deal with these problems. The virtual circuit service, however, handles these problems transparently. The usual approach to dealing with corrupt or lost packets is to request retransmission. This issue was covered in earlier discussions. It is not uncommon for network protocols to have additional measures built into them to enable them to better deal with errors. For example, some protocols also use a CRC check on the packet header. To communicate the cause of detected errors, some protocols use diagnostic packets. The subject area remains largely protocol dependent.

4.4. Internetworking