Menu Zavrieť

Mgen – popis, testovanie

MGEN

Web:

http://cs.itd.nrl.navy.mil/work/mgen/index.php

http://pf.itd.nrl.navy.mil/mgen/mgen.html

http://downloads.pf.itd.nrl.navy.mil/mgen/

Testovaná verzia: mgen-4.0×5

Distribúcia: Linux, Windows, freeBSD, solaris, macOS

Licencia: open source, developed by the Naval Research Laboratory (NRL) PROTocol Engineering Advanced Networking (PROTEAN) Research Group

Užívateľské prostredie: Command line

 

Tento článok je možné stiahnúť aj so všetkými obrázkami v FILESHARE-> traffic generators

 

Charakteristika generátora

Open source softver vyvíjaný Naval Research Laboratory (NRL) PROTocol Engineering Advanced Networking (PROTEAN) Research Group. Generátor poskytuje možnosť generovať UDP stream s rôznym zaťažením siete. Vygenerovaný tok sa dá zachytiť a uložiť do logovacích súborov pre analýzu. Na generovanie toku je potrebné vytvoriť skriptovací súbor, ktorý obsahuje parametre daného toku. Aplikácia je postavená na architektúre klient/server. Logovací súbor potrebný na analýzu sa vytvára na prijímacej strane. 

Použitie

Na generovanie toku dát je potrebné spustiť aplikáciu na dvoch stranách, pričom jedna strana bude generovať a posielať tok a druhá strana bude tento tok prijímať a zaznamenávať. Pre každú stranu je potrebné vytvoriť skriptovací súbor, ktorý charakterizuje správanie aplikácie z pohľadu odosielateľa a príjemcu. Príklad 1.1 obsahuje jednoduchý skript pre generovanie toku pre odosielateľa a skript pre príjemcu. Pri spustení aplikácie je možné charakterizovať niekoľko parametrov (viď obr 1.1), ktoré sú popísane na stránke http://pf.itd.nrl.navy.mil/mgen/mgen.html

 

Príklad

Skript pre odosielateľa nazvaný scriptSend.mgn

0.0 ON 1 UDP DST 158.193.85.36/5000 SRC 5001 PERIODIC [10.0 800] INTERFACE eth1
120.0 OFF 1

(Sender linux )Command line: $ ./mgen ipv4 input scriptSend.mgn output send.log

Skript pre príjemcu nazvaný scriptRecv.mgn

0.0 LISTEN UDP 5000-5001,6000,6003
0.0 JOIN 158.193.85.37

(Receiver linux )Command line: $ ./mgen ipv4 input scriptRecv.mgn output recv.log

 

mgen [ipv4][ipv6][input <scriptFile>][save <saveFile>] [output <logFile>][log <logFile>] [binary][txlog][nolog][flush][hostAddr {on|off}]
[event "<mgen event>"][port <recvPortList>]
[instance <name>][command <cmdInput>]
[sink <sinkFile>][block][source <sourceFile>]
[interface <interfaceName>][ttl <timeToLive>]
[tos <typeOfService>][label <value>]
[txbuffer <txSocketBufferSize>]
[rxbuffer <rxSocketBufferSize>]
[start <hr:min:sec>[GMT]][offset <sec>]
[precise {on|off}][ifinfo <ifName>]
[txcheck][rxcheck][check][stop]
[convert <binaryLog>][debug <debugLevel>]

 obr 1.1 – parametre MGEN aplikácie

Analýza logov

MGEN vytvára na strane príjemcu logovací súbor, ktorý obsahuje informácie a prijatých UDP paketoch. Na analýzu tohoto súboru je potrebný softvér TRPR, ktorý je možné stiahnuť zo stránky http://downloads.pf.itd.nrl.navy.mil/proteantools/ Parametre aplikácie zobrazuje obrazok 1.2. Vysvetlenie jednotlivých argumentov sa nachádzajú na stránke http://pf.itd.nrl.navy.mil/protools/trpr.html. Výstupom je súbor, ktorý je možné použiť pre vstup do aplikácii vytvárajúce graf (gnuplot). Príklad 1.2 obsahuje ukážku použitia TRPR a gnuplot

Príklad

command line $ ./trpr mgen loss input recv.log output plot.plt

command line $ gnuplot -persist plot.plt

  

Usage: trpr [version][mgen][ns][raw][key][real][loss][latency|interarrival]
[window <sec>] [history <sec>]
[flow <type,srcAddr/port,dstAddr/port,flowId>]
[auto <type,srcAddr/port,dstAddr/port,flowId>]
[exclude <type,srcAddr/port,dstAddr/port,flowId>]
[input <inputFile>] [output <outputFile>]
[link <src>[,<dst>]][send|recv]
[range <sec>[:<sec>]][offset <hh:mm:ss>][absolute]
[summary][histogram][replay <factor>]
[png <pngFile>][post <postFile>][multiplot]
[ramp]

 obr.1.2 – parametre TRPR aplikácie

 

