Formální analýza počítačových sítí a jejich modelování Ing. Vladimír Veselý studijní materiál ke kurzu Vyspělé technologie



Podobné dokumenty
DYNAMIPS DYNAGEN/GNS3

FORMÁLNÍ ANALÝZA POČÍTAČOVÝCH SÍTÍ A JEJICH MODELOVÁNÍ

Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek

Základy IOS, Přepínače: Spanning Tree

Projekt VRF LITE. Jiří Otisk, Filip Frank

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,


VirtualBox desktopová virtualizace. Zdeněk Merta

Informační technologie. Název oboru: Školní rok: jarní i podzimní zkušební období 2017/2018

Obsah. Úvod 13. Věnování 11 Poděkování 11

Technická specifikace zařízení

Ověření možností generování provozu na platformě MikroTik + srovnání s Cisco a Open Source řešeními

IT ESS II. 1. Operating Systém Fundamentals

Budování sítě v datových centrech

Telekomunikační sítě Protokolové modely

5. Směrování v počítačových sítích a směrovací protokoly

Multiple Event Support

Vzdálená správa v cloudu až pro 250 počítačů

CCNA I. 3. Connecting to the Network. CCNA I.: 3. Connecting to the network

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Dodávka nových switchů a jejich integrace do stávající IT infrastruktury inspektorátu SZPI v Praze

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

Témata profilové maturitní zkoušky

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Hot Standby Router Protocol (zajištění vysoké spolehlivosti výchozí brány)

Identifikátor materiálu: ICT-3-03

POČÍTAČOVÉ SÍTĚ 1. V prvním semestru se budeme zabývat těmito tématy:

Další nástroje pro testování

Semestrální projekt do předmětu SPS

Pokročilé architektury počítačů

Popis a ověření možností přepínacího modulu WIC- 4ESW pro směrovače Cisco

Téma bakalářských a diplomových prací 2014/2015 řešených při

Hodinový rozpis kurzu Správce počítačové sítě (100 hod.)

Principy ATM sítí. Ing. Vladimír Horák Ústav výpočetní techniky Univerzity Karlovy Operační centrum sítě PASNET

Instalace SQL 2008 R2 na Windows 7 (64bit)

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Cisco IOS TCL skriptování využití SMTP knihovny

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin:

Instalační a uživatelská příručka aplikace PSImulator2 Obsah

Acronis. Lukáš Valenta

NETSPEC. e-learningové vzdělávání síťových specialistů. registrační číslo: CZ / /0010

Novinky u zařízení pro sériovou komunikaci. Michal Kahánek

Úvod Bezpečnost v počítačových sítích Technologie Ethernetu

Pokročilé architektury počítačů

Simluátor Trilobota. (projekt do předmětu ROB)

Nasazení protokolu IPv6 v prostředí univerzitní sítě VŠB-TU Ostrava

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE

VLSM Statické směrování

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator

Konfigurace sítě s WLAN controllerem

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIV Windows server 2003 (seznámení s nasazením a použitím)

Obsah. O autorech 9. Předmluva 13. KAPITOLA 1 Počítačové sítě a Internet 23. Jim Kurose 9 Keith Ross 9

Maturitní otázky z předmětu Počítačové sítě školní rok 2007/2008

PB169 Operační systémy a sítě

Maturitní témata pro 1.KŠPA Kladno, s.r.o. Počítačové sítě a komunikace

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE

Novinky ve FlowMon 6.x/FlowMon ADS 6.x

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Tomáš Kantůrek. IT Evangelist, Microsoft

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Maturitní okruhy pro 1.KŠPA Kladno, s.r.o. Počítačové sítě a komunikace

Implementace Windows Load Balancingu (NLB)

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Nastavení programu pro práci v síti

SEMESTRÁLNÍ PROJEKT Y38PRO

TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet.

VRRP v1+v2, konfigurace, optimalizace a reakce na události na plaformě RouterOS

Compatibility List. GORDIC spol. s r. o. Verze

Proč počítačovou sí? 9 Výhody sítí 9 Druhy sítí 9. Základní prvky sítě 10 Vybavení počítače 10 Prvky sítě mimo PC 10 Klasické dělení součástí sítí 10

POČÍTAČOVÉ SÍTĚ Metodický list č. 1

Virtuální síťová laboratoř RCNA VŠB-TU Ostrava

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

Řešení jádra sítě ISP na otevřených technologiích

Radim Dolák Gymnázium a Obchodní akademie Orlová

Základní principy obrany sítě II. Michal Kostěnec CESNET, z. s. p. o.

Průzkum a ověření konfigurace Private VLAN na Cisco Catalyst 3560

Inovace výuky prostřednictvím šablon pro SŠ

Integrace formou virtualizace

FlowMon novinky. Představení FlowMon verze 5.0. Petr Špringl

IntraVUE Co je nového

Směrovací protokol OSPF s využitím systému Mikrotom. Ing. Libor Michalek, Ph.D.

TC-502L TC-60xL. Tenký klient

Název a označení sady: Člověk, společnost a IT technologie; VY_3.2_INOVACE_Ict

Testovací protokol USB token etoken PRO 32K

Střední odborná škola a Střední odborné učiliště, Hořovice

Část l«rozbočovače, přepínače a přepínání

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Představení Kerio Control

TC-502L. Tenký klient

Instalace Microsoft SQL serveru 2012 Express

FORTANNS. 22. února 2010

Transkript:

Formální analýza počítačových sítí a jejich modelování Ing. Vladimír Veselý studijní materiál ke kurzu Vyspělé technologie Fakulta informatiky a managementu Univerzity Hradec Králové Projekt Informační, kognitivní a interdisciplinární podpora výzkumu je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS VIRTUALIZACE POČÍTAČOVÝCH SÍTÍ VIRTUALIZATION OF COMPUTER NETWORKS TECHNICKÁ ZPRÁVA TECHNICAL REPORT AUTOR PRÁCE AUTHOR Ing. Vladimír VESELÝ BRNO 2012

Abstrakt Tato práce slouží jako výukový materiál k přednášce o Virtualizování počítačových sítí. Kromě počáteční motivace jsou v ní rozebrány detailně existující nástroje zabývající se simulováním či emulováním Cisco aktivních síťových prvků spolu s jednoduchými ukázkami jak dané nástroje použít. Klíčová slova PacketTracer, OMNeT++, INET framework, ANSAINET rozšíření, Dynamips, Dynagen, GNS3, Cisco IOU. Abstract This paper serves as supporting documentation for the lecture called Virtualizace počítačových sítí. Apart from basic motivation and main ideas why to virtualize real network is provided also detail description of existing tools and examples how to use them. Keywords PacketTracer, OMNeT++, INET framework, ANSAINET extension, Dynamips, Dynagen, GNS3, Cisco IOU. 1

Obsah 1 Úvod... 4 1.1 Motivace...4 1.2 Existující nástroje...5 1.3 Struktura práce...5 2 Demonstrační úloha... 6 2.1 Topologie...6 2.2 Adresní plány...7 2.2.1 Síťová vrstva...7 2.2.2 Linková vrstva lokality A...2 2.3 Zadání...2 3 Softwarové implementace... 2 3.1 Quagga...2 3.2 XORP...2 3.3 BIRD...3 4 PacketTracer... 4 4.1 Prerekvizity a instalace...4 4.2 Podporované technologie...4 4.3 Demonstrační úloha...5 5 OMNeT++... 6 5.1 Prerekvizity a instalace...7 5.2 Podporované technologie...7 5.3 Demonstrační úloha...8 6 Dynamips... 9 6.1 Prerekvizity a instalace...9 6.2 Podporované technologie... 10 6.3 Konfigurace sítě... 11 6.3.1 Parametry obecných nastavení... 12 6.3.2 Parametry sekce klienta... 12 2

