Время ожидания квитанции

Когда протокол TCP передает в сеть сегмент, он «на всякий случай» помещает его копию в очередь повторной передачи и запускает таймер. Когда приходит квитанция на этот сегмент, соответствующая копия удаляется из очереди. Если же квитанция не приходит до истечения срока, то сегмент посылается повторно. Может случиться так, что повторный сегмент придет тогда, когда исходный сег­мент уже окажется на месте, тогда дубликат будет попросту отброшен.

Каким должно быть время ожидания (тайм-аут) очередной квитанции? От ре­шения этой задачи зависит производительность протокола TCP. Тайм-аут не дол­жен быть слишком коротким, чтобы по возможности исключить избыточные по­вторные передачи, снижающие полезную пропускную способность системы, но он не должен быть и слишком длинным, чтобы избежать длительных простоев, связанных с ожиданием несуществующей или «заблудившейся» квитанции.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: