A simple transport protocol might implement a reliability-and-flow control technique where a host transmits a TCP packet to its peer, starts a timer and waits for a period of time for an acknowledgment before sending a new packet. If the acknowledgment is not received before the timer expires, the packet is assumed to have been lost and the data is retransmitted. Such a technique is called positive acknowledgment and retransmission (PAR).
However the time duration for which the source is expected to wait depends on a number of factors. Over an Ethernet, no more than a few microseconds should be needed for an acknowledgement. If the traffic is more, the time for which it has to wait should be more. All modern TCP implementations estimate this time by monitoring the normal exchange of data packets and developing an estimate of how long is "too long". This process is called Round-Trip Time (RTT) estimation. RTT estimates are one of the most important performance parameters in a TCP exchange, especially when considering the fact that on an indefinitely large transfer, all TCP implementations eventually drop packets and retransmit them, no matter how good the quality of the link. If the RTT estimate is too low, packets are retransmitted unnecessarily; if too high, the connection can sit idle while the host waits to timeout.
By assigning each packet a 32 bit sequence number, PAR enables hosts to track lost or duplicate packets caused by network delays that result in premature retransmission. The sequence numbers are sent back in the acknowledgments so that the acknowledgments can be tracked.
PAR is an inefficient use of bandwidth, however, because a host must wait for an acknowledgment before sending a new packet and only one packet can be sent at a time.
No comments:
Post a Comment
Your feedback and comments are valuable for us: