Virtualizace počítačových sítífim.uhk.cz/inkov/doc/SM_Vesely_29_10_2012.pdf · Virtualizace...

41
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.

Transcript of Virtualizace počítačových sítífim.uhk.cz/inkov/doc/SM_Vesely_29_10_2012.pdf · Virtualizace...

  • 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 Ing. Vladimír VESELÝ AUTHOR

    BRNO 2012

  • 1

    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.

  • 2

    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

  • 3

    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

  • 4

    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

  • 5

    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.

    http://www.cisco.com/web/learning/netacad/course_catalog/PacketTracer.htmlhttp://www.cisco.com/web/learning/netacad/course_catalog/PacketTracer.htmlhttp://www.omnetpp.org/http://www.nsnam.org/http://tetcos.com/http://www.gns3.net/dynamips/

  • 6

    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

    EIGRP 65100

    10.6

    5.0.

    0/30

    10.65.0.4/30

    10.66.0.0/3010.67.0.4/30

    192.

    168.

    0.0/

    30

    192.

    168.

    23.0

    /30

    192.168.12.0/30

    192.168.13.0/30

    ISP

    EdgeB EdgeC

    Core2Core1

    Core3

    EdgeA1 EdgeA2

    AccessA

    10.66.0.4/30

    10.67.0.0/30

    RIPv2

    OSPFarea 0

    OSPF area 65

    BGP 65200

    BGP 65100

    PC1VLAN10

    PC2VLAN20

    PC3VLAN30

    PC5 PC4

    10.67.1.0/2410.66.1.0/24

    AccessB AccessC

    LACP

    PAgP PAgP

    dot1Q trunksnative VLAN 9

    Obrázek 1: Topologie zapojení zařízení v demonstrační úloze

  • 7

    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

  • 2

    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

    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

    Id Jméno

    Vlan 10 Marketing

    Vlan 20 Sales

    Vlan 30 IT

    Vlan 9 _Native

    Vlan 99 _Mgmt

    Vlan 999 _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).

  • 3

    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.

  • 4

    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.

  • 5

    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

  • 6

    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

  • 7

    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

  • 8

    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.

  • 9

    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í.

  • 10

    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ř.:

  • 11

    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-8E

    PA 4× FastEthernet 8× FastEthernet

    AMD Am79c97x

    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í [[]];

  • 12

    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 true | false V případě hodnoty true se ihned po spuštění

    simulace nastartují všechny instance routerů.

    model

    2610|2611|2620|2621|

    2610XM|2620XM|2621XM|

    2650XM|2651XM|2691|3620|

    3640|3660|3725|3745|7200

    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 unsigned integer Implicitní doba uspání routeru v případě detekce

    čekací smyčky.

    6.3.2 Parametry sekce klienta

    Sekce je vždy uvozena povinným začátkem[:], 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;

  • 13

    Tabulka 6: Některé z parametrů sekce klienta

    Parametr Hodnoty Popis

    console unsigned integer Základní port pro jednotlivá telnetová konzolová

    sezení.

    workingdir string

    Cesta k adresáři, ve kterém bude Dynamips

    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 [[]], přičemž parametr 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.

    disk unsigned integer

    Velikost PCMCIA ATA disku,

    v současnosti je k dispozici emulace až dvou

    takovýchto disků, tzn. = [1,2].

    confreg 0x(unsigned integer) Šestnáctková hodnota konfiguračního

    registru.

    npe string

    NPE modul, hodnota řetězce může mít

    libovolnou hodnotu odpovídající podporovanému HW.

    midplane std | vxr Nainstalovaný druh středové desky.

    mmap true | false

    Pokud je nastaveno na false využívá se

    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ů.

  • 14

    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 unsigned integer Implicitní doba uspání routeru v případě

    detekce čekací smyčky.

    6.3.4 Parametry podsekce zařízení

    Podsekce začíná vždy [[]], kde parametr 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

    model unsigned integer

    Hodnota udává model konkrétního

    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.

    mac MAC-48 (colons)

    Základní MACovská adresa tohoto

    routeru, přičemž pokud není explicitně specifikována tímto nastavením je

    generována náhodně automaticky.

    slot string

    Řetězec, který specifikuje použitý

    portový adaptér PA nebo síťový modul NM. Může nabývat hodnot uvedených

    v kapitole Podporovaný HW. Přičemž

    parametr může nabýt platných

    číselných hodnot jednotlivých slotů.

    wic/ string

    Pro modely routerů, které podporují WIC

    karty umožňuje ručně definovat, jaké

    WIC jsou nainstalované. Může nabývat hodnot uvedených v kapitole

    Podporovaný HW. Přičemž parametry

    , můžou nabývat číselných

    hodnot jednotlivých portů.

    [f|s|a]/ [f|s|a]/

    Na levé straně stojí rozhraní, které

    chceme spojit s na pravé straně stojícím

    zařízením a jeho rozhráním.

    Obě rozhraní jsou definována řetězcem

    skládajícím se z typu rozhraní (s = sériové, f = fastethernetovské, a = ATM)

    a jeho číselného označení portů

    /.

  • 15

    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 ]]

    = {trunk|access}

    Frame-Relayový switch

    [[FRSW ]]

    : = :

    ATM switch

    [[ATMSW ]]

    : = :

    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:

  • 16

    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

    # 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

  • 17

    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 ,

    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 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

  • 18

    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 [{HDLC|PPP|ETH|FR}]

    Do souboru v pracovním adresáři začne ukládat odchycený síťový provoz na rozhraní

    síťového zařízení . Poslední množina parametrů je kódování

    na fyzické vrstvě, přičemž implicitně je nastaveno ethernetovské.

    clear mac

    Vymaže CAM tabulku zvoleného switche .

    console {/all | }

    telnet {/all | }

    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 freq_drop {in|out}

    Aplikuje filtr na vstup nebo výstup (parametry in nebo out) rozhraní zařízení

    . V současnosti funguje pouze chybový filtr freq_drop, který zahodí každý i-tý paket.

    help []

    ? []

    Zobrazí seznam dostupných příkazů pro management konzoly Dynagenu, popřípadě syntaxy a popis

    použití pro zadaný příkaz .

    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

    idlepc show

    idlepc set

    idlepc save {Ø|default|db}

    Příkaz s parametrem get spustí analýzu zřízení 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ů.

  • 19

    Příkaz s parametrem set nastaví explicitně pro daný router, jakou hexadecimální hodnotu idlepc

    má pro tento běh simulace použít.

    Příkaz s parametrem save uloží aktuálně užívanou idlepc hodnotu pro daný 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

    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

    Používá se k posílání speciálních Dynagenových příkazů přímo Dynamipsu.

    start {/all|}

    Nastartuje instanci routerů daného výčtem (nebo všech routerů v simulaci při použití

    parametru /all).

    stop {/all|}

    Zastaví instanci routerů daného výčtem (nebo všech routerů v simulaci při použití

    parametru /all).

    reload {/all|}

    Provede sekvenční spuštění příkazů stop a start nad výčtem (nebo nad všemi routery

    v simulaci při užití parametru /all).

    suspend{/all|}

    Uspí instanci routeru ve výčtu (nebo všech routerů v simulaci při použití parametru

    /all).

    resume{/all|}

    Oživí uspanou instanci routeru ve výčtu (nebo všech zařízení v simulaci při použití

    parametru /all).

    push {/all|}

    Načte startup konfigurace routerů daných výčtem 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|}

    Uloží startup konfigurace routerů daných výčtem 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

  • 20

    celé laby přenášet jen v rámci jednoho souboru.

    export {/all|}““

    Exportuje startup konfigurace routerů ve výčtu simulace (nebo ze všech routerů

    v simulaci při použití parametru /all) z externích souborů do adresáře specifikovaného

    . Užití uvozovek “ není povinné, ale usnadňuje rozpoznávání řetězce, ve kterém se

    vyskytují mezery. import {/all|}““

    Importuje startup konfigurace do všech routerů ve výčtu simulace (nebo ze všech

    routerů v simulaci při použití parametru /all) z externích souborů v adresáři .

    Užití uvozovek “ není povinné, ale usnadňuje rozpoznávání řetězce, ve kterém se vyskytují mezery.

    confreg {/all|}

    Nastaví hodnotu konfiguračního registru zařízení v kolekci (nebo všech při použití

    parametru /all) na hexadecimální hodnotu .

    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ě:

    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:

    Paletka

    zařízení

    Editace rozhraní Globální management zařízení

    Soupiska

    topologie

    Soupiska

    odposlechů

    Kontextová nabídka

    konkrétního

    zařízení

    Komentovací nástroje

    Dynagen

    konzole

  • 21

    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:

    Obrázek 12: Prvky okna správce IOSů

    Přehled exitujících asociací

    Výběr IOSu

    Karta s nastavením hypervisoru

    Nastevení platformy a

    konkrétního

    modelu

    Parametry v rámci

    emulace

    Odkaz na Cisco Feature

    Navigator

    daného IOSu

  • 22

    6.6 Demonstrační úloha

  • 23

    7 Cisco IOU

    Cisco IOS on UNIX (Cisco IOU) je plnohodnotný nástroj k emulaci směrovačů a přepínačů od firmy

    Cisco. Je to software, který se využívá během CCIE praktické zkoušky namísto reálných zařízení.

    Vyvinut byl v samotném Cisco a jedná se defacto o klasický v binární podobě ještě před tím, než je

    naportován o ohnut pro danou konkrétní hardwarovou platformu. Tento nástroj není volně dostupný, i

    když už různými místy prosáknul do Internetu a jeho funkčnost byla docela dobře zdokumentována.

    [35]

    7.1 Prerekvizity a instalace

    Pokud nejste autorizovaný pracovník nebo partner firmy Cisco je použití Cisco IOU značně

    diskutabilní z hlediska legálnosti. Ze své podstaty, i když je to nástroj velice stabilní (musí být kvůli

    průběhu CCIE zkoušek), tak je stále velice experimentální. Na interních Cisco stránkách tohoto

    projektu se dokonce praví následující:

    „Cisco IOS on Unix is a tool intended for internal use only. Distribution of IOU images to

    customers or external persons, or discussion of IOU with customers or external persons, is prohibited.

    Don’t do it or we’ll have to come and kill you.“

    Na Internetu je k dispozici několik „prosáklých“ verzí tohoto programu, a to ať už binárek či

    dokonce předpřipravených LiveCD s předinstalovanými všemi prerekvizitami. V rámci instalace je

    ponecháno na čtenářových schopnostech pořízení si tohoto nástroje v jakékoli jeho podobě.

    Pokud se tedy zadařilo si někde obstarat Cisco IOU, tak vězte, že dostupné binárky jsou

    určeny k použití pro Linuxové či Solarisové systémy, přičemž jedinou mě známou prerekvizitou je mít

    nainstalovanou knihovnu pro podporu kryptografie libcrypto (která je typicky součástí balíčků jako

    libssl-dev) a v případě 64-bitových systémů nativní podporu pro 32-bitové aplikace (balíček ia32-libs).

    Kromě toho je v unixových systémech je nativně přítomen telnetový klient pro komunikaci

    s instancemi routerů, ale hodí se i něco lepšího, jako např. Putty.

    Pro některé image je potřeba mít platný licenční soubor IOURC, tento je specifický na

    hostname a primární IP adresu vašeho systému. Každopádně je stanovené pořadí umístění, které se

    bude instance Cisco IOU pokoušet ověřit na existenci licenčního souboru, a ta je následující:

    1) Soubor jménem iourc umístění v aktuálním pracovním adresáři;

    2) Soubor jménem .iourc umístěný v uživatelově domovském adresáři (/home)

    3) Soubor, na který je nasměrovaná systémová proměnná IOURC.

  • 24

    Obrázek 13: Syntaxe IOURC licenčního souboru

    V případě, že nemáte licenční soubor, tak nezbývá než odkázat na stránky věnující se této

    problematice. [36]

    7.2 Podporované technologie

    Ke dni psaní této práce existuje několik binárek, jejichž činnost je naprosto nezávislá na platformě,

    přičemž existují následující varianty feature setů, funkčností odpovídajících jejich reálným

    ekvivalentům: ipbase, adventerprisek, enterprise a ipbase se zabudovaným pagentem (traffic

    generátor) pro směrovače a l2-upk9 pro switche.

    Obecně lze ke zjištění dostupnosti té či dané technologie v Cisco IOSu použít Cisco Feature

    Navigator. [37]

    7.3 Konfigurace sítě

    Obdobně jako v GNS3 byl NET soubor, tak Cisco IOU k definici virtuální sítě používá NETMAP

    soubor. Podobně jako v případě licenčního souboru se Cisco IOU o jeho hledání pokouší postupně na

    třech místech:

    1) Soubor jménem NETMAP umístění v aktuálním pracovním adresáři;

    2) Soubor jménem .NETMAP umístěný v uživatelově domovském adresáři (/home)

    3) Soubor, na který je nasměrovaná systémová proměnná NETIO_NETMAP.

    Syntaxe NETMAP souboru je prostá – na každém řádku je vždy N dvojic

    :@, jež jsou odděleny bílými znaky a tvoří tak list zařízení,

    které jsou vzájemně propojeny i v rámci virtuální sítě. Identifikátoru zařízení musá být z rozsahu od 1

    do 1024 včetně. Kromě této definice spojnic již NETMAP soubor neobsahuje žádné další parametry.

    Stejně jako v případě Dynamipsu, se i virtuální Cisco IOU laboratoř dá propojit s reálnou sítí

    (pomocí aplikace IOUlive) a taktéž rozložit instance emulovaných zařízení na více hostitelských

    počítačů v síti. [38]

    7.3.1 Triviální příklad NETMAP souboru

    [license]

    =

  • 25

    Níže je uvedena klasická CCNP Switch laboratoř, která je sestavena ze dvou distribučních a dvou

    přístupových přepínačů propojených navzájem redundantními linkami.

    Obrázek 14: CCNP Switch laboratoř

    Označíme-li v pořadí DLS1, DLS2, ALS1 a ALS2 identifikátory 1, 2, 3 a 4, pak NETMAP

    soubor, který definuje vzájemné propojení instancí Cisco IOU vypadá následovně:

    Případný NET soubor popisující tuto topologii pak může vypadat třeba takto:

    Obrázek 15: Ukázkový NETMAP soubor pro Cisco IOU

    7.4 Ovládání

    Oproti Dynamipsu s GNS3 nenabízí Cisco IOU žádné pokročilé ovládání. Vzhledem k tomu, že se

    jedná primárně na CLI založený nástroj, to lidem s aspoň základní znalostí práce v příkazové řádce

    nemůže vadit. Nicméně existují snahy vytvořit alespoň nějakou nádstavbu pro lepší správu virtuální

    laboratoře – IOU-web. [39]

    1:0/0 2:0/0

    1:0/1 2:0/1

    3:0/0 4:0/0

    3:0/1 4:0/1

    1:0/2 3:0/2

    1:0/3 3:0/3

    2:0/2 4:0/2

    2:0/3 4:0/3

    1:1/0 4:1/0

    1:1/1 4:1/1

    2:1/0 3:1/0

    2:1/1 3:1/1

  • 26

    7.4.1 CLI ovládání

    Spuštění jedné instance IOU odpovídá spuštění její binárky a předání příslušných parametrů

    (minimálně identifikátor zařízení jako odkaz do NETMAP souboru). Obvyklé použití shrnuje

    následující výňatek z nápovědy:

    Obrázek 16: Nápověda k atributům binárky a příklad spuštění Cisco IOU

    Po spuštění instance běží na popředí a můžete ihned začít zařízení konfigurovat stejnými

    přákazy jako klasicý Cisco IOS. Pokud chcete instanci zařízení uzavřít, tak zmáčkněte klávesovou

    zkratku Ctrl+C.

    Obvykle chceme provozovat více než jednu Cisco IOU instanci, a proto je přepínání mezi

    běžícími Cisco IOU a komunikaci mezi nimi dost krkolomná. Zde je vhodné využít při spouštění

    instance aplikaci wrapper, která spustí Cisco IOU na pozadí a přímé připojení ke konzolovému

    portu pak vyvede na TCP port. Wrapper tak typicky spouštíme jako součást inicializačního skriptu,

    který rozběhne všechny instance Cisco IOU a připojí je pro vzdálenou komunikaci na volné porty OS.

    Chceme-li pak celou emulaci ukončit, jednoduše ukončíme proces wrapperu.

    $ ./i86bi_linux-adventerprisek9_ivs-ms.151-4 -h

    Usage: [options]

    : unix-js-m | unix-is-m | unix-i-m | ...

    : instance identifier (0 < id

  • 27

    Obrázek 17: Nápověda k programu wrapper, příklad jeho spuštění a ukončení

    7.4.2 Web GUI ovládání

    Žhavou novinkou do světa používání Cisco IOU je webový frontend, který umožňuje pohodlnou

    správu virtuálních laboratoří. Tuto aplikaci napsanou v PHP a AJAXu naprogramoval Andrea Dainese

    a pojmenoval ji IOU-web.

    K aplikaci se přistupuje jako k webové stránce, která obvykle běží na virtuální mašině, jež

    hostuje IOU-web a příslušející binárky Cisco IOU. Všechny podstatné informace o laboratořích a

    nastavení IOSů se ukládají v samostatné SQL databázi, z níž se na disk dočasně vytváří patřičné

    NETMAP soubory, vlan.dat a soubory se startovacími nastaveními zařízení.

    Ovládání je rozděleno do několika karet:

    Home – základní věci k instalaci,

    nejaktuálnější verze programu a kde se

    dočíst další informace;

    Laboratory – zde lze vytvářet, mazat,

    spouštět a editovat virtuální sítě;

    Config – datový sklad startup-configuration

    souborů;

    Tools – provozní věci k běhu samotného

    programu, hlavně správa IOSů a databáze;

    Contact – email tvůrci programu.

    $ ./wrapper

    Usage: ./wrapper [-v] -m -p -- [iou options]

    where is in the range

    all options after the '--' are passed to iou

    [-v] Display version

    $ ./wrapper -m ./i86bi_linux-adventerprisek9_ivs-ms.151-4 -p 2000 -- 100

    $ ps -ef | grep wrapper | awk '{ print $2 }' | xargs kill

    $ killall wrapper

    Obrázek 18: Správa virtuální sítě v IOU-web

  • 28

    7.5 Demonstrační úloha

  • 29

    8 Závěr

    V této práci byly zevrubně představeny nástroje pro virtualizaci počítačových sítí, zejména pak ty,

    které souvisí s přímou virtualizací dedikovaných zařízení od firmy Cisco.

    Otázkou na závěr zůstává, jaký s nástrojů tedy používat? Naneštěstí odpověď není jednoduchá

    v tom smyslu, že jeden z představovaných by byl výrazně lepší než nástroje ostatní. Vždy bude záviset

    na primárním účelu, proč virutalizujeme.

    Pokud je to studijní či pedagogický záměr v rámci CCNA kurzů, tak nám bude bohatě stačit

    PacketTracer. Pokud se snažíme vytvořit experimentální prototypy nových síťových protokolů a

    zkoumat dopad jejich činnosti na síť, tak jednou z alternativ ve vědeckém světě je bezpochyby

    OMNeT++. Připravujeme-li se na vyšši certifikační zkoušky ze sítí, nebo chceme-li emulovat

    konkrétní HW produkty, pak je nasnadě uchýlit se k Dynamipsu a nebo Cisco IOU.

  • 30

    9 Bibliografie

    [1] VMWare Inc. VMware Virtualization Software for Desktops, Servers & Virtual Machines for

    Public and Private Cloud Solutions. [Online] 2012. http://www.vmware.com/.

    [2] Oracle. Oracle VM Virtual Box. [Online] 2012. https://www.virtualbox.org/.

    [3] Citrix Systems, Inc. . Welcome to xen.org, home of the Xen® hypervisor, the powerful open

    source industry standard for virtualization. [Online] 2012. http://www.xen.org/.

    [4] Free Software Foundation (FSF). Zebra - GNU Project. [Online] 11. prosinec 1999.

    http://www.gnu.org/software/zebra/.

    [5] Quagga Routing Software Suite. [Online] 1. únor 2011. http://www.nongnu.org/quagga/.

    [6] XORP Inc. Welcome to XORP. [Online] http://www.xorp.org/.

    [7] CZ.NIC. The BIRD Internet Routing Deamon Project. [Online] [Citace: 4. duben 2012.]

    http://bird.network.cz/.

    [8] Cisco Systems. Cisco Packet Tracer. [Online] 2012.

    http://www.cisco.com/web/learning/netacad/course_catalog/PacketTracer.html.

    [9] —. Cisco Packet Tracer v5.3 Support for Networking Academy Curricula. [Online] 2010.

    http://www.cisco.com/web/learning/netacad/downloads/pdf/PacketTracer53support.pdf.

    [10] —. Academy Connection | Program Information. [Online]

    http://cisco.netacad.net/cnams/content/templates/LibraryHome.jsp?#/resource/lcms/cnams_site/english

    /generic_site_areas/library/course_catalog/PTCacheInclude.html.

    [11] OpenSim Ltd. OMNeT++ Network Simulation Framework. [Online] 2012.

    http://www.omnetpp.org/.

    [12] —. INET Framework | Main / Welcome to the INET Framework! [Online]

    http://inet.omnetpp.org/.

    [13] NES@FIT. ANSA - Homepage. [Online] 2012. http://nes.fit.vutbr.cz/ansa.

    [14] —. ANSAINET for OMNeT++ 4.2.1. [Online]

    https://nes.fit.vutbr.cz/ansa/pmwiki.php?n=Main.ANSAINET421.

    [15] Kojecký, Vladimír. Modelování a analýza v počítačové síti VUT. [Online]

    http://www.fit.vutbr.cz/study/DP/DP.php?id=13433.

    [16] Smejkal, Jakub. Dynamický stav modelu OMNeT++ pomocí SNMP. [Online] 06 2012.

    http://www.fit.vutbr.cz/study/DP/DP.php?id=14270.

    [17] Sivák, Vladimír. Model Cisco směrovače v simulačním nástroji OMNeT++. [Online] červen

    2009. http://www.fit.vutbr.cz/study/DP/BP.php?id=7851.

    [18] Kraus, Zdeněk. Modelování a analýza spolehlivosti počítačové sítě VUT. [Online] červen 2011.

    http://www.fit.vutbr.cz/study/DP/DP.php?id=9468.

  • 31

    [19] černý, Marek. Modelování IPv6 v prostředí OMNeT++. [Online] červen 2011.

    http://www.fit.vutbr.cz/study/DP/DP.php?id=11892.

    [20] Danko, Martin. Modelování kvality služeb v počítačových sítích. [Online] červen 2012.

    http://www.fit.vutbr.cz/study/DP/DP.php?id=10950.

    [21] Rybová, Veronika. Modelování a simulace návrhových vzorů směrování v počítačových sítích.

    [Online] červen 2009. http://www.fit.vutbr.cz/study/DP/BP.php?id=8351.

    [22] Hrčiřík, Matěj. Modelování L2 protokolů zajišťujících bezsmyčkovost. [Online] červen 2012.

    http://www.fit.vutbr.cz/study/DP/DP.php?id=14268.

    [23] Mateleško, Petr. Simulování multicastových přenosů v simulátoru OMNeT++. [Online] červen

    2010. http://www.fit.vutbr.cz/study/DP/BP.php?id=9485.

    [24] Rybová, Veronika. Modelování multicastového směrování v prostředí OMNeT++. [Online]

    červen 2012. http://www.fit.vutbr.cz/study/DP/DP.php?id=14139.

    [25] Fillot, Christiane. Cisco 7200 Emulator. [Online] 14. říjen 2007. http://www.ipflow.utc.fr/blog/.

    [26] Dynagen - network configuration generator for Dynamips. [Online] 10. 12 2007.

    http://www.dynagen.org/.

    [27] GNS3. Graphical Network Simulator 3. [Online] 2012. http://www.gns3.net/.

    [28] —. Download - GNS3. [Online] 2012. http://www.gns3.net/download/.

    [29] PuTTY. [Online] http://www.chiark.greenend.org.uk/~sgtatham/putty/.

    [30] WinPCap - the packet capture and network monitoring library for windows. [Online]

    http://www.winpcap.org/.

    [31] Cisco - Port Adapters. [Online] 10. 12 2007.

    http://www.chiark.greenend.org.uk/~sgtatham/putty/.

    [32] Cisco - Network Modules. [Online] 10. 12 2007.

    http://www.cisco.com/en/US/products/hw/modules/ps2797/prod_module_series_home.html.

    [33] Cisco - WIC cards. [Online] 10. 12 2007. http://www.usedrouter.com/Cisco_wic_modules.htm.

    [34] 7200emu Hacki's Forum. [Online] http://7200emu.hacki.at/.

    [35] Gaddis, Jeremy L. Cisco IOU FAQ. [Online] 18. leden 2011.

    http://evilrouters.net/2011/01/18/cisco-iou-faq/.

    [36] —. Cisco IOU Licensing. [Online] 2012. http://freeccnalabs.com/cisco-ios-on-unix-licensing/.

    [37] Cisco Systems. Cisco Feature Navigator. [Online] 2012.

    http://tools.cisco.com/ITDIT/CFN/jsp/index.jsp.

    [38] Gaddis, Jeremy L. Example Cisco IOU Topology. [Online] 21. leden 2011.

    http://evilrouters.net/2011/01/21/example-cisco-iou-topology/.

    [39] Dainese, Andrea. Cisco IOU Web Interface. [Online] 2012.

    http://the1979s.wordpress.com/cisco/cisco-iou-web-interface/.

  • 32

    10 Seznamy

    10.1 Obrázky

    Obrázek 1: Topologie zapojení zařízení v demonstrační úloze .............................................................6

    Obrázek 2: Příklad propojení tří simulací běžících v PacketTracerech .................................................5

    Obrázek 3: Hierarchie modulů ............................................................................................................6

    Obrázek 4: Spojení modulů .................................................................................................................6

    Obrázek 5: Struktura ANSARouteru na nejvyšší úrovni abstrakce .......................................................8

    Obrázek 6: Souvztažnost komponent ...................................................................................................9

    Obrázek 7: Diagram syntaxe NET souboru........................................................................................ 12

    Obrázek 8: Triviální topologie .......................................................................................................... 15

    Obrázek 9: Ukázkový NET soubor pro GNS3 ................................................................................... 16

    Obrázek 10: Ilustrace nastavení Idle-PC hodnoty .............................................................................. 17

    Obrázek 11: Základní ovládací prvky GNS3 ..................................................................................... 20

    Obrázek 12: Prvky okna správce IOSů .............................................................................................. 21

    Obrázek 13: Syntaxe IOURC licenčního souboru .............................................................................. 24

    Obrázek 14: CCNP Switch laboratoř ................................................................................................. 25

    Obrázek 15: Ukázkový NETMAP soubor pro Cisco IOU .................................................................. 25

    Obrázek 16: Nápověda k atributům binárky a příklad spuštění Cisco IOU ......................................... 26

    Obrázek 17: Nápověda k programu wrapper, příklad jeho spuštění a ukončení .................................. 27

    Obrázek 18: Správa virtuální sítě v IOU-web .................................................................................... 27

    10.2 Tabulky

    Tabulka 1: Přehled existujících simulátorů a emulátorů .......................................................................5

    Tabulka 2: Přehled technologií v rozšíření ANSAINET.......................................................................7

    Tabulka 3: Přehled základních rozhraní emulovaného routeru ........................................................... 10

    Tabulka 4: Přehled PA, NM a WIC rozšíření do slotů........................................................................ 11

    Tabulka 5: Některé z parametrů obecné sekce ................................................................................... 12

    Tabulka 6: Některé z parametrů sekce klienta .................................................................................... 13

    Tabulka 7: Některé z parametrů podsekce modelu ............................................................................. 13

    Tabulka 8: Některé z parametrů podsekce konkrétního zařízení ......................................................... 14

    Tabulka 9: Parametrická konfigurace přepínačů ................................................................................ 15

    Tabulka 10: Tabulka syntaxe a významu příkazů akceptovaných konzolí Dynagenu.......................... 18

    file:///I:/Documents/Studium/VUT/VTI/Dizertace/Virtualizace%20Cisco%20Siti/virtualizacesiti.docx%23_Toc339441104

    1 Úvod1.1 Motivace1.2 Existující nástroje1.3 Struktura práce

    2 Demonstrační úloha2.1 Topologie2.2 Adresní plány2.2.1 Síťová vrstva2.2.2 Linková vrstva lokality A

    2.3 Zadání

    3 Softwarové implementace3.1 Quagga3.2 XORP3.3 BIRD

    4 PacketTracer4.1 Prerekvizity a instalace4.2 Podporované technologie4.3 Demonstrační úloha

    5 OMNeT++5.1 Prerekvizity a instalace5.2 Podporované technologie5.3 Demonstrační úloha

    6 Dynamips6.1 Prerekvizity a instalace6.2 Podporované technologie6.3 Konfigurace sítě6.3.1 Parametry obecných nastavení6.3.2 Parametry sekce klienta6.3.3 Parametry podsekce modelu6.3.4 Parametry podsekce zařízení6.3.5 Parametry podsekce specifického zařízení – Switch6.3.6 Propojení s reálným síťovým rozhraním6.3.7 Triviální příklad NET souboru

    6.4 Vytížení prostředků6.4.1 Optimalizace paměti6.4.2 Optimalizace procesoru

    6.5 Ovládání6.5.1 Konsole Dynagenu6.5.2 GUI GNS3

    6.6 Demonstrační úloha

    7 Cisco IOU7.1 Prerekvizity a instalace7.2 Podporované technologie7.3 Konfigurace sítě7.3.1 Triviální příklad NETMAP souboru

    7.4 Ovládání7.4.1 CLI ovládání7.4.2 Web GUI ovládání

    7.5 Demonstrační úloha

    8 Závěr9 Bibliografie10 Seznamy10.1 Obrázky10.2 Tabulky