6.3.3 Parametry podsekce modelu... 13 6.3.4 Parametry podsekce zařízení... 14 6.3.5 Parametry podsekce specifického zařízení Switch... 15 6.3.6 Propojení s reálným síťovým rozhraním... 15 6.3.7 Triviální příklad NET souboru... 15 6.4 Vytížení prostředků... 16 6.4.1 Optimalizace paměti... 16 6.4.2 Optimalizace procesoru... 17 6.5 Ovládání... 18 6.5.1 Konsole Dynagenu... 18 6.5.2 GUI GNS3... 20 6.6 Demonstrační úloha... 22 7 Cisco IOU... 23 7.1 Prerekvizity a instalace... 23 7.2 Podporované technologie... 24 7.3 Konfigurace sítě... 24 7.3.1 Triviální příklad NETMAP souboru... 24 7.4 Ovládání... 25 7.4.1 CLI ovládání... 26 7.4.2 Web GUI ovládání... 27 7.5 Demonstrační úloha... 28 8 Závěr... 29 9 Bibliografie... 30 10 Seznamy... 32 10.1 Obrázky... 32 10.2 Tabulky... 32 3

1 Úvod 1.1 Motivace Počítačové sítě jsou obvykle heterogenní komunikační systémy určené ke sdílení kontextu mezi dvěma či více síťovými zařízeními. Spolu s rozvojem Internetu došlo i k rapidnímu nárustu složitosti sítí jako celku. Ty se nyní sestávají nejen z koncových stanic, ale i aktivních prvků, přičemž samotné sdílení kontextu mezi nimi v současnosti zajišťuje celá plejáda protokolů, bez kterých si bezproblémovou funkčnost celé sítě již nelze představit. Mezi nimi jsou protokoly pro mapování adres mezi vrstvami dominantního TCP/IP síťového zásobníku jako ARP, IP, DNS, dálepak protokoly zajišťující transportní služby jako TCP či UDP, mezi dalšími FHRP protokoly pro redundanci výchozí brány, dynamické směrovací protokoly zajišťující soudržnost směrování (RIP, OSPF, EIGRP, IS-IS či BGP) a přepínání (TRILL či STP) a v neposlední řadě protokoly související s managementem sítí jako NetFlow, SNMP, CDP, LLDP a ICMP. Kromě těchto několika neopomenutelných jsou zde i protokoly vrstvy nejvyšší, a to aplikační, kterých existuje tolik, jako je různých aplikací: poštovní služby SMTP, IMAP, POP; webové služby HTTP, HTTPS; instant messaging skrz XMPP, OSCAR, MSN, YMSG a mnoho dalších. V tak komplexním prostředí, kterým počítačové sítě v současnosti jsou, síťový administrátoři a relevantní techničtí pracovníci obvykle baží po možnosti testovat a zkoumat chování jejich počítačové sítě v bezpečném prostředí. I díky tomu získají lepší představu o možných dopadech plánovaných konfiguračních změn, či co jim přinese adoptování nových technologií do stávající sítě, nebo se soustředit na odhalení existujících chyb a slabých míst. Virtualizace počítačových sítí neboli transformace reálné sítě na síť virtuální, která obvykle existuje fiktivně v rámci nějakého umělého prostředí, je právě oním bezpečným prostředkem. V rámci takovéto virtualizace je nutné rozlišovat dva termíny, a to simulaci a emulaci: Simulování počítačové sítě: Zahrnuje nahrazení reálné sítě jejím modelem, nad nímž jsme schopni provádět simulaci chování sítě reálné. Korektnost tohoto chování se odvíjí od kvality modelů to jak věrně jsou reálné součásti sítě odráženy v jim příslušejících modelech. V rámci simulace nás zajímají především projevy chování činnosti jednotlivých prvků, a to generování a reakce na zprávy, pro chování nedůležité nižší či vyšší vrstvy jsou obvykle abstrahovány. Emulování počítačové sítě: Oproti simulování vyššího chování prvků zahrnuje emulace i nízkoúrovňové projevy tohoto chování činnost samotného hardwaru, ze kterého je prvek sestaven. Emulace tedy začíná na nejnižších možných vrstvách a věrně tak napodobuje činnost daného prvku. Na rozdíl od simulace vyžaduje obvykle 4

větší výpočetní prostředky, ovšem na oplátku nabízí výsledky, které jsou svou povahou bližší chování reálné sítě. Tato práce si klade za cíl seznámit čtenáře s některými existujícími nástroji určenými k simulování nebo emulování prvků počítačových sítí (především směrovačů a přepínačů), které pomáhají vytvářet virtuální počítačové sítě. V následujících kapitolách bude vždy představen konkrétní nástroj a ukázány v ném jeden-dva demonstrační příklady. Další zkoumání nástrojů je posléze necháno na čtenářově zvědavosti. 1.2 Existující nástroje Některé z existujících nástrojů a druh jsou přehledně shrnuty v následující tabulce, ovšem v této práci budou detailněji představeny jen některé z nich: Tabulka 1: Přehled existujících simulátorů a emulátorů Název Druh URL PacketTracer simulátor http://www.cisco.com/web/learning/netacad/ course_catalog/packettracer.html OMNeT++ simulátor http://www.omnetpp.org/ NS2/3 simulátor http://www.nsnam.org/ NetSim simulátor http://tetcos.com/ Dynamips emulátor http://www.gns3.net/dynamips/ Cisco IOU emulátor N/A 1.3 Struktura práce Po nutném úvodu v Kapitole 1, následuje Kapitolou 2 představení demonstrační úlohy. V Kapitole 3 budou letmo zmíněny existující softwarové implementace směrovačů, které jsou svým chováním adekvátní reálným zařízením, jejich výkon je však typicky možnostmi hardwaru daného počítače. Kapitola 4 představí Cisco simulátor PacketTracer. Kapitola 5 se bude podrobněji zabývat diskrétním simulátorem OMNeT++ a jeho nádstavbami pro simulace počítačových sítí. V Kapitole 6 se detailněji popíší možnosti emulátoru Dynamips s jeho nádstavbou Dynagen pro správu komplexních sítí a grafickým rozhraním GNS3. Kapitola 7 se zmiňuje o oficiálním nástroji Cisco IOU používaném během praktických CCIE certifikačních zkoušek. Celá práce se uzavírá a bilancuje v Kapitole 8, po které následuje už jen soupis použité literatury v Kapitole 9. 5

