Назад в библиотеку

Метрики качества работа противоперегрузочных алгоритмрв для протокола ТСР

Автор: Трикоз В.В.
Источник: Автоматизация технологических объектов и процессов. Поиск молодых/ Материалы ХIII международной научно-технической конференции. — Донецк, ДонНТУ — 2013, Том


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

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

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

Метрика для справедливости распределения ресурсов между потоками. Для расчета данной метрики используется критерий индексов справедливости, предложенный в [2]. Рассчитывается по формуле:

Формула 1

где хі– значение ресурса і-го соединения.

Индекс находится в пределах от 1/n (в худшем случае) до 1 (в лучшем случае). Максимум достигается, когда все пользователи получают одинаковое распределение ресурсов. Индекс равен k/n, где для k пользователей ресурсы распределены равномерно, а n-k пользователей получили нулевое распределение [2].

Минимальная и средняя задержка доставки. Пропускная способность — один из основных факторов, оказывающих влияние на скоростные характеристики сети. Еще один фактор, очень близко связанный с пропускной способностью — задержка. Задержка в общем ее понимании может быть соотнесена с задержками в процессе передачи данных по сети, которых может быть несколько разных видов. Справедливым будет утверждение, что задержка – это скорость прохождения одного конкретного пакета через канал передачи данных – от пункта А к пункту Б. Пропускная способность же указывает на количество данных (можем тоже для наглядности представить количество пакетов), которые могут пройти через некоторый интерфейс за единицу времени (обычно берутся секунды). Однако задержка и пропускная способность взаимосвязаны. Если теоретическая величина пропускной способности фиксирована, практическая, или эффективная пропускная способность изменяется, и на нее воздействуют долгие задержки. Слишком большая задержка в слишком короткий промежуток времени может создать своеобразный затор, который будет препятствовать полному заполнению канала данными, таким образом значительно снижая эффективность пропускной способности канала. Справедливо и обратное: если реальная загрузка (утилизация) канала приближается к 100%, а пользователи все продолжают слать потоки данных (такое случается, когда суммарная теоретическая пропускная способность каналов от всех пользователей превышает пропускную способность общего канала, по которому их трафик идет, скажем, к серверу или ISP) – пользователи замечают резкое увеличение задержки пакетов при прохождении через общий канал. Это происходит в результате того, что пакет, вместо того, чтобы попасть в канал передачи, стоит в очереди – собственно, задерживается [3].

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

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

Рассмотрим влияние потери пакетов на передатчики. Регулирование трафика в TCP подразумевает существование двух независимых процессов: контроль доставки, управляемый получателем с помощью параметра window, и контроль перегрузки, управляемый отправителем с помощью окна перегрузки cwnd (congestion window) и ssthreth (Slow start threshold). Окно перегрузки позволяет управлять информационным потоком со стороны передатчика, блокируя возможные перегрузки и потери данных в промежуточных узлах сети. Если перегрузка не происходит, CWND становится больше окна, объявленного получателем, и именно последнее будет ограничивать поток данных в канале. Размер окна, объявленный получателем, ограничивается произведением полосы пропускания канала (бит/с) на RTT. Если же происходит перегрузка, размер CWND уменьшается до величины одного сегмента [4].

Используя формулу (1) проведем расчет справедливостей распределения пропускной способности и количества потерянных пакетов между потоками.

Входными параметрами для расчета являются:

Последние два параметра из выше перечисленных получены в результате моделирования работы алгоритмов TCP Reno и TCP Vegas в пакете прикладных программ MATLAB.

Пропускная способность і-го пользователя рассчитывается по формуле:

Формула 2

где ci– размер окна для і-го пользователя, h – количество переходов пакета через маршрутизатор.

Для расчета справедливости распределения пропускной способности получим следующее выражение

Формула 3
Формула 4

Расчет индекса справедливости для количества потерянных пакетов

Формула 5
Формула 6

где vli – количество потерянных пакетов для і-го пользователя.

На основе полученных результатов можно сделать вывод, что при использовании TCP Reno распределение пропускной способности между пользователями более неравномерное, чем при использовании TCP Vegas. Вследствие такого распределения пропускной способности алгоритмом TCP Reno возникает большее количество потерь пакетов, чемв канале связи с использованием TCP Vegas. Также стоит отметить, что количество переданных данных в случае использования алгоритма TCP Vegas больше, чем в случае использования алгоритма TCP Reno. Данное явление можно объяснить тем, что при использовании TCP Vegas наблюдается меньшее колебание размера окна, чем при использовании TCP Reno.

Перечень ссылок

  1. 1. RFC 5166 Metrics for the Evaluation of Congestion Control Mechanisms[Электронный ресурс]// S. Floyd – режим доступа: http://tools.ietf.org/html/rfc5166
  2. 2. R. Jain, D.M. Chiu, and W. Hawe, A Quantitative Measure of fairness and discrimination for resource allocation in systems, DEC TR-301, Littleton, MA: Digital Equipment Corporation, 1984.
  3. 3. Брэдли Митчел Пропускная способность и задержка [Электронный ресурс]/перевод с англ. Дениса Матвеева//Нестор — 2002. — №12 — Режим доступа: http://www.nestor.minsk.by/sr/2002/12/2122201.html
  4. 4. Семенов Ю.А. Протокол TCP [Электронный ресурс]// Режим доступа: http://book.itep.ru/4/44/tcp_443.htm