Справочник по сетевым протоколам

       

Контрольное время повторной посылки


Вследствие непостоянства сетей, составляющих единую объединенную систему, и большого числа клиентов, пользующихся услугами TCP соединений, существует необходимость в динамическом определении контрольного времени повторной посылки. В качестве иллюстрации здесь приводится одна из процедур определения этого времени.

Пример процедуры измерения контрольного времени для повторной посылки сегментов Во-первых, измерьте время, прошедшее между посылкой октета данных, имеющего некий определенный номер в очереди, и получение подтверждения, указывающего наряду с другими и на этот номер (посылаемые сегменты не обязаны соответствовать полученным сегментам).

Измеренная временная задержка - это время обращения (Round Trip Time - RTT). Следующий шаг - вычисление усредненного времени обращения (Smoothed Round Trip Time - SRTT):

SRTT = (ALPHA * RSTT) + ( (1-ALPHA) * RTT)

Затем с помощью найденного значения определяется контрольное время повторной посылки (Retransmission Timeout - RTO):

RTO = min[ UBOUND, max[ LBOUND, (BETA * SRTT) ]]

где

UBOUND - верхний предел контрольного времени (например, 1 мин),
LBOUND - нижний предел (например, 1 сек).
ALPHA - фактор сглаживания (например, от 0.8 до 0.9),
BETA - фактор изменения задержки (например, от 1.3 до 2.0).



Содержание раздела