2 Demonstrační úloha V této kapitole bude představena demonstrační úloha, která bude následně implementována v nástrojích PacketTracer, Dynamips a Cisco IOU a částečně i v OMNeT++. Jedná se o fiktivní půlsemestrální zkoušku pro kurz CCNP TSHOOT. Tento se primárně zabývá laděním a diagnostikou problémů v sítích založených na zařízeních od firmy Cisco. Jde nám tedy o sestavení virtuální sítě, která svým nastavením bude odpovídat následující specifikaci. 2.1 Topologie BGP 65200 BGP 65100 ISP EIGRP 65100 192.168.0.0/30 RIPv2 AccessB EdgeB EdgeC AccessC PC5 10.66.1.0/24 10.66.0.0/30 10.66.0.4/30 Core1 192.168.13.0/30 192.168.12.0/30 OSPF area 0 192.168.23.0/30 10.67.0.0/30 10.67.0.4/30 Core2 10.67.1.0/24 PC4 OSPF area 65 10.65.0.0/30 Core3 10.65.0.4/30 LACP PC1 VLAN10 EdgeA1 dot1q trunks native VLAN 9 EdgeA2 PC3 VLAN30 PAgP PAgP PC2 VLAN20 AccessA Obrázek 1: Topologie zapojení zařízení v demonstrační úloze 6

2.2 Adresní plány V obrázku topologie záměrně chybí vyznačení identifikátorů propojovaných rozhraní. Jak se ukáže níže, každý z programů, se kterým bude čtenář seznámen, nabízí trochu jinou filozofii práce s nimi, a proto se nedá rigidně dbát na jednom konkrétním identifikátoru. Níže uvedené tabulky tak slouží pouze jako startovní reference, přičemž rozdíly od ní budou diskutovány vždy v patřičné podkapitole věnující se stvrárnění této demonstrační úlohy v daném nástroji. 2.2.1 Síťová vrstva Zařízení Rozhraní Adresa ISP Serial0/0 192.0.2.1/30 Loopback 0 200.1.1.1/32 200.2.1.1/32 200.3.1.1/32 Core1 FastEthernet0/0 10.66.0.1/30 FastEthernet0/1 10.66.0.5/30 Serial0/0 192.168.13.1/30 Serial0/1 192.168.12.1/30 Serial0/2 192.0.2.2/30 Core2 FastEthernet0/0 10.67.0.1/30 FastEthernet0/1 10.67.0.5/30 Serial0/0 192.168.23.1/30 Serial0/1 192.168.12.2/30 Core3 FastEthernet0/0 10.65.0.1/30 FastEthernet0/1 10.65.0.5/30 Serial0/0 192.168.13.2/30 Serial0/1 192.168.23.2/30 EdgeA1 FastEhternet0/0 10.65.0.2/30 Vlan10 10.65.10.1/24 Vlan20 10.65.20.1/24 Vlan30 10.65.30.1/24 Vlan99 10.65.99.1/24 EdgeA2 FastEhternet0/0 10.65.0.6/30 Vlan10 10.65.10.2/24 Vlan20 10.65.20.2/24 Vlan30 10.65.30.2/24 Vlan99 10.65.99.2/24 AccessA Vlan99 10.65.99.3/24 EdgeB FastEthernet0/0 10.66.0.2/30 FastEthernet0/1 10.66.0.6/30 FastEthernet1/0 10.66.1.1/24 EdgeC FastEthernet0/0 10.67.0.2/30 FastEthernet0/1 10.67.0.6/30 FastEthernet1/0 10.67.1.1/24 7

2.2.2 Linková vrstva lokality A Zařízení Rozhraní Vlan EdgeA1 FastEthernet1/1 FastEthernet1/2 Trunk, native vlan 9 FastEthernet1/3 FastEthernet1/4 Trunk, native vlan 9 FastEthernet1/11 Access, vlan 10 FastEthernet1/12 Access, vlan 20 FastEthernet1/13 Access, vlan 30 zbývající Access, vlan 999 EdgeA2 FastEthernet1/1 FastEthernet1/2 Trunk, native vlan 9 FastEthernet1/5 FastEthernet1/6 Trunk, native vlan 9 FastEthernet1/11 Access, vlan 10 FastEthernet1/12 Access, vlan 20 FastEthernet1/13 Access, vlan 30 zbývající Access, vlan 999 AccessA FastEthernet1/3 FastEthernet1/4 Trunk, native vlan 9 FastEthernet1/5 Trunk, native FastEthernet1/6 vlan 9 FastEthernet1/11 Access, vlan 10 FastEthernet1/12 Access, vlan 20 FastEthernet1/13 Access, vlan 30 zbývající Access, vlan 999 Id Vlan 10 Vlan 20 Vlan 30 Vlan 9 Vlan 99 Vlan 999 Jméno Marketing Sales IT _Native _Mgmt _ParkingLot 2.3 Zadání 2

3 Softwarové implementace Trochu mimo nástroje, které byly zmíněny v Kapitole 1, existují ještě softwarové implementace síťových směrovačů. Jejich instance mohou být nasazeny v klasických virtualizačních prostředích jako VMWare [1], VirtualBox [2] či Xen [3], přičemž jejich vzájemným propojením lze také následně vytvořit model virtuální počítačové sítě. V reálné praxi se používají zejména softwarové implementace směrovačů, a to ve chvílích kdy koncový uživatel nemá prostředky na zakoupení dedikovaného hardwaru, popřípadě mu nevadí výkonnostní limity, která čistě softwarová řešení mají. Typicky se tedy nasazují softwarové směrovače jakožto démoni do serverů, které leži na hranicích sítě a poskytují konektivitu s vnějším světem. Implementace L2 či L3 přepínačů jsou taktéž k dispozici, ovšem jejich nasazení brání limity na množství síťových karet, které lze do obvyklého serveru nainstalovat nesmíme zapomínat, že přepínače jsou typicky osmi, šestnácti či více portová zařízení. 3.1 Quagga Komunitní opensourcový projekt GNU Zebra [4] se nastartoval v roce 1996 v Japonsku jako jedno z vůbec prvních řešení pro softwarové směrování. V roce 2005 vývoj na něm ustal a neoficiálním pokračovatelem se stal fork původního projektu jménem Quagga [5]. Aktuální implementace v sobě zahrnuje následující směrovací démony pro protokoly OSPFv2, OSPFv3, RIPv2, RIPng, BGP4, tedy většina majoritně nasazovaných směrovacích protokolů pro unicastové směrování. Konfigurace každého démona se nachází v separátním souboru, přičemž kromě editace těchto souborů lze celou Quaggu konfigurovat pomocí CLI rozhraní, které využívá velice podobných příkazů jako Cisco IOS. 3.2 XORP Extensible open routing platform (XORP) [6] vznikl v roce 2000 jako iniciativa konsorcia Intelu, Microsoftu a National Science Foundation k vytvoření modulárního softwarového směrovače. Taktéž je primárně určen pro na unixu založené systémy, ale oproti Quagga existuje jeho mutace i pro prostředí Windows. Díky větší komerční oblibě (a zejména externím dotacím) nabízí větší škálu funkcí a jsou tak podporovány jak unicastové směrovací protokoly jako RIPv2, RIPng, OSPFv2, OSPFv3, BGP4, tak i multicastové protkoly IGMP, MLD a PIM-SM, ale i filtrování provozu pomocí ACL a redundance výchozí brány pomocí VRRP. Konfigurace XORPu se děje přes jeden konfigurační soubor, který má syntaxi podobnou Junipeřím konfiguracím (tedy pseudo vnořovaný zápis pomocí složených závorek a na řádku vždy pak dvojice parametr : hodnota). 2

3.3 BIRD Bird Internet routing deamon (BIRD) [7] vzniknl jako školní projekt Univerzity Karlovy nad jehož následným vývojem převzal záštitu CZ.NICu. I díky této podpoře se dočkal zejména v Evropě oblibě a je hojně nasazován v internetových peeringových centrech. Aktuálně podporuje směrovací protokoly jako BGP4, RIP, OSPFv2 a OSPFv3 a lze ho konfigurovat i vzdáleně přes CLI, které zpracovává syntakticky podobné příkazy jako Cisco IOS. 3

4 PacketTracer PacketTracer [8] je společností Cisco oficiálně podporovaný nástroj k výuce kurzů CCNE a CCNA, a některým kapitolám kurzů CCNA Security, CCNA Voice a CCNP. Naneštěstí obzváště u tří posledně zmíněných kurzů je podpora některých technologií v PacketTraceru omezená (viz přehled [9]). 4.1 Prerekvizity a instalace Ze stránek Cisco NetAcademy [10] lze stáhnout dva instalátory jeden, který obsahuje i spoustu testovacích laboratoří a tutoriálů, a druhý, jenž obsahuje jen aplikaci samotnou. Ke dni sepisování této práce je aktuální verze 5.3.3 a mezi podporovanými hostitelskými systémy jsou jak Windows, tak na Linuxu založené systémy. Minimální systémové požadavky pro provoz PacketTraceru 5.3.3 jsou: CPU: Intel Pentium III 500 MHz; OS: Microsoft Windows XP, Microsoft Windows Vista, Microsoft Windows 7, Fedora 11 nebo Ubuntu 8.04 LTS; RAM: 256 MB; Prostor na disku: 250 MB; Rozlišení: 800 x 600; Adobe Flash Player. 4.2 Podporované technologie Mezi hlavní přednosti PacketTraceru patří: simulace chování Cisco IOSu (řídící software pro směrování a přepínání, který běží v low-endových modelech Cisco zažízení), vizualizace toku síťového provozu a kolaborační prvky (možnost více uživatelů pracovat v rámci téže simulace, popřípadě plnění předpřipravených scénářů). Následuje zevrubný soupis technologií, které jsou aktuální verzí PacketTraceru podporovány: Linkové: DSL, Cable, 802.11a/b/g, Ethernet, PPPoE, STP a RapidSTP, 802.1q, LACP, PAgP; Směrování: statické, RIPv1, RIPv2, EIGRP, single-area a multi-area OSPF, BGP, inter-vlan routing, redistribuce. 4

Aplikační protkoly: HTTP, HTTPS, DHCP, DHCPv6, Telnet, SSH, TFTP, DNS, TCP, UDP, IPv4, IPv6, ICMP, ICMPv6, ARP, IPv6 ND, FTP, SMTP, POP3, H.323, SCCP; WAN: PPP, Frame Relay, HDLC, NAT, ACLs, SLARP; Bezpečnost: IPsec, GRE, ISAKMP, NTP, AAA, RADIUS, TACACS, SNMP, SSH, SYSLOG, CBAC, Zone-based policy firewall, WEP, WPA, EAP. Jak již bylo zmíněno, tak PacketTracer je uzpůsoben kolaborační práci ve více lidech. De facto to znamená, že jednotlivé simulace mohou být propojeny mezi sebou a různé instance PacketTracerů, tak mohou vzájemné komunikovat. K tomu je určen i dedikovaný protokol Packet Tracer Messaging Protoco (PTMP) běžící nad TCP, který přenáší virutální PDU mezi instancemi. Obrázek 2: Příklad propojení tří simulací běžících v PacketTracerech I když se předchozí seznam zdá být velký, znovu je potřeba upozornit, že co se týče směrovacích či vybraných aplikačních protokolů, tak jejich implementace a následné chvoání rozhodně nejsou referenční a neodrážejí reálné chování zařízení v síti například konvergence bez časových prodlev, okamžité detekce nosné, ap. Navíc oproti jiným simulátorům, je vývoj PacketTraceru naprosto uzavřený a uživatelům je dodáván jako konečný produkt. 4.3 Demonstrační úloha 5

5 OMNeT++ OMNeT++ [11] je objektově orientovaný modulární diskrétní síťový simulátor. Existují verze pro Unix i Windows a obě jsou pro školní účely zdarma. Kromě simulačního jádra obsahuje GUI a IDE. Díky rozšířením a frameworku INET obsahuje knihovny pro práci s TCP/IP, Ethernet, FDDI, Token Ring, 802.11 a Peer-to-peer. Komerční verze tohoto simulátoru se jmenuje OMNeST. Při modelování v OMNeT++ se do sebe vnořují jednotlivé moduly hierarchicky. Nejvýše postavený modul se označuje jako modul systémový, ten se skládá ze submodulů. Může se jednat o modely složené (compound models), které se skládají z daších dílčích modulů nebo z modulů jednoduchých. Ty jsou dále nedělitelné. Obrázek 3: Hierarchie modulů Topologie simulačníc sítě propojení jednotlivých modulů se v OMNeT++ popisuje speciálním jazykem NED. Logika jednoduchých modulů (jejich chování) se zapisuje v jazyce C++. Moduly není třeba psát od začátku. OMNeT++ obsahuje nìkolik předdefinovaných tříd objektů, ze kterých se dá podědit chování a nová funkcionalita snadno dodefinovat. Moduly mezi sebou komunikují pomoci zasílání zpráv. Ty můžeme z hlediska sítí považovat za abstrakce PDU. Zprávy mohou přijít od jiného modulu nebo ze stejného (využívají se jako časovače). Každý modul obsahuje brány, které jsou vstupní (In) pro příjem zpráv a výstupní (Out) pro odesílání zpráv. Mezi bránami modulů se vytváří spojení. Spojení může existovat mezi moduly na stejné úrovni hierarchie nebo mezi modulem a jeho složeným rodičovským modulem. Pro možnost modelování přenosu paketů po lince, má spojení tři volitelné parametry přenosové zpoždění, bitová chybovost a rychlost přenosu dat. Obrázek 4: Spojení modulů Framework INET [12] je volně dostupná knihovna pro simulační prostředí OMNeT++. Rozšiřuje tak základní schopnosti o některé drátové i bezdrátové síťové protokoly a techologie. Mimo 6

jiné obsahuje protokoly UDP, TCP, SCTP, IP, IPv6, Ethernet, PPP, 802.11, MPLS, OSPF a další. V rámci projektu ANSA [13] dochází k rozšřování této knihovny, které se označuje jako ANSAINET. 5.1 Prerekvizity a instalace Detailně je instalace popsána na webu [14], takdy ji shrneme do několika dílčích kroků: 1) Stáhnutí a překlad zdrojových kódů OMNeT++ na naši platformu (aktuální je verze 4.2.2) 2) Stáhnutí a import frameworku INET (aktuální je verze 2.0) 3) Stáhnutí a import ANSAINETu (dostupný na GIT repozitáři) Co se týče vývoje simulačních modelů, bylo by dobré na tomto místě zmírnit nešvar v podobě špatné zpětné kompatibility hotových či starších modulů ANSAINETu na aktuálním INETu. Na řešení se v současnosti usilovně pracuje. 5.2 Podporované technologie Nad rámec knihovny INET obsahuje moduly pro protokoly RIP, OSPF a IGMP, modul pro ACL filtrování, schopnost načítat konfiguraci sítí z externích souborů, model přepínače, podporu VLAN a protokolu STP, podpora dual-stack architektury směrovače i hosta, protokol OSPFv3, atd. Následující tabulka shrnuje ke dni vzniku práce podporované technologie ANSAINETu, spolu s jejich popisem, jejich autory a odkazy na jejich kvalifikační práce. Tabulka 2: Přehled technologií v rozšíření ANSAINET Technologie Autor Popis Link ANSATranslator Vladimír Kojecký Univerzální překladaš running-configů různých výrobců do XML ekvivalentu. [15] ANSADiscover Jakub Smekal Objevovač fyzické topologie postavený na extrakce informací z CDP/LLDP a SNMP. [16] ANSARouter Vladimír Sivák Původní koncepce Cisco směrovače. [17] ANSASwitch Zdeněk Kraus Model L3 switche s technologiemi pro Inter- VLAN směrování a podporou STP. [18] ANSAConfig Marek černý Obecný konfigurátor pro simulační modely a topologii. [19] QoS Martin Danko Kvalita služeb na rozhraních s podporou různých frontovacích algoritmů a řízení jejich zahlcení. [20] RIPv2 Veronika Rybová Unicastový distance-vector směrovací protokol. [21] RIPng Jiří Trhlík Ekvivalent RIPv2 pro IPv6. N/A OSPFv3 Jakub Mrázek Ekvivalent OSPFv2 pro IPv6 N/A IS-IS Matěj Hrnčiřík Unicastový link-state směrovací protokol založený na CLNS adresování. [22] TRILL Marcel Marek Protokol vycházející z IS-IS pro zajištění bezsmyškovosti na vrstvě L2. N/A 7

IGMP Petr Mateleško Multicastový signalizační protokol mezi směrovači a koncovými stanicemi. [23] MLD Adam Malik Ekvivalent IGMP pro IPv6 N/A PIM-DM Veronika Rybová Multicastový směrovací protokol pracující v inkluzivní režimu doručování dat. [24] PIM-SM Tomáš Procházka Multicastový směrovací protokol pracující v exkluzivním režimu doručování dat. N/A FHRP Petr Vítek Protokoly pro zajištění redundance výchozí brány HSRP, VRRP a GLBP. N/A Model ANSARouteru, jakožto vyvrcholení snah o integraci technologií do sebe vypadal k březnu 2012 následovně: Obrázek 5: Struktura ANSARouteru na nejvyšší úrovni abstrakce 5.3 Demonstrační úloha V OMNeT++ jsme schopni sestavit topologii demonstrační úlohy a reálná zařízení nahradit adekvátními modely. Vzhledem však k neustálé práci na simulátoru a jeho rozšířeních nejsme v současnosti schopni simulovat technologie jako HSRP či BGP. Dalším omezením je, že v po spuštění simulace nejsme přímo schopni konfiguračně interagovat s použitými modely, tzn. místo interaktivního řešení zkoušky, jako nabízí předchozí nástroje, se musíme spokojit se zkoumáním simulace, která obsahuje již opravenou komunikaci. 8

6 Dynamips Nyní se odchýlíme od simulátorů a představíme si dostupné emulátory Cisco zařízení. V této kapitole bude představen nástroj Dynamips, jeho rozšíření pro správu virtuálních laboratoří jménem Dynagen a GUI na obou aplikacích jménem GNS3, které přidává i podporu o propojení s laboratořemi ve VirtualBoxu či QEMU a emulátor Cisco ASA a PIXu. Jaká je souvztažnost trojice Dynamips Dynagen GNS3? Dynamips [25] je samotný emulátor hardwaru routeru a zároveň mezivrstvou mezi touto emulací a běžícím IOSem. Dynagen [26] je správcem virtuálních laboratoří, ve kterých běží jednotlivé instance Dynamipsu umožňuje snadno definovat propoje mezi nimi a zastavovat/spouštět instance, popřípadě ukládat jak výslednou topologii, tak nastavení jednotlivých zařízení. GNS3 [27] je grafickou nádstavbou nad Dynagenem, která přidává možnost do virutální sítě zakomponovat kromě Cisco routerů i zařízení jako ASA, PIX, routery od Juniperu s JunOSem a připojit i virtuální mašiny z VirtualBoxu. Obrázek 6: Souvztažnost komponent 6.1 Prerekvizity a instalace Jak již bylo řečeno, tak Nejvýhodnější je provozovat všechny programy dohromady, proto nejideálnější je stáhnout si kompletní instalační balíček ze stránek GNS3 [28] či v případě na unixu postaveného systému zvolit instalaci z portů nebo repozitářů, kde aktuální verze je 0.8.3.1. Kromě programů Dynamips, Dynagen a GNS3 je součástí instalace i Qemu/Pemu emulátor, terminálový klient Putty [29], VPCS, wrapper pro VirtualBox, knihovna WinPCAP [30] a nástroj pro inspekci síťového provozu WireShark. Kromě samotného programu je mít potřeba k dispozici i soubor s Cisco IOSem a zde je asi největší úskalí použití tohoto nástroje. Bez autorizovaného přístupu ke stahování IOSů z portálu Cisca, tedy bez platného CCO účtu, se neobejtdete. Jedinou alternativou je stažení IOSů ze stránek, na kterých je tento produkt umístěn a poskytován nelegálně zadarmo, což je ekvivalentem nákupu za pět prstů a jeho následného nelicencovaného použití. 9

6.2 Podporované technologie Od roku 2005 je k dispozici volně dostupný emulátor Dynamips routerů firmy Cisco. Jedná se o konzolovou aplikaci pro platformu PC, která je schopna napodobit chování specifického HW (procesoru, RAM, NVRAM, konzolových portů ale i dalších periferií). V současnosti program bez větších obtíží zvládá routery řady: Cisco 7200 (konkrétně model 7206); Cisco 1700 (konkrétně modely 1710, 1720, 1721, 1750, 1751, 1760) Cisco 3600 (konkrétně modely 3620, 3640 a 3660); Cisco 3700 (konkrétně modely 2691, 3725, 3745); Cisco 2600 (konkrétně modely 2610, 2611, 2620, 2621, 2610XM, 2611XM, 2620XM, 2621XM, 2650XM, 2651XM). Mimoto dovoluje propojit rozhraní více routerů i ke zjednodušeným virtuálním přepínačům pro linkové technologie Ethernet (zapouzdření pomocí 802.1q), Frame Relay (DLCI statické mapování) a ATM (PVI/PVC). Samotný Dynamips vytváří zapouzdřovací vrstvu na Cisco IOSem, která pro jeho běh emuluje činnost hardwaru. Každá podporovaná platforma má automaticky nebo volitelně osazené následující primární sloty: Tabulka 3: Přehled základních rozhraní emulovaného routeru Identifikátor Model Rozhraní Přítomnost Leopard-2FE 3620, 3640, 3660 2 FastEthernet Automatická GT96100-FE 2691, 3725, 3745 2 FastEthernet Automatická CISCO1710-MB-1FE-1E 1710 1 FastEthernet 1 Ethernet Automatická C1700-MB-1ETH 1720, 1721, 1750, 1751, 1760 1 FastEthernet Automatická CISCO2600-MB-1E 2610 1 Ethernet Automatická CISCO2600-MB-2E 2611 2 Ethernet Automatická CISCO2600-MB-1FE 2620, 2610XM, 2620XM, 2650XM 1 FastEthernet Automatická CISCO2600-MB-2FE 2621, 2611XM, 2621XM, 2651XM 2 FastEthernet Automatická C7200-IO-FE 7206 1 FastEthernet Volitelná C7200-IO-2FE 7206 2 FastEthernet Volitelná C7200-IO-GE 7206 1 GigabitEthernet Volitelná Zajímavou možností je i podpora různých portových adaptérů (PA) [31], síťových modulů (NM) [32] a WAN karet (WIC) [33] např.: 10

Tabulka 4: Přehled PA, NM a WIC rozšíření do slotů Identifikátor Druh Rozhraní Popis PA-FE-TX PA 1 FastEthernet DEC21140 PA-2FE-TX PA 2 FastEthernet Intel i8254x PA-4E PA 4 FastEthernet AMD Am79c97x PA-8E 8 FastEthernet PA-A1 PA 1 ATM TI Tneta1570 PA-4T+ PA-8T PA 4 Seriál 8 Serial PA-POS-OC3 PA 1 POS PA-GE PA 1 GigabitEthernet NM-1FE-TX NM 1 FastEthernet NM-4T NM 4 Seriál NM-16ESW NM 16 FastEthernet Switchovací modul NM-NAM NM Network Analyzer NM-IDS NM Intrusion Detection System NM-1E NM 1 FastEthernet NM-4E NM 4 FastEthernet WIC-1ENET WIC 1 FastEthernet WIC-1T WIC 1 Serial WIC-2T WIC 2 Serial Počáteční úspěch celého Dynamipsu tkvěl i v tom, že Cisco se svými subdodavateli hardwaru nemělo právní doložku o utajování driverů k jednotlivým periferiím. Toto v současnosti už neplatí, a tak bohužel celý projekt s přechodem na nové generace směrovačů, které mají už drivery veřejně nedostupné, pravděpodobně skončí. 6.3 Konfigurace sítě Dynagen přináší do Dynamipsu vhodnou nádstavbu pro vytvoření čitelné a přenositelné konfigurace síťových topologií a ve spojení s Hypervisorem, což je správce běžících instancí Dynamips routerů pak umožňuje pohodlnou správu celévirtuální síťové laboratoře. K popisu sítě se využívá plain-textový soubor s příponou NET, ve kterém jsou uloženy veškeré konfigurace síťových prvků, jejich vzájemných propojení a dalších parametrů simulace. Tento soubor má syntaxi velmi podobnou INI souborům s MS-DOS systému, přičemž se skládá: řádek komentáře v souboru je uvozen znakem mřížky # a může se vyskytovat kdekoli; obecná nastavení; sekce vztahující se ke klientovi (simulaci je možné rozšířit i na více PC v rámci sítě); podsekce vztahující se k modelové řadě; podsekce vztahující se ke konkrétnímu zařízení [[<device>]]; 11

Obrázek 7: Diagram syntaxe NET souboru Řetězce nastavení jsou necitlivé na malá a velká písmenka. Syntakticky musí být splněna následující pravidla při tvorbě NET souboru: Konfigurační soubor musí obsahovat alespoň jednu sekci klienta; Další sekce mohou následovat až po platné definici sekce; Podsekce obecných nastavení modelové řady musí předcházet sekci pro konkrétní zařízení. 6.3.1 Parametry obecných nastavení Následující parametry mají rozsah vlivu na všechny klienty v dané simulaci. Tabulka 5: Některé z parametrů obecné sekce Parametr Hodnoty Popis autostart model true false 2610 2611 2620 2621 2610XM 2620XM 2621XM 2650XM 2651XM 2691 3620 3640 3660 3725 3745 7200 V případě hodnoty true se ihned po spuštění simulace nastartují všechny instance routerů. Implicitní model routeru použitých v této simulaci. ghostios true false Viz. podkapitola o Vytížení prostředků sparsemem true false Viz. podkapitola o Vytížení prostředků idlemax unsigned integer Maximální doba uspání routeru v případě detekce čekací smyčky. idlesleep Implicitní doba uspání routeru v případě detekce unsigned integer čekací smyčky. 6.3.2 Parametry sekce klienta Sekce je vždy uvozena povinným začátkem[<hostname>:<port>], za kterým následují jednotlivé příkazy. Typicky v NET souboru existuje sekce klienta za každý model Cisco router, která se ve virtuální síti vyskytuje. Tyto příkazy mají vliv jen na konkrétního klienta, resp. jeho část. Pokud není parametr port explicitně určen, je pro TCP komunikaci použit port 7200. Parametr hostname může nabývat hodnot: 127.0.0.1 v případě označení aktuálního PC; IP adresa daného PC; jakéhokoli doménového jména definovaného v souboru etc/hosts OS; 12

Tabulka 6: Některé z parametrů sekce klienta Parametr Hodnoty Popis console Základní port pro jednotlivá telnetová konzolová unsigned integer sezení. Cesta k adresáři, ve kterém bude Dynamips workingdir string uchovávat všechny soubory týkající se spuštěné simulace. udp unsigned integer Základní port pro UDP NIO. 6.3.3 Parametry podsekce modelu Podsekce začíná vždy [[<model>]], přičemž parametr <model> může nabývat stejných hodnot jako příkaz stejného jména obecných nastavení. Rozsah má na všechny routery dané klientské části simulace, které mají totožnou modelovou řadu. Tabulka 7: Některé z parametrů podsekce modelu Parametr Hodnoty Popis image string Absolutní či relativní cesta k souboru se zvoleným IOSem pro danou modelovou řadu. ram unsigned integer Množství MB virutální paměti alokované pro každou instanci routeru stejné modelové řady. nvram unsigned integer Velikost NVRAM v MB. rom unsigned integer Velikost ROM v MB. Velikost PCMCIA ATA disku, disk<i> unsigned integer v současnosti je k dispozici emulace až dvou takovýchto disků, tzn. <i> = [1,2]. confreg 0x(unsigned integer) Šestnáctková hodnota konfiguračního registru. NPE modul, hodnota řetězce může mít npe string libovolnou hodnotu odpovídající podporovanému HW. midplane std vxr Nainstalovaný druh středové desky. Pokud je nastaveno na false využívá se mmap true false k emulaci virtuální paměti routerů dané modelové řady opravdové fyzické RAM namísto swapování na disk. idlepc 0x(unsigned integer) Šestnáctková hodnota IdlePC viz. podkapitola o Vytížení prostředků. exec_area unsigned integer Velikost spouštěcí oblasti v MB. configuration base64 string Startup konfigurace kódovaná do řetězce ve formátu base64. cnfg string Absolutní nebo relativní cesta k souboru se startup konfigurací uložené ve formátu plain-text. ghostios true false Viz. podkapitola o Vytížení prostředků. 13

