Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IP технологии.doc
Скачиваний:
10
Добавлен:
19.09.2019
Размер:
302.59 Кб
Скачать

3.7.2 Законы измегения окна в начале чоединения.

При установлении TCP соединения начальной величиной окна является значение MSS.

Следовательно, начальная скорость передачи источника составляет МСС/РТТ _ время оборота соединения.

Например если МСС = 500 байт , а РТТ =0,2 с, то начальная скорость передачи соединения равна приблизительно 2,5 кб/с.

Максимально возможная скорость передачи значительно превосходит величину МСС/РТТ.

Поэтому линейное увеличение начальной скорости нерационально, так как это затЯгивается процесс передачи данных.

Для решения проблемы на начальном этапе вместо линейногоувеличения используется экспоненциальное увеличение.

Экспоненциальный рост окна в начале соеденения продолжается до первой потери пакета, после этой потери, окно вновь уменьшают до величины MSS. Затем вновь быстро вырастает по экспоненциальному закону, но уже теперь до значения вдвое меньшего чем максимальная предшествующая падению величина окна. После этого рост идет по аддетивному закону. Таким образом в реальных реализациях TCP алгоритм AIMD дополняется третьим законом: Медленным стартом- в первой стадии увеличение от MSS окно растет по экспоненциальному закону, он продолжается через определенный момент на аддитивный закон, такая смена закона называется порогом.

TCP - Tahoe.

рис.

TCP - Reno.

3.7.3 Реакция на истечение интервала ожидания.

По истечении интервала ожидания, протокол TCP Reno Прдепринимает иные действия, чем пр получении чем пр полении, например, трех одинаковых квитанций.

Первый случай более жесткий с точки зрения перегрузки сети, означающий потерю одного или нескольких сегментов или потеря квитанции. Это может быть обусловлено полной перегрузкой сети и полной отсутствии связи.

Наличие же во втором случае тарех одинаковых квитанци указывает на потерю одного сегмента, но сеть способна передавать, т.к. переслала квитанции и сеть не полностью перегружена, это означает что ситуация более мягкая и ответ должен быть более мягкий. Рено считает что уменьшать окно до МСС не имеет смысл, рено делает половинное значение окна и дальше по линейному закону увеличивает окно.

рис.

Проткол рено принан более целесообразным.

Пусть в конце восьмой фазы передающая сторона получит три дублирующие квитанции, размер окна при этом составляет двенадцать МСС, рено уменьшает его вдвое, умножает его на 0,5. Вот как раегирует рено. В настоящее время роцесс модернизации TCP или эволюционрование н завершено, существуют и другие версии, например TCP-vegas. В нем контролируется время оборота, в отличии от тахо и рено.

3.8 Моделирование задержек протокола tcp.

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

процедура рукопожатия

Медленный старт

Врем передачи объекта.

Проведем анализ, предпологая что сеть не перегружена. Это означает, что TCP соединение, которое осуществляется не конкурирует за ресурсы линии связи с другими TCP или UDP соединениями. Кроме того будем считать, что передающая и приемные стороны соеденены единственной линией связи. В моделях используем допущение:

1) Объем входных буферов достаточно велик и только разме окна перегрузки ограничивает объем пересылаемых данных.

2) Пакеты не теряются и не искажаются, следовательно нет необходимости в повторных передачах.

3) Размер заголовков всех протоколов пренебрежимо малы.

4) Передаваемый объект состоит из целого числа сегментов максимального размера.

5) Время передачи учитывается только для сегментов с данными, размер которых MSS, а запросы квитанции и сегменты при установлении TCP соединений имеют пренебрежимо малое время передачи.

6) Начальный порог в механизме конроля перегрузок настолько велик, что размер окна никогда его не достигает.

Введем обозначения

М, бит - размер передаваемого объекта

S = MSS

Р - бит/с - максимальная пропускная способность в сети

Оценим величину задержки объекта предполагая, что окно никак не влияет на передачу.

W- § размер окна бесконечен.

Т30=2RTT + Тф (2.1) Тф= M/R

T30= 2RTT + M/R (3.1)

W=/§ - не равен бесконечности

W= Const

3.8.1 Статическое окно перегрузки

Примем W целым положительным число, понимая при этом что сервер не ожидая подверждения может передать W сегмент, а потом уже ждать. но окно мы менять не будем, что будет тогда? Тогда каждый новый сегмент очередной сегмент он посылает тоько одной квитанцией от клиента.

Возможны два случая:

1) Сервер получает квитанцию для первого сегмента первого окна до завершения передачи всех сегментов этого окна. В этом случае выполняется неравенство W*S/R>RTT+S/R.

2) Сервер быстро заканчивает передачу сегментов окна, раньше чем получит квитанцию W*S/R<RTT+S/R

W=4

рис.

сервер

| >syn |

| |время оборота

| syn< |

| |

| >s/r |---------------

| < | |w*s/r

| < |rtt |

| <> |---------------

| < |

\/ \/

По сравнению с формулой 3.1 время не изменится, при выполнении первого условия, все условия поступают с периодичностью s/r секунд, поэтому сервер не ждет подтверждения и не простаивает. Скорость передачи остается постоянной =R и формула в этом случае совершенно не меняется (3.1)

