You are on page 1of 1

S1

10 Mbps
1 Mbps
R D
10 Mbps

S2

Figure 1.8: Illustration of congestion in a four-node communication network

arrive at the destination in a different order. Hence there is a need to tag the packets sent by
the source with a sequence number which can then be used by the destination to reorder them.
Such a sequence number is also useful in requesting the source to resend a packet in case one is
lost and the other arrive correctly.

In this course, we will discuss different routing algorithms and addressing schemes used to achieve
routing in the Internet.

1.2.5 Flow and Congestion Control

When a packet arrives at a receiving node, it is stored in a region of memory present in the
node which is called a buffer. The buffer is used to temporarily store the packet until further
processing can be performed on it. This subsequent processing can be the copying of the packet
to a disk drive or consumption of the information in the packet by the end user. An example
of the latter case is when the information in the packet represents part of a music file which
the end user is listening to. Once the necessary processing has been performed on the packet,
the corresponding buffer can be freed and reused. The amount of buffer space available in a
node is limited. If packets arrive faster than they can be processed, the buffer will be filled
at a faster rate than it can be emptied. This will eventually result in the buffer being filled
up completely and subsequently arriving packets will be dropped. Such an event is called a
buffer overflow. This is undesirable since it results in loss of information even when the channel
connecting the source and destination is error-free. A mechanism which throttles the rate at
which the source sends information to the destination and prevents buffer overflow is called a
flow control mechanism. Flow control is performed by the destination by informing the source
regarding the maximum amount of information it can receive without overflowing its buffer. It
also informs the source about the previously sent information which it has already processed
and removed from the buffer. The source is then able to calculate the amount of information it
can safely send without causing buffer overflow at the destination.

Flow control prevents a single source from overflowing the buffer at a destination. Congestion
control, on the other hand, prevents a set of sources from causing buffer overflows anywhere
in the communication network. A network is said to be congested if buffer overflows occur
frequently in its nodes. Figure 1.8 shows a four-node network with two sources, one relay node
and one destination. The links from the sources S1 and S2 to the relay node R support a data
rate of ten megabits per second (Mbps). The link from R to the destination D supports a data
rate of 1 Mbps. If both the sources send information destined for D at 10 Mbps, the packets

11

You might also like