Модель управления потоком для транспортного протокола распределенной управляющей системы

Диаграмма режимов алгоритма адаптации протокола МTCP. Штрихованные линии обозначают возможные переходы в состояние остановки системы. Зависимость скорости от времени в фазе грубой настройки МTCP. Ожидаемое поведение алгоритма управления скоростью потока.

Рубрика Производство и технологии
Вид статья
Язык русский
Дата добавления 24.08.2020
Размер файла 43,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Модель управления потоком для транспортного протокола распределенной управляющей системы

Костин С.В.

В статье рассматривается модель управления потоком для транспортного протокола распределенной управляющей системы на основе стека протоколов TCP/IP.

The model of flow control for transport protocol of portioned controlling systems on base of protocols stack TCP/IP is considered in article.

Стандарт TCP предусматривает наличие дополнительных полей в заголовке сегмента между стандартным заголовком и полем данных. Задействовав эти поля, возможно построить на основе TCP его различные вариации, каждая из которых будет использовать свой алгоритм передачи данных. Каждый из таких алгоритмов окажется совместим с TCP, т.к. в случае, если приемник (передатчик) не поддерживает преобразованный протокол, то он может получать (передавать) те же пакеты данных, как пакеты TCP.

Рассмотрим один из таких вариантов TCP, который назовем модифицированным TCP - MTCP. Всего протокол МTCP требует использования лишь двух новых полей: значения предыдущего порядкового номера "PS" в направлении от отправителя к получателю и значения скважности "TI" в направлении от получателя к отправителю. Значение "TI" можно передавать в виде опции временной метки, а значение "PS" требует поля, позволяющего поместить порядковый номер сегмента.

В MTCP полностью переработаны все механизмы управления потоком. От TCP сохранены оконный механизм для управления загрузкой получателя, алгоритмы определения временного промежутка между моментом отправки сегмента и моментом прихода его подтверждения RTT и установки таймера ТПП. Признаком потери сегмента служит срабатывание ТПП или приход двух последовательных подтверждений одного сегмента. Алгоритм управления скоростью включает в себя: функции диспетчеризации сегментов, измерения скорости и адаптации скорости.

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

Функция измерения скорости определяет скважность потока, поступающего к получателю, и информирует отправителя о темпоральных параметрах прибывающего потока. Кроме того, отправитель сам производит измерение времени RTT (в рамках стандартной функциональности протокола TCP).

Значения скважности потока, измеренной получателем, и времени RTT, измеренного отправителем, поступают на вход функции адаптации, которая определяет новое значение скорости отправки потока в соответствии с полученными на вход значениями и своим состоянием в этот момент времени.

МTCP использует два признака начала перегрузки сети, когда средняя скорость прибытия запросов сравнивается со средней скоростью обслуживания и началом роста очереди: начало роста RTT и стабилизацию скорости потока, вычисляемой получателем Rr(t) при увеличении скорости потока, устанавливаемой отправителем Rs(t). Получатель МTCP в сегментах с подтверждениями указывает значение скорости прибытия потока. Получая подтверждение сегмента спустя время RTT после его отправки, источник МTCP получает информацию о значении скорости, с которой поток, содержащий этот сегмент, прибыл к получателю, и использует Rr(t) в качестве оценки Re(t) пропускной способности сети.

Очевидно, что скорость приема потока получателем не может быть выше скорости обслуживания потока на участке с наименьшей ПС, через который проходит соединение. Таким образом, зная скорость прибытия потока к получателю, можно определить доступную пропускную способность сети. Для корректного измерения скорости необходимо не учитывать выпавшие из потока, т.е. потерянные сегменты, а также сегменты, доставляемые сетью в измененном порядке. Для выполнения этого условия в поле "PS" каждого отправляемого сегмента записывается порядковый номер (или смещение) от предыдущего сегмента.

