Восстановление моментных характеристик распределения интервалов между пакетами входящего трафика

Автор: Горелов Глеб Александрович, Тарасов Вениамин Николаевич, Ушаков Юрий Александрович

Журнал: Инфокоммуникационные технологии @ikt-psuti

Рубрика: Технологии компьютерных систем и сетей

Статья в выпуске: 2 т.12, 2014 года.

Бесплатный доступ

В статье описывается подход к восстановлению моментных характеристик распределения интервалов между пакетами входящего трафика. Эти характеристики позволяют анализировать трафик методами теории массового обслуживания.

Моментные характеристики, распределение трафика, анализатор трафика, программа wireshar

Короткий адрес: https://sciup.org/140191682

IDR: 140191682

Текст научной статьи Восстановление моментных характеристик распределения интервалов между пакетами входящего трафика

Как известно, теория массового обслуживания (ТМО) опирается на распределения интервалов между заявками входного потока и времени обслуживания. На практике распознавание закона распределения интервалов вызывает большие проблемы и к тому же трафик как случайный процесс имеет свойство постоянно меняться. Поэтому целесообразнее использование числовых характеристик распределения интервалов между пакетами. В данной работе для их определения предлагается использовать программу Wireshark.

Описание программы Wireshark

Wireshark (ранее Ethereal) – программа-анализатор трафика для компьютерных сетей технологии Ethernet и некоторых других, имеющий графический пользовательский интерфейс. В июне 2006 года проект был переименован в Wireshark из-за проблем с торговой маркой [1].

Функциональность, которую предоставляет Wireshark, очень схожа с возможностями программы tcpdump, однако Wireshark имеет графический пользовательский интерфейс и гораздо больше возможностей по сортировке и фильтрации информации. Программа позволяет пользователю просматривать весь проходящий по сети трафик в режиме реального времени, переводя сетевую карту в неразборчивый режим (от англ. promiscuous mode – см. рис. 1).

Рис. 1. Захват сетевого трафика программой Wireshark

Wireshark – это приложение, которое «видит» структуру самых различных сетевых протоколов и поэтому позволяет разобрать сетевой пакет, отображая значение каждого поля протокола любого уровня. Поскольку для захвата пакетов используется библиотека Pcap, существует возможность захвата данных только из тех сетей, которые поддерживаются этой библиотекой. Тем не менее программа Wireshark умеет работать с множеством форматов входных данных, соответственно, можно открывать файлы данных, захваченных другими программами, что расширяет возможности захвата.

Возможности программы включают:

  • -    глубокий анализ сотни протоколов с регулярным добавлением новых;

  • -    захват сетевого трафика в реальном времени с последующим анализом в любое удобное время;

  • -    standard three-pane packet browser (стандартный пакетный браузер с тремя областями);

  • -    кроссплатформенность: существуют версии для большинства типов UNIX, в том числе Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, а также для Windows;

  • -    захваченная информация по сети может быть просмотрена с помощью графического интерфейса пользователя или с помощью TTY-режима утилиты TShark;

  • -    самые мощные возможности по сортировке и фильтрации информации в отрасли;

  • -    обширные возможности по VoIP анализу;

  • -    чтение/запись большого количества форматов файлов захвата: tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer® (compressed and uncompressed), Sniffer® Pro, and NetXray®, Network Instruments Observer,

NetScreen snoop, Novell LANalyzer, RAD-COM WAN/LAN Analyzer, Shomiti/Finisar Surveyor, Tektronix K12xx, Visual Net-works Visual UpTime, WildPackets Ether-Peek/TokenPeek/AiroPeek и многие другие;

  • -    файлы захвата, сжатые с помощью gzip, могут быть распакованы сразу;

  • -    захват данных в реальном времени может быть произведен с Ethernet, IEEE 802.11, PPP/ HDLC, ATM, Bluetooth, USB, Token Ring, Frame Relay, FDDI и других (в зависимости от платформы);

  • -    поддержка расшифровки для многих протоколов, включая IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP, and WPA/WPA2;

  • -    правила выделения цветом могут быть применены для списка пакетов для быстрого, интуитивного анализа;

  • -    выходные данные могут быть экспортированы в XML, PostScript®, CSV или обычный текст.

Одним из форматов экспорта данных, удобных для просмотра, является CSV (см. рис. 2). Такой файл можно открыть в любом текстовом редакторе или редакторе табличных данных для последующего анализа и расчета характеристик.

Тем не менее трафик может быть настолько интенсивным, что обрабатывать его данные даже в табличных редакторах становится проблематично, не говоря уже о том, что и сами данные по трафику могут храниться не в одном файле. В данной статье нами рассмотрено программное решение для расчета моментных характеристик интервалов поступления пакетов. Главным преимуществом данного анализатора является его работа в малых масштабах времени (микросекунды), в отличие от той же программы NetFlow Analyzer, которая фиксирует пакеты с поминутной дискретизацией.

Рис. 2. Пример данных, экспортированных в формат CSV.

Определение моментных характеристик интервалов поступления пакетов

Разработанная программа в дополнение к анализатору позволяет осуществлять выборку моментов времен поступления пакетов, вычленив входящий трафик из всего набора данных, полученных программой Wireshark. Далее с использованием известных формул математической статистики определяются моментные характеристики распределения временных интервалов. В работе использованы статистики до третьего порядка, которые позволяют судить о характере распределения интервалов. Например, коэффициент вариации показывает отличие трафика от пуассоновского потока и совместно с асимметрией позволяет судить о степени весомости хвостов распределений.

