
5.3 Описання програми d-itg
Пакет навантажувального тестування D-ITG має широкі функціональні можливості, являє собою платформу здатну генерувати трафік з різними видами розподілу навантаження (експоненціальне, рівномірне, Коші, Парето, рівномірне і т.д.) та дозволяє досить зручно оцінювати значення основних показників QoS. Складається з декількох підпрограм: відправника пакетів (D-ITGSender), отримувача пакетів (D-ITGReceiver) та підпрограм обробки результатів (D-ITGDecoder, D-ITGPlot). Слід зазначити, що всі підпрограми запускаються з командного рядка та управляються за допомогою зміни «ключів» відповідних підпрограм.
За допомогою підпрограми відправника пакетів можливо задавати параметри потоку трафіку (тип трафіку, тип протоколу, швидкість потоку та ін.). Слід зазначити, що швидкість потоку задається через зміну кількості відправлених пакетів за секунду та їх розміру. Ця опція дозволяє досить гнучко управляти швидкісними характеристиками потоку та використовувати цей програмний пакет в ситуаціях коли важливі не тільки швидкісні характеристики потоку, а й розмір пакетів. На наступному малюнку приведені параметри (ключі), які можливо задавати на передаючій стороні:
Нижче приведені можливі закони розподілення розмірів пакетів:
Приклад настройки відправника пакетів з наступними характеристиками потоку:
Адреса приймальної сторони (-a 192.168.0.7)
Кількість пакетів за секунду пакету (-С 1000);
Розмір пакетів змінюється по рівномірному закону від 500 до 1000 Байт (-u 500 1000);
Протокол транспортного рівня TCP (-T TCP);
Час протягом якого здійснюється генерація пакетів 30 секунд (-t 30000);
Ім’я файла, в який будуть заноситись отримані результати log_file (-xlog_file).
Отримані результати показників якості обслуговування заносяться до бінарного файлу log_file . В подальшому за допомогою підпрограми обробки результатівна основі отриманого log_file можливо отримати текстові масиви даних по основним показникам якості обслуговування.СинтаксисD-ITGDecoder виглядає наступним чином:
Приклад обробки результатів з наступними параметрами:
Ім’я файлу логів – log_file (log_file);
Ключі –d, -j, -p задають які саме показники якості обслуговування слід отримати (в нашому випадку це затримка, джитер та втрачені пакети відповідно). Значення 1000 після ключів –d, -j, -p вказує за який інтервал слід усереднити значення затримки, джитеру, втрачених пакетів (задається в мілісекундах).
Опція –v дозволяє відразу переглянути наступні результати (загальний час проведення експерименту, загальну кількість пакетів, які були отримані на приймальній стороні, мінімальну, максимальну та середню затримку, джитер, кількість втрачених пакетів та ін.).
Розглянемо більш детально текстові масиви значень затримки, джитеру та втрачених пакетів. Усі масиви мають однакову структуру, змінюються лише значення в залежності від того який показник якості обслуговування розглядається. На наступному прикладі розглянемо масив одношляхової затримки. Він має наступний вигляд:
Time 1- 192.168.0.7-192.168.0.7 Aggregate-Flow
0.000000 0.000187 0.000187
1.000000 0.000182 0.000182
2.000000 0.008611 0.008611
3.000000 0.000071 0.000071
В колонці Time зазначені часові відліки (тривалість такого часового відліку задається після ключа –d, -j, -p). Далі йде номер потоку, та значення вибраного показника якості обслуговування, в нашому випадку це затримка, усереднена за цей часовий відлік. 192.168.0.7-192.168.0.7 вказує адреси передаючої та приймальної сторони. Aggregate-Flow – узагальнюючі результати вибраного показника якості обслуговування по всім потокам. У нашому випадку досліджувався лише 1 потік, тому Aggregate-Flow співпадає з даними цього потоку. В наступному текстові масиви дуже зручно обробити в пакеті математичного моделювання Matlab.