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)
Рассмотрим возмоэность применения разработанных моделей задержки на примерах.
- Тема 3 технология транспортного уровня интернета
- 3.2 Взаимодействие между транспортными уровнями
- 3.3 Общая характеристика транспортных протоколов
- 3.4 Технология мультиплексирования демультиплексирования на транспортном уровне
- 3.6.5 Контроль перегрузки сети
- 3.7.2 Законы измегения окна в начале чоединения.
- 3.7.3 Реакция на истечение интервала ожидания.
- 3.8 Моделирование задержек протокола tcp.
- 3.9 Оценка влияния механизма контроля перегрузки на задержку объекта протоколом tcp.
- 4.2.2 Дейтаграмная модель сетевого обслуживания
- 4.2.3 Происхождение дейтаграмной службы и члужбы виртуальных каналов
- 4.4.2 Алгоритм дистанционно-векторной маршрутизации
- 4.11 Фрагментация ип дейтаграмм
- 4.17 Протокол внешней маршрутизации интернета бгп.
- 1. Получение и фильтрация объявлений о маршрутах от напрямую присоединенных соседей.
- 5.2 Службы канального уровня
- 5.3 Адаптеры