Получив сегмент i, получатель вычисляет разницу текущего времени и времени прибытия предыдущего (j) сегмента фR и в случае, если поле "PS" i-го сегмента содержит значение j, помещает Rr=S/фR (S - размер передаваемого сегмента) в поле "TI" подтверждения, следующего в противоположном направлении. Получатель извлекает значение поля "TI" из получаемых подтверждений и использует его для управления скоростью передачи.

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

Рис. 1. Диаграмма режимов алгоритма адаптации протокола МTCP. Штрихованные линии обозначают возможные переходы в состояние остановки системы

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

Режим ускоренного старта (SS) имеет цель максимально быстро увеличить скорость потока от минимального значения до значения, равного или превосходящего ПС канала сразу после инициализации соединения. Для этого скорость увеличивается экспоненциально:

R's (t + RTT) = Rs(t) х SSGR,

Rs (ti) = Rs(ti-1) + R's(ti-1) х (ti-ti-1),

где SSGR - параметр экспоненциального роста R's в режиме SS.

Начальное значение скорости устанавливается после синхронизации соединения как:

Выход из режима SS происходит, когда Re(ti)<(1-е) x Rs(ti -RTT). После реализации перехода 2, алгоритм переходит в состояние мультипликативного сброса MD1.

Режим мультипликативного сброса (MD1) следует за режимом SS. После выхода из SS значение Rs(t) будет превышать Re(t) , поэтому в режиме MD1 скорость потока скачкообразно устанавливается заведомо ниже Re(t) :

Rs(ti) = Re(ti)-MDFACTOR x (Rs(ti-1)-Re(ti)),

где MDFACTOR - некоторый коэффициент, используемый при мультипликативном снижении Rs(t);

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

Режим восстановления (REC) имеет целью, линейно увеличивая скорость, довести ее до уже известного значения ПС канала: Re(t), компенсируя возникшую в режиме SS перегрузку. В режиме REC вычисляется значение площади области компенсации Ac(ti) как площади фигуры, образованной значениями Rs(t) над прямой Re(ti) за время, пока Rs(ti) > Re (ti) в режиме SS:

Значение площади области компенсации равно сумме площадей набора трапеций, образованных значениями Rs(t) над прямой Re(ti). Площадь каждой трапеции

где Дti время, в течение которого не происходило изменений значения R's(ti).

где Дt0 - промежуток времени между моментом ti и моментом предыдущего изменения R's(t) и N - индекс слагаемого, при котором

.

Итак, первое слагаемое приведенной формулы есть площадь трапеции с высотой меньшей RTT, последнее слагаемое - площадь треугольника, слагаемые от 2 до N-1 площади трапеций с высотой, равной RTT.

Например, в случае, приведенном на рис. 2, Ac(ti) равна сумме площадей трапеции DСBE и треугольника ABE. Дt0 равно отрезку ED.

Рис. 2. Зависимость скорости от времени в фазе грубой настройки МTCP

Значение Ac(ti) применяется для определения величины R's(ti) в состоянии восстановления REC. Идея в том, что из-за задержки информации о состоянии сети на время RTT, в состоянии быстрого увеличения скорости отправки сегментов поток вызовет наполнение буферов сети. Пакеты будут накапливаться в сети в течение времени, когда скорость отправки сегментов превышает ПС сети (отрезок AD на рис. 2). Пребывание соединения в состоянии восстановления необходимо для того, чтобы сеть справилась с возникшей до уменьшения скорости отправки перегрузкой. Очевидно, что количество данных, накопившихся в буферах сети, определяется площадью области Ac(ti), поэтому скорость отправки сегментов в состоянии REC должна быть снижена таким образом, чтобы площадь фигуры DFG была равна Ac(ti). Скорость в состоянии REC меняется линейно, определяемая значением

.

В состоянии REC скорость отправки данных возрастает линейно от значения, полученного в предшествующей стадии MD1 по закону .

Выход из состояния REC (переход 4) осуществляется в том случае, когда .

