42.
Таймери ТСР та їх призначення. Визначення параметрів RTT та RTO.


Таймер повторной передачи Данный таймер взводится значением RTO (Retransmission TimeOut - интервал доповторной передачи) в момент посылки TCP-пакета адресату. Если таймер окажетсясброшенным в ноль до момента получения подтверждения пакета, то этот пакет долженбыть послан вновь. Ясно, что величина RTO не может быть фиксированной, т.к. TCP-пакеты до разныхадресатов следуют по различным маршрутам через сети, скорость передачи данных вкоторых может различаться более чем в тысячи раз. Для вычисления "оптимального"значения RTO в каждом логическом соединении используется специальная процедура,специфицированная в RFC 793. Согласно этой процедуре, для каждого TCP-пакета измеряется величина RTT (RoundTrip Time - интервал времени от момента посылки TCP-пакета до момента полученияподтверждения на него). На основе измеренных RTT вычисляется величина SRTT(Smoothed RTT - сглаженный RTT) по следующей формуле: SRTT = k*SRTT + (1 - k)*RTT,
где k - сглаживающий коэффициент (например, 0.9). Примечание. Приведенная формула обеспечивает фильтрацию нетипичных (пиковых)значений измеренной величины RTT. "Оптимальное" значение RTO вычисляется по формуле: RTO = min(U, max(L, p*SRTT)),
где: U - ограничение сверху на значение RTO (например, 30 секунд); L - ограничение снизу на значение RTO (например, 1 секунда); p - коэффициент "запаса" (например, 2). Если после повторной посылки TCP-пакета, опять не будет получено его подтверждениеза интервал времени RTO, то попытки послать TCP-пакеты будут повторены (до 12 раз),но каждый раз с экспоненциально возрастающим значением RTO. Только после неудачивсей серии повторных посылок связь между партнерами будет считаться аварийнозакрытой.