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


Таймер повторной передачи
 
Данный таймер взводится значением RTO (Retransmission TimeOut - интервал до
повторной передачи) в момент посылки TCP-пакета адресату. Если таймер окажется
сброшенным в ноль до момента получения подтверждения пакета, то этот пакет должен
быть послан вновь.
 
Ясно, что величина RTO не может быть фиксированной, т.к. TCP-пакеты до разных
адресатов следуют по различным маршрутам через сети, скорость передачи данных в
которых может различаться более чем в тысячи раз. Для вычисления "оптимального"
значения RTO в каждом логическом соединении используется специальная процедура,
специфицированная в RFC 793.
 
Согласно этой процедуре, для каждого TCP-пакета измеряется величина RTT (Round
Trip 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. Только после неудачи
всей серии повторных посылок связь между партнерами будет считаться аварийно
закрытой.

 

Hosted by uCoz