УДК 004.724.4
МЕТОДИКА ИЗМЕРЕНИЯ СЕТЕВОГО ТРАФИКА С ВЫСОКИМ РАЗРЕШЕНИЕМ ВРЕМЕНИ В ЛОКАЛЬНОЙ ВЫЧИСЛИТЕЛЬНОЙ СЕТИ
И.В.Сычёв1
Амурский государственный университет, 675027, г. Благовещенск, Игнатьевское шоссе, 21.
Излагается методика точного измерения сетевого трафика при высоком разрешении времени. Описан измерительный прибор и технология обработки данных. Рассматриваются две конкурирующие гипотезы о вероятностных свойствах трафика. Представлена визуализация поступающих данных и приведён анализ данных. Ил. 10. Библиогр. 9
Ключевые слова: измерение сетевого трафика; самоподобный трафик; Пуассоновский процесс; случайная функции;, автокорреляционная функция.
PROCEDURE TO MEASURE NETWORK TRAFFIC WITH A HIGH TIME RESOLUTION IN A LOCAL AREA
NETWORK
I.V. Sychev
Amur State University,
21, Ignatievskoye Shosse, Blagoveshchensk, 675027.
The article states the procedure of the precise measurement of network traffic under the high time resolution. The author describes a measuring device and a data processing technology. Two competing hypotheses on the probabilistic properties of traffic are considered. The visualization of the incoming data is presented, and the data analysis is given. 10 figures. 9 sources.
Key words: measuring of network traffic; self-similar traffic; Poisson process; random function; autocorrelation function.
В данной работе рассматривается структура сетевого трафика, необходимая для анализа производительности при построении очередей [1].
Для планирования и управления очередями наиболее важной характеристикой являются интервалы времени между поступающими пакетами. Если интервалы считаются случайными и независимыми по времени, наиболее полно процесс описывает функция распределения (ФР) случайных величин. В [2,3] рассматриваются системы массового обслуживания (СМО) с буферизацией и случайным потоком заявок. В этих работах сетевой трафик рассматривается как Пуассоновский поток заявок. При первичном рассмотрении проблемы очевидно предположение, что сетевой трафик - стационарный Пуассоновский поток, но работы [4-7 и др.] опровергают эту гипотезу; предполагается, что сетевой трафик имеет фрактальную структуру, данная структура наблюдается при использовании многих протоколов и на всех уровнях эталонной модели 180/081, а также при любой конфигурации сети. Возникает необходимость в проверке гипотез при помощи эксперимента. Необходимо проверить и верифицировать результаты, полученные в [4-7], с учётом возможности использования различных технологий, загруженности каналов связи и длительности эксперимента. В современных работах рассматривается два вида экспериментов:
1. Долговременный эксперимент - рассматривается загрузка канала связи за один год или несколько лет; долговременный эксперимент описан в [4-5]. В
указанных работах регистрируется средняя нагрузка на сеть передачи данных раз в 300 с или реже.
2. Краткосрочный эксперимент - рассматривается время поступления каждого пакета с данными, сбор данных происходит в течение нескольких минут или часов; данный вид эксперимента описан в [6-7]. В указанных работах приводится время с точностью до 10-6с.
В данной работе рассмотрен краткосрочный эксперимент, поскольку данный вид эксперимента имеет ряд преимуществ: экономия машинных ресурсов и времени исследователя, возможность проверки нескольких гипотез при различных начальных условиях.
Указанные выше работы имеют ряд существенных недостатков:
1. При измерениях используются многозадачные операционные системы (ОС).
В многозадачных операционных системах обработка прерывания, поступившего от сетевого устройства, может быть отложена на неопределенный интервал времени, по причине выполнения более приоритетного процесса.
2. Используется недостаточно точный прибор измерения времени.
Во всех представленных выше работах используется системный таймер персонального компьютера (ПК). Таймер ПК выдаёт импульсы с частотой 18,20648... Гц. Если принять длину одного сетевого пакета равной в среднем 256 бит, то при пропускной скорости в 1 Гбит/сек. произойдёт приблизительно 2*105 событий за один импульс таймера ПК.
1Сычёв Игорь Викторович, начальник отдела программного и технического обеспечения, старший преподаватель, тел.: 8
(4162) 394949, e-mail: [email protected]
Sychev Igor, Head of the Department of Software and Hardware, Senior Lecturer, tel. 8 (4162) 394949, e-mail: igor.sychev @ amur-
su.ru
3. Не разделяется трафик по направлениям.
Нет разделения на заявки исходящие и входящие. Нет определенности, между какими двумя конкретными абонентами идёт передача данных.
Для разрешения указанных недостатков необходимо использовать специализированную измерительную систему.
Принцип действия специализированной измерительной системы. Выделим прибор измерения отдельно от клиента и сервера, тем самым исключим возможность влияния программ многозадачной ОС на результаты измерений.
На рис. 1 приведена схема подключения элементов измерительной системы.
Сетевой адаптер 3 Компьютер-1 приёмник данных от измерителя и ПО клиента Сетевой адаптер 1
Сетевой адаптер 2
Компьютер-3 Измеритель
М2
Сетевой адяптар
Сетевой адаптер
2
Коммутатор
Р1 Р2 РЗ Р4
Сетевой адап гер
Компьютера Сервер
Сетевой
Компьютер-4 Измеритель tepdumpmp адаптер 1
Сетевой адаптер 2
Рис. 1. Схема подключения элементов измерительной системы
Компьютер-1 (оснащенный ПО клиента) отправляет пакеты с запросами через сетевой адаптер 2 на компьютер-2. Компьютер-2 является сервером, он отправляет пакеты с ответами. Коммутатор дублирует проходящие пакеты на все розетки (Р1-4) одновременно. Компьютер-3 и компьютер-4, подключенные к коммутатору, регистрируют обмен пакетами между клиентом и сервером. Результаты измерений поступают на компьютер-1 с компьютера-4 через дополнительный сетевой интерфейс «сетевой адаптер 2», а с компьютера 3 через «сетевой адаптер 1».
Компьютер-4 оснащен стандартными средствами измерения трафика - программой tcpdump. Компью-тер-3 оснащен специальной системой для измерения трафика «М2». На рис. 2 показана схема передачи информации от исследуемого объекта к исследователю.
Устройство измерителя «М2». Измеритель «М2» - это обычный персональный компьютер с двумя сетевыми картами и процессором Pentium или выше. На этом компьютере первоначально загружается операционная система MS DOS 6.22. Далее, MS DOS запускает программу «М2» [8], созданную на языке Assembler. Программа «М2» - взаимодействует с сетевыми картами через пакетный драйвер (packet
driver), этот драйвер поставляется с большинством современных карт. Пакетный драйвер позволяет абстрагировать для прикладного программиста особенности электроники сетевой карты; данный драйвер позволяет работать с сущностями, свойственными всем сетевым адаптерам (прерывания, память буфера и т.д.).
Программа «М2» полностью контролирует работу компьютера, по сути выступая в качестве операционной системы. Блокируются все системные прерывания (за исключением моментов времени, когда они нужны), и компьютер используется только для одной цели - точно измерить время поступления пакета и время пребывания пакета в буфере.
Программный продукт М2 не использует системный таймер. Для точного измерения времени используется инструкция центрального процессора (ЦПУ) "RDTSC". Инструкция "RDTSC" возвращает в два 32-х битных регистра количество тактов, выполненных процессором с момента включения компьютера. Количество тактов не зависит от загруженности процессора, тактовый генератор работает всегда, увеличивая значение RDTSC.
Альтернативой к использованию числа тактов процессора предлагается присоединение внешнего генератора частоты, для чего потребуется специальный контроллер. Создание такого контроллера технически несложная задача. На данный момент существует множество устройств, регистрирующих количество импульсов от внешнего устройства.
Измеритель М2
Измеритель icpdinnp
Файлы с результатами измерений
Бинарные файлы М2
Файлы формата tcpdump
Программа - парсср
зх
Файлы одинакового формата
~zr
Математический пакет
Рис. 2. Схема передачи информации от исследуемого объекта к исследователю
Предложенный измеритель регистрирует следующие данные:
- момент времени поступления пакета;
- момент окончания записи пакета из буфера сетевой карты в оперативную память;
- MAC адрес источника и получателя пакета;
- номер пакета в сессии;
- идентификатор сессии;
- идентификатор протокола.
Результаты измерений сначала записываются в свободную оперативную память компьютера, а затем
передаются с дополнительного сетевого интерфейса на машину, обрабатывающую данные измерений: «компьютер-1». Принимающий компьютер записывает поступающие пакеты на жесткий диск в бинарном виде при помощи программы tcpdump.
Для передачи данных было выбрано сетевое устройство. Основное преимущество сетевого устройства перед записью на дисковые носители - скорость передачи данных. Время, затрачиваемое на передачу результатов измерения, считается ничтожно малым по отношению к времени всего эксперимента, из этого следует, что занятость ЦПУ компьютера в момент передачи результатов измерений незначительно повлияет на измерения.
По окончании эксперимента получаем бинарный файл, содержащий пакеты с отправленными данными. Для получения текстового файла с данными необходимо запустить парсер-программу (англ. Parse - разбор, структурный анализ).
Полученные данные можно сравнить с данными tcpdump. Сравнение производится после перевода тактов процессора (данные от М2) в секунды.
Графики взаимных отклонений двух измерительных систем представлены на рис. 3 и 4. Ряд работ говорит об исправлении систематической ошибки таймера в новых версиях Linux, но, как видно на рис. 4, значительных изменений в результатах измерений в новой операционной системе нет. Причина ошибки измерения - неверная методика традиционного эксперимента. Использование генератора системного времени с низкой частотой и использование многозадачной операционной системы всегда будут приводить к погрешностям измерения времени. Предлагаемый эксперимент по измерению времени поступления пакетов производился на различном оборудовании и программном обеспечении, использовалось оборудование и программное обеспечение разных годов выпуска (произведена серия экспериментов в 2006 и 2010 году). Несмотря на значительные изменения в составе аппаратного и программного обеспечения установки М2, результаты качественно не изменились.
Затруднительно разобрать все строки исходного кода операционной системы Linux, предназначенные для обработки сетевых пакетов, а также строки, формирующие системное время ПК (сотни тысяч строк кода слишком сложны для небольшой группы людей). Работа операционной системы рассматривается как чёрный ящик. Справедливо предположить, что программа tcpdump использует случайную последовательность чисел, отсортированных по возрастанию для маркировки нескольких событий, проходящих за одну миллисекунду, или некоторый алгоритм, искусственно создающий временные отметки, точность которых выше миллисекунды.
Поскольку выводы о самоподобности трафика в кратковременных экспериментах могут быть сделаны в [6-7] неправильно по причине присутствующей систематической ошибки измерения, необходимо проверить результаты, полученные от специализированной измерительной системы, на соответствие существующим гипотезам о сетевом трафике.
Рис. 3. Отклонение измерительных систем на аппаратуре и программном обеспечении 2006 года
0.304910" 0.304905" 0.304900" 0.304895" 0.304890 -
0.304885 ч
\
0.304880- Л
0.304875
I
IUI ,li Г ш
ш ш
w IU 'J i l U m J
0.3048701_L
J_I_L
JMI
50 70
90
N,
110 130 150
'пакет
Рис. 4. Отклонение измерительных систем на аппаратуре и программном обеспечении 2010 года
Обработка данных специализированного измерителя, проверка гипотезы о стационарности процесса. В работах [2-3] сетевой трафик рассматривается как Пуассоновский процесс, рассмотрим Пуас-соновское распределение в качестве нулевой гипотезы. В качестве конкурирующей гипотезы будем рассматривать фрактальный трафик в [4-7]. Как сказано во введении, нас интересуют интервалы между поступлениями пакетов, данные интервалы - случайные величины.
Произведём сбор экспериментальных данных в действующей сети предприятия, затем проанализируем полученные данные на соответствие нулевой гипотезе. Схема подключения измерителей к сети Амурского государственного университета (АмГУ) показана на рис. 5. В отличие от приведенного выше эксперимента с одним сервером и одним клиентом, регистрируются пакеты от большого количества различных серверов и клиентов. Для данного эксперимента не имеет значения, к какой сессии принадлежит пакет,
порядковый номер пакета и его длина; поступление пакета - атомарное событие.
Локальная вычислительная сеть (ЛВС) АмГУ подключена к сети Интернет через одного провайдера и один канал связи. В ЛВС АмГУ имеются серверы и клиенты (всего около 650 машин подключено к ЛВС). Около 80% внешнего трафика кэшируется Proxy-сервером, остальной трафик не подлежит кэшированию. Между модемом, конвертирующим оптический канал связи, и сетевым шлюзом установлен повторитель - Hub. Повторитель без задержек копирует все пакеты на повторитель в измерительной лаборатории. Таким образом, весь внешний трафик АмГУ поступает к измерительным приборам без задержек. В данной конфигурации допускается использование машины с программой tcpdump совместно с приёмником данных от измерителя.
Не кэшируемый трафик (POP. SMTP...)
Рис. 5. Схема подключения измерительных приборов к сети университета
В данной статье представлены результаты 19-ти экспериментов по 15 минут, начатые последовательно один за другим в случайные моменты времени. Эксперимент произведен в течение рабочего дня с 9:00 до 15:00 (в момент высокой активности пользователей). Эксперимент с наименьшей интенсивностью зафиксировал около 7x104 интервалов, с наибольшей интенсивностью порядка 1,5x1с5 интервалов времени, в общей сложности измерено 1,94х106 интервалов. Указанные ниже результаты существенно не изменяются при 8 и более экспериментах длительностью более одной минуты (дополнительные эксперименты и их увеличенная длительность используется для надежности).
Данный эксперимент может быть воспроизведён многократно и независимо от предыдущих экспериментов, в этом случае справедливо рассматривать генеральную совокупность как случайную функцию от времени.
Проверим стационарность случайной функции в
широком смысле [9]. Стационарность в широком смысле означает:
1. Математическое ожидание сохраняет постоянное значение при всех значениях аргумента I.
2. Корреляционная функция В(11,12) зависит только от разности аргументов 12-11.
Математическое ожидание. Поскольку существует связь между средним и математическим ожиданием, воспользуемся этим для доказательства постоянства математического ожидания, в частности:
- среднее генеральной совокупности есть математическое ожидание;
- математическое ожидание среднего по выборкам есть математическое ожидание генеральной совокупности .
Рассмотрим средние значения по выборкам (в нашем случае по срезам случайной функции):
Cn (x > j )=- Е x(j >
(i)
где ] - порядковый номер среза, С - среднее по срезу ], п - количество реализаций случайного процесса (экспериментов в нашем случае п=19), х,- реализация случайной функции, х,(1) - значение реализации в срезе ].
-i
и
чН*
Рис.6. Значения среднего по срезам
При увеличении числа экспериментов было замечено, что значения среднего по срезам, представленного на рис. 6, колеблется всё в меньшем диапазоне и стремится к постоянному значению. Очевидно, что колебания среднего относительно колебаний в экспериментах очень малы. Значения среднего по срезам значительно меньше отдельных задержек, полученных в экспериментах.
При увеличении количества экспериментов можно наблюдать снижение значения разности максимального и минимального среднего, как это показано на рис. 7, на практике это означает стремление к некоторому постоянному значению. Разность между максимальным и минимальным значением среднего по срезам вычисляется по формуле
Т (n) = max {Cn (Xi ,1) ... Cn (x, k)} -
- min {Cn (,1) .. Cn (>k)}
(2)
i=i
где T(n) - функция, отображающая зависимость разности между максимальным и минимальным значением среднего по срезам при n экспериментах, C -средние при n реализациях случайной функции, min -оператор нахождения наименьшего значения, max -оператор нахождения наибольшего значения, xi -реализации (i=1..n) случайной функции, k - общее количество срезов.
5 10 15 20
Эксперимент Рис. 7. Разность между максимальным и минимальным значениями среднего по срезам при увеличении количества экспериментов
Дисперсия. Значение дисперсии при каждом фиксированном значении f равно дисперсии среза (сечения) и вычисляется по формуле
О, (х (])) = С [[(]) - С(X(]))]] (3)
где й] - дисперсия случайной функции Х(¡); ] - номер среза, С - среднее значение. В данном случае воспользоваться математическим ожиданием для вычисления дисперсии невозможно, поскольку при практической реализации данного эксперимента не существует возможности строго доказать вероятности событий, поэтому предлагается воспользоваться значениями среднего. Результат вычислений по формуле (3) показан на рис. 8.
0.08
Ь-
Q
О.Об
0.04
0.02
4
] х10"
Рис. 8. Дисперсия исследуемого процесса
Корреляционная функция. На рис. 9 представлены автокорреляционные функции (АКФ) по экспериментам. По оси абсцисс - все возможные дистанции т.
По оси ординат - значения АКФ. Счёт АКФ производится по следующей формуле:
( л \ к-т
B (т) =
1
■Z X (j)x (j + т)'
j =0
(4)
т = 0,1,2,...,
где Вх - АКФ заданной реализации х, случайной функции.
Детализация рис. 9 представлена на рис. 10, где показаны восемь первых экспериментов. Как видно на графике, значительных отличий формы кривых не наблюдается. Основное отличие - количество пакетов по оси абсцисс, это связано с различной активностью пользователей. При нормировке полученных АКФ по количеству пакетов наблюдается незначительное расхождение полученных кривых. Есть все основания предположить, что не существует дополнительных факторов, влияющих на корреляционную функцию исследуемого процесса, кроме разности по времени
250
200
150
100
1.5 2
Г хЮ5
Рис. 9. АКФ 19-ти независимых экспериментов
Т х10*
Рис. 10. Детализация полученных АКФ (показаны восемь первых экспериментов)
Поскольку с увеличением числа экспериментов средние по срезам стремятся к постоянному значению и АКФ отличаются незначительно, справедливо предположить стационарность процесса.
Стационарность исследуемого процесса отвергает конкурирующую гипотезу, поскольку фрактальный трафик предполагает, что события имеют некоторую зависимость между собой по времени. Вышеуказанные факты позволяют воспользоваться теоретическими основами проектирования ЛВС [2], где сетевой трафик рассматривается как Пуассоновский процесс.
Необходимость использования технологии параллельных вычислений. Счёт АКФ и среднего по большому набору данных - трудоёмкая задача. На персональном компьютере с характеристиками: двухъядерный процессор 2.5ГГц, ОЗУ 2Гбайт, ОС Windows XP, счёт данных и визуализация рис. 6-10 в ППП MATLAB занимает до шести суток. Дальнейшее увеличение длительности эксперимента приводит к необходимости использования технологии параллельных вычислений. Существует возможность разделить используемые методики счёта на подзадачи, решаемые параллельно. Наиболее простой способ -счёт АКФ эксперимента на отдельном узле кластера; разделение фрагментов случайной функции на число узлов в кластере с последующим счётом средних по срезам в параллельном режиме.
Разработана измерительная установка для регистрации моментов поступления пакетов с повышенной точностью. Получены графики АКФ и среднего по 19-ти независимым опытам, состоящим из приёма-передачи различных пакетов, в общей сложности измерено около 1,94х106 интервалов. Произведены измерения в сети Амурского государственного университета. Измерения произведены в точке присоединения университета к провайдеру сети Интернет. В качестве теоретического обоснования эксперимента используются работы [2-3].
Для дальнейшего исследования полученного сетевого трафика необходимо рассчитать корреляцию между детализациями сетевого трафика (между фрагментами с различной точностью измерения времени). Необходимо доказать или опровергнуть независимость между интервалами. Для достижения данного результата необходимы дополнительные вычислительные ресурсы (распределенные вычисления). Также для дальнейшего исследования представленного процесса необходимо рассчитать надежность эксперимента, т.е. устойчивость результатов при многократном повторении.
Библиографический список
1. Шелухин О.И., Тенякшев А.М., Осин А.В. Фрактальные процессы в телекоммуникациях. М.: Радиотехника, 2003. 480c.
2. Григорьев Ю.А., Плутенко А.Д. Теоретические основы анализа процессов доступа к распределенным базам данных. Новосибирск: Наука, 2002. 221 с.
3. Плутенко А.Д. Оценка времени выполнения подзапросов к реляционным базам данных // Вычислительные технологии. 2000. № 4. С. 97-103.
4. Leland W.E., Taqqu M.S., Willinger W., Wilson D.V. On the self-similar nature of Ethernet traffic (extended version) // IEEE/ACM Trans. on Netw. 1994, 1-15 p.
5. Crovella M., Bestavros A. Self-similarity in world wide web traffic: Evidence and possible causes // lEEE/ACM Trans. on Netw. 1997, 835-846 p.
6. Треногин Н.Г., Соколов Д.Е. Фрактальные свойства сетевого трафика в Клиент-серверной информационной системе // Вестник НИИ СУВПТ. 2003. № 1. С. 163-172.
7. Петров В.В., Платов В.В. Исследование самоподобной структуры телетрафика беспроводной сети // Радиотехнические тетради. 2004. № 30. С. 58-62.
8. Свидетельство об официальной регистрации программы для ЭВМ №2006613266. Программа для исследования свойств самоподобности трафика в реальном времени в сети Ethernet 10/100BaseT с временным разрешением 10-6 c. /И.В.Сычёв, С.С.Охотников, А.Д.Плутенко // Зарег. 15.09.2006 г. в реестре программ. М: Роспатент, 2006.
9. Гурман В.Е. Теория вероятностей и математическая статистика. М.: Высшая школа, 2001. 479 с.