Оцінка часу обороту - Комп’ютерні мережі
Багаторівнева архітектура Інтернету
Оцінка часу обороту
Перше питання, яке ми розглянемо в контексті протоколу TCP, - це питання про оцінку часу обороту між стороною, що передає і приймає. Під вибірковим часом обороту (значення SampleRTT) розумітимемо час, що проходить з моменту передачі сегмента протоколу мережного рівня (протоколу IP) передавальної сторони до отримання квитанції для цього сегмента. Замість вимірювати кожне значення SampleRTT, TCP робить вимір лише одного з переданих, але з квитованих сегментів. Таким чином, виявляється, що з періодичністю приблизно одночасно обороту значення SampleRTT оновлюється. Крім того, SampleRTT ніколи не вимірюється для сегментів, що передаються повторно (одна з вправ, наведених наприкінці цього розділу, пропонує вам пояснити, чому).
Внаслідок можливих навантажень у маршрутизаторах на шляху сегментів, а також зміни завантажень кінцевих систем значення SampleRTT постійно змінюється. Це означає, що у будь-який час воно може значно відхилитися від типового значення. Для отримання типового значення необхідно в якийсь спосіб усереднити величину SampleRTT. Для цього в протоколі TCP вводиться величина EstimatedRTT, яка обчислюється разом з кожним новим значенням SampleRTT за формулою
EstimatedRTT = (1 - а) х EstimatedRTT + а х SampleRTT.
Подібний запис схожий на оператор мови програмування: нове значення EstimatedRTT обчислюється за допомогою старого значення та значення SampleRTT. Величину рекомендується (RFC 2988) приймати рівною 0,125 (тобто 1/8); при цьому формула набуває вигляду
EstimatedRTT = 0,875 х EstimatedRTT + 0,125 х SampleRTT
Таким чином, EstimatedRTTє ваговим середнім значенням SampleRTT. У вправах, наведених наприкінці глави, демонструється, що з використанні цієї формули найбільшу вагу мають останні виміри значення SampleRTT. Це надає величині EstimatedRTT актуальності, оскільки вона більшою мірою відображає поточну ситуацію в мережі, ніж її попередні стани. У статистиці подібні величини називають експоненційним ваговим ковзним середнім.
Термін «експоненційне» означає, що вага кожного значення SampleRTT експоненційно зменшується з появою нових значень. У вправах, наведених наприкінці розділу, вам буде запропоновано отримати експоненційний член з формули EstimatedRTT.
На рис. 3.29 показано значення SampleRTT та EstimatedRTT для TCP-з'єднання між хостами gaia.cs.umass.edu у штаті Массачусетс та fantasia.eurecom.fr на півдні Франції при а = 0,125. Як бачимо, графік EstimatedRTT значно згладжений проти графіком SampleRTT.

Крім усередненого значення часу обороту корисно мати міру його мінливості. У RFC 2988 описується величина DevRTT як наближене відхилення SampleRTT від EfstimatedRTT:
DevRTT = (1 - B) x DevRTT + B x SampleRTT - EstimatedRTT.
Зверніть увагу на те, що DevRTT є експоненціальним ваговим ковзним середнім різницю між SampleRTT і EstimatedRTT. Чим менший розкид значень SampleRTT, тим меншою є величина DevRTT.
Коефіцієнт Р рекомендується вважати рівним 0,25.
Відповідальність за всі зміни, внесені в систему за порадами цієї статті, Ви берете на себе.