virtualizace počítačových sítífim.uhk.cz/inkov/doc/sm_vesely_29_10_2012.pdf · virtualizace...
TRANSCRIPT
-
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