Режим тонкой настройки (FT) следует за режимом REC, в режиме FT скорость отправки данных медленно подстраивается под ПС канала. Отношение коэффициентов speedup и slowdown в состоянии FT определяет вероятность снижения или повышения скорости на каждом шаге. Коэффициент speedup, отвечающий за повышение скорости, обратно пропорционален скорости данного соединения. Коэффициент slowdown, отвечающий за снижение скорости, пропорционален отношению измеряемого RTT к минимальному значению RTT. Значение speedup больше при меньших значениях Rs(t), что дает медленным соединениям преимущество для получения доступа к большей относительной доле ПС. Значение slowdown одинаково для всех соединений и растет при росте RTT. Таким образом, вероятность повышения скорости для медленных соединений больше, а вероятность снижения скорости одинакова для всех соединений. Выход из режима FT происходит в случае скачкообразного изменения измеряемого RTT.

В состоянии FT значения скорости передачи определяются по закону:

,

где rand - равномерно распределенная случайная величина с областью значений [0; 1]. После попадания в состояние FT (реализации перехода 4) значение midpoint устанавливается равным , в дальнейшем значение midpoint устанавливается равным взвешенному скользящему среднему значению Rs - sR . Переменные speedup и slowdown определяют направление изменения скорости отправки данных в зависимости от изменения времени RTT.

Коэффициенты slowdown и speedup определяются по следующим формулам:

,

где второе слагаемое представляет собой отношение минимального количества данных в транзите по соединению (S байт за время RTT) к реальному их количеству (произведение минимального времени RTT на среднюю скорость отправки потока). Соответственно рост реальной скорости потока выражается в уменьшении значения коэффициента speedup, таким образом, при прочих равных условиях вероятность роста Rs для соединения с меньшей скоростью будет больше. За счет этого устраняется неравномерность использования ресурсов разными соединениями.

Коэффициент slowdown вычисляется следующим образом:

Если RTT > minERTT * (l +PRECISION),

то

иначе slowdown = l.

Здесь minERTT - минимальное значение сглаженного RTT, PRECISION - некоторая погрешность.

Отношение speedup/slowdown определяет знак отклонения мгновенного значения скорости от среднего. Если speedup>slowdown, то отклонение от среднего значения для мгновенного значения скорости будет положительным, т.е. скорость потока будет увеличиваться. В случае speedup<slowdown скорость потока будет снижаться. Также в состоянии FT максимальное отклонение мгновенного значения скорости отправки пакетов от среднего за предыдущий период, согласно формуле (27), пропорционально среднему значению скорости. В связи с этим поток, совершая переход 4 в состоянии FT при большем значении оценки, доступной ПС, приспосабливается к небольшим изменениям ПС более интенсивно.

Условием перехода из FT в режим мультипликативного сброса MD2 (переход 6) является: адаптация транспортный протокол скорость

,

где ERTT - взвешенное скользящее среднее RTT, K - коэффициент критерия осуществления перехода 6.

Режим мультипликативного сброса (MD2) необходим для быстрого снижения скорости при условии резкого роста RTT:

После этого протокол переходит в состояние FT, реализуя переход 7. В том случае, если условие (28) продолжает оставаться истинным, то мультипликативное уменьшение продолжается, поскольку последовательность переходов 6 - 7 реализуется неоднократно, выражаясь в экспоненциальном уменьшении скорости передачи данных.

Завершение работы протокола может произойти из любого состояния (SS, REC, FT} -переходы (8, 9, 10).

Ожидаемое поведение алгоритма управления скоростью потока в различных режимах изображено на рис 3.

Рис. 3. Ожидаемое поведение алгоритма управления скоростью потока (зависимость скорости от времени). Значения t в точках А,В,С обозначают моменты перехода в новый режим

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

Протокол МTCP не создает потерь сегментов, если где Qmax - максимальная длина очереди, е - предельное значение, используемое алгоритмом МTCP, a R - скорость канала.

В свете вышесказанного, целесообразно применение модификаций TCP, использующих дополнительные поля заголовка сегмента. Изменения алгоритма передачи данных на подобные алгоритму в протоколе MTCP позволят существенно повысить скорость обмена информацией.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.