sparsemem true false Viz. podkapitola o Vytížení prostředků. idlemax Maximální doba uspání routeru v případě unsigned integer detekce čekací smyčky. Implicitní doba uspání routeru v případě idlesleep unsigned integer detekce čekací smyčky. 6.3.4 Parametry podsekce zařízení Podsekce začíná vždy [[<router>]], kde parametr <router> je jedinečný identifikátor tohoto konkrétního routeru v rámci celé simulace. Rozsah následující soupisky příkazů je pouze na tento konkrétní router. Tabulka 8: Některé z parametrů podsekce konkrétního zařízení Parametr Hodnoty Popis Hodnota udává model konkrétního model unsigned integer routeru, a jaká pro něj vyplývají nastavení v sekci modelové řady. console unsigned integer Specifikuje hodnotu konzolového portu přepisujíc tak implicitní nastavení v sekci obecných nastavení. aux unsigned integer Auxiliary port pro daný router. Základní MACovská adresa tohoto mac routeru, přičemž pokud není explicitně MAC-48 (colons) specifikována tímto nastavením je generována náhodně automaticky. Řetězec, který specifikuje použitý slot<i> string portový adaptér PA nebo síťový modul NM. Může nabývat hodnot uvedených v kapitole Podporovaný HW. Přičemž parametr <i> může nabýt platných číselných hodnot jednotlivých slotů. Pro modely routerů, které podporují WIC karty umožňuje ručně definovat, jaké WIC jsou nainstalované. Může nabývat wic<j>/<i> string hodnot uvedených v kapitole Podporovaný HW. Přičemž parametry <j>, <i> můžou nabývat číselných hodnot jednotlivých portů. Na levé straně stojí rozhraní, které chceme spojit s na pravé straně stojícím zařízením <device> a jeho rozhráním. Obě rozhraní jsou definována řetězcem [f s a]<j>/<i> <device> [f s a]<j>/<i> skládajícím se z typu rozhraní (s = sériové, f = fastethernetovské, a = ATM) a jeho číselného označení portů <j>/<i>. 14

6.3.5 Parametry podsekce specifického zařízení Switch Dynamips umožňuje simulovat i poměrně jednoduché přepínače různých linkových technologií Ethernet, Frame-Relay, ATM. V praxi vypadají definice těchto switchů v NET souboru takto: Tabulka 9: Parametrická konfigurace přepínačů Ethernetovský switch [[ETHSW <switch>]] <port> = {trunk access} <vlan> Frame-Relayový switch [[FRSW <switch>]] <port> : <dlci> = <port> : <dlci> ATM switch [[ATMSW <switch>]] <port> : <vpi> = <port> : <vpi> 6.3.6 Propojení s reálným síťovým rozhraním Díky knihovně WinPCAP je možné vytvářet síťové spoje v rámci simulace i s reálnými rozhraními hostitelských PC. V NET souboru stačí místo virtuálních rozhraní použít název závislý na operačním systému, který získáme spuštěním aplikace network device list.cmd nacházející se v adresáři instalace Dynamipsu/Dynagenu/GNS3. 6.3.7 Triviální příklad NET souboru Uvažujme síť, kde jsou dva routery R1 a R2 propojené vzájemně sériovou linkou: Obrázek 8: Triviální topologie Případný NET soubor popisující tuto topologii pak může vypadat třeba takto: 15

# Ukázková laborator autostart = false [localhost] [[7200]] image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image npe = npe-400 ram = 192 idlepc = 0x81237589 [[ROUTER R1]] s0/0 = R2 s1/0 [[router R2]] # Není potřeba definovat spojení z R2 na R1, protože už existuje Obrázek 9: Ukázkový NET soubor pro GNS3 6.4 Vytížení prostředků Je nutné si uvědomit, že Dynamips je náročný na paměť a procesor tím víc, čím více instancí routerů emulujete a máte zapojených do virtuální sítě, a čím větší jsou jejich IOSy k nahrání do paměti. 6.4.1 Optimalizace paměti Využíváme-li IOS, který zabere 128MB paměti, je mu v případě spuštění alokováno v naší fyzické paměti opravdu 128MB prostoru. Pokud to vynásobíme počtem instancí routerů, můžeme se dostat k dosti depresivnímu číslu ohledně HW nároků. Proto jsou k dispozici v Dynamipsu dva parametry, upravující možnosti využití paměti: ghostios redukuje vytížení fyzické paměti tím způsobem, že pokud je jeden tentýž IOS nahrán v X routerech, pak místo X alokování prostoru (který zabírá), se do paměti načte pouze jednou do sdílené paměti, kterou si jednotlivé instance obhospodařují pomocí paměťových map; spersmem redukuje vytížení virtuální paměti jednotlivých instancí routeru jen na hodnotu, kterou v dané chvíli opravdu spotřebovávají, což hraje roli pro paměťová omezení, které na spuštěné procesy klade operační systém (2GB pro Windows XP, 3GB pro Linux). Jaký je tedy důvod, proč nemít implicitně tyto dva parametry stále nastavené na true? Co se totiž ušetří na spotřebě paměti, se projeví zvýšenou zátěží na procesor (např. indexování pro mnoho instancí využívajících sdílenou paměť, atd.) a sníženou odezvou simulace. Ve zkratce se dá říci, že pokud máme nedostatek fyzické paměti a pracujeme-li s rozsáhlou síť se spoustou routerů, je výhodné mít 16

zapnutou volbu ghostios, ovšem musíme počítat s tím, že výkon simulace bude nižší (zpracované kbps, responsibilita jednotlivých routerů). 6.4.2 Optimalizace procesoru Protože Dynamips emuluje i procesorovou sadu každého routeru, tak sám od sebe neví, kdy je router ve stavu nic nedělání (idle) a kdy se zabývá nějakými užitečnými výpočty. Je tedy nutné explicitně určit kód instrukce, jež pravděpodobně odpovídá čekací smyčce či assemblerovské operaci NOOP, kterou má prostě ignorovat a po čas jejího emulování router uspat. Ovšem jak tento kód zjistit? Buď můžeme využít již ověřenou hodnotu, kterou můžeme zjistit na Internetu [34] a nastavit ji jako parametr Idle-PC v konfiguračním souboru simulace. Nebo užít Dyngen či GNS3 k analýze chodu specifického routeru a na základě této analýzy se pak můžeme empiricky rozhodnout mezi výslednými hodnotami, která instrukce je žhavým kandidátem. Samotnou analýzu spustíme v rozhraní Dynagenu příkazem idlepc get <router>, jejímž výstupem je pak deset nejvhodnějších kandidátů. Poté, co jednoho zvolíme, je pro daný router tato hodnota aplikován a operace je při emulaci ignorována. Další možností je kód globálně uložit a pro daný model routeru se do budoucna bude tato hodnota používat stále. K tomuto slouží příkaz idlepc save <router> db, která hodnotu uloží do sdíleného souboru dynagenidledb.ini v domovském adresáři. Tento parametr je typicky naprosto opomíjen začátečníky bez patříčných znalostí, kteří si obvykle stěžují, že GNS3 mají sice nainstalovanou a nakonfigurovanou, ovšem jen co spustí byť jen jednu instanci routeru, tak jim vyskočí vytížení CPU na 100%. V takovémto případě stačí z kontextové nabídky (RMB nad prvkem na plátně) nechat přepočítat hodnotu Idle-PC, aplikovat ji a rázem lez dosáhnout viditelného zlepšení. Obrázek 10: Ilustrace nastavení Idle-PC hodnoty 17

