В. Столлингс - Современные компьютерные сети (2-е издание, 2003) (1114681), страница 84
Текст из файла (страница 84)
Если измерять КТТ с момента илорой передачи до получения подтверждения, то результат ошибки будет еще серьезнее. Если в действительности оно окажется подтверждением первой передачи, тогда измеренное значение КТТ будет слишком малым, в результате чего будут получены слишком малые значения БКТТ и КТОЭто может вызвать эффект положительной обратной связи, что приведет к дополнительным повторным передачам и новыл1 неверным измерениям. Алгоритм Кариа (Кагп) решает данную проблему при помощи следующих правил [133]: + Значение КТТ, измеренное для повторно переданного сегмента, не используется для обновления аначений БКТТ и БРЕУ по формуле (12.6).
+ При повторной передаче вычисляется увеличенное значение КТО с помощью формулы (12.7). + Увеличенное значение КТО используется для последующих сегментов до тех пор, пока не прибудет подтверждение для сегмента, переданного с первой попытки. При получении подтверждения для сегмента, переданного с первой попытки, снова активируется алгоритм Якобсона для вычисления будущих значений КТО. ]' управление окном В дополнение к техническим приемам, улучшающим эффективность работы таймера повторной передачи, было изучено несколько методов управления окном передачи. Размер окна передачи протокола ТСР оказывает ключевое влияние на то, сможет ли протокол ТСР эффективно использоваться, яе вызывая перегрузки.
Мы обсудим пять важных методов. + затяжной пуск; + динамическое изменение размера окна при перегрузке; + быструю повторную передачу; + быстрое восстановление; + ограниченную передачу. Первые четыре метода из данного списка можно встретить практически во всех современных реализациях протокола ТСР'. Ограниченная передача представляет собой не так данно разработанный метод, находящий применение в последнее время'. Затяжной пуск Чем больше размер окна передачи, используемого в ТСР„тем больше сегментов ТСР-источник сможет послать, прежде чем остановиться и ждать подтвержден~и.
При обычном ходе событий самосинхронизирующаяся природа ТСР (см. рис. ! 2.6) соответственно задает темп работы протокола Однако когда соединение инициа- лизируется в первый раз, у него нет такого направляющего начала. Одна из стратегий состоит в том, что ТСР-отправитель начинает передачу с от- носительно большого окна, надеясь впоследствии приблизиться к размерам окна, которые, в конце концов, будут предоставлены соединением.
Это рискованно, так как отправитель может «затопить» объединенную сеть своими сегментами прежде, чем по тайм-аутам поймет, что отправленный им поток данных был чрез- мерным. Вместо этого следует начинать с небольшого окна, постепенно увели- чивая его, В [121] рекомендуется использование процедуры, называемой затяжным пус- ком (з1аш агам). В протоколе ТСР используется окно перегрузки, измеряемое не в байтах, а в сегментах. В любой момент времени передача протокола ТСР ограни- чена следуалцим соотношением: агав(= М1И[сгесйг, саяи(].
( 12.8 Здесь: + акпЫ вЂ” разрешенный размер окна в сегментах, то есть количество сегментов, которые ТСР-сущности разрешено послать без подтверждений; + снлкг — размер окна перегрузки в сегментах„то есть окна, используемого протоколом ТСР во время запуска, а также во время перегрузки для уменьшения потока, ' Доктмеатврован в НГС 2581, ТГР Саккеяйов евшего!, Апрель 19Э9. Определен в КГС З041, Еийапапя ГГИЭ сам яепк ещ (/япк ЬтагеИ Тптяпя.
январь 2 00 Ь а о Ф а л $ Ф О. Ф с О а сс а О $4 сб Ос О о а а 2 х О. о с с а 2 о $4 сб и а 6 О и а 2: о и и аа 2 2.' оо и и и и аааа 2.' оооо 4 о ~а с. а «$ а Ф о $ х Ф Фо а м осс $Ф хов й о к'о о ЫО2 '" . о х м»д дх»а «$ Ф хЙ6 Я а м' х «$ Ф»и' а»х~а х м хм в в о ах к ФФОФ с авЙд а«$ М Я о в О, Х О в а ,Й52 х х О й » О и М д « х Ф аЕ а !и о х а о хо» < М 4 х $ в сб о \ о о х О. Х" К сб 4 х Ф ф с о Ф в $ о 4$ С «$ С $ 'И «$ Ю и и и и и и и и 2ааааааа 62 222 о~~~~1~~ ООООООО ав си хвм МКО О, О Ф фоО м ЮОЙ к д а сб х х в Ф о Ф М а о ока $х о сб О о о их х Йык Ф в Ф ;х х о с К О,в -о«~ Фдф 2 и' бс О, Ф О "Ю о в О в х Ф и ф в а О,в ока ф,« о м в '.с' х о о х х до а Й 4$ о д с" Й "Е Д= ф СЧ $ О1 ф а сб ИИ „х О сс сб йх а а о а м и' а о м $« с'$ в «$ о «и Ф 4 сб х о о х ф ОЙФ х с о сб ск Х «$ Ф 4 сб в ° М „ф" с Ф о х Й з со о Й х с о в О.
ф о о о х и 2 В х .м а Ф х 2 х Ф д а о л $ Ц а х Й" с М ас х Я в хс в х ф в о Ф $ д ф Ф $ а д Ф $ Х $ сб О о а ФКО в о а ак х К сс в Я О 'Х со о Око Фо а 2 аа Д С,О О, в,х м,х о О О'.Ф о"'о М О О„ сох охо $О Ф ФЙ» хий а ха Я в $" О, Х СИ $-.$ $О а Н"- в о сс о $- о О. к 2 О $- "а Ф х х а О л сб а Ф а $ м х Ф 2М О, в р «$ м о Я Ж "о «$ м 2 м с« фа о ФЙ хи сб а Ф Ф 2 х м ах х ф о кко к м в Й а 'я с:! И О, в + Йл Д - о си 5х в о ОФХ ф~ х о в ( ) а! Ф м с«в д ":йю и ва Ф с.с Ф х о и,«Х ф а о о в о о а $.
$". о око Х ФИ Ф Ймо и" в а фх о О О.с м Ф М Х О $ бс Ф сб О $ \ ° » О, с $ сб х о 56 к» и х а х $ ! д! в х о а »О, в со с ох х х!а и а 'Ъ х о В в о х о а х с" о х а х в $ сб ах О О сб ав != й О о о - м с ххо ."- р= с ф к с в о о $ м бс О Ф ф о ф Я Оа. сс С кхх О м о Око а Ф х ф дов М д в ова О «Х д с Ф Я о а сб $. »о х ах О Ф ах и о Ф сб а д » $4 д о о ах о о Х в х 2 Д в в ! В Ь . дха с« "М 2 М Ф х а сб О Ф о м а х Ф «б а $ ав ф км 8 кР 2» х Я 'О ~~ ф 6»' сс $р Ф Й ак хкв Фас и'хд «$ хо в о Ф Ф а с х Ф ,4 Д'Ф И ~ И' Ф в в ВХФО, о [ ф О. Ф Ф Ф в х в о Ф в хо, Ф о$! ~ х м оом «$ дох а х ЦЦх ак а » М к ха хов х вОа к Й5 а О а в $. о о ох к О, хдо Око а Ф с хох ХМ О, Ф Ф М в Р Кфа Ф к фо «$ С ах «$ () Ф $ И О О 2 сб о м а ах с о $$ $4 аа с'$ .« х Я„х Ф Ф у а х й' "" к а5 Я Е,' Ф вхв ф ао ф ф о х х о 5 ос аЙ х 3 Й -" Ф $- х о ф Ы ~Й4 ф а Ф О.
Я О, Ф а фха х Ф с~~ сч х о и в ах о в Я Ц $' о м Ф о ~Их 0]со в а «$ О 0 ,4 $2 х,х Ф 4 х а б О х о Ф О„«3 Ф Я С ОХ $О я х Ф $ х > «$ О, Ф а ! ) х $ х Ф а о о ф о а о о к и х х м Ф О а х Ф Ф и! о „ в О сх х и Ц ф иб ИФ х дс й.
О. $ к Ф $. р Ф ф $ 1= 3 Й а О. о с Ф $ иб О 8. а 3' й. а Ф й и» Ис! й $ «!! «$ 1; х ФФ О ФИ О 4 М о О Ф $ сб ий со о й*:Й Й $ ай х о д х ,4 х х 4 «$ $" в Ф о х бс Е! О в с О', ИО о ~к $ о Ии о х о а «$ аф хй о в а О сб Й а Ф и' ИО С о м м с« Е к ах Ф Ф х х х в О ф в а о сов $ в О2 О в а О асс о а о~ хРд х мо о в к «$ $. О си М сб о ОЕ 2 » «$ да $Ф $ х (.~ Й с $.$ а х Ф хвф - о $ 2 а о ф в с в а о ввф х о око С 4 б' м а Ф Ф Х О„ х си м Е а 4 а «с« ~Ь а 4 М 4.
с $ О 4 2 ц $' .Я, Я Ф4, ~~И - 4'~ ИЫФ ,«с а Д»4 а а и 9 а а '24' с и ИЦО Ива $ ~ и' .4 и, с а в а,„Š— Яа 4.'! 4$ 12.2. Борьба с парегруакой в ТОР 3 г м СУЛЧО = 1 СУЛИЛО = 1 16 СУУМО - "2 СУУМО = 3 СУУГт0 = 4 СЮЛЧО = 3 СУЛИЛО = 4 СУУМО = б СУУМО = 6 СУУМО = 7 СУУМО = 6 СУУМО = б СУУМО = 6 СУУМО = 7 СУУМО = 6 СУУЙО = 9 СУУЙО = 10 СУУИО = 11 СМЛЧО = 12 СУЛИЛО = 13 СЮЛЧО - "14 СИЛЧО = 16 СУУМО = 16 СУУГт0 = 16 378 Глава 12. управление графиком в протоколе ТСР 2. Установить значение размера окна перегрузки сгзпт1 = 1 и выполнять процесс до тех пор, пока значение сазнг не станет равным ззгйгезЬ.
На этом этапе степг7 увеличивается на единицу при получении каждого подтверждения, 3. Когда сгпг1 ь ззгйгезЬ, гтгзгс1 увеличивается на единицу через каждый интевал прохождения данных в оба конца. нтер- Рнс. 12.10. Затяжной пуск н предотвращение перегрузкн Алгоритм затяжного пуска иллюстрирует рис. 12.10. На рис. 12.10, а, повторя-,е ющем рис. 12.9, показано начало работы соединения. К этому рисунку добавлен ~ один финальный сегмент, для которого истекает период ожидания подтверждения, Поведение после тайм-аута показано на рис. 12.10, б.
При этом значение лггйгезЬ устанавливается равным 8. Вплоть до этой границы протокол ТСР выполняет процедуру затяжного пуска, чтобы расширить окно перегруаки. После достижения этой границы значение гтлпгт увеличивается линейно. Такое поведение хорошо видно на рис. 12.11.
Обратите внимание на то, что требуется 11 циклов прохождения данных в оба конца для восстановления уровня стенги для чего ранее требовалось всего 4 цикла. о О 1 2 3 4 б 6 7 6 9 10 11 12 13 14 16 16 Время распространения сигнала е обв конце Рнс. 12. 11. Иллюстрация затяжного пуска и предотвращен ля перегрузки Быстрая повторная передача Интервал тайм-аута повторной передачи (КТО), используемого передаюшей ТСР- суШностью для определения времени повторной передачи сегмента, как правило, заметно больше, чем фактическое время распространенна сигнала в оба конца (КТТ), требующееся для того, чтобы подтверждение достигло отправителя. Оба алгоритма, оригинальный алгоритм КЕС 793 и алгоритм Якобсона, устанавливают значение КТО несколько выше оценки времени распространения сигнала в оба копна (ЗКТТ).
Это значение выбирается по нескольким причинам. + Значение КТО вычисляется на основе предсказания следующего значения КТТ, оцениваемого по последним значениям КТТ. Если время задержки в сети изменяется, тогда оцениваемое значение КТТ может оказаться меньше, чем фактическое значение КТТ. + Аналогично, если время задержки у получателя непостоянно, оцениваемое значение КТТ становится ненадежным. + Получаюшая система может не передавать подтверждение для каждого сегмента, а отправлять кумулятивные пгщтверждения для нескольких сегментов сразу, а также отправлять подтверждения с попутными данными. Такое поведение системы является одним из факторов, вызывающих флуктуации значения КТТ.
380 Глава 12. Управление графиком е протоколе ТСР 12 2. Борьба с перегрузкой в ТСР 381 Последствия этих факторов заключаются в том, чта, когда сегмент теряетс протокол ТСР может оказаться слишком неторопливым при повторной передач сегментов. Если получающая ТСР-сушность применяет полититгу приема сегмен тов по порядку номеров (см. раздел 12.1). то мтн ут быть потеряны многие сегмен ты. Даже в значительно чаше встречающемся случае использования политики прн ема сегментов, попадающих в окно, медленная повторная перслача махсет создать проблемы. Предположим, станция А передает последовательность сегментов, первый из которых теряется. Да тех пор пока ее окно передачи не пусто и интервал ожидания КТО не истек, станция А может продолжать передачу, не получая подтверждения.