Реферат по теме выпускной работы
Содержание
- Введение
- 1. Актуальность теми
- 2. Цель и задачи исследования
- 3. Научная новизна
- 4. Анализ существующих исследований и публикаций
- 5. Моделирование и оценка эффективности алгоритмов TCP Reno и TCP Vegas
- 5.1 Анализ работы алгоритмов TCP Reno и TCP Vegas
- 5.2 Математическое описание гидродинамической модели потока для алгоритмов TCP Reno и TCP Vegas
- 5.3 Метрики оценки работы противоперегрузочных алгоритмов
- 5.4 Моделирование работы алгоритмов TCP Reno и TCP Vegas и анализ полученных результатов
- Выводы
- Примечание
- Перечень ссылок
Введение
Современные средства коммуникаций используют преимущественно каналы связи с пакетной коммутацией. Это позволяет повысить эффективность использования каналов, однако приводит к снижению надежности доставки информации. При перегрузке канала с пакетной коммутацией возможна ситуация, когда пакет на входе канала не поместится во входной буфер и будет отвергнут. Для обеспечения гарантированной доставки по каналам без гарантированной доставки были разработаны специальные протоколы. Один из самых популярных – это протокол TCP из стека протоколов TCP/IP. Он проектировался для доставки данных служб обмена файлами, электронной почты и т.п.. Для этих служб основным требованием была корректная доставка информации. При этом время доставки не является критическим фактором. Развитие мультимедийных технологий поставило задачу доставки сообщений при соблюдении высоких требований качества обслуживания: малая задержка и малая вариация задержки. Эта задача решается с помощью регулирования скорости передачи и приема сообщений.
Управление скоростью передачи осуществляется с помощью алгоритма управления перегрузкой (TCP congestion control algorithm). Именно он управляет шириной скользящего окна и контролирует интенсивность передачи данных tcp-передатчиком. В нем реализованы обработчики следующих событий: прием ответа-подтверждения доставки от приемника, потеря пакета в буфере маршрутизатора (на дороге доставки пакета), превышение времени ожидания ответа приемника. Протокол TCP проектировался для распределенных сетей со значительным временем доставки. Сначала в протокол был заложен простой алгоритм с минимальным вычислительным нагрузкой на процессор системы. Производительность процессоров за последние 30 лет выросла многократно, пропускная способность каналов связи увеличилось в тысячи раз, а время доставки для высокоскоростных локальных и глобальных сетей составляет доли микросекунд. Согласно технического прогресса развивался и протокол TCP.
1. Актуальность теми
Проблема перегрузки в сетях TCP/IР возникает в случае, когда количество передаваемых данных начинает приближаться к значению допустимой пропускной способности сети. При этом ухудшаются основные показатели качества обслуживания. Эти ухудшения могут выражаться в увеличении числа потерянных пакетов и времени задержек. Управление перегрузками является актуальной задачей, поскольку количество конечных пользователей глобальной сети, а, следовательно, объемы передаваемых данных, постоянно увеличиваются. Растет также доля мультимедийного трафика реального времени, влияние перегрузок на который особенно критично. Задача механизмов управления перегрузками заключается в том, чтобы поддерживать количество данных, передаваемых по сети, ниже уровня, при котором пропускная способность сети начинает резко падать, ограничивая потоки входящего и исходящего трафика.
Для эффективного использования пропускной способности нужно выбрать именно тот противоперегрузочный алгоритм, который обеспечит максимальное использование ресурсов. Поэтому возникает необходимость оценивать эффективность работы выбранного алгоритма.
Магистерская работа посвящена актуальной научной задачи оценки эффективности работы алгоритмов для борьбы с перегрузкой протоколов транспортного уровня стека TCP/IP. В качестве математического модели используется гидродинамическая модель потока, которая позволяет учесть все особенности работы противоперегрузочных алгоритмов.
2. Цель и задачи исследования
Целью исследования является моделирование и оценка эффективности работы алгоритмов для борьбы с перегрузкой протоколов транспортного уровня стека TCP/IP.
Основные задачи исследования:
- Проанализировать основные алгоритмы, используемые в протоколе ТСР для борьбы с перегрузками.
- Разработать реализацию математической гидродинамической модели для выбранных противопергрузочных алгоритмов.
- Провести моделирование работы выбранных алгоритмов при различных входных параметрах.
- На основе полученных результатов провести анализ и сравнить работу различных алгоритмов в одинаковых условиях.
Объект исследования: мультисервисная сеть
Предмет исследования: алгоритмы для борьбы с перегрузкой протоколов транспортного уровня стека TCP/IP
3. Научная новизна
Научная новизна магистерской работы состоит в том, что предложена методика комплексной оценки эффективности работы противопергрузочных алгоритмов протокола ТСР.
4. Анализ существующих исследований и публикаций
Проблема перегрузки в каналах связи сетей TСР/ІР является весьма актуальной на данный момент, поэтому ей посвящено большое количество работ, в которых раскрывается сущность данной проблемы, причины ее возникновения и пути решения [1, 2,7,8,9].
Исследование работы противоперевантажних алгоритмов транспортного уровня стека TСР/ІР описано в работах [3 - 5, 10].
В настоящее время очень распространена гидродинамическая модель потока (fluid flow model), которая приведена в работе [6], т.к. у для наблюдения поведения алгоритмов для борьбы с перегрузкой необходимо использовать такую математическую модель, которая будет учитывать все особенности работы алгоритма.
5. Моделирование и оценка эффективности алгоритмов TCP Reno и TCP Vegas
На данный момент существует целый ряд реализаций методов управления перегрузками в протоколе TCP, различающихся в применимости к решениям различных задач. Например, TCP Vegas позволяет учитывать состояние канала связи, TCP Westwood учитывает высокий уровень потерь в каналах связи, TCP Hamilton используется для локальных сетей с высокой пропускной способностью. Наиболее распространенными реализациями протокола являются TCP Reno и TCP Vegas, которые будем использовать для дальнейшего исследования работы противопергрузочных алгоритмов.
5.1 Анализ работы алгоритмов TCP Reno и TCP Vegas
В TCP Reno в нормальной ситуации размер окна меняется циклически. Размер окна увеличивается при каждом цикле до потери пакета. Когда произойдет потеря пакета, TCP Reno уменьшает размер окна до половины текущего размера. Это называется аддитивное увеличение и мультипликативное уменьшение.
TCP Reno имеет два этапа изменения размера окна:
1) фаза медленного старта
2) фаза избежание перегрузки
Когда отправитель получает подтверждение доставки в момент времени t + tA [с] текущее значение размер окна перегрузки cwnd(t) преобразуется в cwnd(t + tA) согласно (1):
где ssth(t) [пакет] – значение порога, при котором TCP переходит от фазы медленного старта в фазу избежания перегрузки.
Когда вследствие таймаута обнаружены потери пакетов, значение cwnd(t) и ssth(t) обновляются следующим образом:
С другой стороны, когда TCP обнаруживает потери пакетов согласно алгоритму быстрой передачи, cwnd(t) и ssth(t) обновляются иначе:
TCP Reno затем переходит к фазе быстрого восстановления. На этом этапе размер окна увеличивается на один пакет, когда получается дублирующие подтверждение. С другой стороны, cwnd(t) равна ssth(t) при поступлении подтверждения на пакет, который был направлен снова.
В случае таймаута cwnd(t) и ssth(t) принимают вид (2).
Как можно легко увидеть, механизм избежания перегрузок, принятый в TCP Reno, вызывает периодические колебания через постоянное обновление размера окна. Скорость, с которой каждое соединение обновляет размер окна зависит от цикла задержки соединения. Итак соединения с коротким задержки может обновить размер окна быстрее, чем соединение с большим временем задержки и тем самым несправедливо украсть долю пропускной способности [4].
TCP Vegas использует разницу между ожидаемой и фактической скоростью потоков для оценки пропускной способности сети. Идея в том, что когда сеть не перегружена, фактическая скорость потока будет близоко к ожидаемой. В противном случае фактическая скорость потока будет меньше, чем ожидаемая скорость потока. TCP Vegas с помощью этой разности скоростей потока, оценивает уровень заторов в сети и соответствующим образом обновляет размер окна. Обратите внимание, что эта разности скоростей потока могут быть легко переведены в разницу между размером окна и количеством признанных пакетов во времени, используя уравнение:
где Expected – ожидаемая скорость, Actual – фактическая скорость, BaseRTT – минимальное значение RTT при первом подключении.
Детали алгоритма:
1. Источник вычисляет ожидаемую скорость потока по формулегде CWND – текущий размер окна.
2. Источник оценивает текущую скорость потока с помощью фактического RTT:
де RTT – время прохождения сигнала туда и обратно.
Источник, используя ожидаемую и фактическую скорость потока вычисляет оценку отставания в очереди по формуле (4)
Источник обновляет размер окон следующим образом:
Рис. 1 иллюстрирует поведение TCP Vegas. Рассмотрим простую сеть с одним подключением и одним каналом емкостью. Пусть BaseRTT быть задержка минимального прохождения сигнала туда и обратно. Пропускная способность этого соединения является window/(BaseRTT) когда window < C*BaseRTT.
На рис. 1, w соответствует размеру окна, где window = C*BaseRTT. Когда window>w, начинает образовываться очередь и (Expected - Actual)>0. TCP Vegas увеличивает размер окна при следующем прохождении сигнала, если window <(w + а). TCP Vegas уменьшает размер окна , если window> (w + b). В противном случае, он оставляет размера окна без изменения.
На рис. 1, Diff оценивает размер очереди. TCP Vegas пытается держать приняты а пакеты, но не более, чем b пакетов в очереди. Причиной этого является TCP Vegas попытается выявить и использовать дополнительную пропускную способность, когда она становится доступна без перегрузок в сети. Таким образом, когда есть только одно подключение, размер окна TCP Vegas сходится к точке, лежащей между w + а и w + b.
Обратим внимание, что этот механизм принципиально отличается от того, что используются TCP Reno. TCP Reno всегда обновляет размер окна, чтобы гарантировать полной утилизации пропускной способности, что ведет к постоянной потере пакетов, тогда как TCP Vegas вызывает каких-либо колебания в размере окна после того, как он сходится к точка равновесия [4].
5.2 Математическое описание гидродинамической модели потока для алгоритмов TCP Reno и TCP Vegas
Расчет изменения размера окна и длины очереди выполняется с помощью гидродинамической модели потока. Для каждого алгоритма разрабатывается своя гидродинамическая модель, учитывающая конкретные особенности данного алгоритма. В данном случае используется алгоритмы TCP Reno и TCP Vegas.
Гидродинамическая модель потока включает такие сочетании нелинейных дифференциальных уравнений с задержкой, которая изменяется со временем:
где W(t) обозначает средний размер окна TCP [пакеты], Q(t) – средняя длина очереди [пакеты], R(t) – RTT [секунды], С – пропускная способность канала [пакет/с], N(t) – количество TCP сессий, p(t) – вероятностное функция маркировки пакета, G(x) – нелинейная функция, описывающая изменение размера окна.
Функция G(x) описывается выражением:
Дифференциальные уравнения (8) и (9) описывают динамическое управление окна TCP. Первый элемент 1/Ri в (8) описывает аддитивное увеличение фазы, второй элемент W(t)/2 – мультипликативное уменьшение фазы (в том числе вероятностная функция маркировки пакета). Элемент G(a-Diff) в уравнении (9) описывает увеличение размера окна на 1, а второй элемент G(Diff-b) – уменьшение размера окна на 1.
Уравнение (10) описывает длину очереди узким местом, как разницу между скоростью прибытия пакета NW/R и пропускной способностью С, предполагая, что там нет внутренней динамики в узком месте (грубо говоря, простых интеграторов).
С помощью гидродинамической модели потока активное управление очередь можно интерпретировать как обратную связь проблемы контроля, где действие контроля состоит из маркировки пакетов (с вероятностью p) в зависимости от длины измеренной очереди Q [6].
Для лучшего понимания принципа модели гидродинамического потока представим уравнения (8) и (10) схемой, которая приведена на рис. 2
Принцип гидродинамической модели потока для TCP Vegas приведены на рис. 3.
5.3 Метрики оценки работы противоперегрузочных алгоритмов
Для оценки качества работы противоперегрузочных алгоритмов транспортного уровня стека ТСР/ІР наиболее часто используют следующие метрики:
Метрика для справедливости распределения ресурсов между потоками.
Для расчета данной метрики используется критерий индексов справедливости, предложенный в [11]. Рассчитывается по формуле:
(12)где xi – значение ресурса i-го соединения.
Индекс находится в пределах от 1/n (в худшем случае) до 1 (в лучшем случае). Максимум достигается, когда все пользователи получают одинаковое распределение ресурсов. Индекс равен k/n , где для k пользователей ресурсы распределены равномерно, а n-k пользователей получили нулевое распределение [11].
Средняя задержка доставки
Пропускная способность – один из основных факторов, оказывающих влияние на скоростные характеристики сети. Еще один фактор, очень близко связанный с пропускной способностью – задержка. Задержка в общем ее понимании может быть соотнесена с задержками в процессе передачи данных по сети, которых может быть несколько разных видов. Справедливым будет утверждение, что задержка – это скорость прохождения одного конкретного пакета через канал передачи данных – от пункта А к пункту Б. Пропускная способность же указывает на количество данных (можем тоже для наглядности представить количество пакетов), которые могут пройти через некоторый интерфейс за единицу времени (обычно берутся секунды). Однако задержка и пропускная способность взаимосвязаны. Если теоретическая величина пропускной способности фиксирована, практическая, или эффективная пропускная способность изменяется, и на нее воздействуют долгие задержки. Слишком большая задержка в слишком короткий промежуток времени может создать своеобразный затор, который будет препятствовать полному заполнению канала данными, таким образом значительно снижая эффективность пропускной способности канала. Справедливо и обратное: если реальная загрузка (утилизация) канала приближается к 100%, а пользователи все продолжают слать потоки данных (такое случается, когда суммарная теоретическая пропускная способность каналов от всех пользователей превышает пропускную способность общего канала, по которому их трафик идет, скажем, к серверу или ISP) – пользователи замечают резкое увеличение задержки пакетов при прохождении через общий канал. Это происходит в результате того, что пакет, вместо того, чтобы попасть в канал передачи, стоит в очереди – собственно, задерживается [12].
Потери
Показатели потери пакета могут быть рассчитаны на основе сетевой или потоковой метрик. Когда оценивают влияние потери пакета на производительность механизма управления перегрузками, исследователи часто используют показатель потери/маркирования и показатель события перегрузки (показатель события потери), где событие перегрузки и событие потери заключаются в одной или более потерь пакетов за один RTT.
Рассмотрим влияние потери пакетов на передатчики. Регулирование трафика в TCP подразумевает существование двух независимых процессов: контроль доставки, управляемый получателем с помощью параметра window, и контроль перегрузки, управляемый отправителем с помощью окна перегрузки cwnd (congestion window) и ssthreth (Slow start threshold). Окно перегрузки позволяет управлять информационным потоком со стороны передатчика, блокируя возможные перегрузки и потери данных в промежуточных узлах сети. Если перегрузка не происходит, CWND становится больше окна, объявленного получателем, и именно последнее будет ограничивать поток данных в канале. Размер окна, объявленный получателем, ограничивается произведением полосы пропускания канала (бит/с) на RTT. Если же происходит перегрузка, размер CWND уменьшается до величины одного сегмента [13].
5.4 Моделирование работы алгоритмов TCP Reno и TCP Vegas и анализ полученных результатов
Для исследования работы противоперевантажних алгоритмов воспользуемся простейшей моделью мультисервисной сети — модели с одним узким местом. Для данной топологии модели сети присущи все характерные особенности телекоммуникационного трафика интегрированной сети с коммутацией пакетов, в том числе его самоподобнисть и масштабная инвариантность.
На рис.4 приведена топология такой сети. С помощью s1, s2, ..., sN — обозначены отправители трафика, r1, r2, ..., rN — получатели, R — маршрутизаторы канала. Узкое место приводит к тому, что пропускная способность всей сети ограничена одним или несколькими компонентами, которые называются критическими элементами. В нашем случае, критическими элементами являются маршрутизаторы канала.
Для моделирования используем пакет прикладных программ MATLAB.
Входные параметры моделирования: RTT R = 0,1 с, максимальная длина очереди Qmax = 200 пакетов, количество отправителей s меняется динамически.
Результаты моделирования приведены на рис.5 – 6.
Проанализировав графики, приведенные на рис.5 – 6, можно отметить, что во первых, средний размер окна TCP Vegas менее в TCP Reno, но за счет меньшего колебания, TCP Vegas передает большее количество данных, во-вторых, среднее значение очереди при использовании алгоритма TCP Vegas меньше, чем при использовании TCP Reno, т.к. TCP Vegas обеспечивает больший объем переданных данных.
Для расчета справедливости распределения пропускной способности получим следующее выражение
Расчет индекса справедливости для количества потерянных пакетов
где vli – количество потерянных пакетов для і-го пользователя.
На основе полученных результатов можно сделать вывод, что при использовании TCP Reno распределение пропускной способности между пользователями более неравномерное, чем при использовании TCP Vegas. Вследствие такого распределения пропускной способности алгоритмом TCP Reno возникает большее количество потерь пакетов, чемв канале связи с использованием TCP Vegas. Также стоит отметить, что количество переданных данных в случае использования алгоритма TCP Vegas больше, чем в случае использования алгоритма TCP Reno. Данное явление можно объяснить тем, что при использовании TCP Vegas наблюдается меньшее колебание размера окна, чем при использовании TCP Reno.
Выводы
Моделирование работы алгоритмов протоколов TCP Reno и TCP Vegas показало что двухфазная работа первого алгоритма приводит к значительным колебаниям нагрузки на сеть и большему уровню потерь, чем у алгоритма TCP Vegas. За счет реализации более сложной схемы управления пропускной способностью в TCP Vegas, достигнуто уменьшение уровня колебаний полезной нагрузки на сеть и уменьшение потерь.
Использование гидродинамическая модель потока позволяет учитывать особенности функционирования против перегрузочных алгоритмов. Модель может быть использована для моделирования поведения различных реализаций алгоритма TCP в условиях сетей составленной топологии.
Проведенное моделирование показывает, что алгоритм TCP Vegas более эффективно использует пропускную способность канала связи, чем TCP Reno за счет меньшего колебания размера окна.
Примечание
При написании данного реферата магистерская работа еще не завершена. Окончательное завершение: декабрь 2013 года. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.
Перечень ссылок
- Кучерявый Е.А. Управление трафиком и качество обслуживания в сети Интернет / Кучерявый Е.А. – СПб.: Наука и техника, 2004. – 336 с.
- Джамалипур А. Беспроводной мобильный Интернет. Архитектура, протоколы и сервисы/Джамалипур А. ; [пер.с англ. Ш. Салиев, В. Орлов] – М., Техносфера, 2009 – 496 с.
- Fall K. Simulation based comparisons of Tahoe, Reno and SACK TCP / K. Fall , S. Floyd – Computer Communications Review, , July 1996. —26(3):5Режим доступу до статті21.
- Analysis and comparison of TCP Reno and Vegas [Электронный ресурс] /Jeonghoon Mo, Richard J. La, Venkat Anantharam, Jean Walrand//INFOCOM – 1999 – Режим доступа: http://www.eecs.berkeley.edu/~ananth/1999-2001/Richard/MoLaInfocom1999.pdf
- Bonald Thomas Comparison of TCP Reno and TCP Vegasvia Fluid Approximation [Электронный ресурс]/Bonald Thomas// RR3563, Unite de recherche INRIA Sophia Antipolis Cedex (France) – 1998 – 34 pages, Режим доступа: netlab.caltech.edu/FAST/references/bonald_comparison.pdf
- A control theoretic analysis of RED [Электронный ресурс] / C.V. Hollot, Vishal Misra, Don Towsley, Wei-Bo Gong//INFOCOM — – 2001 – Режим доступа: ftp://gaia.cs.umass.edu/pub/MisraInfocom01-RED-Control.pdf
- Jacobson V. Congestion Avoidance and Control/ V. Jacobson – Proceedings, SIGCOMM '88, Computer Communication Review, August 1988; reprinted in Computer Communication Review – January 1995.
- Jacobson V. Modified TCP Congestion Avoidance Algorithm/ V. Jacobson - End2 end-interest mailing list, 20 – April 1990.
- Srikant, R. The Mathematics of Internet Congestion Control (Systems and Control: Foundations and Applications)/ Rayadurgam Srikant – Birkhauser Boston, 2004.
- Батыр С.С. Построение модели сети передачи данных для исследований технологии AQM/Батыр С.С., Хорхордин А.В. // Сборник научных трудов ДонИЖТ Выпуск:28 . – Донецк, 2011 с.108-116
- Jain R. A Quantitative Measure of fairness and discrimination for resource allocation in systems/ R. Jain ,D.M. Chiu ,W. Hawe – DEC TR-301, Littleton, MA: Digital Equipment Corporation, 1984.
- Митчел Брэдли Пропускная способность и задержка [Электронный ресурс]/[перевод с англ. Дениса Матвеева]//Нестор – 2002. – №12 – Режим доступа: http://www.nestor.minsk.by/sr/2002/12/2122201.html
- Семенов Ю.А. Протокол TCP [Электронный ресурс]// Режим доступа: http://book.itep.ru/4/44/tcp_443.htm