要約

  • RFC 6298では、古いSRTTを使ってRTTVARを更新した後、同じRTT標本をSRTTへ反映する。
  • RTOは平滑化平均、時計の粒度、変動の4倍を組み合わせ、1秒の下限を適用する。

一つの測定から二つの状態へ

最初の測定値 R を得ると、SRTT は R、RTTVAR は R/2 で初期化される。RTOは SRTT + max(G, 4*RTTVAR) となり、G は時計の粒度を表す。

次の R' は過去を消さない。RTTVARは新しい偏差を4分の1、SRTTは新しい測定を8分の1だけ取り込む。中心はゆっくり動き、ばらつきはより速く反応できる。

驚きを測ってから平均を変える

規格は、まず更新前のSRTTを使って |SRTT-R'| を求めるよう明記する。その値でRTTVARを更新し終えてから、SRTTを R' の方向へ動かす。

逆にすると、標本は偏差を測られる前に平均を自分へ近づける。異常だった距離が小さく見え、変動の記憶が弱まる。したがって、この順序は実装上の好みではなくアルゴリズムの意味である。

計算を囲む境界

計算結果が1秒未満なら、RTOは1秒へ切り上げるべきである。上限も設定できるが、60秒以上でなければならない。境界値は推定器を囲むもので、履歴を置き換えるものではない。

RFCは現在の各実装の普及状況や、あらゆる経路で定数が最適だとは述べない。またKarnの規則とは役割が異なる。Karnは標本を採用できるかを決め、ここでの更新順序は採用済みの標本をどう使うかを決める。

出典