Аннотация
В работе предлагается методика оценки пропускной способности канала. На сегодняшний день существуют системы, позволяющие измерять данную метрику, но они имеют ряд недостатков. Методика основана на тестировании сети пакетами разных размеров.
Список ключевых слов
МЕТРИКА, модель измерения, пакет, ширина КАНАЛА, полосА пропускания, пропускная способность, AvBand, RIPE Test Box
Введение
В работе предлагается метод оценки доступной ширины полосы пропускания канала. Метод основан на измерении задержки в сети Di для пакетов различного размера Wi.
Измерение таких метрик как доступная ширина полосы пропускания и загруженность канала позволяет предсказывать результирующую производительность сетевого приложения, производить динамический выбор маршрута, а также находит применение во многих других областях сетевых технологий. Метрика пропускной способности – одна из важнейших метрик для таких приложений как grid–вычисления, видео- и аудиопотоки, маршрутизация, пиринговые сети и многих других.
Различные интернет приложения реального времени, в первую очередь, передача голосовой и видео информации становятся все более и более популярными, однако для их качественной передачи требуются высокоскоростные сети. Основными факторами, определяющими качество изображения, являются: качество оборудования (кодека и видеосервера) и доступная полоса канала. Операторы и их заказчики должны обеспечивать требуемую полосу пропускания для приложений голоса и видео, чтобы гарантировать присутствие требуемых ресурсов на сети.
Метрики, в наибольшей степени характеризующие канал это ширина полосы пропускания канала (C, capacity) и доступная ширина полосы пропускания Bav. Ширина полосы пропускания канала, C – максимальная пропускная способность IP-уровня, которую может обеспечить маршрут потоку, при условии не загруженности маршрута другими потоками. Доступная ширина полосы пропускания – это пропускная способность IP-уровня, которую может обеспечить маршрут потоку в загруженном другими потоками состоянии.
Хоть на сегодняшний день и существуют различные системы, позволяющие определять доступную полосу пропускания, но они имеют свои недостатки, поэтому поиск новых решений является востребованным. Среди них, такие как iperf, netperf, pathrate иpathload, abget, а также ряд малоизвестных программ ncs, netest, pipechar [1]. Покажем на рисунке ниже общий принцип работы с программными продуктами iperf, netperfиpathrate.
Рисунок 1 - принцип работы с системами измерений
Рассмотрим следующий программный продукт – утилиту abget. Утилита abget позволяет оценить доступную (свободную) пропускную способность сети в обоих направлениях, не имея доступа к удалённому серверу. Требуется HTTP сервер на удалённом сервере и привилегии суперпользователя. Для определения доступной пропускной способности сети от сервера к нам требуется указать URL достаточно большого файла на сервере. abget эмулирует TCP протокол, чтобы спровоцировать сервер посылать данные в желаемом темпе.
У каждого из вышеперечисленных продуктов есть свои недостатки. Утилиты iperf, netperf, pathrate имеют одну особенность, которая является их существенным недостатком. Для того чтобы оценить пропускную способность сети требуется установить клиентскую и серверную части программы. Утилита abget требует HTTP сервер на удалённом сервере и привилегии суперпользователя, а что касается программ ncs, netest, pipechar, так как они не приспособлены для работы с сетевыми экранами, что в современных условиях делает их малоиспользуемыми. Проиллюстрируем эти положения на рисунке ниже.
Рисунок 2 - Недостатки существующих систем
В то же время вышеперечисленные программы используют алгоритмы оценки пропускной способности канала, основывающиеся на прогонке довольно большого количества пакетов по каналу связи, что снижает пропускную способность сети и требует значительного времени. Поэтому поиск нового метода, позволяющего оценить пропускную способность, и создание на базе него утилиты является актуальным.
Новая модель измерения пропускной способности
В работе [2] было показано, что преобразование Литтла с оценкой доступной полосы пропускания может быть записано как:
(1)
Уравнение (1) подсказывает альтернативный путь для нахождения доступной ширины . Новый метод предполагает изменение размера тестового пакета для измерения доступной полосы пропускания. Если провести тестирование сети пакетами разных размеров W1 и W2, тогда мы получим 2 разных значения времени задержки Di.
Таким образом, система из двух полученных уравнений легко разрешима относительно доступной ширины , а также величины a, имеющей смысл минимально возможной задержки:
(2)
(3)
Стоит отметить, что похожий результат был получен в ставшей классической работе Якобсона [3] «Предотвращение перегрузки и специализированный контроль».
Таким образом, проводя тестирование сети утилитой ping с помощью пакетов различного размера (например, 64 bytes и 1064 bytes) можно оценить доступную ширину исходящего канала между двумя точками (а точнее IP адресами) в глобальной сети. Этот метод прост и дает достаточно точные значения для исследуемых величин, а главное он не требует установки дополнительного, достаточно сложного программного обеспечения.
Была разработана утилита AvBand (Available Bandwidth), реализующая вышеописанный метод, используя в своей основе алгоритм ping. Этот алгоритм был разработан Майком Муусом в 1983 в США для операционной системы BSD [4]. Его преимущество в том, что можно работать с любым маршрутизатором или устройством, которое откликается на пакеты запросов ICMP Echo.
Данная утилита определяет пропускную способность исходящего канала связи между машиной, с которой проводится измерение и интересующим нас удалённым сервером. Для этого программа измеряет двустороннюю величину задержки пакетов при прохождении по сети, то есть значение RTT (Round Trip Time) – время между отправкой запроса и получением ответа. При этом сначала генерируются пакеты стандартного Windows размера в 32 байта и определяется их задержка, а следующим шагом формируются пакеты большего размера в 1032 байта и замеряется их RTT. На рисунке ниже представлен скриншот работы программы.
Рисунок 3 – пример работы утилиты AvBand
В поле ввода “Host” задается имя сервера, ширину канала до которого мы собираемся измерять. В поле “Retries” указывается количество пингов, то есть эхо-запросов, которые будут отправлены на удалённый сервер. После этого достаточно нажать на кнопку “Start” и утилита отправит заданное количество пакетов размера 32 байта, далее такое же количество пакетов размером 1032 байта. Собранные значения полученных задержек по каждой из групп пакетов усредняются, а затем с помощью новой модели рассчитывается доступная ширина канала и выводится на экран (рисунок 2). Стоит отметить, что под шириной канала подразумевается пропускная способность от источника до сервера, с которым проводится измерение. Другими словами это скорость передачи данных от источника к серверу.
Данная версия утилиты разработана для платформы Windows и использует библиотеку ICMP Windows API. В ближайшее время планируется разработка утилиты для Unix систем, прежде всего для семейства Linux.
Экспериментальная часть
В настоящее время проводится проверка модели несколькими способами, и первый из них - это прецизионное тестирование с помощью измерительной системы RIPE Test Box [5].
RIPE Test Box представляет собой персональный компьютер под управлением ОС Linux. В его состав входит также GPS приемник Acutime 2000 [http://www.ripe.net/test-traffic/] в качестве источника сигналов точного времени. Этот блок даст возможность измерять качество соединений с множеством других точек, так как он автоматически включается в глобальную измерительную инфраструктуру. Измерительная точка RIPE Test Box развернута в СГАУ и используется в качестве NTP сервера уровня stratum 1, в работе [2] дано развернутое описание.
Характерные времена исследуемых процессов (задержки пакетов, джиттер) имеют порядок от 10 мкс до 1сек, поэтому для их надежного измерения вполне достаточно достигнутой точности системных часов.
Прецизионный эксперимент проводится с точками RIPE (на первом этапе между TT143 и TT1). Он содержит 3 этапа:
− Прецизионное измерение задержки пакетов 64 и 1064 bytes с точностью 2 мкс;
− Измерение доступной полосы с помощью IPerf;
− Измерение полосы методом скачивания файла по FTP с точки TT143 на TT1.
На рисунке 3 приведена схема проведения эксперимента.
Рисунок 4 - Cхема проведения эксперимента
Таким образом, у нас сформируется три альтернативно измеренных величины полосы пропускания для последующего сравнительного анализа.
Следующей фазой эксперимента является проверка утилиты AvBand. Он будет проводиться с использованием следующих измерительных механизмов:
− Непосредственно сама утилита AvBand;
− Стандартный ping;
− Использование Iperf;
− FTP тестирование.
На рисунке 4 показана схема проведения второго эксперимента.
Рисунок 5 - Cхема проведения эксперимента
На настоящий момент были проведены измерения с университетом Огайо, а также ряд локальных экспериментов с использованием сетей различных операторов Самарской области. Это позволит собрать данные для последующего статистического анализа. Все данные по экспериментам приведены в таблице 1 ниже.
Место проведения эксперимента |
Ping (64 b & 1064 b) |
FTP (upload) |
AvBand (>15 retries) |
IPerf (TCP) |
|
Сервер измерений |
Удаленная точка |
||||
СГАУ 89.186.245.217 |
Бременская школа университета прикладных наук 194.94.26.62 |
5517 Кбит/с |
1840 Кбит/с |
______ |
______ |
Бременская школа университета прикладных наук 194.94.26.62 |
СГАУ 89.186.245.217 |
3273 Кбит/с |
935,11 Кбит/с |
______ |
______ |
Университет Огайо 199.18.182.69 |
СГАУ 89.186.245.217 |
5744 Кбит/с |
4044 Кбит/с |
5744 Кбит/с |
2453,44 Кбит/с |
СГАУ 89.186.245.217 |
Университет Огайо 199.18.182.69 |
6359 Кбит/с |
1253 Кбит/с |
6359 Кбит/с |
1203 Кбит/с |
СГАУ 89.186.245.217 |
server2.hosting.reg.ru (Москва) |
1150 Кбит/с |
1040 Кбит/с |
______ |
______ |
СГАУ 89.186.245.217 |
IOC RAS
|
20 Мбит/с |
22,5 Мбит/с |
20,6 Мбит/с |
______ |
Домашний компьютер (Оператор “Аист”) |
СГАУ 89.186.245.217 |
536 Кбит/с |
600 Кбит/с |
536 Кбит/с |
659 Кбит/с |
Домашний компьютер (Оператор “Волга-Телеком”) |
СГАУ 89.186.245.201 |
274 Кбит/с |
______ |
274 Кбит/с |
283 Кбит/с |
Домашний компьютер (Оператор “Инфолада”, Жигулевск) |
СГАУ stream.ip4tv.ru |
346 Кбит/с |
374 Кбит/с |
______ |
______ |
Таблица 1 - результаты эксперимента
В настоящее время измерения еще не завершены, планируется набрать данные с не менее 20-ти точек, разбросанных по территории планеты. Таким образом, подводя итог проделанной работе, можно сделать основной вывод – теоретическая модель вычисления доступной полосы подтверждается.
Литература
[1] A Tirumala, J Ferguson, J Dugan, F Qin, K Gibbs, Avaliable from: http://dast.nlanr.net/Projects/Iperf
[2] А.П. Платонов, Д.И. Сидельников, М.В. Стpижов, А.М. Сухов Измеpительная инфpастpуктуpа для изучения качества соединений в pоссийском сегменте Интеpнет, Телекоммуникации, №1, 2009, с.11-16
[3] Jacobson V. Congestion avoidance and control. In Proceedings of SIGCOMM 88 (Stanford, CA, Aug. 1988), ACM
[4] Mike Muus, Ping documentation, http://ftp.arl.mil/~mike/ping.html
[5] RIPE Test Box, http://ripe.net/projects/ttm/
[6] Choi, B.-Y., Moon, S., Zhang, Z.-L., Papagiannaki, K. and Diot, C.: Analysis of Point-To-Point Packet Delay In an Operational Network. In: Infocom 2004, Hong Kong, pp. 1797-1807 (2004)
[7] Padhye, J., Firoiu, V., Towsley, D., Kurose, J.: Modeling TCP Throughput: A Simple Model and its Empirical Validation. In: Proc. SIGCOMM Symp. Communications Architectures and Protocols, pp. 304-314 (1998)