6.5 Ovládání 6.5.1 Konsole Dynagenu Příkazy se zadávají do příkazové řádky management konzole a jsou citlivé na velikost písmen: Tabulka 10: Tabulka syntaxe a významu příkazů akceptovaných konzolí Dynagenu Příkaz s popisem capture <router> <interface> <file> [{HDLC PPP ETH FR}] Do souboru <file> v pracovním adresáři začne ukládat odchycený síťový provoz na rozhraní <interface> síťového zařízení <router>. Poslední množina parametrů je kódování na fyzické vrstvě, přičemž implicitně je nastaveno ethernetovské. clear mac <switch> Vymaže CAM tabulku zvoleného switche <switch>. console {/all <router+>} telnet {/all <router+>} Připojí se na konzolový port (inicializuje telnetové sezení) daných routerů, uvedených ve výčtu, a nebo všech routerů (při parametru /all). exit Korektně ukončí Dynagen a zastaví běžící simulaci na Dynamipsu (povypíná všechny instance routerů). disconnect Ukončí Dynagen konzoly, ale nechá běžet simulaci Dynamipsu dále. filter <router> freq_drop {in out} <i> Aplikuje filtr na vstup nebo výstup (parametry in nebo out) rozhraní <interface> zařízení <router>. V současnosti funguje pouze chybový filtr freq_drop, který zahodí každý i-tý paket. help [<command>]? [<command>] Zobrazí seznam dostupných příkazů pro management konzoly Dynagenu, popřípadě syntaxy a popis použití pro zadaný příkaz <command>. list Zobrazí seznam zařízení v simulaci, který obsahuje údaje o jejich typu, stavu, na kterém serveru běží či jaký je přístupový port na jejich konzoly. idlepc get <router> idlepc show <router> idlepc set <router> <0x_value> idlepc save <router> {Ø default db} Příkaz s parametrem get spustí analýzu zřízení <router> na hodnotu idlepc, na jejímž konci si můžete s potencionálních kandidátů vybrat jednoho, jehož hodnota se na všechny routery stejné modelové řady v rámci běžící simulace aplikuje. Příkaz s parametrem show zobrazí poslední výsledek analýzy z možností znovuvolby idlepc hodnoty z potencionálních kandidátů. 18

Příkaz s parametrem set nastaví explicitně pro daný router, jakou hexadecimální hodnotu idlepc <0x_value> má pro tento běh simulace použít. Příkaz s parametrem save uloží aktuálně užívanou idlepc hodnotu pro daný router <router> buď do podsekce konkrétního routeru (bez uvedeného parametru destinace), do podsekce modelové řady (parametr default) nebo do externího souboru uloženého v domovském adresáři (parametr db). hist Zobrazí se historie zadaných příkazů do management konzole. py <command> Spustí Pythonovský příkaz v rámci daného sezení Dynagenu. shell! V konzolovém okně, ve kterém běží Dynagen spustí příslušný DOSovský a nebo shellovský příkaz a zobrazí jeho výstup v rámci této konzole ver Vypíše verzi Dynagenu a všech Dynamipsových serverů, ke kterým je toto sezení Dynagenu připojeno. send <command> Používá se k posílání speciálních Dynagenových příkazů přímo Dynamipsu. start {/all <router+>} Nastartuje instanci routerů daného výčtem <router+> (nebo všech routerů v simulaci při použití parametru /all). stop {/all <router+>} Zastaví instanci routerů daného výčtem <router+> (nebo všech routerů v simulaci při použití parametru /all). reload {/all <router+>} Provede sekvenční spuštění příkazů stop a start nad výčtem <router+> (nebo nad všemi routery v simulaci při užití parametru /all). suspend{/all <router+>} Uspí instanci routeru ve výčtu <router+> (nebo všech routerů v simulaci při použití parametru /all). resume{/all <router+>} Oživí uspanou instanci routeru ve výčtu <router+> (nebo všech zařízení v simulaci při použití parametru /all). push {/all <router+>} Načte startup konfigurace routerů daných výčtem <router+> a nebo úplně všech při užití parametru /all v base64 formátu přímo do NVRAM specifikovaných zařízení. save {/all <router+>} Uloží startup konfigurace routerů daných výčtem <router+> a (nebo úplně všech při užití parametru /all) v base64 formátu přímo do NET souboru simulace. Tímto způsobem je možno 19

celé laby přenášet jen v rámci jednoho souboru. export {/all <router+>} <directory> Exportuje startup konfigurace routerů ve výčtu <router+> simulace (nebo ze všech routerů v simulaci při použití parametru /all) z externích souborů do adresáře specifikovaného <directory>. Užití uvozovek není povinné, ale usnadňuje rozpoznávání řetězce, ve kterém se vyskytují mezery. import {/all <router+>} <directory> Importuje startup konfigurace do všech routerů ve výčtu <router+> simulace (nebo ze všech routerů v simulaci při použití parametru /all) z externích souborů v adresáři <directory>. Užití uvozovek není povinné, ale usnadňuje rozpoznávání řetězce, ve kterém se vyskytují mezery. confreg {/all <router>} <0x_value> Nastaví hodnotu konfiguračního registru zařízení v kolekci <router> (nebo všech při použití parametru /all) na hexadecimální hodnotu <0x_value>. 6.5.2 GUI GNS3 GNS3 nabízí komfortní užitavelské rozhraní skrz které se dají snadno vytvářet, editovat, mazat virtuální laboratoře a odposlouchávat provoz na rozhraních mezi nimi, a to jak instancí Cisco routerů, ale díky integraci s PEMU, QEMU a VirtualBoxem i zařízení ASA, PIX, emulace routerů od Juniperu a virtuálních PC. Bez nějakého detailnějšího popisu je hlavní obrazovka programu rozdělena následovně: Editace rozhraní Globální management zařízení Komentovací nástroje Paletka zařízení Soupiska topologie Dynagen konzole Kontextová nabídka konkrétního zařízení Soupiska odposlechů Obrázek 11: Základní ovládací prvky GNS3 Z plovoucí nabídky Edit jsou nejdůležitější dvě položky, a to Preferences a IOS images and hypervisors. Obsah okna nastavení se skládá z několika karet: 20

General Obecná nastavení programu, zejména umístění pracovních adresářů, nastavení terminálového klienta a některých vymožeností GUI; Dynamips Nastavení samotného Dynamipsu ohledně lepší správy paměti (ghostios, sparsemem a mmap), nastavení implicitních portů a otestování komunikace mezi hypervisorem; Capture Nastavení relevantní ohledně aplikace ke zkoumání zachyceného provozu, typicky WireSharku; Qemu Konfigurace dalších emulátorů, které GNS3 může s úspěchem využít, jmenovitě ASA, PIXů, Olive od Juniperu a IDS; VirtualBox Možnosti zapouzdřovacího wrapperu k VirtualBoxu stojícího za možností propojení virtuálních mašinek s virtuální sítí. Druhé jmenované okno obsahuje párovač používaných IOSů s platformami v GNS3 a nastevení jejich příslušnosti k hypervisorům. Okno je zevrubně popsáno následujícím obrázkem: Přehled exitujících asociací Karta s nastavením hypervisoru Výběr IOSu Nastevení platformy a konkrétního modelu Parametry v rámci emulace Odkaz na Cisco Feature Navigator daného IOSu Obrázek 12: Prvky okna správce IOSů 21