В. Столлингс - Современные компьютерные сети (2-е издание, 2003) (1114681), страница 83
Текст из файла (страница 83)
Оценка изменчивости ВТТ Метод„указанный в спецификации стандарта ТСР и описанный в формулах (12.4) и (12.5), позволяет ТСР-сущности адаптироваться к изменениям времени прохождения сигнала в оба конца (КТТ). Однако этот метод плохо справляется с ситуацией, в которой изменчивость времени прохождения сигнала в оба конца относительно высока. В [244] указывается на три источника этой высокой изменчивости: + Если скорость передачи данных по ТСР-соединению относительно низкая, тогда задержка передачи будет относительно большой по сравнению с временем распространения сигнала и изменчивость задержки, вызванная изменчивостью размера [Р-дейтаграмм, окажется существенной. Таким образом, на метод оценки ЖТТ оказывают сильное влияние характеристики данных, а не сети.
+ Нагрузка графика и условия объединенной сети могут внезапно измениться из-за графика от других источников, вызывая резкие изменения КТТ. + Одноранговая ТСР-сушность может не подтверж„дать получение каждого сегмента немедленно после его поступления в связи с собственными задержками обработки и правом использовать кумулятивные подтверждения. В оригинальной спецификации протокола ТСР делаются попытки учитывать эту изменчивастгь умножая оцениваемое значение КТТ на постоянную величину: Кто(К+ 1) м Р ВКТТ(К+ 1). Как правило, используется величина 8 = 2. В стабильном окружении с низкой изменчивостью КТТ применение этой формулы приводит к излипше высоким зна- чениям КТО, тогда как в несгабильном окружении коэффициент 2 может оказать- ся недостаточным, чтобы зашитнть от излишних повторных передач.
Более эффективный метод заключается в оценке дисперсии КТТ н исгюльзовании атой величины для вычисления КТО. Один из вариантов заключается в вычислении выборочного среднеквадратичного отклонения (см. главу 8). Однако эти расчеты подразумевают возведение в квадрат и вычисление квадратного корня, Более простой опенкой изменчивости является среднее линейное отклонение, определяемое так'. МОЕМ'(Х) = Е[[Х вЂ” ЕЩ). Здесь ЦХ) представляет собой ожидаемое значение Х Как и при оценке КТТ, для оценки М[)ЕУ может использоваться среднее арифметическое: АЕКК(К + 1) = КТТ(К + 1) — АКТТ(К); 1 км К 1 АОЕЧ(К+1) = — ~~Р" (ЛЕКК([)) = — А[)ЕЪг(К)+ [ЛЕКК(К+1)!. К+1,, К+1 К+1 Здесь АКТТ(К) представляет собой среднее арифметическое, определенное в формуле (12.2), а ЛЕКК(К) — выборочное среднее линейное отклонение, измеренное в момент времени К.
Как и в случае определения ЛКТТ, каждому слагаемому при вычислении АОЕЪ' придается равный вес, то есть каждое слагаемое умножается на одну и ту же константу 1/(К+ 1). Опять же, нам хотелось бы придать больший вес более поздним резулътатам измерений, так как они с большей вероятностью отражают будущее поведение. Якобсон ()асоЬзоп), предложившии динамическую оценку дисперсии при оценке КТТ [121), предлагает задействовать тат же метод экспоненциального сглаживания, который использовался при вычислении 5КТТ. Полный алгоритм, предложенный Якобсоном, может быть выражен следующим образоьп ЖТТ(К + 1) = (1 — К) ЖТТ(К) а К. КТТ(К + 1); 5ЕКК(К + 1) = КТТ(К + 1) — 5КТТ(К); Я)ЕЪг(К+1) = (1 — Ь)-Я)ЕЧ(К)+Ь [5ЕКК(К+ 1)); КТО(К + 1) = 5КТТ(К в 1) + 7" . Я)ЕЧ(К + 1).
(12.6) ' В [12 Ц говорится, что среднее линейное отклонение я1млстввляет собой более ковсерввтиввуьв спевку, так как сио больше срелвекввдратичвого отклонения. В сбшсм случае вто яс соответствует лсаствительвссти. Однако среднее линейное отклонение является приемлемой оленкой лисверси1ь Как и в спецификации КРС 793 (см.
формулу (12.4)), ЗКТТ представляет собой экспоненциально сглаженную оценку КТТ, где (1 — К) эквивалентно а. Однако теперь, вместо умножения оценки 5КТТ на константу (см. формулу (12.5)) лля получения значения интервала ожидания подтверждения для повторной передачи к 5КТТ прибавляется оценка среднего линейного отклонения, умноженная на 372 Глава 12. Управление графиком в протоколе ТСР 12.2.
борьба с перегрузкой в ТСР 37З некоторый коэффициент. На основе акспериментальных данных в статье 1121 предложены следующие значения для используемых в вычислениях констант; д= 1У8 = 0,125: л = 1/4 = 0,25; 7'т 2. После проведения дополнительных исследований в 11221 рекомендуется зна чение)"т 4. Именно оно используется в большинстве сегодняшних реализаций В последней официальной спецификации алгоритма оценки интервала ожидания подтверждения для повторной передачи, КРС 2988', формула вычисления этого интервала была усовершенствована следуклцим образом: КТО(К+ 1) = 5КТТ(К+ 1) + МАХ[С; 7' 5ОЕУ(К+ 1)].
Здесь7'= 4, а б' представляет собой степень детализации значений времени, используемых алгоритмом. Таким образом, нулевое или небольшое значение дисперсии округляется до б. Рисунок 12.8 иллюстрирует использование формулы (12.6) с тем же набором данных, что и на рнс. 12.5. Как только значения времени прибытия стабилизируются, оцениваемая величина дисперсии БОЕМ' начинает уменьшаться. Значения КТО для 7'т 2 и 7 т 4 являготся консерватггвными, пока КТТ изменяется, но они начинают стремиться к КТТ, когда оно стабилизируется. Эксперименты показывают, что алгоритм Якобсона может существенно улучшить производительность протокола ТСР.
Однако следует учитывать еше два вопроса: + Какое значение КТО следует использовать при повторной передаче сегмен- та? Это определяет алгоритм экспоненциального отката. + Какие значение времени прохождения сипгала в оба конца следует исполь- зовать в алгоритме Якобсонау Это определяется алгоритмом Кариа. Экспоненциал3 ный откат зчТО Когда у отправителя ТСР-сегмента истекает время ожидания подтверждения, он должен повторить передачу этого сегмента. В рекомендапии КРС 798 предполагается, что для этого передаваемого повторно сегмента должно использоваться то же самое значение КТО. Однако поскольку истечение тайм-аута, скорее всего, вызвано перегрузкой сети, проявляющейся в виде увеличения времени прохгскдения сигнала в оба конца, поддерживать то же самое значение КТО не слишком хорошо. Рассмотрим следующий сценарий.
Сушествует несколъко активных ТСР-соединений от различных источников, посылаюшнх потоки данных в объединенную сеть. Возникает область перегрузки, из-за которой многие сегменты этихсоединений теряются или подтверждаются слишком поздно (после истечения интервала времени КТО). Поэтому приблизительно в то жс самое время многие сегменты будут повторно переданы в объединенную сеть, поддерживая или даже усугубляя состояние перегрузки. Затем все источники выжидают в течение локального (для каждого соединения) интервала времени КТО и снова передают свои сегменты. Такое поведение источников может усугубить состояние перегрузки.
' ККС 2988. Сотриопх ТСрт Лтгапттияоп Т1тпк ноябрь 2000. ~го ~15 к 10 5 у 0 1 2 3 4 5 6 Т 8 9 10 11 12 13 14 15 16 17 18 19 20 Время я 40 и й ~ 30 Б й и 20 $1О Ж у 0 1 2 3 4 5 6 Г 8 9 10 11 121314151617161920 Время Рис. 12.6. Вычисление интервала НТО по методу Якобсона Более благоразумная политика заключается в том, что ТСР-источник увеличивает значение своего интервала КТО каждый раз, когда передается повторно тот же самый сегмент. Этот метод называется процессом откажи (Ьаской), В сценарии, обсуждавшемся в предыдущем абзаце, после первой повторной передачи сегмента по каждому соединению все ТСР-источники будут ждать в течение более долгого интервала времени, прежде чем пошлют свои сегменты в третий раз. Этого времени может оказаться достаточно для того, чтобы объединенная сеть восстано- 374 Глава 12.
Управление графиком в протоколе ТСР 12,3 аопьба с пеРвгРУзкой в тСР 375 7" эд ! вилась после перегрузки. Если же требуется еще одна передача сегмента, источни будет ждать в течение еще большего интервала времени, предоставляя объедине ной сети еще больше времени для восстановления. Простой вариант реализации механизма отката заключается в том, чтобы ум пожать КТО на постоянное значение после каждой повторной передачи: КТО = д ° КТО (12.7) В соответствии с формулой (12.7) интервал КТО растет экспоненциально с каждой повторной передачей. Чаще всего используется значение д = 2.
При таком значении с7 этат метод называется даоичяыи экслонеяциальяым откатом (Ьтагу ехропепаа1 Ьас1сой). Тот же самый метод применяется в протоколе СЭМА/СП сети Егйегпек Алгоритм Карна Если сегменты не передаются повторно, процесс отбора образцов для алгоритма Якобсона довольно прост. В расчет может быть включено значение КТТ для каждого сегмента.
Предположим, однако, что подтверждение для сегмента не прибываег вовремя, и необходима повторная передача сегмента. Если впоследствии приходит подтверждение, возможны два варианта. + Это подтверждение первой передачи сегмента В этом случае значение КТТ оказывается большим, чем ожидалось, но оно точно отражает состояние сети, + Это подтверждение второй передачи.
ТСР-источник не может различить зти два случая. Если получено подтверждение второй передачи (второй случай), а ТСР-сущность просто измеряет интервал КТТ от первой передачи до получения подтверждения, результат измерения будет слишком большим. Измеряемое значение КТТ окажется приблизительно равным настоящему значению КТТ плюс КТО. Если использовать это неверное значение КТТ в алгоритме Якобсона, то мы получим слишком большое значение БКТТ, а следовательно, и КТО. Более того, этот эффект продолжается несколько итераций, когда значение БКТТ одной итерации является входным значением в следующей итерации.