Кратко
- RFC 6298 требует сначала обновить RTTVAR по старому SRTT и лишь затем включить то же измерение RTT в SRTT.
- RTO складывается из сглаженного среднего и большего из двух значений — точности часов либо четырёхкратного разброса; снизу действует порог в одну секунду.
Два вида памяти об одном измерении
Первое значение R устанавливает SRTT = R и RTTVAR = R/2. Затем RTO вычисляется как SRTT + max(G, 4*RTTVAR), где G — дискретность часов.
Следующее R' не стирает накопленное состояние. RTTVAR получает четверть нового отклонения, а SRTT — лишь одну восьмую нового измерения. Разброс поэтому реагирует быстрее центра.
Сначала оценить неожиданность
Вначале вычисляется |SRTT-R'|, причём SRTT ещё хранит прежнее значение. После обновления RTTVAR среднее можно сдвинуть к R'. Именно такую последовательность требует стандарт.
При обратном порядке среднее заранее приблизилось бы к наблюдению. Выборка уменьшила бы собственное отличие до того, как алгоритм его запомнит. Порядок присваиваний здесь определяет смысл оценки, а не только форму программы.
Ограничители вокруг оценки
Если результат меньше одной секунды, RTO следует поднять до одной секунды. Допустим и верхний предел, но не ниже 60 секунд. Эти рамки не заменяют историю среднего и разброса.
Источник не сообщает, как устроены все современные реализации, и не доказывает оптимальность коэффициентов для любого пути. Правило Карна отвечает на другой вопрос — можно ли принять образец RTT. Рассматриваемый механизм начинает работать после такого решения.
Источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