Výhody

  • generátor generuje toky s rôznym rozdelením, dokáže emulovať telefónny hovor.

  • počas behu sa dajú meniť vlastnosti toku (rozdelenie, zaťaženie)

  • generovanie viacerých tokov súčasne

  • možnosť vytvárať grafy

  • podpora GPS aplikácie

 

Nevýhody

  • generuje len UDP traffic

  • zložitá obsluha, na dosiahnutie výsledkov sú potrebné 3 programy

  • vytvorené logovacie súbory zaberajú veľa miesta na disku

 

Vykonaný test

Na otestovanie generátora sme použili 2 PC, jeden bol zdrojom, druhý prijímačom. Oba PC majú 10 MB/s sieťové rozhrania Každé PC bolo pripojené na fastEthernetové rozhranie na smerovač. Smerovače boli navzájom prepojené sériovou linkou s nastavenou priepustnosťou 128 kilobitov. Zdroj generoval UDP tok 64 Kbit (10 paketov za sekundu veľkosti 800 bytov) počas doby 5 minút. Na smerovači bežal SNMP protokol, pomocou ktorého sa merala záťaž na jednotlivých interfacoch. Zapojenie znázorňuje obrázok 1.3. Odosielateľ mal operačný systém macOS a príjemca Linux Debian.

  

Teoretická časť

Popis HDLC rámca

V našom teste sa požíva CISCO proprietárny rámec cHDLC. Obrázok zobrazuje štruktúru rámca. Veľkosť rámca je 56 bitov.

 

Popis Ethernet rámca

Obrázok popisuje formát ethernetového rámca. Veľkosť rámca je 144 bitov.

 

Popis IP paketu

Obrázok popisuje štruktúru IP paketu. Veľkosť hlavičky IP paketu je 160 bitov

 

Výpočet teoretickej veľkosti toku na sériovom rozhraní

UDP body = 6400 bitov (generované mgen-om)
UDP header = 64 bitov
IP header = 160 bitov
cHDLC rámec = 56 bitov
Generovanie 10 paketov za sekundu
Veľkosť toku = 10 x (56 + 160 + 64 + 6400) = 66 800 bitov = 66,8 Kbitov

 

Výpočet teoretickej veľkosti toku na ethernetovom rozhraní

UDP body = 6400 bitov (generované mgen-om)
UDP header = 64 bitov
IP header = 160 bitov
Ethernet rámec = 144 bitov
Generovanie 10 paketov za sekundu
Veľkosť toku = 10 x (144 + 160 + 64 + 6400) = 67 680 bitov = 67,68 Kbitov 

Praktická časť

Namerané hodnoty na FastEthernetovom rozhraní smerovača zobrazuje obrázok 1.4. Veľkosť nameraného toku je 67, 5 Kbitov = 67 500 bitov

Namerané hodnoty na sériovom rozhraní smerovača zobrazuje obrázok 1.5. Veľkosť nameraného toku je 66, 7 Kbitov = 66 700 bitov

 

Obrázok 1.6 znázorňuje graf, ktorý bol vytvorený na strane príjemcu z logovacieho súboru vytvorenom generátorom Mgen. Je v ňom vykreslená intenzita toku počas piatich minút.

 

Vyhodnotenie

Test ukázal, že Mgen generuje telo UDP segmentu. Rozdiel teoretickej a reálnej hodnoty zaťaženia siete sa líši na sériovom rozhraní o 100 bitov (teo. 66 800, reál. 66 700). Na jeden vyslaný paket je to rozdiel 10 bitov. Rozdiel hodnôt na ethernetovom rozhraní je 180 bitov (teo. 66 680, reál.67 500), čo predstavuje 18 bitov na paket. Keby generátor generoval celý UDP segment danej veľkosti, pri našom teste by bola odchýlka, skutočnej hodnoty a vypočítanej, 54 bitov na jeden paket. Možné chyby mohli nastať pri nepresnom meraní a zaokrúhlení PRTG servera. Pri použití Mgen generátora pre ďalšie merania na sériových interfacoch odporúčam počítať s chybou jeden byte = 8 bitov.

 

Záver

MGEN generátor je stále vo vývoji. Uspokojivo generuje UDP toky avšak negeneruje TCP traffic. Generátor pôsobí vhodne na vykonanie experimentov záťaže siete UDP paketmi. Veľkou výhodou je emulovanie telefonického hovoru.

Rate this post

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.