background image
OSI Transport Layer Functions 91
Flow Control
Flow control is the process of controlling the rate at which a computer sends data. Depending
on the particular protocol, both the sender and the receiver of the data (as well as any
intermediate routers, bridges, or switches) might participate in the process of controlling the
flow from sender to receiver.
Flow control is needed because data is discarded when congestion occurs. A sender of data
might be sending the data faster than the receiver can receive the data, so the receiver discards
the data. Also, the sender might be sending the data faster than the intermediate switching
devices (switches and routers) can forward the data, also causing discards. Packets can be lost
due to transmission errors as well. This happens in every network, sometimes temporarily and
sometimes regularly, depending on the network and the traffic patterns. The receiving computer
can have insufficient buffer space to receive the next incoming frame, or possibly the CPU is
too busy to process the incoming frame. Intermediate routers might need to discard the packets
based on temporary lack of buffers or processing as well.
Flow control attempts to reduce unnecessary discarding of data. Comparing flows when flow
control is used, and when it is not used, is helpful for understanding why flow control can be
useful. Without flow control, some PDUs are discarded. If some reliable protocol in use
happens to implement error recovery, then the data is re-sent. The sender keeps sending as fast
as possible. With flow control, the sender can be slowed down enough that the original PDU
can be forwarded to the receiving computer, and the receiving computer can process the PDU.
Flow-control protocols do not prevent the loss of data due to congestion; these protocols simply
reduce the amount of lost data, which in turn reduces the amount of retransmitted traffic, which
hopefully reduces overall congestion. However, with flow control, the sender is artificially
slowed or throttled so that it sends data less quickly than it could without flow control.
The CCNA exam requires that you be familiar with three features, or methods, of implementing
flow control:
·
Buffering
·
Congestion avoidance
·
Windowing
Table 3-5
Examples of Error-Recovery Protocols and Their Features
Feature
TCP
SPX
LLC2
Acknowledges data in both directions?
Yes
Yes
Yes
Uses forward acknowledgment?
Yes
Yes
Yes
Counts bytes or frame/packets?
Bytes
Packets
Frames
Necessitates resending of all data, or
just one part and wait when resending?
One and wait
Resend all
Resend all
ch03.fm Page 91 Monday, March 20, 2000 4:58 PM