19
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

Ověření možností generování provozu na platformě MikroTik ...wh.cs.vsb.cz/sps/images/4/44/Gener_provozu.pdf · 1.2.1 MikroTik „Trafic Genrator“ a „Bandwidth test“

Embed Size (px)

Citation preview

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