Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-lcc!ames!ucbcad!ucbvax!CS.UCL.AC.UK!seasterb From: seasterb@CS.UCL.AC.UK (Steve Easterbrook) Newsgroups: comp.protocols.tcp-ip Subject: tcp smooth rtt function Message-ID: <8704300123.AA27080@ucbvax.Berkeley.EDU> Date: Wed, 29-Apr-87 22:07:26 EDT Article-I.D.: ucbvax.8704300123.AA27080 Posted: Wed Apr 29 22:07:26 1987 Date-Received: Sat, 2-May-87 05:01:04 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 20 Whilst building a tool to monitor tcp's behaviour under various conditions I came across an interesting feature of the smooth round trip time function. As expected, this hovers around a value, responding to such things as rtx time-outs, etc. However, when running tcp across a local net, (i.e. with very small round trip time), I noticed a series of apparently random 'kicks' where the SRTT suddenly shoots up to a relatively enormous value, coming down only slightly less quick. After some careful analysis, I discovered the cause. On the test I was doing, the round trip time was small enough for the SRTT to reach zero occasionally. Examination of the tcp code reveals that when modifying the SRTT, a test is made to see if it is zero, and if so the usual RSRE smoothing function isn't used. The question is this: Can anyone give me some pointer as to what the philosophy behind this is, and maybe some reference as well. I gather its main purpose is to prevent the SRTT from staying at zero, as this will cause tcp to be a bit keen on the retransmissions, but it seems to me that substitute value is a little on the overkill side. Ta muchly, Steve