Tcp – value EstimatedRTT at first time

network-coretcp

What is the value of EstimatedRTT at first time?

EstimatedRTT = (1-α) EstimatedRTT + α*SampleRTT

Is it the average of all sampleRTT ?
For example i have following SampleRTTs:

120 ms, 140 ms, 160 ms

Which of the following calculation would be correct ?

EstimatedRTT1 = (1-α) ((120*140*160)/3) + α*120

or

EstimatedRTT1 = (1-α) 120 + α*140

I asking again because I only found this answer(but I want to be sure). What is the value of EstimatedRTT at first time?

Best Answer

Ok, maybe I found the answer.

So I found a table with following values

Segment   SampleRTT   EstimatedRTT   DevRTT    Time Out

1         130         130.00         130.00     650.00

2         138         131.00         99.25      528.00

3         122         129.88         76.41      435.50

4         124         129.14         58.59      363.50

5         131         129.37         44.35      306.77

Looks like EstimateRTT, DevRTT have at first the same value as the sampleRTT(130). The rest can be calculated with following formula as b = 0.25; a = 0.125

EstimatedRTT = (1- a)EstimatedRTTlast + aSampleRTT

DevRTT = (1-b)DevRTTlast +b|SampleRTT-EstimatedRTT|

Timeout = Estimated RTT + 4*DevRTT

Source: https://www.ukessays.com/essays/it-research/round-trip-time-rtt.php

Update:

Ok, thanks to Zac I was looking in RFC 6298 Where it says:

(2.2) When the first RTT measurement R is made, the host MUST set

        SRTT <- R
        RTTVAR <- R/2
        RTO <- SRTT + max (G, K*RTTVAR)

     where K = 4.

So in first Segment EstimatedRTT=SampleRTT, DevRTT=SampleRTT/2.

So the table would look in the first segment like this, if I understood it right:

Segment   SampleRTT   EstimatedRTT   DevRTT    Time Out

1         130         130.00         65.00     390.00

Now which source should I rather trust ? I think the RFC 6298

Related Topic