craig@LOKI.BBN.COM (Craig Partridge) (11/12/86)
As the guy whose message started this debate, I thought it might be worthwhile to describe the mechanism I chose to try. Basically I'm using a solution suggested by Lixia Zhang, with some tweaking. Lixia suggested that the best estimate of the round-trip time was the time it takes the first packet to make the loop (in RDP's case, the time between the opening SYN and its ACK). The idea sounded good so I put it in and promptly hit a small problem. My simple minded implementation tended to pick timeouts that were either too long or too short. The problem was one of defining where to measure the round trip from. If you measure from the first time you send a SYN, you tend to get a timeout estimate that is too high (if you had to resend the SYN several times, the likelihood that the ACK you finally get is for the first one is rather small). If you measure from the time you send the most recent SYN, the estimate is too low (again, it is unlikely that having sent several packets, the ACK is for the most recent one). So I tweaked the implementation. First off, SYNs are retransmitted using a roughly exponential backoff for the timeouts. Then when the ACK comes back, the estimated round-trip time is set to the timeout currently in use. Now this is still probably too short (if packets were sent out at time 0, 1, 2, 4, and 8, and the ACK comes back at time 14, the estimated RTT is only 8 and if the ACK was for the second packet the RTT should be 12), so I feed the estimated RTT for each packet sent into the roundtrip computation. (E.g. I set the estimated RTT to 8, but then adjust the estimate by feeding in RTTs of 12, 16, 17, and 18). A little testing today suggests that this makes the RTT slightly high but close to right (and mail on the list has made it clear that if you are going to be wrong, you'd like to be wrong on the high side). Connecting via Goonhilly ECHO a dozen or so times always worked, gave reasonable throughput and didn't appear to suffer excessive retransmissions. Of course a dozen tests really isn't enough so I'm still fiddling, and (at the risk of increasing the mail traffic still further) am still interested in further suggestions. Craig
MILLS@A.ISI.EDU (11/12/86)
In response to the message sent Sat, 08 Nov 86 20:46:12 -0500 from craig@loki.bbn.com Craig, Experiments I did several years ago (some results are in RFC-889) suggest RTT estimators be based on the interval between the first transmission and the first reply. Arguments supporting this have been made by RSRE and UCL as long ago as 1979. A backoff has proved a very good idea and, so far as I know, has been implemented in every TCP in common use. As you point out, it is much better to err on the high side than the low, especially especially with SYN/ACK exchanges, since data packets tend to be fatter (longer delay) than SYN/ACK packets. Other suggestions for tweaking the estimator are in RFC-889. It has been my experience that the performance of the estimator can be much improved by increasong the rate of sample collection. This can be done by keeping a stack of recently sent timestamps and associated sequence numbers, then checking each off as ACKs are received. Depending on the allowable number of outstanding packets, this can increase the rate several times. I blow hot and cold on the usefulness of statistics based on these data, especially when high variances are involved, as seems to be the case now with ARPAnet navigation. Dave -------
SITT@GUNTER-ADAM.ARPA (11/13/86)
In response to the message sent 12 Nov 1986 15:47:32 EST from MILLS@A.ISI.EDU As far as I know there has been no prohibition against joint installation by GAO or Congress. The current EID policy was supported in an ALMAJCOM letter by AF/SCT on 22 Apr 86. Additionally, the current draft of the Local Information Transfer Architecture incorporates the fiber optic policy in Annex E. The policy for installation in the LITA basically says that fiber should not be installed jointly with coax for broadband LANs or twisted pair unless the route will overlay the eventual fiber optic backbone network. It recommends use of fiber or joint installation for Catagory A and Catogory B systems (e.g., T-carrier, ESS trunk circuits, broadband closed circuit TV, remote display circuits for radar, high-speed point-to-point links, high-density links, line-of-sight systems, ...). I will send you a copy of the letter and the LITA (draft). Hope life's not too tough in the Pacific. Keep in touch. I should be flying that way regularly starting in June 87. -------
SITT@GUNTER-ADAM.ARPA (11/13/86)
In response to the message sent 13 Nov 1986 07:37:29 CST from SITT@GUNTER-ADAM.ARPA Please disregard previous message. It was transmitted in error. -------