TCP flow control is important purposely for regulating the flow of data between the various devices and prevents this data signal clogging at the receiver. The flow control is essential in a networking environment. The receiver of data normally controls this flow of data by sending a control massage to the sender of data.
TCP flow control occurs in a network environment where the data transmission occurs between two devices that receive data signals at different rates. In this case, the receiver, for example, a smart phone receiving data from a much faster transmission device will send control messages to the sender to prevent overloading.
Control flow can be achieved through the use of TCP sliding window mechanisms and TCP window size mechanism. The TCP window size mechanism utilizes a window size field contained in a TCP header. The receiver sends acknowledgement packets to the sender through the window size field. The window size field contains information about the number of bytes that the receiver can transmit. The sender also sends the amount of data it can transmit back to the receiver. The window size is adjustable and increases when the receiver can accommodate more data and reduces when it can handle less data.
The TCP sliding window mechanism is mainly used to speed up the flow of data in a busy network. Whereas the window size, mechanism waits for an acknowledgement from the receiver before sender sends the data, sliding window mechanism aims to reduce this waiting time. This is achieved by using the receivers’ window size. The sender calculates the amount of data that can be sent immediately without the receipt of an acknowledgement from the receiver, it then divides the data to be transmitted into equal segments and transmit them. This reduces the time wasted while waiting for the receiver to send an acknowledgement.
References.
Charles, M. K. (2005). TCP Window Size Adjustment and Flow Control. Retrieved from The TCP/IP guide: http://www.tcpipguide.com/free/t_TCPWindowSizeAdjustmentandFlowControl.htm
Huston, G. (2000, June). TCP Performance. The internet Protocol Journal, vol. 3(No. 2). Retrieved September 10, 2012, from http://www.cisco.com/web/about/ac123/ac147/ac174/ac196/about_cisco_ipj_archive_article09186a00800c8901.pdf