Data Transfer
After connection is established bidirectional data transfer can take place. The client and server can both send data and acknowledgments. Figure shows an example in this example after connection is established the client sends 2000 bytes in two segments. The server than send 2000bytes in one segment. The client sends one more segment. The first three segments carry both data and acknowledgment, but the last segment carries only an acknowledgment because there are o more data to be sent. Note the value of the sequence and acknowledgment numbers. The data segments sent by the client have the PSH flag set so that the server TCP knows to deliver data to the server process as soon as they are received. The segment from the server on the other hand does not set the push flag. Most TCP implementation have the options to set or not set this flag.