Оценка на времето за изпълнение - Компютърни мрежи
Многослойна архитектура на Интернет
Очаквано време за изпълнение
Първият проблем, който ще разгледаме в контекста на TCP протокола, е въпросът за оценката на времето за двупосочно пътуване между предаващата и приемащата страна. Под примерно време за двупосочно преминаване (стойност на SampleRTT) ще разбираме времето, изминало от момента, в който даден сегмент е прехвърлен към протокола на мрежовия слой (IP протокол) на предаващата страна до получаването на разписка за този сегмент. Вместо да измерва всяка стойност на SampleRTT, TCP измерва само един от сегментите, предадени, но не потвърдени. По този начин изглежда, че при скорост от приблизително едно завъртане, стойността на SampleRTT се актуализира. Освен това SampleRTT никога не се измерва за препредадени сегменти (едно от упражненията в края на тази глава ви кани да обясните защо).
Поради възможни претоварвания в маршрутизаторите по пътя на сегментите, както и промени в натоварванията на крайната система, стойността на SampleRTT постоянно се променя. Това означава, че във всеки един момент може да се отклони значително от типичната стойност. За да се получи типична стойност, стойността на SampleRTT трябва да бъде осреднена по някакъв начин. За да направите това, стойността EstimatedRTT се въвежда в TCP протокола, който се изчислява заедно с всяка нова SampleRTT стойност по формулата
EstimatedRTT = (1 - a) x EstimatedRTT + a x SampleRTT.
Тази нотация е подобна на израз на език за програмиране: новата стойност EstimatedRTT се изчислява с помощта на старата стойност и стойността SampleRTT. Стойността на a се препоръчва (RFC 2988) да бъде 0,125 (т.е. 1/8); докато формулата приема формата
EstimatedRTT = 0,875 x EstimatedRTT + 0,125 x SampleRTT
Така че е изчислен RTTе среднопретеглената стойност на SampleRTT. Упражненията в края на главата показват, че последните измервания на стойността на SampleRTT получават най-голяма тежест при използване на тази формула. Това прави стойността EstimatedRTT уместна, тъй като отразява текущото състояние на мрежата в по-голяма степен от предишните й състояния. В статистиката такива стойности се наричат експоненциално претеглени подвижни средни.
Терминът "експоненциален" означава, че теглото на всяка стойност на SampleRTT намалява експоненциално с появата на нови стойности. В упражненията в края на главата ще бъдете помолени да извлечете експоненциалния член от формулата EstimatedRTT.
На фиг. Фигура 3.29 показва SampleRTT и EstimatedRTT за TCP връзка между хостове gaia.cs.umass.edu в Масачузетс и fantasia.eurecom.fr в Южна Франция с a = 0,125. Както можете да видите, графиката EstimatedRTT е значително изгладена в сравнение с графиката SampleRTT.
В допълнение към средната стойност на времето за оборот е полезно да има мярка за неговата променливост. RFC 2988 описва DevRTT като приблизително отклонение на SampleRTT от EfstimatedRTT:
DevRTT = (1 - B) x DevRTT + B x SampleRTT - Прогнозно RTT.
Обърнете внимание, че DevRTT е експоненциално претеглена подвижна средна на разликата между SampleRTT и EstimatedRTT. Колкото по-малко е разпространението на стойностите на SampleRTT, толкова по-малка е стойността на DevRTT.
Коефициентът P се препоръчва да се счита за равен на 0,25.
Вие поемате отговорност за всички промени, направени в системата съгласно съветите на тази статия.