| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TCP Sliding Window Data Transfer and Acknowledgement Mechanics (Page 1 of 6) The TCP connection establishment process is employed by a pair of devices to create a TCP connection between them. Once all the setup is done, transmission control blocks (TCBs) set up, parameters have been exchanged and so forth, the devices are ready to get down to business: transferring data. The sending of data between TCP devices on a connection is accomplished using the sliding window system we explored in the fundamentals section. It's now time to take a more detailed look at exactly how sliding windows are implemented to allow data to be sent and received. For ease of explanation, we'll assume that our connection is between a client and a serverthis is easier than the whole Device A / Device B thing. Each of the two devices on a connection must keep track of the data it is sending, as well as the data it is receiving from the other device. This is done by conceptually dividing the bytes into the categories we saw in the sliding windows overview. For data being transmitted, there are four transmit categories:
For data being received, there is no need to separate into received and acknowledged and received and unacknowledged the way the transmitter separates its first two categories into sent and acknowledged and sent but not yet acknowledged. The reason, of course, is that the transmitter must wait for acknowledgment of each transmission, while the receiver doesnt need acknowledgment that it received something. Thus, one receive category corresponds to Transmit Categories #1 and #2, while the other two correspond to Transmit Category #3 and Transmit Category #4 respectively, making three receive categories overall. To help make more clear how the categories relate, I am numbering them as follows:
Home - Table Of Contents - Contact Us The TCP/IP Guide (http://www.TCPIPGuide.com) Version 3.0 - Version Date: September 20, 2005 © Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved. Not responsible for any loss resulting from the use of this site. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||