ověření možností generování provozu na platformě mikrotik...
Post on 27-Mar-2018
236 Views
Preview:
TRANSCRIPT
2013 1/19
Ověření možností generování provozu na
platformě MikroTik + srovnání s Cisco a
Open Source řešeními
Bc. Josef Hrabal - HRA0031
Bc. Kamil Malík – MAL0018
Abstrakt: Tento dokument, se zabývá ověřením a vyzkoušením možností generování síťového pro-
vozu na směrovačích na platformě MikroTik RouterOS a jejich srovnání s generováním provozu na
platformě Cisco Pagent IOS a Open Source řešením softwaru Ostinato.
Klíčová slova: Generování síťového provozu, MikroTik RouterOS, Cisco Pagent IOS, Ostinato
1 Úvod – Teoretická část .......................................................................................................... 2 1.1 Co to je generování síťového provozu ....................................................................... 2 1.2 Generátory provozu na síťových prvcích ................................................................... 2
1.2.1 MikroTik „Trafic Genrator“ a „Bandwidth test“ .................................................. 2 1.2.2 Cisco „Pagent IOS“ .............................................................................................. 2
1.3 Softwarové generátory provozu na OS ...................................................................... 3
1.3.1 Ostinato „Packet/Traffic Generator and Analyser“ .............................................. 3
2 Konfigurace a testování ......................................................................................................... 4 2.1 MikroTik RouterOS .................................................................................................... 4
2.1.1 Testování „Traffic Generator“ .............................................................................. 4
2.1.2 Testování „Bandwidth test“ .................................................................................. 9 2.2 Cisco „IOS Pagent“ .................................................................................................. 12
2.3 Open Source software Ostinato ................................................................................ 14 3 Závěr.................................................................................................................................... 18 4 Použitá literatura ................................................................................................................. 19
2013 2/19
1 Úvod – Teoretická část
1.1 Co to je generování síťového provozu
Jedná se o simulaci zátěže síťových prvků síťovým provozem. K tomuto účelu slouží
nástroje zvané generátory síťového provozu, může se jednat o nástroje implementované přímo
v síťových prvcích, například ve směrovačích firmy Cisco, MikroTik, HP, Ubiquiti, nebo o
softwarové nástroje, ať už komerční či Open Source, které umožňují stejnou funkcionalitu přímo na
uživatelském OS. Slouží pro testování chování sítě při definovaném provozu nebo pro měření
propustnosti a latencí.
1.2 Generátory provozu na síťových prvcích
Tyto generátory síťového provozu jsou součástí firmware síťového prvku. Jejich funkce a
způsob konfigurace se u jednotlivých výrobců liší a odvíjí se také od verze firmware síťového
prvku.
1.2.1 MikroTik „Trafic Genrator“ a „Bandwidth test“
Obrázek 1: Logo MikroTik
[7]
Na směrovačích firmy MikroTik běží firmware RouterOS, který obsahuje nástroje „Trafic
generator“ a „Bandwidth test“. [1]
Nástroj „Trafic generator“ umožňuje generování a odesílání uživatelsky definovaných
paketů přes volitelné rozhraní. Utilita umí zpětně vyhodnotit „latency“, „jitter“, rychlost odesílání a
přijímání paketů, počet ztracených paketů a umí detekovat chybné pořadí paketů. Pakety lze
definovat pomocí hlavičky a samotného obsahu paketu. Tímto nástrojem nelze generovat spojově
orientovaný provoz, tzn. nelze s ním generovat provoz TCP. [2]
Nástroj „Bandwidth test“ slouží k testování propustnosti mezi dvěma směrovači MikroTik.
Nástroj dovoluje generovat provoz UDP i TCP a zaznamenávat dosažené parametry sítě při testu.
Tento nástroj neumožňuje uživatelsky definovat obsah paketů. [3]
1.2.2 Cisco „Pagent IOS“
Obrázek 2: Logo Cisco [8]
2013 3/19
Na směrovače firmy Cisco lze nahrát modifikovaný firmware „IOS Pagent“ (jeden soubor
s bitovým obrazem systému). Tento firmware obsahuje sadu nástrojů schopných provádět
generování provozu. Generovaní provozu lze provádět na 3. vrstvě OSI modelu a výše. Lze
emulovat směrovací protokoly, multicast, TCP, FTP, HTTP session. Těmito nástroji nelze testovat
provoz na 2. vrstvě ISO modelu, tzn. nelze ovlivňovat kontrolní součty rámců, injektovat
hardwarové chyby a podobně. [4]
Nástroje:
„Traffic Generator“ (TGN) nástroj pro odesílání uživatelsky definovaných paketů na
jakoukoliv kombinaci rozhraní. Obsahuje předdefinované šablony pro generování specifických typů
paketů.
„Packet Count and Capture“ (PKTS) nástroj pro zobrazení příchozích a odchozích paketů
z libovolné kombinace rozhraní směrovače. Zachycovanou komunikaci lze filtrovat a zobrazovat.
„Router Verified Traffic“ a „Control Verified Traffic“ (RVT a CVT) nástroje společně
používané pro testování směrovačů, lze mezi nimi automaticky vytvořit několik datových proudů
pro několik různých LAN síťových protokolů.
„Passthru modify“ (PMOD) umožňuje směrovač vložit do testované sítě, tak aby provoz
procházel přes tento směrovač a procházející provoz mohl modifikovat.
„Session emulator“ slouží pro generování reálného TCP, FTP a HTTP provozu, vhodného
pro testování QoS.
„Large Network Generator“ (LNG) nástroje pro podporu směrovacích protokolů RIP, BGP,
IGRP, EIGRP, OSPF, ISIS. [5]
1.3 Softwarové generátory provozu na OS
Jedná se o generátory provozu ve formě klientské aplikace běžící na OS. Open Source
generátory síťového provozu jsou ve většině případů jen rozšířením základní funkcionality síťového
analyzéru. Pro srovnání jsme vybrali software „Ostinato Packet/Traffic Generator and Analyser“,
který nabízí širší možnosti nastavení generování síťového provozu.
1.3.1 Ostinato „Packet/Traffic Generator and Analyser“
Tento software je multiplatformní (běží na Windows, Linux a MacOS X), podporuje
generování většiny standardně používaných protokolů. Umožňuje modifikovat obsah prakticky
jakéhokoliv protokolu. Podporuje vytvoření a konfigurace několika datových proudů. Jeden klient
může spravovat několik rozhraní na několika počítačích generujících síťový provoz. [6]
2013 4/19
2 Konfigurace a testování
2.1 MikroTik RouterOS
Fyzická konfigurace a zapojení směrovačů MikroTik RB133 je na obr. 3. Pro konfiguraci
směrovačů je použita utilita WinBox nainstalovaná na konfiguračním PC. Pro odchytávání
generovaného provozu je do spojení mezi směrovači přidán rozbočovač, ze kterého bylo pomocí
síťové karty v notebooku a softwaru WireShark zachycována veškerá komunikace.
10.0.0.1/30 10.0.0.2/30
eth3 eth3
Router MikroTikRB133-B
Odchytávání komunikaceWireShark
Router MikroTikRB133-A
Konfigurační PC
HUB
Generovaný provoz
Obrázek 3: Fyzická konfigurace směrovačů
2.1.1 Testování „Traffic Generator“
Postup konfigurace nástroje „Traffic Generator“ na RouterOS ve verzi 5.25, pro vytvoření
generovaného provozu na protokolu UDP.
Konfigurace IP adres směrovače MikroTik RB133-A:
Konfigurace IP adres směrovače MikroTik RB133-B:
2013 5/19
Obrázek 4: Výchozí okno nástroje „Traffic Generator“
Na obrázku 4 je vidět hlavní okno nástroje „Traffic Generator“, které je přístupné z menu
„Tools -> Traffic Generator“. Z tohoto okna lze spouštět nebo zastavovat veškeré generování
datových toků, dále se také odtud dostaneme k jednotlivým dalším nastavením (Ports, Packet
Templates, Raw Packet Templates, Streams). Dále budou popsány jednotlivé části konfigurace
prioritně v grafickém rozhraní WinBox. Jelikož je „Traffic Generator“ poměrně nový, není ještě
veškerá funkcionalita dostupná z grafického rozhraní, proto jsou některé části konfigurace
prováděny v konzoli.
Obrázek 5: Definování portu nad interface
2013 6/19
Jako první je potřeba nadefinovat port pro generování provozu nad rozhraním, toto je
znázorněno na obrázku 5.
Vzorový paket na vrstvě UDP vygenerujeme následujícím příkazem:
K dispozici je nastavení generování hlavičky (MAC, IP, UDP, VLAN, RAW). Pro hlavičky
obsahující MAC vrstvu lze zadat parametry zdrojové a cílové MAC adresy a MAC protokol. Pro
hlavičky obsahující IP vrstvu lze zadat zdrojovou adresu, cílovou adresu, adresu brány, offset
fragmentace a hodnotu TTL. Pro UDP hlavičku je k dispozici nastavení zdrojového a cílového
portu. U VLAN lze nastavit VLAN id, prioritu a protokol. Jako poslední lze zvolit formát hlavičky
RAW, poté musí být hlavička celá definována uživatelem. Obsah paketu pak můžou podle volby
tvořit náhodně generovaná data, inkrementální data, nebo může být vyplněn předem definovanými
daty.
Obrázek 6: Editace vygenerovaného paketu
Ukázka editace vytvořeného paketu je na obrázku 6. Je k dispozici kompletní editace
hlavičky, defaultního portu, délky hlavičky, typ vnitřních dat a offsety pro IP a UDP.
2013 7/19
Obrázek 7: Vytvoření datového toku
Dále je potřeba vytvořit datový proud, který bude generovat proud námi specifikovaných
paketů. K dispozici je nastavení výstupního portu, velikosti jednotlivých paketů, rychlosti
generování v Mb/s nebo v P/s a zvolení předdefinovaného paketu.
Nyní již lze generování provozu spustit v hlavním okně nástroje „Traffic Generator“.
Obrázek 8: Statistiky "Traffic Generator"
Naměřené statistiky generovaného provozu lze zobrazit i v průběhu generování. Ukázka
statistiky testovaného provozu je na obrázku 8. Generování probíhalo rychlostí 3Mb/s, fyzická
konfigurace měla, díky použitému rozbočovači, přenosovou rychlost cca 2Mb/s. Ve statistice lze
tedy vidět počet odeslaných, přijatých a ztracených paketů a přenosových rychlostí. Dále je
zobrazena minimální, průměrná a maximální latence a „jitter“. Statistika lze zobrazit jak z pohledu
námi generovaného provozu tak i z celkového provozu na portu, kde lze vidět i provoz, který nebyl
vytvořen generátorem.
2013 8/19
Obrázek 9: Generovaný paket s náhodným obsahem
Obrázek 10: Generovaný paket s definovaným obsahem
Obsah generovaných paketů je zobrazen na obrázcích 9 a 10. Na prvním obrázku je paket
naplněn náhodnými daty, na druhém pak specifikovaným bajtem.
Obrázek 11: Definování vlastního paketu
Na obrázku 11 je ukázka paketu, který byl zachycen nástrojem WireShark a přenesen do
„Traffic Generator“. Jedná se o jednoduchý „Ping request“.
2013 9/19
Obrázek 12: Vygenerovaný paket
Na obrázku 12 můžeme vidět zachycený paket, který byl odeslán z „Traffic Generator“.
Obrázek 13: Odpověď na vygenerovaný paket
Obrázek 13 ukazuje odpověď „Ping reply“ od druhého směrovače. Paket byl tedy nejen
v pořádku vygenerován, ale i v pořádku přijat druhým směrovačem.
2.1.2 Testování „Bandwidth test“
„Bandwidth test“ server je v RouterOS implicitně zapnutý, ověřit si to můžeme následujícím
příkazem:
2013 10/19
Obrázek 14: Nastavení "Bandwidth test" pro UDP provoz
Vlastní testování se provádí přes hlavní okno „Bandwidth test“ dostupné z „Tools ->
Bandwidth test“. Na obrázku 14 je ukázáno nastavení pro testování UDP provozu. Nadefinovat lze
velikost UDP paketů, směr datového toku, rychlost datového toku (tato položka nemusí být zvolena,
pak bude generován maximální datový tok), volba pro náhodný obsah paketů (pro zamezení vlivu
komprese paketů) a přihlašovací údaje k vzdálenému směrovači. Po spuštění pak hned vidíme
aktuální datovou propustnost testovaného spoje, která se zanáší do grafu. Do statistiky se také
zapisuje průměrná rychlost za posledních 10 vteřin a celkově.
Obrázek 15: Obsah UDP paketu
Na obrázku 15 je obsah zachyceného paketu generovaného nástrojem „Bandwidth test“.
2013 11/19
Obrázek 16: Nastavení "Bandwidth test" pro UDP provoz
Testování TCP provozu je znázorněno na obrázku 15. Oproti UDP provozu zde nemůžeme
konfigurovat velikost paketů, namísto toho můžeme nastavit počet paralelně probíhajících TCP
spojení.
Obrázek 17: Obsah TCP paketu
Obsah generovaného TCP paketu je na obrázku 17.
2013 12/19
2.2 Cisco „IOS Pagent“
Vzhledem k tomu, že jsme neměli k dispozici firmware Cisco IOS Pagent, nemohli jsme
přímo otestovat možnosti generovaní síťového provozu na směrovačích Cisco nebo v emulátoru na
OS Linux. Tato kapitola je citací ze semestrální práce Generátor sítového provozu zpracované
v roce 2008. [5]
Jedná se o ukázku konfigurace pro vytvoření generovaného provozu mezi dvěma směrovači
s IOS Pagent. Následující konfigurační příkazy vytvoří datový proud ze směrovače Pagent 1.
Směrovač Pagent 2 zastává roli „ARP responder“ poskytujícího MAC adresy pro ARP požadavky.
Obrázek 18: Zapojení Cisco směrovačů s IOS Pagent
Nastavení směrovače (Pagent 2) jako „ARP responder“
Nastavení směrovače (Pagent 1) pro vytvoření 64 bajtového toku
2013 13/19
Nastavení směrovače (Pagent 1) pro vytvoření 570 bajtového toku
Nastavení směrovače (Pagent 1) pro vytvoření 1518 bajtového toku.
Spuštění generování provozu a zobrazení výsledku po vygenerování provozu.
2013 14/19
2.3 Open Source software Ostinato
Pro testování generování síťového provozu bylo použito zapojení směrovačů MikroTik na
obrázku 19. Pro odchytávání generovaného provozu je do spojení mezi směrovači přidán
rozbočovač, ze kterého bylo pomocí síťové karty v notebooku a softwaru WireShark zachycována
veškerá komunikace. Software Ostinato je nainstalován na dvě PC, mezi kterými je generován
síťový provoz.
K běhu software Ostinato je zapotřebí nainstalovat i ovladač WinPcap.
10.0.0.1/30 10.0.0.2/30
eth3eth3
Router MikroTikRB133-B
Odchytávání komunikaceWireShark
Router MikroTikRB133-A
PC 1 se softwaremOstinato
HUB
Generovaný provoz
PC 2 se softwaremOstinato
eth2 eth2
192.168.1.2/30
192.168.1.1/30 192.168.2.1/30
192.168.2.2/30
Obrázek 19: Zapojení pro generování provozu Ostinatem
2013 15/19
Obrázek 20: software Ostinato
Na hlavní obrazovce programu Ostinato je k dispozici volba „interface“ pro generování a
zachytávání provozu, následně seznam vytvořených pravidel pro generování a statistika vybraných
rozhraní.
2013 16/19
Obrázek 21: Průvodce vytvoření paketu
Ostinato obsahuje propracovaného průvodce pro vytváření paketů. Jeho možnosti jsou na
obrázku 21. Veškeré volby, které se v této části průvodce provedou, jsou pak blíže specifikovatelné
v dalších částech průvodce. Na ukázku jsem vygeneroval paket pro „Ping request“ (obrázek 22).
Obrázek 22: Vygenerovaný paket „Ping request“
2013 17/19
Obrázek 23: Zachycený paket "Ping request"
Vygenerovaný paket je zachycen na obrázku 23. Jak je z obrázku patrné, paket
vygenerovaný pomocí průvodce v software Ostinato je v pořádku.
Výsledný provoz lze skládat z více paketů, pro každý paket lze nastavit počet odeslání a
výsledně pro všechny pakety pak rychlost odesílání v P/s.
Ostatní Open Source řešení genrování síťového provozu mají podobný rozsah jako námi
testovaný software Ostinato, nebo se jedná pouze o jednoduché rozšíření síťového monitorovacího
softwaru.
2013 18/19
3 Závěr
Na směrovačích firmy MikroTik jsme pomocí integrovaných nástrojů „Traffic generator“ a
„Bandwidth test“, které jsou součástí firmwaru RouterOS, vyzkoušeli a ověřili možnosti generování
síťového provozu. Nástroj „Traffic generator“ umožňuje posílat uživatelsky definované „surové“
(RAW) pakety, nebo lze pomocí průvodce jednoduše vytvořit vzorové pakety s různými hlavičkami
a obsahem dat. Jsou k dispozici hlavičky MAC, IP, VLAN, UDP. Tento nástroj není schopen
generovat provoz na TCP vrstvě. Generování provozu TCP i UDP na směrovačích MikroTik lze
provést pomocí nástroje „Bandwidth test“, ale jedná se o test propustnosti s prakticky žádnou
možností editace obsahu generovaných paketů. Výhodou implementace nástrojů pro generování
provozu přímo do firmware směrovače je jejich snadné spuštění na již existující síti bez
výraznějších zásahů. Nevýhodou jsou omezené možnosti nastavení.
Námi vybraný a vyzkoušený Open Source software Ostinato nabízí poměrně široké
možnosti generování síťového provozu. Umožňuje generovat nejpoužívanější protokoly a editovat
jejich obsah. Oproti nástrojům v RouterOS nabízí širší možnosti nastavení jednotlivých
generovaných protokolů a má snadnou rozšiřitelnost o další generovatelné protokoly. Nevýhodou
je, že je potřeba mít dodatečné PC, na kterých bude daný software pro generování provozu
nainstalován, problematické u rozsáhlejších sítí.
Nástroje nabízené firmwarem Cisco Pagent IOS, pro generování síťového provozu, jsme
neměli možno otestovat, ale dle informací, ukázky získané z projektu o Pagent IOS, a skutečnosti že
se jedná o firmware pro směrovače přímo k tomuto účelu vytvořeného, lze předpokládat, že se bude
jednat o řešení podobných schopností, jaké nabízí softwarové Open Source řešení, i když dle
specifikací nelze generovat provoz na 2. vrstvě OSI modelu. Nevýhodou je, že pro generování
provozu na směrovačích Cisco je potřeba, aby byl na něm zmíněný speciální firmware nahrán.
Tento firmware není standardně přístupný pro veřejnost, ale je určen pro vnitřní potřeby společnosti
Cisco.
Obrázek 24: Fyzické provedení testovací konfigurace
2013 19/19
4 Použitá literatura
[1.] MikroTik RouterOS. [online]. [cit. 2013-05-04]. Dostupné z:
http://www.mikrotik.com/software.html
[2.] MikroTik RouterOS: Traffic Generator. [online]. [cit. 2013-05-04]. Dostupné z:
http://wiki.mikrotik.com/wiki/Manual:Tools/Traffic_Generator
[3.] MikroTik RouterOS: Bandwidth test. [online]. [cit. 2013-05-04]. Dostupné z:
http://wiki.mikrotik.com/wiki/Manual:Tools/Bandwidth_Test
[4.] Cisco: Pagent IOS. [online]. [cit. 2013-05-04]. Dostupné z:
http://www.ciscoconsole.com/tag/pagent-ios/
[5.] HRUBÝ, Přemysl. HRU221. Generátor sítového provozu. Pagent IOS. [online]. [cit.
2013-05-04]. Dostupné z: http://wh.cs.vsb.cz/sps/images/0/0d/Pagen_text.pdf
[6.] Ostainato: Packet/Traffic Generator and Analyzer. [online]. [cit. 2013-05-04]. Dostupné z:
http://code.google.com/p/ostinato/
[7.] MikroTik logo. Dostupné z: https://www.mikrotik.com/logo/
[8.] Cisco logo. Dostupné z: http://www.cisco.com/web/services/it-case-studies/cisco-
company.html
top related