Windows 95/98/NT/2000 FAQ - Как изменить таймаут ретрансмиссии TCP?

Как изменить таймаут ретрансмиссии TCP?

Service Pack 5 добавляет в реестр новый ключ, InitialRtt, который и делает возможным изменение времени ретрансмиссии. Диапазон 0 - 65535 миллисекунд. Устанавливается следующим образом:

  1. Запустите редактор реестра (regedit.exe)
  2. Перейдите в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. В меню Edit выберите New - DWORD value
  4. Введите имя InitialRtt и нажмите Enter
  5. Дважды кликните по этому новому значению и введите число миллисекунд для таймаута, напр. 5000 для 5 секунд (прежнее значение по умолчанию - 3 секунды). Нажмите OK
  6. Закройте редактор
  7. Перезагрузите машину, чтобы изменения вступили в силу

Этот параметр определяет начальный таймаут ретрансмиссии, используемый TCP для каждого нового соединения. Используется по отношению к запросу связи (SYN) первого сегмента данных каждого соединения.

Модифицируйте с осторожностью. Установка больших значений существенно увеличивает временные затраты TCP на определение разрыва связи, если адрес приемника не существует.

Например, значение по умолчанию - 3,000, или 3 секунды. Опять же по умолчанию, запрос связи повторяется два раза. Общий таймаут составит (3+6+12) или 21 секунду.

Если значение в реестре установить 6,000 (6 секунд), то общий таймаут будет (6+12+24) или 42 секунды. За такое время приложение может быть расценено, как не отвечающее (hang).