artykuły
Powrót do listy artykułów

Temat artykułu: Flow Control
Tekst napisał pitt2k dnia 08-01-2004

Flow control is a function that prevents network congestion by ensuring that transmitting devices do not overwhelm receiving devices with data.
There are a number of possible causes of network congestion. Usually it is because a high-speed computer generates data faster than the network can transfer it, or faster than the destination device can receive and process it.

There are three commonly used methods for handling network congestion:
  • Buffering
  • Source Quench Messages
  • Windowing


Buffering
Buffering is used by network devices to temporarily store bursts of excess data in memory until they can be processed. Occasional data bursts are easily handled by buffering. However, buffers can overflow if data continues at high speeds.
Source Quench Messages
Source quench messages are used by receiving devices to help prevent their buffers from overflowing. The receiving device sends a source quench message to request that the source reduce its current rate of data transmission.
Windowing
Windowing is a flow-control method in which the source device requires an acknowledgement from the destination after a certain number of packets have been transmitted.

  1. The source device sends a few packets to the destination device.
  2. After receiving the packets, the destination device sends an acknowledgment to the source.
  3. The source receives the acknowledgment and sends the same amount of packets.
  4. If the destination does not receive one or more of the packets for some reason (such as overflowing buffers), it does not send an acknowledgment. The source will then retransmits the packets at a reduced transmission rate.
Windowing is very reliable because it uses positive acknowledgement. Positive acknowledgement requires the recipient device to communicate with the sending device, sending back an acknowledgement when it receives data. If the sending device does not receive an acknowledgement it knows to retransmit the packets at a reduced transmission rate. It the receiving device sends a packet with a zero window size, it means it's buffers are full and it cannot receive any more data.
Transmission is resumed when the receiving device sends a packet with a window size higher than zero.

REMEMBER THIS !!!

Data arriving faster than the device can handle are stored in memory.
Flow control is maintained by the receiving device sending Receive ready/not ready messages to the transmitting device.
Know that a zero window size means to stop transmitting packets.
If a sending device does not receive any acknowledgement at all, it will retransmit the last packets at a reduce rate.
Positive acknowledgement requires a recipient to communicate with the sending device by returning an acknowledgement.


Opracowanie na podstawie materiałów TroyTech (www.troytech.com).