[ih] TCP RTT Estimator

Jack Haverty jack at 3kitty.org
Sat Apr 12 11:33:33 PDT 2025


The 1980s era of The Internet was explicitly a time of research and the 
"Internet Experiment".    We tried to reflect that in the documents of 
the day, such as RFC793.

The general principle was that the "on the wire" formats and meanings 
were standardized, so that any implementation of TCP could communicate 
with any other implementation.  Everything else was at best Recommendations.

However, there were a lot of unanswered questions, such as the best way 
to deal with network errors such as dropped, duplicated, or mangled 
datagrams - such as discussed in IEN69.

To enable research into different techniques, the specific algorithms 
for TCP functions such as retransmission timers and strategies were 
explicitly *not* standardized.    That encouraged experimentation with 
different kinds of network environments and different ideas about how to 
cope with errors.   It also permitted implementations of TCP with 
different goals.  An implementer might pursue algorithms which minimized 
the load on their computer system.  Or load on the network.   Or 
rapidity of implementation. Or suitability for the specific user 
environment involved.  Or ...

No one in 1981 had any significant experience with real-world TCP 
networks and their behavior under heavy loads.   The ARPANET was the 
basic wide-area network in use as the substrate for The Internet, and 
the ARPANET provided only a reliable byte-stream service that made 
greatly simplified TCP's task.

IEN 177 says that the RSRE algorithm is the "current best procedure" and 
"will be included in the next ... specification".  I remember talking 
with Jon and others about this.  My recollection is that such an 
algorithm might be included as a "best practice" recommendation, not as 
a mandatory part of the standard.  In 1981 we simply didn't know enough 
to nail down an algorithm and there were lots of other outstanding 
unresolved issues that might be related (such as Type Of Service, Policy 
Routing, etc.).

In 1981, The Internet was still very much an Experiment, but being 
pulled forward by its adoption as a DoD Standard, and later to be 
rocketed forward by its adoption in non-military networking.   I think 
many of those research questions were never answered.  I recall we even 
at one point we even opined that The Internet would be fine as long as 
we kept enough capacity in the circuits and switches to avoid overloads, 
while the research continued, seeking the "right" answers.

Jack Haverty


On 4/12/25 10:00, Greg Skinner via Internet-history wrote:
> I found some additional information that may shed some light on the issue of how much packet radio influenced the round trip time (RTT) and retransmission timeout (RTO) calculations.
>
> There is a discussion of retransmission strategy in IEN 69 that makes a distinction between loss and congestion:
>
> There are two problems that have the same symptoms - losing segments due to poor communications media, and delayed segments due to congestion.  These two problems call for distinctly different solutions.  In a lossy network, one would retransmit more frequently; in a congested network, one would retransmit less frequently.
>
> Appendix E of IEN 69 gives some examples of specifying retransmission parameters.  One of those is for the SRI packet radio demo - 3 seconds with no backoff, initially.  (Subsequent retransmissions are a multiple of the initial value and two additional parameters that can be expressed as a fraction.)  Jim Mathis’ 1979 TCP implementation supports this feature.  It is also documented in IEN 150 as TENEX and TOPS20 JSYSs (system calls).
>
> However, for some reason, this didn’t make it into RFC 793.  As previously noted, in IEN 177, a decision was made to use the RSRE algorithm in subsequent TCP specs.
>
> I can understand why the RSRE algorithm was chosen, given what was understood about retransmission at the time.  Does anyone know why the alternate form was omitted?  Was there any more discussion about it prior to the publication of RFC 793?
>
> --gregbo
>
>
>
>
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 665 bytes
Desc: OpenPGP digital signature
URL: <http://elists.isoc.org/pipermail/internet-history/attachments/20250412/e3105396/attachment.asc>


More information about the Internet-history mailing list