n data, at the time of transmission the retransmission timer is started, and if the response from the server is not received in time, the client starts the entire process again. If the server receives a message properly it knows that the client follows its sequence numbering and a two-way connection is established. When the connection is established, data transmission proceeds as shown in Figure 6.49. At each transmission an instant retransmission timer is started. If acknowledgment does not arrive in time, the timer expires and retransmission takes place. If there is no need for data transmission in one direction, TCP segments are sent without data to acknowledge the received segments before the retransmission timer expires. If the transmission delay is very long, for example, in satellite channels, TCP acknowledgment segments must be send by the transmitting Earth station, not by the destination host. Longer timers are then used over satellite hop. The receiving Earth station acts as a TCP source machine when it delivers data to the destination. For efficient transmission, the data source should be allowed to send many TCP segments without waiting for separate acknowledgments for each of them. Otherwise, especially if the transmission delay is long, the source machine would spend most of the time waiting for acknowledgments. TCP uses the sliding window principle shown in Figure 6.50 to make transmission efficient and uses it for flow control as well. The window field in each received TCP header (see Figure 6.48) tells the receiving party what transmission window size it should use. It defines the number of bytes that can be transmitted without acknowledgment as shown in Figure 6.50. Each time when acknowledgment is received, the pointers in Figure 6.50 are shifted to the right and new bytes can be trans- mitted. The two transmission directions are independent and both machines manage both transmission and reception windows separately. Figure 6.51 shows an example of how the transmission window is man- aged. The