Illustrated TCP/IP Illustrated TCP/IP
by Matthew G. Naugle
Wiley Computer Publishing, John Wiley & Sons, Inc.
ISBN: 0471196568   Pub Date: 11/01/98
  

Previous Table of Contents Next


Chapter 202
TCP Retransmission

One last function to discuss is TCP’s capability to know when to send a retransmission of a packet. This is a fairly complex subject that will only be briefly discussed here. Since data runs on an Internet that has varying delays caused by routers and low- or high-speed networks, it is nearly impossible to determine an exact timer delay for an acknowledgment. The acknowledgment could show up one time in a matter of milliseconds, or it could show up in a matter of seconds. The time is variable is due to the heterogeneous nature of the Internet. TCP accommodates this varying delay by using an adaptive retransmission algorithm. This allotted time is dynamic (not held to one number) and is accomplished as follows: When TCP submits a packet to be sent, TCP records the time of the transmission and the sequence number of the segment. When TCP receives an acknowledgment to that segment, it will again record the time. Using this delta, TCP builds a sample round-trip delay time. TCP uses this time to build an average time for a packet to be sent and an acknowledgment to be received. When it calculates a new value from another sample, it will slowly change its timer delay for the waiting of the ACK packet.

TCP Retransmission

  TCP will retransmit a segment upon expiration of an adaptive transmission timer.
  The timer is variable.
  When TCP transmits a segment, it records the time of transmission and the sequence number of the segment.
  When TCP receives an acknowledgment, it records the time.
  This allows TCP to build a sample round-trip delay time.
  TCP will build an average delay time for a packet to be sent and received.
  The timer is slowly changed to allow for the varying differences in the Internet.


Previous Table of Contents Next