Как и ранее, прием обьекта клиента начинается по истечении двойного времени оборота.

Ноые сегменты одного же окна поступают с периодичностью в С/Р, однако передача сегментов окна завершается до прихода на сервер подтверждения для первого сегмента.

Поэтому сервер вынужден простаивать некотоое время в ожидании подтверждения.

Суммарня задержка складывется из величины 2РТТ, времени передачи объекта М/Р и времени простоя сервера Тн.

Для определения времени Тн, ведем величину К, равную числу окон, необходимых для передачи объекта К=М/WS.

Если результат деления оказывается не целым, он округляется в большую сторону до ближайшего целого.

В процессе передачи сервер входит в состояние простоя К-1 раз. При этом, на каждом шаге время простоя составляет Тпш=RTT-(W-1)*S/R, а общее время...

В результате во втором случае задержка равна:

T302=2RTT+M/R+Tn=2RTT+M/R+(K-1)*Tпш=2RTT+M/R+(K-1)*[S/R*(1-W)+RTT]. (3.2)

Обратите внимание что задержка складывается из трех слагаемых:

1) 2RTT

2)M/R

3)...

В первом случае значение третьего слагаемого равно нулю, поэтому с учетом того, что в этом случае величина в квдратных скобках отрицательна, обе формулы можно объеденить ьаким выражением:

...

Знак+ в степени квадратной скобки оббозначает, чтотимеет смысл только положительное значение скобки.

Если выражение в скобках отрицательно, его следует брать равным нулю...

Лекция 10

3.8.2 моделирование динамичесеого окна перегрузки

3.9 Оценка влияния механизма контроля перерузки на задержку объекта протоколом TCP

Выводы по теме 3

3.8.2 Динамическое окно перегрузки

Изменим предыдущую модель п. 3.8.1 пощволив окну перегрузки динамично изменять свой рамер.

Как отмнчалось ранее, в начале передачи сервер устанавливает ращмер окна перегрузки, равным величине MSS и отсылает один сегмент клиенту. Получив квитанцию, сервер увеличивает размер окна перегрузки до величины 2 MSS и посылает два сегмента с интервалом в S/R с.

...

Таким образом каждый разпо истечении времени оборота окно перегрузки увеличивается вдвое.

рис.

M/S представляет собой число сегментов объекта; на приведенной выше диаграмме M/S=15

Далее, рассмотим закон изменения размеров окна перегрузки.

Первое окно содежит 1 сегмент, второе окно - 2 сегмента, третье окно - 4 сегмента и т.д.

Обощая закономерность, получаем , что к-е окно содержит 2 в степени к-1 сегментов.

Пуст к - число окон, коорые показывают объект. на рис 3.15.. к=4 Может быть показано что К=log2(M/S+1).(3.4)

Послепередачи данных окна вощможны простои сервера обусловленные ожиданием получения квитанции.

На рис 3.15 показано, что сервер простаивает после передачи первого и второго окна, а третьего окно не вызывает простоя.

Подсчитаем время простоя после передачи к-го окна.

Время проходяще с момента начала передачи начала передачи к-го окна ...

Таким образом врмя простоя равное разности указанных величин, составляет

[S/R+RTT-2K-1*(S/R)]+=[S/R(1-2K-1)+RTT](3.5)

Также как в формуле (3.3) знак + в степени квдратной скобки означает, что имеет ...

В принцИПе, простой сервера возможен после передачи любого из первых к-1 окон. поскольку К-е окно является последним.

Теперь можем подсчитать полную задержку передачи файла.

В нее входит три составляющих: 2RTT для установления TCP соединения и запроса файла, M/R для передачи объекта и сумма всех постоев сервера.

Таким образом задержка объекта Тзд для динамически изменяемого окна составляет

формула...(3.6)

Сравнив(3.6) с формулой (3.3) для задржки объекта Тзо в случае статического окна перегрузки, можно увидеть что с отличием в квадратной скобке является вместо величины W размера статического окна, переменная величина 2 в степени к-1 , определяющая динамически изменяемое окно.

...

Общее же число окон было большим двух( равно четырем)

То есть в примере этотчисло Q достигнуто.

А других же случаях, когда размеры объекта не велики, число окон К, покрывающих объект, может быть недостаточным для достижения Q.

Тогда простои сервера будут посде каждого переданного...

Для наождения Q примем, что передаваемый объект состоит из бесконечного числа сегментов.

Тогда казывается справедливой формула

(3.7)

Фактическое же число простоев сервера при передаче составляет Р=min[Q, K-1]. На рис. 3.15 P=Q=2 С учетом принятых...

С учетом принятых обозначений обозначающий формула задержки преобразуется к следующему виду:

большая формула:-)

Учтем что для последней суммы последовательности справедливо: Сумма[2в степени к-1] = 2(в степени р )-1.

Оттуда окончательно получаем для задержки

формула (3.8)

Таким образом для вычисления задержки необходимо получить значение К и Q, присвоить величине Р минимальное значение Q или К-1 и подставить его в приведенную формулу (3.8)

Рассмотрим возмоэность применения разработанных моделей задержки на примерах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]