Среднее значение интервала между соседни-

1    N ми пакетами Т ^ Qk+l ^к ) ’ где ^ к – мо-N к=о менты времени поступления пакетов, N – число анализируемых интервалов. Выборочная дисперсия Ов=Г-т\ где * “ ТАккП h}

ГМ к=0

– второй начальный момент. Коэффициент вариации с = ов1т, где ° в =4^ • Асимметрия 4=^ где t3=VTi^-tJ .

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

Программа анализа временных данных

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

Возможности программы включают:

  • -    выборку данных о времени поступления пакетов на указанный хост;

  • -    расчет интервалов времени между поступившими пакетами;

  • -    расчет моментных характеристик для интервалов поступивших пакетов;

  • -    сохранение данных о времени поступления пакетов в двоичном и текстовом формате;

  • -    сохранение данных об интервалах между поступлениями пакетов в двоичном и текстовом формате;

  • -    вывод и сохранение моментных характеристик в текстовом формате;

Программа обрабатывает текстовые файлы, содержащие данные в виде, представленном на рис. 2, или аналогичном. В программе разработаны два класса (в терминах объектно ориентированного программирования):

  • -    TrafficLogParams – хранит данные о временах приходов пакетов, их интервалов и рассчитывает моментные характеристики. Также предоставляет методы сохранения данных в файлы и их загрузки из файлов;

  • -    LogParser – статический класс, производящий анализ входного файла и добавление данных в класс TrafficLogParams.

Главный метод класса LogParser получает в качестве входных данных имя файла и IP-адрес хоста. Каждая строка исходного файла обрабатывается и из нее выбираются данные о времени и два IP-адреса – адрес отправителя и адрес получателя. Если поле получателя совпадает с IP-адресом хоста, тогда время поступления пакета добавляется в массив времен поступления пакетов класса TrafficLogParams.

public static TrafficLogParams TextFilePars-er(string fileName, string ip, bool islncom-ing)

TrafficLogParams log = new TrafficLogPa-

();

StreamReader file = new StreamReader (fileName);

string[] currentLine;

int lineNumber = 0;

int iplndex;

if (islncoming)

iplndex = 2;

else iplndex = 1;

while (!file.EndOfStream) { currentLine = GetDataArray

(file.ReadLine().Trim()); lineNumber++;

try

{ if (Minimizelp (currentLine[ip!ndex]) == Minimizelp (ip))

{ log.AddTime(ParseDouble(currentLine [0]));

catch (FormatException ex) {

}

Второй по важности метод класса LogParser разбивает входную строку на составные элементы, проверяя каждый элемент на принадлежность формату времени или IP-адресу, и возвращает их в виде массива.

private static string[] GetDataArray(string input)

{ string[] data = new string[3];

string currentvalue = "";

int symbollndex = 0;

int valuelndex = 0;

{ currentvalue += input[symbollndex]; symbollndex++;

} if (currentvalue ! = "")

{ if ((IsDouble(currentValue) | Islp(currentvalue)))

{ data[valuelndex] = currentvalue; valuelndex++;

  • currentvalue = "";

if (valuelndex >= 3)

  • symbollndex = input.Length;

!IsSeparator(input[symbollndex]))

{ symbollndex++;

}

} return data;

}

Метод проверяет входной символ на принадлежность символу-разделителю: «.» или «,». Такая проверка важна только для данных о времени, так как в некоторых странах дробная часть отделяется запятой (например в России), а не точкой. Именно по этой причине при преобразовании строкового представления числа в эквивалентное ему вещественное число, обозначающее время, используется не стандартный метод языка программирования, а его модификация, определяющая региональные параметры.

private static double ParseDouble(string value)

{ if (Cultureinfo.Currentculture

.NumberFormat.NumberDecimalSeparator == ".") { value = value.Replace(',1, '.');

}

При сопоставлении IP-адреса хоста с IP-адресом в текущей строке лога-файла производится минимизация IP-адресов до общего вида. Другими словами, IP-адрес 010.014.000.011 будет равен 10.14.0.11.

Результаты

Авторской программой был проанализирован файл с данными о трафике, поступающем на прокси-сервер вуза почти за час съема. Входной файл содержал более 2150000 строк, обработка вручную которых не представляется возможным. Были получены следующие результаты (рис. 3):

Файл Справка

Начальный момент 1-го порядка: 5,097781е-003

Начальный момент 2-го порядка: 3,325837е-004

Начальный момент 3-го порядка: 5,505049е-005

Дисперсия:                       3,065963е-004

Коэффициент вариации:           3,434807е+000

Асимметрия:                      1,025441е+001

Количество пакетов:             628183

Рис. 3. Результат работы программы анализа лог-файлов

Заключение

Полученные данные свидетельствуют о том, что анализируемый трафик сильно отличается от пуассоновского (коэффициент вариации c = 3,43 вместо 1), значение асимметрии равной A s = 10,25 говорит о том, что распределение интервалов между пакетами трафика относится к распределениям с тяжелыми хвостами. Например, у экспоненциального закона A s = 2. Для расчета характеристик такого трафика требуется соответствующий математический аппарат.

Список литературы Восстановление моментных характеристик распределения интервалов между пакетами входящего трафика

  • Wireshark official web-site URL: http://www. wireshark.org/
Статья научная