Embed
Email

�VOD

Document Sample
�VOD
Shared by: HC11112322953
Categories
Tags
Stats
views:
0
posted:
11/23/2011
language:
Slovak
pages:
64
i

Obsah



OBSAH I



ZOZNAM OBRÁZKOV III



ZADANIE IV



0. ÚVOD 1



0.1. POUŢITÉ SKRATKY 2

0.2. SLOVNÍK POJMOV 4

0.3. POUŢITÁ NOTÁCIA 6

0.4. ZDROJE 8



1. ANALÝZA 9



1.1. TEORETICKÉ ZÁKLADY 9

1.1.1. POČÍTAČOVÉ SIETE 9

1.1.2. SIEŤOVÁ VRSTVA TCP/IP 11

1.1.3. PREPÁJANIE SIETÍ 12

1.1.4. SMEROVANIE 13

1.1.5. SMEROVACIE PROTOKOLY 14

1.1.6. CIDR A VLSM 16

1.1.7. VLAN A LAN 17

1.1.8. STA 18

1.1.9. TECHNOLÓGIE WAN 21

1.2. SIMULÁTORY A ANALYZÁTORY POČÍTAČOVÝCH SIETÍ 25

1.2.1. OPEN SOURCE RIEŠENIA 25

1.2.2. KOMERČNÉ RIEŠENIA 31

1.2.3. ZHODNOTENIE 33

1.3. SIMULAČNÉ KNIŢNICE 34

1.3.1. C++ SIM 34

1.3.2. IKR SIMULATION LIBRARY 35

1.3.3. OOSIM 35

1.3.4. TINY 35

1.3.5. ZHODNOTENIE 36

1.4. ANALÝZA IMPLEMENTAČNÉHO PROSTREDIA 36

1.4.1. PROGRAMOVACIE JAZYKY 36

1.4.2. VÝVOJOVÉ PROSTREDIA: 37

1.4.3. ZHODNOTENIE 38

1.5. UKLADANIE ÚDAJOV 38

1.5.1. TEXTOVÝ SÚBOR 38

1.5.2. BINÁRNY SÚBOR 38

1.5.3. XML SÚBOR 39

1.5.4. ZHODNOTENIE 39



2. ŠPECIFIKÁCIA POŢIADAVIEK 40







I

2.1. RIEŠENÝ PROBLÉM 40

2.2. PREHĽAD FUNKCIÍ NAVRHOVANEJ APLIKÁCIE. 40

2.2.1. VYTVORENIE SIEŤOVEJ TOPOLÓGIE 40

2.2.2. NASTAVENIA PRVKOV SIETE 40

2.2.3. SIMULÁCIA KOMUNIKÁCIE A JEJ VIZUALIZÁCIA 40

2.2.4. ULOŢENIE TOPOLÓGIE 41

2.3. DIAGRAM PRÍPADOV POUŢITIA 41

2.3.1. PRÍPADY POUŢITIA (USE-CASE) 42

2.3.2. SCENÁRE 48

2.4. VSTUPY, VÝSTUPY 48

2.5. POUŢÍVATEĽSKÉ ROZHRANIE 48

2.6. TECHNICKÉ POŢIADAVKY 49



3. HRUBÝ NÁVRH 50



3.1. DÁTOVÉ TYPY A OBJEKTY 50

3.1.1. OBJEKT PREPOJOVACÍ KÁBEL, LINKA (LINK) 50

3.1.2. OBJEKT KONCOVÉ ZARIADENIE (HOST) 50

3.1.3. OBJEKT PREPÍNAČ (SWITCH) 51

3.1.4. OBJEKT SMEROVAČ (ROUTER) 51

3.1.5. OBJEKT PAKET (PACKET) 51

3.2. DIAGRAM TRIED 52

3.3. STAVOVÝ DIAGRAM 53

3.3.1. STAVOVÝ DIAGRAM OBJEKTU PAKET 53

3.3.2. STAVOVÝ DIAGRAM OBJEKTU UZOL 54

3.4. SEKVENČNÝ DIAGRAM 55

3.5. GRAF ŢIVOTNÉHO CYKLU 56

3.6. DIAGRAM ČINNOSTÍ 57

3.7. DEKOMPOZÍCIA SYSTÉMU 58

3.7.1. VERIFIKÁCIA VSTUPNEJ TOPOLÓGIE 58

3.7.2. TVORBA TOPOLÓGIE 58

3.7.3. SIMULAČNÝ PROCES 59

3.7.4. POUŢÍVATEĽSKÉ ROZHRANIE 59









II

Zoznam obrázkov

OBRÁZOK 1-1: KOREŠPONDENCIA MODELOV RM OSI A TCP/IP 9

OBRÁZOK 1-2: TCP/IP 11

OBRÁZOK 1-3: ŠTRUKTÚRA TRIED IP ADRIES 12

OBRÁZOK 1-4: PRÍKLAD DUAL ALGORITMU 16

OBRÁZOK 1-5: INICIALIZAČNÝ PAKET VOĽBY „ROOT BRIDGE“ 19

OBRÁZOK 1-6: VOĽBA „ROOT BRIDGE“ – KROK 1 19

OBRÁZOK 1-7: CENA RÔZNYCH TYPOV LINIEK 20

OBRÁZOK 1-8: VOĽBA „ROOT BRIDGE“ – KROK 2 20

OBRÁZOK 1-9: VOĽBA „ROOT BRIDGE“ – KROK 3 21

OBRÁZOK 1-10: HDLC ZAPUZDRENIE 22

OBRÁZOK 1-11: VRSTVY PROTOKOLU PPP 22

OBRÁZOK 1-12: PAP AUTENTIFIKÁCIA PROTOKOLU PPP 23

OBRÁZOK 1-13: CHAP AUTENTIFIKÁCIA PROTOKOLU PPP 23

OBRÁZOK 1-14: SIEŤ FRAME-RELAY 24

OBRÁZOK 1-15: EDITOR TOPOLÓGIE 28

OBRÁZOK 1-16: DIALÓGOVÉ OKNO ATRIBÚTOV 28

OBRÁZOK 1-17: MONITOR VÝKONNOSTI 29

OBRÁZOK 1-18: EDITOR UZLOV 29

OBRÁZOK 1-19: PREHRÁVAČ PAKETOVÝCH ANIMÁCIÍ 30

OBRÁZOK 1-20: PRACOVNÁ PLOCHA ROUTERSIM NETWORK VISUALIZER-A 32

OBRÁZOK 1-21: PRACOVNÁ PLOCHA CISCO CONFIGMAKER-A 33

OBRÁZOK 2-1: DIAGRAM PRÍPADOV POUŢITIA 42

OBRÁZOK 3-1: ZJEDNODUŠENÝ DIAGRAM TRIED 52

OBRÁZOK 3-2: DIAGRAM TRIED S NIEKTORÝMI VLASTNOŤAMI OBJEKTOV 53

OBRÁZOK 3-3: STAVOVÝ DIAGRAM PAKETU 54

OBRÁZOK 3-4: STAVOVÝ DIAGRAM UZLU 55

OBRÁZOK 3-5: SEKVENČNÝ DIAGRAM 56

OBRÁZOK 3-6: GRAF ŢIVOTNÉHO CYKLU 57

OBRÁZOK 3-7: DIAGRAM ČINNOSTÍ 58









III

Zadanie

Simulátor komunikácie v počítačovej sieti



Vedúci tímu: Ing. Igor Grellneth, PhD.



Navrhnite a zrealizujte programový systém pre simuláciu sieťovej komunikácie na druhej

a tretej vrstve sieťovej architektúry RM OSI:



Systém má umoţňovať:

 definovanie topológie simulovanej siete

 simuláciu rôznych prepájacích zariadení (napr. prepínač, smerovač, firewall ...)

 simuláciu komunikácie medzi prepájacími zariadeniami



Funkčnosť navrhnutého systému overte v sieti so simulovanými zariadeniami pomocou

komunikácie medzi koncovými zariadeniami.









IV

0. Úvod

Vzájomná komunikácia počítačov cez počítačovú sieť nie je triviálny problém. Na

jednoduchej komunikácii medzi pouţívateľskými stanicami na opačných koncoch sveta sa

podieľa veľké mnoţstvo technických zariadení, ktoré vyuţívajú rôzne dohodnuté protokoly

a prenosové algoritmy. Jednou z hlavných poţiadaviek na správnu činnosť sieťovej

komunikácie je jej spoľahlivosť a rýchlosť závislá od dobre zvládnutej konfigurácie prvkov

siete ako aj správne navrhnutej topológii siete. Na dosiahnutie tohto cieľa je potrebný

efektívny prístup k riešeniu vzniknutých problémov, ktorý moţno nadobudnúť zo znalosti

fungovania a konfigurovania sieťových komponentov.



Pouţívatelia počítačových sietí sa preto spoliehajú na znalosti sieťových administrátorov. Tí

svoje vedomosti nadobúdajú vďaka rôznym kurzom, výučbovým materiálom prípadne

softvérovým produktom.



Tento projekt sa venuje vytvoreniu softvérového produktu pre simuláciu sieťovej

komunikácie. V oblasti počítačových sietí prispieva k uľahčeniu výučby. Výsledná aplikácia

poskytuje pouţívateľské rozhranie pre tvorbu sieťovej topológie a moţnosť jednoduchej

konfigurácie prvkov siete. Vo vytvorenej topológii je moţné pre overenie správnej

konfigurácie a zapojenia prvkov siete odsimulovať komunikáciu medzi vybranými prvkami.

Cieľovou skupinou pouţívateľov tejto aplikácie sú študenti a pedagógovia.









1

0.1. Pouţité skratky

ACL Access Control List

ARP Address Resolution Protocol



BDR Backup Designated Router

BECN Backward Explicit Congestion Notification



CCNA Cisco Certified Network Associate

CCNP Cisco Certified Network Professional

CIDR Classless InterDomain Routing

CLR Common Language Runtime

CSMA/CD Carrier Sense Multiple Access / Collision Detection



DLCI Data Link Connection Identifier

DP Designated Port

DR Designated Router

DUAL Diffusing Update Algorithm



EIGRP Enhanced Interior Gateway Routing Protocol



FECN Forward Explicit Congestion Notification

FIFO First In First Out

FTP File Transfer Protocol



GPRS General Packet Radio Service

GSM G

GUI Graphical User Interface



HDLC High-Level Data Link Control

HTTP Hyper-Text Transfer Protocol



CHAP Challenge Handshake Authentication Protocol



ICMP Internet Control Message Protocol

IEEE Institute of Electrical and Electronics Engineers

IGMP Internet Group Management Protocol

IGP Interior Gateway Protocol

IP Internet Protocol



JRE Java Runtime Environment



LAN Local Area Network

LCP Link Control Protocol

LMI Local Management Interface

LRU Last Recently Used

LSA Link-State Algorithm



MAC Media Access Control

MFC Microsoft Foundation Classes

MS Microsoft





2

NAT Network Address Translation

NCP Network Control Protocol



OBS Optical Burst Switching

OSPF Open Shortest Path First



PAP Password Authentication Protocol

PPP Point-to-Point Protocol

PVC Permanent Virtual Circuit



RARP Reverse Address Resolution Protocol

RIP Routing Information Protocol

RM OSI Reference Model Open Systems Interconnection



STA Spanning-Tree Algorithm

STP Spanning-Tree Protocol

SVC Switching Virtual Circuit



TCP Transmission Control Protocol

TTL Time-to-Live



UDP User Datagram Protocol



VCL Visual Component Library

VLAN Virtual LAN

VLSM Variable-Length Subnet Mask

VS Visual Studio



WAN Wide Area Network



XML eXtensible Markup Language

XSD XML Scheme Definition









3

0.2. Slovník pojmov



anycast Spôsob posielania dát; vybraným zariadeniam zo skupiny



bandwidth Vlastnosť linky/média, určuje jej kapacitu

bridge Prepájacie zariadenie pracujúce na druhej vrstve RM OSI

broadcast Spôsob posielanie dát; všetkým zariadeniam



class-wizard Pomocný nástroj niektorých programovacích prostredí pre vytváranie

tried



distance-vector Typ dynamického smerovania;



Firewall Zariadenie určené na zabezpečenie sietí

Flapping link Linka, rozhranie smerovača, neustále meniaca svoj stav (funkčná,

nefunkčná)

full-duplex Technika komunikácie; komunikácia môţe prebiehať súčasne

v obidvoch smeroch



half-duplex Technika komunikácie; komunikácia môţe prebiehať v obidvoch

smeroch, avšak v konkrétnom časovom okamihu len v jednom.

hash Bezpečnostný mechanizmus; určitým algoritmom (funkciou) sú

pozmenené dáta do nečitateľnej podoby

Holddown-Timer Mechanizmus predchádzania cyklom; hneď po označení cesty ako

nedostupnej, táto je zo smerovacej tabuľky odstránená aţ po určitom

čase. Je totiţ moţné, ţe po chvíli opäť naskočí („flapping link“)

hop-count Počet uzlov (smerovačov), cez ktoré prechádzali dátové jednotky

hub Prepájacie zariadenie pracujúce na prvej vrstve modelu RM OSI



link-state Typ dynamického smerovania; zaloţený na Dijskstrovom algoritme



multicast Spôsob posielania dát; vybranej, vopred určenej, skupine zariadení

multiplexovanie Metóda umoţňujúca vysielať na jeden komunikačný kanál viacerým

zariadeniam



open-source Prístup k vývoju softvéru; aplikácie umoţnia prístup k svojim

zdrojovým kódom



paket Dátová jednotka na tretej vrstve TCP/IP modelu



route poisoning Mechanizmus predchádzania cyklom; prichádzajúcim paketom je

nastavený čas ţitia na určitú hodnotu

router „smerovač“, zariadenie prepínajúce prichádzajúce pakety podľa

informácií tretej vrstvy RM OSI



simplex Technika komunikácie; komunikácia prebieha len v jednom smere

split-horizon Mechanizmus predchádzania cyklom; prijaté smerovacie updaty nie sú

posielané na rozhranie, z ktorého prišli

sumarizácia Mechanizmus zniţovania veľkosti smerovacích tabuliek, vyuţitím

variabilných masiek sietí





4

switch „prepínač“, zariadenie prepínajúce prichádzajúce pakety podľa

informácií druhej vrstvy RM OSI



topológia Počítačová sieť, pozostávajúca s rôznych typov uzlov, vzájomne

poprepájaných

trigerred-update Mechanizmus predchádzania cyklom; posielaním smerovacích

updatov hneď po ich prijatí

TTL Mechanizmus predchádzania cyklom; nastavením počtu povolených

prechodov uzlami (smerovačmi)



unicast Spôsob posielania dát; jednému konkrétnemu zariadeniu



XML parser Trieda spracúvajúca XML súbory









5

0.3. Pouţitá notácia







vetvenie









opakovanie









zoskupenie



zovšeobecnenie



začiatočný stav





koncový stav





prípad pouţitia







pouţívateľ









trieda









stav alebo udalosť









router









6

switch









7

0.4. Zdroje

Kniţné zdoje



[1] BIELIKOVÁ, M.: Princípy Softvérového Inţinierstva. 1.vyd. 2000. ISBN 80-227-1329-

5

[2] BIELIKOVÁ, M.: Ako úspešne vyriešiť projekt. 1. vyd. 2000. ISBN 80-227-1459-3

[3] KOTOČOVÁ, M.: Prednášky z predmetu Počítačové Siete 1

[4] GRELLNETH, I.: Prednášky z predmetu Počítačové Siete 2



Internetové zdroje



[5] http://www.routersim.com/ - RouterSim Network Visualizer

[6] http://cxxsim.ncl.ac.uk/ - C++SIM simulačná kniţnica

[7] http://web.informatik.uni-

bonn.de/IV/martini/Forschung/Projekte/Sonstige/OOSIM/index.html - OOSIM

simulačná kniţnica

[8] http://www.dcs.elf.stuba.sk/~menhart/Tiny.html - TINY simulačný TOOLSET

[9] http://www.ind.uni-stuttgart.de/Content/IKRSimLib/ - IKR simulačná kniţnica

[10] http://www.cisco.com/warp/public/cc/pd/nemnsw/cm/index.shtml - CISCO

ConfigMaker

[11] http://cisco.netacad.net/ - Cisco akadémia, kurzy CCNA

[12] http://www.csse.uwa.edu.au/cnet/ - cnet network simulator

[13] http://info.iet.unipi.it/~luigi/ip_dummynet/ - dummynet

[14] http://www.isi.edu/nsnam/ns/ - The Network simulator - ns2

[15] http://irg.cs.ohiou.edu/one/ - ONE – the OHIO Network Simulator

[16] http://www.cs.cornell.edu/skeshav/real/ - Real simulator

[17] http://tapec.uv.es/simured/index_en.html - simured

[18] http://www.google.com – vyhľadávací internetový server









8

1. Analýza



1.1. Teoretické základy



1.1.1. Počítačové siete



Sieťová architektúra

Pre jednoduchšie pochopenie a moţné uľahčenie riešenia problémov je rozdelená do vrstiev.

Tak vzniká vrstvový model v ktorom má kaţdá vrstva svoju funkciu/-ie, s okolitými vrstvami

komunikuje prostredníctvom rozhraní a kaţdá operuje podľa definovaného protokolu.



Medzi sebou komunikujú len vrstvy na rovnakej úrovni.



Všetky výstupné dáta prechádzajú od hora-nadol a vstupné naopak. Pri vysielaní dát, tieto

prechádzajú všetkými vrstvami, kde je k nim pridávaná hlavička. Informácie, ktorým rozumie

len vrstva na príslušnej úrovni.



Jednotlivé vrstvy ponúkajú sluţby nadradeným. Tieto sluţby rozdeľujeme na:

 So spojením (connection oriented) – spoľahlivý prenos dát

 Bez spojenia (connectionless) – nespoľahlivý



Existuje niekoľko vrstvových modelov sieťovej architektúry (Obrázok 1-1):



 RM OSI



Model pozostávajúci so siedmych vrstiev (fyzická, dátová, sieťová, transportná, relačná,

prezentačná, aplikačná)



 TCP/IP



Tento model je tvorený len štyrmi vrstvami (sieťového rozhrania, sieťová, transportná,

aplikačná). Avšak tieto pokrývajú všetkých sedem vrstiev modelu RM OSI.









Obrázok 1-1: Korešpondencia modelov RM OSI a TCP/IP





Štruktúra sietí







9

Komunikačný reţim

 Simplex – vţdy môţe vysielať len jedno zariadenie a aj to len jedným smerom

 Half-duplex – vţdy môţe vysielať len jedno zariadenie v čase, ale v obidvoch smeroch

 Full-duplex – vysielanie v oboch smeroch súčasne



Vysielanie z viacerých zdrojov je moţné prostredníctvom multiplexovania. Viacero

prístupov.

 Frekvenčný multiplex – kaţdý zo zdrojov vysiela na inej nosnej frekvencii

 Časový multiplex – kaţdý zdroj má pridelený čas, kedy môţe vysielať. Zdroje sa

postupne v čase striedajú vo vysielaní



Pri komunikácii je moţné vysielať niekoľkými spôsobmi v závislosti od toho, koľko je

cieľových staníc.

 Unicast – príjemca je len jeden

 Multicast – príjemcov je viac, určených nejakou skupinou

 Anycast – príjemca je ľubovoľný zo skupiny

 Broadcast - Všetkým, ktorý počúvajú



Techniky prepínania

Aby sa jednotlivé informácie dostali do správneho cieľa, je potrebné určiť cestu, kadiaľ budú

putovať.

 Prepínanie okruhov – pred samotnou komunikáciou sa vytvorí cesta, ktorou budú

všetky informácie putovať spoločne. T.j. kaţdá časť dát pôjde rovnakou cestou.

Nevýhodou je, ţe v jednom uzle môţe naraz existovať len jedna takáto cesta.

 Prepínanie paketov

o datagramy – dáta sú rozdelené do datagramov. Kaţdý z nich má určený cieľ,

kam má prísť. Uzly v sieti podľa tohto cieľa a rôznych parametrov siete,

vyberú vţdy najlepšiu cestu. T.j. jednotlivé časti nemusia cestovať rovnakou

cestou a ani prísť v správnom poradí.

o virtuálne okruhy – pred komunikáciou je zriadený virtuálny okruh. Časti dát

potom cestujú týmto jedným okruhom. Takýchto okruhov môţe na jednom

uzle existovať viacero.



V dôsledku prepínania, a vlastne samotného prechodu dát uzlami dochádza pri ich posielaní

k oneskoreniu.

 spracovanie paketu – zahŕňa nájdenie výstupnej linky, kontrolu a opravu chýb

 vo vyrovnávacej pamäti – čas, ktorý strávi paket čakaním vo výstupnej vyrovnávacej

pamäti pokiaľ sa odošlú predchádzajúce pakety

 vyslanie paketu – paket má určitú dĺţku. Toto oneskorenie určuje čas, ktorý zabralo

jeho vyslanie

 prenos paketu – aj napriek tomu, ţe sa informácie v sieti pohybujú rýchlosťou svetla,

nie je to v jednom okamihu.



Výsledné oneskorenie je súčtom všetkých spomenutých oneskorení.



Detekcia/korekcia chýb

Nič nie je vo svete dokonalé a teda ani komunikačné cesty v sieťach. Aj keď s postupujúcou

dobou sú kvalitnejšie, stále v nich dochádza k chybám. Kaţdý kanál/médium je

charakterizovaný/é BER (bit error rate). Pravdepodobnosť vzniku chyby v jednom bite.





10

Pri riešení chybovosti sa vyuţívajú dva prístupy:

 dopredný – (korekčné kódy) uţ pri vysielaní dát sú pridané bity navyše, ktoré majú

zabezpečiť opravu vzniknutej chyby bez nutnosti opätovného prenosu dát

 spätnoväzobný – (detekčné kódy) pri vysielaní je pouţitý mechanizmus kódovania

umoţňujúci detegovať určitý počet vzniknutých chýb avšak nie ich opravu. Preto je

vyţiadaný opätovný prenos dát.

 Hybridný prístup



Pri spätnoväzobnom spôsobe očakáva vysielacia strana nejakú odpoveď. V závislosti od toho

či je táto odpoveď na správne prijatie, nesprávne prijatie alebo oboje, poznáme tieto schémy

potvrdzovania správ:

 P-schéma – potvrdzuje sa správne prijatie

 N-schéma – odpovedá sa na nesprávne prijatie

 A-schéma – odpovedá sa na všetky prijaté aj neprijaté správy





1.1.2. Sieťová vrstva TCP/IP



My sa budeme venovať hlavne protokolu IP a jeho protokolovému zásobníku (Obrázok 1-2).

IP protokol je nespoľahlivý (nezaručuje spoľahlivé doručenie dát), na adresovanie vyuţíva

logické adresy (IP adresy) a na prenos IP datagramy.









Obrázok 1-2: TCP/IP





IP adresa:



Je to 32 bitová hodnota. Umoţňuje adresovať 2^32 uzlov. Delí sa do 5 tried (Obrázok 1-3):

 A – tvar NET.HOST.HOST.HOST (rozsah 0.0.0.0 – 127.255.255.255)

 B – tvar NET.NET.HOST.HOST (128.0.0.0 – 191.255.255.255)

 C – tvar NET.NET.NET.HOST (192.0.0.0 – 223.255.255.255)

 D – multicast adresy (224.0.0.0 – 239.255.255.255)

 E – rezervované (240.0.0.0 – 255.255.255.255)









11

Obrázok 1-3: štruktúra tried IP adries





Protokol IP má niekoľko podporných protokolov:

 ICMP (internet control message protocol) – prenos chybových a riadiacich správ

medzi uzlami

 IGMP (internet group management protocol) – vyuţitý na multicast adresovanie.



Keďţe IP protokol zaviedol logické adresy, je potrebné tieto nejako mapovať na fyzické

a naopak. O toto sa stará (R)ARP ( (reverse) address resolution protocol).



ARP: K známej IP adrese priraďuje fyzickú adresu. Zdrojový aj cieľový uzol musia byť

v rovnakej sieti. Ak nie, je potrebné pouţiť Proxy ARP.



RARP: K fyzickej adrese priradí logickú.



Z rozmachom internetu sa blíţi čas, keď uţ 32-bitové adresy nebudú postačovať. Hľadali sa

preto nejaké riešenia ako spomaliť vyčerpanie IP adries:

 Privátne IP adresy – adresy ktoré nie sú viditeľné mimo LAN (skryté za NAT)

 CIDR, VLSM

 IPv6 – 128 bitové adresy so spätnou kompatibilitou s 32 bitovými



1.1.3. Prepájanie sietí



Pri súčasnom rozširovaní počítačových sietí je potrebné vyriešiť prepájanie sieťových prvkov.

Na toto slúţia prepájacie zariadenia. Ich úlohou je spojiť siete tak, aby sa pouţívateľovi zdali

ako jedna ucelená sieť.



Druhy prepájacích zariadení:

 Opakovač, hub – pracuje na prvej vrstve RM OSI

 Most, prepínač – druhá vrstva

 Smerovač – tretia vrstva



Ich hlavnou úlohou je takisto prispôsobenie rozdielov medzi sieťami rôznych druhov.



Opakovač (HUB)









12

Ako názov napovedá, toto zariadenie sa pouţíva len na kopírovanie dát prichádzajúcich na

vstupný port na všetky výstupné porty. Keďţe pracuje na prvej vrstve, vôbec nepozerá na

obsah paketu.



Most (BRIDGE), prepínač (SWITCH)

Zariadenie pracujúce na druhej vrstve. Jeho funkciami sú: načítanie rámca, kontrola,

transformácia, vyslanie.



Existujú 2 základné techniky prepínania rámcov:

 Store’n’forward – rámec je najskôr celý načítaný a aţ potom prepnutý

 Cut-throught – rámec je prepínaný uţ po načítaní cieľovej adresy (resp. niektorých

ďalších polí)

o Fast-forward – načíta paket len po cieľovú MAC adresu

o Fragment-free – načíta paket len po dáta



Smerovač (ROUTER)

Uţ prepájanie na tretej vrstve. Zahrňuje IP adresáciu. Smerovače majú vo všeobecnosti dve

úlohy:



1. vybrať najlepšiu cestu

2. a následne prepnúť paket na odchádzajúce rozhranie



ACL

ACL ( Access Control List ) poskytuje niekoľko uţitočných funkcií v rámci smerovača, ktoré

nám poskytujú zvýšenie bezpečnosti, obmedzovanie prístupových práv, kontrolu a riadenie

sieťovej komunikácie. Definovaním kolekcie zakazovacích a povoľovacích pravidiel

(vzťahujúcich sa na IP adresu, sieťový protokol) na jednotlivé rozhrania smerovača je moţné

filtrovať sieťovú komunikáciu, obmedzovať ju a tým zvyšovať výkonnosť siete.



1.1.4. Smerovanie



Smerovanie je hlavná funkcia sieťovej vrstvy. Je to proces nájdenia cesty zo zdrojového uzla

do cieľového. Je realizované smerovacími algoritmami.



Poznáme statické a dynamické smerovanie.



Statické smerovanie

Je to manuálne nakonfigurované smerovanie (smerovaču napevno zadáme na ktoré rozhranie,

poprípade na ktorú adresu ďalšieho hop-u, má posielať pakety).

Táto metóda poskytuje vysokú úroveň kontroly, keďţe vţdy vieme, kadiaľ sú pakety

prenášané, avšak pri raste siete nastáva problém s administráciou.



Dynamické smerovanie

Je zabezpečené smerovacími protokolmi. Smerovače si medzi sebou vymieňajú informácie

o topológii siete – pri dynamickom smerovaní sa smerovače automaticky prispôsobujú

zmenám v topológii.



Dynamické smerovače môţeme rozdeliť na distance-vector a link-state.



Distance-vector





13

Kaţdá cesta je ohodnotená vektorom vzdialenosti (najčastejšie počet hop-ov). Predtým, ako

smerovač pošle smerovaciu informáciu ďalej, pričíta ceste vlastnú vzdialenosť od cieľa.



Susedia si posielajú celé tabuľky, takţe je nutné počkať kým sa informácia rozšíri ku všetkým

smerovačom.



Môţe dôjsť k smerovacím cyklom. Poznáme niekoľko spôsobov ochrany:



 Route Poisoning

 Split Horizont

 Holddown Timers

 Triggered Updates

 TTL



Link-state

Zaznamenávajú sa stavy liniek priamo pripojených smerovačov. Informácie sa vymieňajú

pomocou LSA (Link State Advertisement) paketov. Ako náhle má smerovač topologickú

databázu naplnenú LSA paketmi, sám si vyráta najlepšie cesty pomocou Dijskstrovho SPF

algoritmu.



Narozdiel od distance-vector algoritmov, neposielajú celé tabuľky. Pri zmene topológie pošlú

tzv. partial updates – len informáciu o zmenených linkách.



1.1.5. Smerovacie protokoly



Poznáme ich niekoľko.



RIP

Je to IGP distance-vector protokol. Smerovacie update-y posiela kaţdých 30 sekúnd. Boli

vytvorené dve verzie:



 RIPv1 – posiela update-y broadcastom, je triedny

 RIPv2 – posiela update-y multicastom, je beztriedny (podpora CIDR a VLSM)

a podporuje autentifikáciu smerovacích protokolov.



OSPF

Je to beztriedny IGP link-state smerovací protokol. Podporuje hierarchické smerovanie –

delenie sietí do oblastí. Kaţdý smerovač vie len o topológii svojej oblasti.



Podporuje VLSM, neplatí tu počet hop-ov, ale kapacita linky (bandwidth). Topologická

databáza obsahuje informácie o všetkých stavoch liniek v sieti (danej oblasti).



Funkcie OSPF (zjednodušene):



1. kaţdý smerovač generuje LSA o všetkých svojich spojeniach pri zmene topológie

2. vygenerované LSA sa posielajú všetkým susedom záplavou

3. po prijatí LSA kaţdý smerovač si nezávisle vytvorí vlastnú smerovaciu tabuľku

aplikovaním Dijkstrovho SPF algoritmu.



Podmienky vytvorenia susedstva





14

Pri vytvorení sa posielajú Hello pakety – podmienky:



 priame fyzické spojenie medzi dvoma smerovačmi

 rovnaká maska podsiete

 rovnaká verzia OSPF

 rovnaká oblasť

 rovnako nakonfigurovaný Hello (default 10 sekúnd)

 rovnaké heslo



Obsah Hello paketu



 sieťová maska

 Hello a RouterDead intervaly

 Priorita smerovača

 „Designated Router“ ID

 „Backup Designated Router“ ID

 ID všetkých susedov



DR je koncentračný bod pre všetky LSA. Má najvyššie ID, alebo najvyššiu prioritu – je

„adjacent“ len s DR a BDR. BDR slúţi ako záloha DR.



K výberu DR-BDR dochádza na základe priority a IP adresy rozhrania.



EIGRP

Je to beztriedny hybridný smerovací protokol – kombinuje jednoduchosť konfigurácie

Distance –Vector protokolov a rýchlosť konvergencie link-state protokolov.



Vlastnosti



 Počítanie metriky pre jednotlivé cesty

 Rozdelenie záťaţe medzi cesty s rovnakými aj rozdielnymi metrikami (Equal-cost

a Unequal cost balancing)

 Hop Count – max 224

 Hello protokol

 Topologická databáza

 Event-triggered routing updates

 Autentifikácia smerovacích protokolov

 Rýchlosť konvergencie – DUAL algoritmus



Topologická databáza

Obsahuje informácie o všetkých cestách v sieti – pre kaţdú cestu:



 Minimálne jeden nasledovník – „succesor“

 Ţiadny, alebo viac moţných ďalších nástupcov – „feasible successor“

 Metrika je v tvare „Feasible Distance/Advertised Distance“



Aktualizácia pomocou niekoľkých typov paketov:









15

 Update paket – výmeny kompletnej tabuľky unicastom. Výmeny len časti

smerovacích informácií pri zmenách v sieti – multicastom

 Query paket – výmeny len časti smerovacích informácií, a to ak DUAL nemôţe nájsť

feasible sccesora – multicastom

 Reply paket – odpoveď na Query paket – unicast



DUAL

Diffusing Update Algorithm. Čo je pre link-state SPF, to je pre EIGRP DUAL.

Cesty, ktoré našiel „successor“ sú vsunuté do smerovacej tabuľky. „Fesible successor“ cesty

sú ponechané v topologickej databáze ako záloha. Stabilné cesty sú označené ako pasívne

(kód P). Cesty, pre ktoré sa hľadá „successor“ sú označené ako aktívne (kód A).



Príklad:









Obrázok 1-4: príklad DUAL algoritmu







1.1.6. CIDR a VLSM



Class Less InterDomain Routing a Variable Length Subnet Mask.



CIDR

CIDR ruší prideľovanie IP adries do tried A, B, C. dôvodom je vyčerpanie adries tried A, B

a následné obavy pred enormným nárastom smerovacích tabuliek internetových smerovačov

záplavou adries triedy C. Teraz sa môţe zaviesť sumarizácia IP adries a následné zmenšenie

obsahu smerovacích tabuliek.



Aby sa CIDR a VLSM mohlo uplatniť, je potrebné, aby smerovacie protokoly posielali aj

informáciu o dĺţke masky podsiete.







16

VLSM

VLSM umoţňuje pouţitie viacerých masiek podsietí v rámci jednej siete, čo sa často

uplatňuje pri adresovaní point-to-point spojov.



Privátne IP adresy

Riešia problém nedostatočného rozsahu pridelených IP adries - celej firme sa pridelia privátne

adresy a potom ich „zamaskuje“ NAT.



Ak pouţijeme privátne adresy a NAT, treba sa uistiť, ţe neposielame von informácie

o vnútornej sieti.



1.1.7. VLAN a LAN



VLAN

Vlastnosti:

 jednoduchá broadcastová doména

 broadcasty a multicasty sa šíria len v rámci VLAN

 LAN môţe obsahovať viacero VLAN

 Pre prepojenie VLAN-ov je nutný smerovač

 Nezávisí na fyzickej topológii



Typy virtuálnych sietí:

 Layer – 1 VLAN

o kritérium príslušnosti k VLAN sú porty prepínača

o známe ako „port switching“

 Layer – 2 VLAN

o sú definované mnoţiny MAC adries

 Layer – 3 VLAN

o virtuálna podsieť

o príslušnosť je definovaná typom protokolu a adresou 3. vrstvy

 Protocol based VLAN

o príslušnosť je definovaná typom protokolu 3. a vyššej vrstvy

 Multicast VLAN

o multicastová prevádzka

 Policy based VLAN

o umoţňuje vytvárať podmienky s viacerými pravidlami



LAN

Siete LAN sú charakterizované hlavne topológiou. Takisto sa odlišujú počtom uzlov,

rýchlosťou, pouţitým médiom, prístupovými metódami atď.



Postupne si rozoberieme niektoré z týchto vlastností.



Topológia:

 Zbernica

 Hviezda

 Strom

 Kruh







17

Prístupové metódy určujú spôsob prideľovania kapacity prenosového média. Ich základné

delenie:

 Súperiace vs. Nesúperiace

 Deterministické vs. Nedeterministické



Najznámejšími sú CSMA/CD a Token-Ring.



Token-Ring: nesúperiaca, deterministická prístupová metóda. Uzly buď vysielajú vlastné

dáta, alebo prijímajú dáta s ostatných uzlov a opakujú ich opäť do siete. Po okruhu obieha

riadiaca značka „token“. Vysielať môţe len vlastník „tokenu“. Vyšle dátový rámec. Po jeho

obídení kruhu, vysielajúci uzol tieto dáta zruší a uvoľní „token“. Existuje moţnosť prioritného

vysielania.



CSMA/CD: súperiaca, nedeterministická metóda. Hlavný princíp metódy: „počúvaj pred

vysielaním, počúvaj počas vysielania“. Vysvetliť sa to dá tak, ţe uzol pred tým ako vyšle

svoje dáta, počúva či niekto nevysiela. Ak hej, tak čaká. Ak nie, začne vysielať svoje dáta.

Popri tom však počúva, či niekto nezačal vysielať súbeţne s ním. Ak nie, dokončí vysielanie

svojich dát a znovu počúva, kedy bude môcť vyslať ďalšie. Ak niekto začal vysielať spolu

s ním. Obaja pošlú „jam“ bity a vysielanie na náhodnú dobu prerušia.



Kabeláţ

Ethernet:



Rýchlosť 10Mbps. Pouţívané média: koaxiálny kábel, krútená dvojlinka, optický kábel. Pri

tvorbe siete je potrebné dodrţovať pravidlo „5-4-3“. 5 segmentov, spojených 4 opakovačmi,

z toho len 3 segmenty aktívne (obsahujúce koncové zariadenia)



Rýchly ethernet:



Rýchlosť: 100Mbps. Pouţívané média: krútená dvojlinka, optický kábel.



Gigabitový ethernet:



Rýchlosť: 1Gbps. Pouţívané médiá: optický kábel, medený kábel, krútená dvojlinka.



Pre všetky tieto technológie platia konfiguračné modely, ktoré vravia o fyzikálnych

predpokladoch fungovania siete (ako napr. dĺţky jednotlivých segmentov, počty a druh

pouţitých prepájacích zariadení, ...)



1.1.8. STA



Spanning Tree Algorithm. Prepínače navzájom komunikujú – zabraňuje vzniku slučiek.

Redundantné linky sa vyuţijú ako záloha.



Voľba Root Bridge

Kritérium voľby pozostáva z dvoch častí :



 Bridge Priority (Obrázok 1-5) – default 32768 na kaţdom Catalyst Switche

 MAC Address







18

Obrázok 1-5: inicializačný paket voľby „root bridge“





Príklad:









Obrázok 1-6: voľba „root bridge“ – krok 1





Voľba root – portov

Kritériom je kapacita linky (Bandwidth)









19

Obrázok 1-7: cena rôznych typov liniek

príklad









Obrázok 1-8: voľba „root bridge“ – krok 2





Voľba designated (predurčených) portov

1 DP na kaţdú sieť.



Všetky rozhodovacie kroky sú zaloţené na :



1. Najniţšia Root Bridge ID

2. Najniţšia cena cesty k Root Bridge

3. Najniţšia Bridge ID switch-u odosieľateľa

4. Najniţšia port ID





20

Príklad









Obrázok 1-9: voľba „root bridge“ – krok 3





Stavy STP

Prepínač môţe byť v niekoľkých stavoch:



 Disabled – špeciálny

 Blocking

 Listening

 Learning

 Forwarding





1.1.9. Technológie WAN



WAN – „wide area network“, siete z veľkou geografickou rozlohou. Vyuţívané hlavne

veľkými spoločnosťami na prepojenie svojich pobočiek na veľkú vzdialenosť.



PPP (point-to-point protocol)



Protokol vyuţívaný vo WAN sieťach. Pracuje na sériovom rozhraní v prepínanej sieti na

druhej vrstve RM OSI modelu. Je derivátom HDLC zapuzdrenia (Obrázok 1-10), kde ešte za





21

kontrolné pole pridáva pole dĺţky 1 alebo 2 bajty obsahujúce typ protokolu prenášaného

protokolom PPP.









Obrázok 1-10: HDLC zapuzdrenie





Protokol PPP je vrstvený protokol (Obrázok 1-11). Skladá sa z dvoch vrstiev:



Spodná vrstva LCP („link control protokol“) zabezpečuje spojenie na druhej vrstve RM OSI.

Takisto vyjednáva parametre spojenia:

 Autentifíkáciu

 Kompresiu

 Detekciu chýb

 Podporu „multilink“



Vrchná vrstva NCP („network control protocol“) zabezpečuje konfiguráciu rôznych

protokolov sieťovej vrstvy RM OSI. Pre kaţdý z týchto protokolov je samostatný NCP

protokol (IPCP, IPXCP, ...)









Obrázok 1-11: vrstvy protokolu PPP





Voliteľnou vlastnosťou protokolu PPP je autentifikácia spojenia. PPP podporuje 2 druhy

autentifikácie



 PAP



„password authentication protocol“ poskytuje jednoduchú autentifikáciu pomocou

dvojcestného potvrdenia (Obrázok 1-12). Zariadenie, ktoré sa chce pripojiť, pošle dvojicu

(meno, heslo). Prijímacia strana si overí, či má poslané meno v tabuľke a či má k nemu

rovnaké heslo. Ak sa obidva údaje zhodujú, zariadeniu je povolený prístup. Ak nie, prístup je

zamietnutý.





22

Obrázok 1-12: PAP autentifikácia protokolu PPP





Veľkou nevýhodou PAP je posielanie hesla ako otvoreného textu.



 CHAP



„challenge handshake authentication protocol“ je preferovaná metóda autentifikácie

v protokole PPP. Na overenie identity pouţíva trojcestné potvrdenie (Obrázok 1-13). Výzvu

na pripojenie posiela server. Poslaná správa obsahuje ID rámca, náhodné číslo a meno

servera. Zariadenie, ktoré sa chce pripojiť odpovedá správou obsahujúcou ID, „hash“ hodnotu

hesla, ID a náhodného čísla, ktoré prijal, a svoje meno. Server si overí hodnotu „hash“

a prístup buď povolí alebo nie.









Obrázok 1-13: CHAP autentifikácia protokolu PPP





Protokolom CHAP bol odstránený najväčší nedostatok PAP a to absencia ochrany pred

odchytením hesla.



FRAME RELAY



Frame Relay je podobne ako PPP protokol odvodený od HDLC a pracujúci na druhej vrstve

RM OSI. Je to technológia prepínania paketov. Hlavne sa vyuţíva na prepojenie vzdialených

LAN sietí. Sieť Frame-Relay pozostáva z veľkého mnoţstva Frame-Relay prepínačov

(Obrázok 1-14) vo vzdialených oblastiach.









23

Obrázok 1-14: sieť Frame-Relay





Rýchlosť prenosu siete Frame-Relay sa pohybuje v intervale od 2MBps aţ po 40MBps.

Predpokladá nasadenie na kvalitných linkách a preto nezahŕňa kontrolu prenosu. Spolieha sa

na protokoly vyšších vrstiev. Ako náhle nastane chyba, chybný rámec je zahodený. Avšak

obsahuje riadenie zahltenia. Keď sa vstupný „buffer“ prepínača začína zahlcovať, prepínač

posiela rámce (s príznakmi BECN, FECN), slúţiace ako varovanie pre vysielajúce zariadenie,

ţe majú spomaliť vysielanie.



Frame-Relay je zaloţená na virtuálnych kanáloch. Vytvárajú sa dva typy:

 PVC – permanentný kanál, vytvorený pred komunikáciou

 SVC – kanál vytvorený na poţiadanie. Po ukončení komunikácie je zrušený



Na jednom fyzickom rozhraní môţe existovať aţ 1000 virtuálnych kanálov. Tieto sú od seba

rozlišované identifikátorom kanála (DLCI). Kaţdý identifikátor má len lokálny význam

a preto sa môţe pozdĺţ celého virtuálneho kanála meniť.



Aby mohlo zariadenie začať komunikáciu cez Frame-Relay musí vedieť všetky dostupné

virtuálne kanály, ktoré má k dispozícii. Na to slúţi „Local Management Interface“ (LMI).

Jeho úlohou je:

 Zistiť dostupné virtuálne okruhy

 Povolenie „multicastu“

 Priradenie globálneho významu DLCI (v súčinnosti s „Inverse ARP“)

 Overiť existenciu spojenia



Priradenie globálneho významu pre DLCI je vlastne priradenie IP adresy vzdialeného

zariadenia, ku ktorému chceme pristupovať, k lokálne definovanému DLCI. Aby lokálne

zariadenie vedelo, ktorý virtuálny kanál pouţiť. Toto vieme dosiahnuť aj statickým

namapovaním IP adries na DLCI identifikátory.



Pri nasadení technológie Frame-Relay si však musíme dať pozor. Dochádza totiţ

k problémom pri posielaní smerovacích updatov. Virtuálne okruhy sa vytvárajú na jednom

fyzickom rozhraní. Pri prijatí smerovacieho updatu je aplikované pravidlo „split-horizon“

a update nie je poslaný späť na rozhranie, z ktorého prišiel. Rieši sa to buď vypnutím „split-

horizon-u“ alebo vytvorením viacerých logických rozhraní na jednom fyzickom, čo je

odporúčaná metóda. Vypnutie „split-horizonu“ môţe viesť k nekonzistencii smerovacích

tabuliek.





24

1.2. Simulátory a analyzátory počítačových sietí

V tejto časti analýzy predstavujeme voľne dostupné (open-source) a komerčné simulačné

programy počítačových sietí. Podrobnejšie sa venujeme riešeniam, ktoré sú bliţšie k

špecifikácii nášho projektu. Väčšina z nich beţí pod operačným systémom UNIX, ale sú aj

také, ktoré boli preloţené pod OS Windows. Z hľadiska analýzy zdrojového kódu však

operačný systém nehrá veľkú rolu.



V závere je uvedené celkové hodnotenie týchto aplikácií jednak z hľadiska podobnosti k našej

špecifikácii, ako aj prehľadnosti a dostupnosti ich dokumentácie a zdrojového kódu.





1.2.1. Open Source riešenia



Cnet Network Simulator



Cnet je sieťový simulátor, ktorý umoţňuje experimenty s protokolmi linkovej, sieťovej a

transportnej vrstvy. Poskytuje aplikačnú a fyzickú vrstvu RM OSI. Je implementovaný pod

OS Linux a beţí aj v grafickom aj v textovom reţime.



Umoţňuje simuláciu komunikácie len na koncových uzloch a nie je moţná konfigurácia

cesty. Tieto uzly môţu byť koncové zariadenia alebo smerovače. Zaujímavé je zadanie

topológie. Je v textovom formáte pomocou štruktúr a premenných.



Tento simulátor implementuje len malú časť funkcií poţadovaných od nášho produktu. Zo

zdrojového kódu, ktorý je málo komentovaný, by bolo moţné pouţiť len niekoľko štruktúr a

pár funkcií ale aj tie len po úprave.



DummyNet



Tento nástroj bol pôvodne navrhnutý na testovanie sieťových protokolov. Simuluje a

nastavuje limitácie šírky pásma, stratu paketov a implementuje variant "Wighted Fair

Queueing" - WF2Q+. Je pouţiteľný na koncovom uzli alebo na FreeBSD stroji správajúcom

sa ako smerovač alebo most.



Uţ z hore uvedeného opisu je poznať, ţe ani tento nástroj nás nedostal bliţšie k riešeniu.

Neimplementuje totiţ simuláciu siete ale skôr funguje ako analyzátor na uzli v sieti.



NCTUns 1.0 Network Simulator/Emulator



Sieťový simulátor NCTUns 1.0 je verejne prístupný a široko pouţiteľný simulátor rôznych

protokolov pouţívaných v IP sieťach. Je vyvíjaný v univerzitnom prostredí pod operačným

systémom FreeBSD a je prístupný aj jeho zdrojový kód a pouţívateľská príručka.

Momentálne sa pracuje uţ na verzii 2.0, ktorá by mala fungovať aj pod inými operačnými

systémami ako jeho predchodca. Tento produkt vo veľkej miere pokrýva naše poţiadavky a

preto aj bude neskôr rozobraný detailnejšie.



Zdrojový kód je čitateľný a podrobne komentovaný. Dokumentácia obsahuje pouţívateľskú

príručku k aplikácii a k editoru uzlov a prezentácie produktu. Chýba však technická

dokumentácia.





25

Sieťový simulátor NCTUns je veľmi precízny a rozšíriteľný simulátor siete schopný

simulovať rôzne protokoly pouţívané v drôtových a bezdrôtových IP sieťach. Poskytuje veľa

jedinečných výhod, ktoré sa nedajú jednoducho dosiahnuť tradičnými simulátormi ako ns-2

alebo OPNET.



NCTUns bol navrhovaný a implementovaný Prof. S. Y. Wangom a jeho študentmi na

univerzite National Chiao Tung University (NCTU). Vývoj tohto projektu trval viac neţ štyri

roky.



Sieťový simulátor NCTUns má mnoho uţitočných funkcií:



 Môţe byť pouţívaný ako emulátor. Externý host z reálneho sveta môţe vymieňať

pakety s uzlami (ako smerovač, host, ...) v sieti simulovanej v NCTUns. Táto

vlastnosť je veľmi uţitočná, pretoţe funkcie a výkon reálneho zariadenia sa dajú

otestovať pri rôznych simulovaných sieťových podmienkach.

 Bezprostredne pouţíva TCP/IP protokol jadra operačného systému FreeBSD alebo

Linux pre generovanie veľmi presných simulačných výsledkov.

 Môţe pouţívať ľubovoľnú existujúcu UNIXovskú aplikáciu ako generátor trafiky bez

akejkoľvek modifikácie. Toto umoţňuje testovať funkcionalitu a výkon distribuovanej

aplikácie alebo systému. Ďalšou dôleţitou výhodou je, ţe aplikácie vytvorené počas

štúdie simulácie po skončení štúdie sa dajú premiestniť na reálny UNIX-ovský stroj.

Toto ušetrí čas a úsilie potrebné na portovanie simulačného prototypu na reálny

systém.

 Je moţné pouţiť ľubovoľné UNIX-ovské konfiguračné a monitorovacie nástroje ako

route, ifconfig, netstat, tcpdump, traceroute, atď.



Keďţe jeho správanie je veľmi podobné reálnym sieťam, je moţné ho pouţiť v štúdiu a

výskume. Študenti ho môţu pouţívať na nacvičenie konfigurovania reálnych sietí. Umoţňuje

simulovať fixný Internet, bezdrôtovú LAN, mobilné "ad hoc" siete, GPRS a optické siete.

Drôtová sieť pozostáva z fixných uzlov a point-to-point spojení. Tradičné optické siete s

prepájaním okruhov a viac vyvinuté OBS (optical burst switching) siete sú tieţ podporované.

Rýchlosť simulácie je vysoká a výsledky simulácie sú opakovateľné.



Program poskytuje pouţívateľovi vysoko integrované profesionálne grafické rozhranie.

Pomáha pouţívateľovi vytvoriť topológiu siete, konfigurovať protokolové moduly pouţívané

v uzloch, špecifikovať cesty mobilných uzlov, získať výkonnostné grafy, spätne prehrať

animácie presunov paketov, atď. Všetky tieto operácie je moţné dosiahnuť veľmi jednoducho

a intuitívne pomocou grafického rozhrania.



NCTUns pouţíva jednoduchú ale efektívnu syntax pre popis nastavení a konfigurácie

simulačných úloh. Tieto opisy sú generované grafickým prostredím a uloţené v súboroch. Za

normálnych okolností sú tieto súbory otvorené grafickým prostredím, ale keď chce

výskumník vyskúšať niektoré svoje nové zariadenia alebo konfigurácie, ktoré súčasné GUI

nepodporuje, môţe GUI obísť pouţitím ľubovoľného textového editora alebo skriptu. Takto

vytvorené súbory je potom moţné manuálne púšťať simulátorom vynechaním grafického

rozhrania.



Podporuje vzdialené a paralelné simulácie. Grafické rozhranie a simulátor sú zvlášť

implementované a pouţívajú model klient-server pre komunikáciu. Preto pouţívateľ môţe





26

vzdialene pristupovať k simulátoru na serveri cez grafické rozhranie u klienta. Server spustí

simuláciu a vráti výsledky grafickému rozhraniu pre analýzu. Takto je moţné vykonávať

simulácie aj paralelne na viacerých serveroch naraz.



NCTUns poskytuje mnoho jedinečných výhod, ktoré nie je moţné dosiahnuť tradičnými

sieťovými simulátormi.



Podporuje rôzne siete:

 drôtové (wired) siete s fixnými uzlami a point-to-point spojmi medzi nimi.

 bezdrôtové (wireless) siete s mobilnými uzlami a IEEE 802.11(b) bezdrôtovým

sieťovým rozhraním.

 Pre IEEE 802.11(b) sú podporované jednak "ad-hoc" tak aj infraštruktúrne metódy.

 Dokáţe simulovať zariadenia ako hub, switch, router, host, IEEE 802.11(b) prístupový

bod a rozhranie, atď.

 Je pridaná podpora rôznych sieťových protokolov. Pozná protokoly ako IEEE 802.3

CSMA/CD MAC, IEEE 802.11(b) CSMA/CD MAC, samo učiaci sa protokol

pouţívaný u prepínačov, IP, mobilné IP, RIP, OSPF, UDP, TCP, HTTP, FTP, Telnet,

atď.

 Neustále sú pridávané ďalšie protokoly, zariadenia aj iné typy sietí. Spomedzi nich sú

dôleţité dva typy sietí a to mobilné siete GSM/GPRS a optické siete.



Podpora emulácie



NCTUns 1.0 je moţné veľmi jednoducho prepnúť do reţimu emulátora. V tomto reţime si

môţu uzly v emulátory vymieňať pakety s uzlami v reálnych sieťach. Takýmto spôsobom sa

dá veľmi jednoducho otestovať funkčnosť a výkon reálneho zariadenia pri rôznych

podmienkach.



Pouţívateľské prostredie



Mocným nástrojom je príjemné grafické pouţívateľské rozhranie, ktoré umoţňuje:

 nakresliť sieťovú topológiu

 konfigurovať protokolové moduly pouţívané v uzloch

 špecifikovať počiatočné umiestnenia a trasu mobilných uzlov

 sledovať výkonnostné grafy siete

 prehrať animácie logovaných paketových prenosov



Editor topológie



Editor topológie poskytuje vhodný a intuitívny spôsob pre grafické navrhovanie sieťovej

topológie. Vďaka pouţívateľsky príjemnému prostrediu je tvorba jednoduchá a intuitívna.









27

Obrázok 1-15: Editor topológie





Dialógové okno atribútov (Attribute Dialog Box)



Sieťové zariadenie (uzol) môţe mať niekoľko atribútov. Nastavenie a modifikovanie týchto

atribútov prebieha v prehľadných dialógových okienkach.









Obrázok 1-16: Dialógové okno atribútov





Monitor výkonnosti (Performance monitor)



Na výkonnostných monitoroch je moţné sledovať grafy znázorňujúce zaťaţenie linky,

spojenia, priepustnosť, atď.





28

Obrázok 1-17: Monitor výkonnosti





Editor uzlov



Editor uzlov poskytuje vhodné prostredie, v ktorom pouţívateľ môţe flexibilne konfigurovať

protokolové moduly pouţívané v sieťových uzloch. Pouţitím tohto nástroja pouţívateľ môţe

jednoducho pridávať, odoberať alebo nahradzovať moduly svojimi.









Obrázok 1-18: Editor uzlov







29

Prehrávač paketových animácií



Pouţitím prehrávača paketových animácií je moţné počas simulácie nahrané prenosy znovu

prehrať pri nastaviteľnej rýchlosti. Táto vlastnosť grafického rozhrania môţe veľmi pomôcť

študentom porozumieť správanie sa protokolov na jednotlivých uzlov.









Obrázok 1-19: Prehrávač paketových animácií





Prehľad komponentov



Na architektúru NCTUns je moţné prizerať ako na balík pozostávajúci z ôsmych

komponentov.

1. Prvým z nich je grafické rozhranie (ďalej GUI), v ktorom môţe pouţívateľ editovať

topológiu siete, konfigurovať uzly, špecifikovať počiatočné hodnoty, atď.

2. Druhým komponentom je samotný simulátor, ktorý poskytuje základné ale dôleţité

simulačné sluţby ako plánovač udalostí, manaţment časovača, manipulátor paketov,

atď.

3. Tretí komponent pozostáva z mnoţiny protokolových modulov, z ktorých kaţdý

implementuje špecifický protokol alebo funkciu (napr. plánovanie paketov,

manaţment buffera).

4. Plánovač úloh tvorí štvrtú súčiastku balíka. Jeho funkciou je rozdeliť simuláciu medzi

dostupnými servermi.

5. Ďalší komponent - koordinátor - sa nachádza na kaţdom počítači, kde beţí server

simulátora. Proces koordinátor sa zaregistruje u rozdeľovača úloh, vykoná výpočty,

ktoré mu boli pridelené a ktoré sú potrebné pri simulácii a signalizuje plánovaču svoj

stav.

6. Šiestou časťou sú záplaty jadra operačného systému, ktoré sú nutné k správnej funkcii

simulátora na UNIX-ovskom stroji.

7. Nasledujúcim komponentom sú rôzne pouţívateľské aplikácie. Vďaka pouţitej

metodológii (prepojenie simulátora s reálnymi sieťami) je moţné púšťať UNIX-ovské

aplikácie na simulovanej sieti.





30

8. Posledným komponentom sú sluţby operačného systému známe pod názvom - démon,

ktoré beţia počas simulácie. NCTUns poskytuje 2 takéto démony: RIP a OSPF.



The Network Simulator - ns-2



Network Simulator je simulátor diskrétnych udalostí zameraných na výskum siete. Poskytuje

substančnú podporu pre simuláciu TCP, smerovanie, multicast protokolov cez wired alebo

wireless pripojenia. Projekt ako aj prístupná dokumentácia sú veľmi rozsiahle (392 strán).

Prístupné zdrojové kódy a portovateľnosť do MS Windows robia toto riešenie za vhodné na

ďalšiu podrobnejšiu analýzu.



ONE (Ohio Network Emulator)



ONE je nástroj, ktorý umoţňuje emulovať sieť medzi dvoma rozhraniami na pracovnej stanici

Solaris. Tento produkt je veľmi úzko špecializovaný a nevyhovuje našim poţiadavkám. V

zdrojovom kóde (napísané v C) je zbytočné hľadať pouţiteľné časti, keďţe náš projekt je

širšieho zamerania.



REAL 5.0



REAL je simulátor pôvodne vyvinutý pre štúdium dynamického správania sa toku a zahltenia

v dátových sieťach s prepínaním paketov. Poskytuje pouţívateľom špecifikovať také siete a

moţnosť sledovať ich správanie sa. Je prístupný zdrojový kód, takţe je moţné simulátor

prispôsobiť našim poţiadavkám.



Dokumentácia nie je dostatočne rozsiahla v porovnaní s dokumentáciou k aplikácii Network

Simulator. Zdrojový kód je zrozumiteľný s komentárom.



Simured - multicomputer network simulator



Simured je multipočítačový sieťový simulátor. Umoţňuje sledovať pohyb paketov po sieti a

povoľuje aj komplexnejšie simulácie. Grafické prostredie existuje aj pre systémy Windows aj

Linux. Toto bolo napísané o tomto produkte, no keď bol spustený, zobrazené prostredie bolo

zaráţajúce. Tento simulátor je trochu iného zamerania, neţ ten náš projekt a preto hlbšie uţ

analyzovaný nebude.



Dokumentácia je len v španielčine a takisto v kóde sa nachádza len španielsky komentár ale aj

ten len zriedkavo.





1.2.2. Komerčné riešenia



RouterSim Network Visualizer



RouterSim Network Visualizer je komerčný produkt vytvorený pre potreby CISCO akadémie

– stupňa CCNA.









31

Obrázok 1-20: Pracovná plocha RouterSim Network Visualizer-a





Ponúka moţnosť vytvoriť topológiu s neobmedzeným počtom zariadení (plná verzia). Tieto je

moţné vybrať zo skupiny – smerovač Cisco 2600, prepínač Cisco 1900 a 2950 a koncových

pouţívateľských staníc (demo verzia). Vybrané zariadenia je moţné spájať linkami (sériové,

ethernet) jednoduchým kliknutím a následným zvolením druhého konca. Celý program sa

ovláda technikou „drag-n-drop“.



Program ponúka viacero okien, kaţdé zobrazujúce nejaké informácie:



NetConfig – konfigurácie jednotlivých zariadení

Console – konzola pre vstup príkazov na konfiguráciu

NetPacket Monitor – sledovanie paketov putujúcich sieťou

NetDetective – napomáha pri hľadaní problémov zapojenej topológie



Dostupná je len Demo verzia programu, v ktorej bolo moţné vytvoriť topológiu len

z niekoľkých zariadení.



Avšak páči sa nám poňatie celého prostredia. Takisto by sme chceli vytvoriť hlavné okno

s topológiou, konzolu na zadávanie zloţitejších príkazov a okno s dostupnými zariadeniami.



Program tieţ disponuje veľkým počtom „lab-ov“, ktoré slúţia ako príprava na CISCO CCNA,

CCNP testy.



Dodáva sa v 2 verziách: samostatná a sieťová. Rozdiel je v tom, ţe sieťová umoţňuje súčasnú

prácu aţ 255 ľudí v sieťovom prostredí. Nevýhodou tohto programu je jeho komerčné

nasadenie.



Cisco ConfigMaker



Program na konfiguráciu malých sietí obsahujúcich rôznorodé Cisco zariadenia, počnúc

širokou škálou smerovačov, cez prepínače, opakovače aţ po koncové zariadenia ako PC

a pod.







32

Obrázok 1-21: Pracovná plocha Cisco ConfigMaker-a





Na základe vytvorenej topológie generuje konfiguračné súbory pre jednotlivé zariadenia čím

umoţní vytvoriť funkčnú sieť bez potreby znalosti syntaxe Cisco zariadení. Vytváranie

topológie a konfigurácia zariadení je podporená viacerými sprievodcami“. Prechádza sa

postupne všetkými krokmi a zozbierané informácie sú uloţené do výsledného súboru.





1.2.3. Zhodnotenie



Po analýze vyššie uvedených produktov, ich dokumentácie a tieţ zdrojových kódov sme

zistili viaceré skutočnosti.



Je veľmi ťaţké nájsť produkt, ktorý by aspoň do polovičnej miery pokryl všetky poţiadavky

na náš projekt. Zo špecifikácie a dokumentácie najbliţšie pripadali byť REAL, Network

Simulator 2 (NS-2) a NCTUns. Z hore uvedených boli vyskúšané Cnet a Simured. Ostatné

sme neodskúšali buď z dôvodu, ţe nesúviseli s našim projektom, alebo sme narazili na chyby

pri ich kompilácii a binárne verzie neboli k dispozícii.



Podobnosť k nášmu projektu bola hodnotená predovšetkým z opisu a potom zo zdrojového

kódu, kde sa hľadali implementácie niektorých protokolov alebo objektov, ktoré plánujeme

mať v našom projekte.



Dokumentácia bola hodnotená podľa toho, nakoľko sa v nej našli odpovede na naše otázky

ako:

 čoho sa týka daná aplikácia?

 ako funguje?

 ako inštalovať?

 ako pouţívať?

 ako modifikovať?



V zdrojových kódoch sme hľadali štruktúry a funkcie (metódy), ktoré aspoň z časti súvisia

s naším zadaním. Aţ na projekty REAL, NS-2 a NCTUns ţiadne neobsahovali pouţiteľné

zdrojové kódy. Aj z týchto troch prvé dva len málo toho, čo sa dá u nás pouţiť.





33

Veľmi dobre pokrýval naše poţiadavky sieťový simulátor NCTUns, ktorý je síce funkčný pod

operačným systémom FreeBSD, ale je prístupná k nemu dokumentácia a taktieţ aj kompletný

zdrojový kód. Spôsob implementácie je trochu odlišný našim predstavám, ale tento projekt

nás môţe jednak usmerniť a aj pomôcť pri návrhu a implementácii nášho produktu. Takisto aj

jeden komerčný produkt, RouterSim Network Visualizer, veľmi dobre zohľadňuje väčšinu

poţiadaviek na náš projekt. Cisco ConfigMaker bol vytvorený na úplne odlišnú úlohu, ale

spôsob vytvárania topológie a konfigurácia jednotlivých zariadení je blízky nášmu zadaniu.



Celkový prehľad nášho hodnotenia analyzovaných aplikácií sa nachádza v Tabuľka 1-1.

Hodnotenie pozostáva zo stupnice od 1 po 5, pričom 1 predstavuje najhoršie a 5 najlepšie

hodnotenie.



Názov aplikácie Druh (Open- OS Progr. Príbuznosť k Dokumentá Zdroj.

source / jazyk nášmu cia kód

komerčný) projektu

Cnet NS open-source Linux C 2 3 2

DummyNet open-source FreeBSD 1 - -

NCTUns 1.0 open-source FreeBSD C++ 5 4 3

Simulator ns-2 open-source Unix 4 4 4

ONE open-source Solaris C 1 - 3

REAL 5.0 open-source Unix C 3 3 4

Simured open-source portable C++ 2 1 1

RouterSim komerčný Windows - 5 - -

ConfigMaker Komerčný Windows - 3 4 -

Tabuľka 1-1: prehľad analyzovaných aplikácií



1.3. Simulačné kniţnice



1.3.1. C++ Sim



C++SIM je objektovo orientovaný simulačný balík, napísaný v jazyku C++ postavený na

SIMULE. Podnetom pre jej tvorbu bola pomoc pri simulácii distribuovaného systému

tolerujúceho chyby. Počas tvorby autori určili tieto poţiadavky:

 Jednoduchosť osvojenia si a pouţívania

 Flexibilita

 Efektívnosť

 Portabilita



Zoznam obsiahnutých prostriedkov:

 Generátory náhodných čísel

 Algoritmy zaraďovania do radov

 Prerušenia

 Štatistické rutiny

 Plánovač



Napriek vymenovaným dobrým vlastnostiam v našom projekte tento produkt nevyuţijeme z

dôvodu, ţe nie sú prístupné ţiadne príklady pouţitia pri implementácii počítačovej siete.





34

1.3.2. IKR simulation library



Kniţnica na simuláciu počítačových systémov zaloţená na programovacom jazyku (C++).

Bola vytvorená so zameraním na ocenenie výkonu softvérových systémov a štatistické

vyhodnotenie komunikácie.



Kniţnica obsahuje niekoľko tried vhodných pre toto zadanie:

 náhodný generátor

 štatistické triedy

 rady



Vzhľadom k tomu, ţe v našom projekte sa nebudeme venovať štatistickému vyhodnocovaniu

prebiehajúcej komunikácie nie je táto kniţnica dobrou voľbou.



1.3.3. OOSIM



OOSIM je skratkou pre „Object-Oriented Simulation Library“. Je to kniţnica obsahujúca

moduly určené na simuláciu počítačových sietí na princípe diskrétnych udalostí. Je zaloţená

na programovacom jazyku C++.



Rozširujúca sa kniţnica komponentov umoţňuje vytváranie simulovanej topológie a takisto aj

vnútornej štruktúry uzlov (v zmysle protokolového zásobníka).



V súčasnosti obsahuje tieto moduly:

 Generátory zaťaţenia (aj pre špeciálne toky dát ako prenos súborov, prístup

k databáze, ...)

 TCP/UDP protokoly transportnej vrstvy RM OSI

 Smerovanie cez rôzne podsiete

 Implementáciu rôznorodých prístupových metód (ethernet, gigabit ethernet, ...)



Vlastnosti tejto kniţnice ju predurčujú na vyuţitie v zadaní tohto typu. Avšak nepodarilo sa

nám dostať k jej zdrojovým textom.





1.3.4. TINY



Simulačný toolset TINY slúţi na simuláciu modelov diskrétnych systémov, najmä systémov

hromadnej obsluhy.



Toolset je napísaný v jazyku C++ s vyuţitím objektovo orientovaného prístupu (triedy a

objekty; dedičnosť, polymorfizmus a zapuzdrenie). Jeho meno (tiny = drobný, maličký)

naznačuje, ţe zámerom autorov bola jednoduchosť a čitateľnosť zdrojového textu. Vlastnosti

C++ však umoţňujú, aby z neho vyrástol "dospelý" simulátor s profesionálnymi vlastnosťami



Obsahuje kompletnú sadu nástrojov, potrebných pre simuláciu diskrétnych systémov. Z nej sú

pre náš projekt vhodné niektoré z nich:









35

 Plánovanie udalostí môţeme vyuţiť pri simulácii práce niektorých distance-vector

smerovacích protokoloch na posielanie pravidelných updatov.

 Generátory náhodných čísel by vytvárali náhodné MAC adresy, hodnoty niektorých

parametrov, ...

 Rady by tvorili vstupné/výstupné body uzlov topológie.





1.3.5. Zhodnotenie



Všetky zo spomenutých kniţníc ponúkajú pre naše riešenie nejaké triedy vhodné na

implementovanie. Najvhodnejšia sa javí byť kniţnica OOSIM, ku ktorej však nie sú dostupné

zdrojové texty.



Avšak vzhľadom na smerovanie riešenia ako verifikačného nástroja na overenie správnosti

zapojenia a konfigurácie jednotlivých komponentov a nie ako simulátora reálnej komunikácie

v sieti, nepredpokladáme vyuţitie ţiadnej z týchto kniţníc.



1.4. Analýza implementačného prostredia

V nasledujúcej časti sa budeme venovať analýze vhodných programovacích jazykov

z pohľadu moţností, ktoré daný jazyk poskytuje a dostupných vývojových prostriedkov.

Keďţe aplikácia bude vytvorená pre operačný systém Microsoft Windows v analýze sa

zameriame na vývojové jazyky pod tento operačný systém.





1.4.1. Programovacie jazyky





C/C++



Jazyk C++ vychádza z jazyka C a rozširuje ho o objektovo orientované vlastnosti. Jazyk C++

priniesol moţnosti preťaţenia funkcií a metód, vytvorenie operátorov, novšie funkcie pre

dynamické prideľovanie pamäti a mnoho ďalších vylepšení, ktoré sa v tradičnom jazyku C

nenachádzajú.



Pre jednoduchší vývoj Windows aplikácií vytvoril Microsoft kniţnicu MFC (Microsoft

Foundation Classes), ktorá poskytuje mnoţstvo uţitočných C++ tried potrebných pri

vytváraní Windows aplikácií.





C#



Uvedený v roku 2000 firmou Microsoft ako nový programovací jazyk pre platformu .NET.

Jazyk C# je jednoduchý, moderný, objektovo orientovaný a typovo bezpečný. Jeho syntax je

podobná jazyku C++. Spúšťanie aplikácií napísaných v jazyku C# je riadené pomocou

„Common Language Runtime“ (CLR), ktorá zabezpečuje nezávislosť na hardwarovej

platforme.









36

Ďalším prínosom oproti C++ je riadenie pamäte pomocou „garbage collector“. V C# aplikácii

nie je nutné dávať pozor na alokovanú pamäť. O uvoľňovanie tejto pamäte sa stará „garbage

collector“.





Java



Je produktom firmy Sun. Aplikácie vytvorené v tomto jazyku vyţadujú od operačného

systému nainštalovaný „Java Runtime Environment“ (JRE), ktorý umoţňuje spustenie

aplikácie na danom operačnom systéme.



Java je podobne objektovo orientovaný a typovo bezpečný jazyk ako jazyk C#. Taktieţ má

implementovaný „garbage collector“, čiţe vytvorená aplikácia sa nemusí starať o alokovanú

pamäť. Výhodou oproti jazyku C# je moţnosť prenositeľnosti vytvorenej aplikácie na

platformu alebo operačný systém, pre ktorý existuje JRE.





1.4.2. Vývojové prostredia:



Pri vývoji aplikácií treba uvaţovať aj o kvalitných vývojárskych nástrojoch. V súčasnosti

existuje mnoţstvo nástrojov pre tvorbu aplikácií s rôznymi funkciami vývojového prostredia.

Jedným z lídrov na poli vývojových prostredí je firma Microsoft s platformou .NET alebo

starším „Visual Studio“.





Microsoft Visual Studio 6.0



Prostredie poskytuje vytváranie projektov, ladenie vytvorenej aplikácie, zvýrazňovanie

zdrojového kódu, automatické doplňovanie výrazov a prehliadač tried.



Pre MFC projekty umoţňuje pouţiť tzv. „ClassWizard“, ktorý generuje niektoré časti

zdrojového kódu aplikácie čím uľahčuje ich tvorbu.



Pre vytváranie pouţívateľských rozhraní je k dispozícii nástroj pre tvorbu okien pomocou

drag and drop.





Microsoft Visual Studio .NET



Je nástupcom predošlého prostredia a môţeme tu nájsť podobné nástroje ako vo VS 6.0. Toto

vývojové prostredie je orientované na platformu .NET, v ktorej je moţnosť vytvorenie

aplikácie v kombinácii rôznych programovacích jazykov.





Borland JBuilder



Podobne ako predošlé prostredia aj „JBuilder“ obsahuje vytváranie projektov, ladenie

vytvorenej aplikácie, zvýrazňovanie zdrojového kódu, automatické doplňovanie výrazov

a prehliadač tried.





37

Celé prostredie je napísané v Jave preto vyţaduje výkonnejší hardware, ale prínosom je

dostupnosť prostredia aj na iných operačných systémoch a hardwarových platformách.





Borland C++ Builder



Je vývojové prostredie podobné „MS Visual Studiu“. Poskytuje podobné moţnosti, čo sa týka

spríjemnenia písania kódu a ladenia aplikácií. Neobsahuje síce „class wizard“,

ale poskytuje kontrolu pri editovaní v reálnom čase. Podobne ako VS poskytuje MFC, Builder

má svoju kniţnicu VCL (Visual Component Library) pre jednoduchý návrh grafických

aplikácií. Obrovskou výhodou oproti MS Visual Studiu je moţnosť vytvárania vlastných (aj

grafických) komponent, ktoré do značnej miery zjednodušujú vytváranie okien. Ďalšia veľmi

dôleţitá výhoda je poskytnutie "property" objektu, cez ktoré je moţné jednoducho a

prehľadne sprístupniť funkcie alebo premenné danej triedy.



Napriek všetkým výhodám tohto prostredia ho nepouţijeme z dôvodu, jeho nedostupnosti v

softvérovom štúdiu a tieţ nie všetci členovia tímu s ním majú skúsenosti.





1.4.3. Zhodnotenie



Z predošle spomenutých jazykov je pre náš tím najvhodnejším jazyk C++ v kombinácii

s kniţnicou MFC. Faktorom pri výbere tohto jazyka bola dostupnosť vývojového prostredia,

kde pri vývoji sieťového simulátora bude postačovať prostredie „Visual Studio 6.0“, ktoré je

dostupné v softwarovom štúdiu. Taktieţ sme brali do úvahy znalosť jednotlivých jazykov

členmi tímu.



1.5. Ukladanie údajov

Pri práci s aplikáciami tohto druhu je výhodou moţnosť uloţenia a neskoršieho načítania

vytvorenej topológie spoločne s nastavenými parametrami. Existuje mnoho prístupov ako sa

dajú potrebné dáta ukladať. V tejto sekcii opíšeme niektoré z moţných prístupov ukladania

dát.





1.5.1. textový súbor

Poskytuje jednoduchú moţnosť zápisu dát z aplikácie. Nevýhodou tohto spôsobu ukladania

dát je moţné načítanie nekorektných dát, ktoré môţe byť spôsobené zásahom pouţívateľa.

Preto je nutné v aplikácii implementovať funkciu na zistenie správnosti uloţených dát, ktorá

môţe byť značne komplikovaná a vzniká tu nutnosť prerábanie tejto funkcie pri kaţdej zmene

formátu výstupných dát, čo do značnej miery komplikuje rozšíriteľnosť vytvorenej aplikácie.





1.5.2. binárny súbor

Má podobnú nevýhodu ako textový súbor, kde je nutné implementovať funkciu na zistenie

správnosti uloţených dát. Výhodou oproti textovému súboru je “skrytie“ uloţených dát do

binárnej formy.









38

1.5.3. XML súbor

Slúţi na popísanie dát v štruktúrovanej forme. Táto štruktúra sa dá jednoducho meniť.

V prípade potreby validácie vstupných dát poskytuje XML vyuţitie schém XSD, v ktorých je

jasne definovaný formát štruktúry XML súboru ako aj správnosti uloţených dát. Pri

implementácii XML súborov do aplikácie existuje moţnosť vyuţiť existujúce kniţnice/triedy,

ktoré slúţia na načítanie a validáciu dát.







1.5.4. Zhodnotenie



Pre jednoznačné výhody oproti spomenutým spôsobom ukladania dát sme sa rozhodli pouţiť

pre ukladanie výstupných dát XML súbory.









39

2. Špecifikácia poţiadaviek

V tejto kapitole opíšeme jednotlivé poţiadavky kladené na výsledný produkt projektu

z pohľadu poskytovaných funkcií, vstupov, výstupov a pouţívateľského rozhrania.



2.1. Riešený problém

Projekt je zameraný na vytvorenie aplikácie, ktorá bude schopná vytvoriť topológiu

počítačovej siete s moţnosťou nastavenie vlastností jednotlivých prvkov v topológii. Pre

samotné simulovanie bude aplikácia obsahovať mnoţinu overovacích nástrojov, ktoré

umoţnia vizualizovať simuláciu pouţívateľovi.



Aplikácia má poskytovať mnoţinu základných prvkov počítačovej siete:

 koncové zariadenie (host)

 prepínač (switch)

 smerovač (router)

 prepojovací kábel, linka (link)

 firewall

 web server



Vlastnosti týchto prvkov by mali byť ľahko modifikovateľné.



2.2. Prehľad funkcií navrhovanej aplikácie.

Celková funkcionalita je rozdelená do viacerých častí.





2.2.1. Vytvorenie sieťovej topológie



Aplikácia má umoţniť pouţívateľovi jednoduchým spôsobom vytvoriť topológiu počítačovej

siete. Jej grafickú reprezentáciu s moţnosťou úpravy vzhľadu tejto reprezentácie.

Pouţívateľovi by malo byť z tejto grafickej reprezentácie zrejmé aké prvky siete sa

nachádzajú v topológii, prípadne by táto grafická reprezentácia obsahovala aj ďalšie

relevantné informácie týkajúce sa vlastností .





2.2.2. Nastavenia prvkov siete



Funkcia systému, ktorá umoţní pouţívateľovi nastaviť parametre prvkov v topológii.

Nastavenie týchto vlastností by malo byť pre pouţívateľa jednoduché, intuitívne a malo by

odzrkadľovať spôsoby nastavovania vlastností v reálnych sieťových zariadeniach.



2.2.3. Simulácia komunikácie a jej vizualizácia



Pre overenie komunikácie vo vytvorenej topológii má mať aplikácia vytvorenú mnoţinu

overovacích nástrojov. Pre niektoré prvky siete by mala aplikácia poskytovať nasledovné

overovacie nástroje:







40

Koncové zariadenie (host)



Tento uzol reprezentuje koncové zariadenie, ktoré má niekoľko vlastností (IP adresa, MAC

adresa, ...) a jeho úlohou je jednoduché overenie funkčnosti siete pomocou rodiny

verifikačných nástrojov ako napríklad:

 ping – jednoduchý nástroj pre overenie komunikácie medzi koncovými zariadeniami

 traceroute – nástroj pre sledovanie putovania paketov v topológii medzi koncovými

zariadeniami

 HTTP – nástroj pre overenie komunikácie koncového zariadenia s webovým serverom

 FTP – nástroj pre overenie komunikácie koncového zariadenia s FTP serverom



Prepínač (switch)



Jeho úlohou je prepínanie paketov na základe prepínacej tabuľky a manaţment VLAN.

Informácie o týchto činnostiach by malo poskytovať niekoľko funkcií ako napríklad:

 switching table – táto funkcia umoţní zobrazenie aktuálnej prepínacej tabuľky vo

formáte MAC adresa, port

 show VLAN - funkcia zobrazí informácie o VLAN

 show Mac-address-table – funkcia zobrazí informácie o MAC adresách

 show STP-status – funkcia zobrazí status s ohľadom na STP



Smerovač (router)



Úlohou smerovača je preposlanie paketu na základe adresy tretej vrstvy RM OSI. S touto

úlohou súvisia poţiadavky na funkcie smerovača ako napríklad:

 show IP route – funkcia, ktorá zobrazí smerovaciu tabuľku

 show IP protocols – funkcia, ktorá zobrazí informácie o nakonfigurovaných

smerovacích protokoloch

 RIP, OSPF, EIGRP – funkcie, ktoré nastavia smerovací protokol



Firewall



Slúţi ako bezpečnostný prvok topológie a to filtrovaním prechádzajúcich dát. Toto filtrovanie

prebieha na druhej a tretej vrstve referenčného modelu, to znamená MAC adresy a IP adresy.

Takisto umoţňuje blokovanie konkrétnych aplikácií prostredníctvom filtrovania portov

prislúchajúcich k aplikácii.



2.2.4. Uloţenie topológie



Táto funkcia aplikácie má umoţniť pouţívateľovi uloţiť vytvorenú topológiu spoločne

s nastavenými parametrami jednotlivých prvkov topológie a taktieţ umoţniť takto uloţenú

topológiu opätovne nahrať do aplikácie.



2.3. Diagram prípadov pouţitia

Diagram zachytáva funkcionality systému z pohľadu pouţívateľa.









41

pridanie uzla zmazanie uzla premiestnenie uzla kopirovanie uzla









nakreslenie topologie









konfigurovanie uzla

(nastavovanie)

nacitanie topologie

Pouzivatel









ulozenie topologie









simulacia









simulacia pouzitim "ping" simulacia pouzitim simulacia pouzitim aplikacie

"traceroute" (na konkretnom porte)







Obrázok 2-1: diagram prípadov pouţitia





Pouţívateľ v našom prípade predstavuje učiteľa alebo študenta, keďţe aplikácia bude v prvom

rade pouţívaná pri výučbe.





2.3.1. Prípady použitia (use-case)



Identifikátor UC_SS01

Názov Pridanie uzla – routera – do topológie

Opis Pouţívateľ v editori topológie pridá uzol do sieťovej topológie

Priorita 1 = vysoká Frekvencia vo fáze vytvárania topológie - často

Vstup. podm. Nie sú

Výstup. podm. Nie sú

Základná Krok Činnosť

postupnosť 1 Pouţívateľ klikne na obrázok routera v paneli.

2 Kurzor sa zmení na ikonu routera.





42

3 Klikne v okne editora topológie na miesto kde to chce poloţiť.

4 Na mieste kliknutia sa objaví obrázok routera a kurzor myšky

sa zmení na šípku.

Alternatívna Krok Činnosť

postupnosť

3a Pouţívateľ podrţí tlačítko „Ctrl“ pri kliknutí v okne editora

topológie.

4a Na mieste kliknutia sa objaví obrázok routera a kurzor myšky

má naďalej ikonu routera.

Alternatívna Krok Činnosť

postupnosť

1b Pouţívateľ podrţí ľavé tlačítko myšky na obrázku routera

v paneli.

2b Pri kurzore sa zjaví ikona routera.

3b Pouţívateľ potiahne ikonu na plochu v okne editora topológie

na miesto kde to chce poloţiť a spustí tlačítko.

4b Na mieste spustenia tlačítka sa objaví obrázok routera a kurzor

myšky sa zmení na šípku.

Poznámky





Identifikátor UC_SS02

Názov Premiestnenie uzla – routera – v editori topológie

Opis Pouţívateľ premiestni existujúci uzol pri editovaní sieťovej topológie

Priorita 1 = vysoká Frekvencia vo fáze vytvárania topológie - často

Vstup. podm. Sieťový uzol – router – je uţ poloţený na hárku v editori topológie

Výstup. podm. Nie sú

Základná Krok Činnosť

postupnosť 1 Pouţívateľ podrţí ľavé tlačítko myšky na vybranom uzli –

routeri v editori.

2 Pri kurzore myšky sa zjaví obrázok routra.

3 Pouţívateľ potiahne kurzor na nové miesto routera a uvolní

tlačítko.

4 Obrázok routera sa posúva kurzorom a po spustení tlačítka

zostane na novom mieste.

5 Ak bol router spojený s inými uzlami linkami, linky zmenia

svoj koncový bod tieţ, aby naďalej bolo znázornené spojenie

s routerom na novom mieste.

Alternatívna Krok Činnosť

postupnosť

1a Pouţívateľ klikne na vybraný router a stlačí „Ctrl+X“.

2a Vybraný router zmizne z hárku spolu s linkami, ktoré boli

s ním spojené a uloţí sa do schránky.

3a Pouţívateľ premiestni kurzor na nové miesto v editori a stlačí

„Ctrl+V“.

4a Na mieste kurzora sa objaví router s pôvodnými vlastnosťami

avšak bez liniek.

Alternatívna Krok Činnosť

postupnosť





43

1aa Pouţívateľ klikne pravým tlačítkom na vybraný router a z menu

si vyberie poloţku „move“.

3ab Pouţívateľ premiestni kurzor na nové miesto v editori, klikne

pravým tlačítkom a vyberie poloţku „paste“.

Poznámky





Identifikátor UC_SS03

Názov Skopírovanie uzla – routera – v editore topológie

Opis Pouţívateľ skopíruje existujúci uzol pri editovaní sieťovej topológie

Priorita 1 = vysoká Frekvencia vo fáze vytvárania topológie - často

Vstup. podm. Sieťový uzol – router – je uţ poloţený na hárku v editori topológie

Výstup. podm. Nový sieťový uzol – router – zdedí vlastnosti po kopírovaní

Základná Krok Činnosť

postupnosť 1 Pouţívateľ podrţí ľavé tlačítko myšky na vybranom uzli –

routeri v editori.

2 Pri kurzore myšky sa zjaví obrázok routra.

3 Pouţívateľ potiahne kurzor na nové miesto routera a pri

spustení tlačítka myšky ma stlačené „Ctrl“.

4 Obrázok routera sa posúva kurzorom a po spustení tlačítka sa

zjaví aj na novom mieste.

5 Nový router zdedí všetky vlastnosti originálu, nezdedí však

spojenia existujúce pri pôvodnom.

Alternatívna Krok Činnosť

postupnosť

1a Pouţívateľ klikne na vybraný router a stlačí „Ctrl+C“.

2a Do clipboardu sa uloţí vybraný router.

3a Pouţívateľ premiestni kurzor na nové miesto v editori a stlačí

„Ctrl+V“.

4a Na mieste kurzora sa objaví router s pôvodnými vlastnosťami

bez liniek originálu.

Alternatívna Krok Činnosť

postupnosť

1aa Pouţívateľ klikne prvým tlačítkom na vybraný router a z menu

si vyberie poloţku „copy“.

3ab Pouţívateľ premiestni kurzor na nové miesto v editori, klikne

pravým tlačítkom a vyberie poloţku „paste“.

Poznámky





Identifikátor UC_SS04

Názov Zmena vlastností uzla

Opis Pouţívateľ zmení vlastnosti uzla (ako jeho pomenovanie, beţiaci

protokol, ...)

Priorita 1 = vysoká Frekvencia často

Vstup. podm. Sieťový uzol je uţ poloţený na hárku v editori topológie

Výstup. podm. Vybraný uzol sa bude správať podľa nových vlastností

Základná Krok Činnosť

postupnosť 1 Pouţívateľ klikne dvakrát na daný uzol na hárku.





44

2 Zjaví sa dialógové okno s vlastnosťami uzla.

3 Pouţívateľ zmení niektoré vlastnosti v okne.

4 Pouţívateľ potvrdí zmeny kliknutím na „OK“.

5 Dialógové okno sa zatvorí. Systém uloţí potvrdené zmeny.

Alternatívna Krok Činnosť

postupnosť

1a Pouţívateľ klikne pravým tlačítkom na daný uzol na hárku

a vyberie poloţku „vlastnosti“ z menu.

4b Pouţívateľ zamietne zmeny kliknutím na „Zrušiť“.

5b Dialógové okno sa zatvorí. Zmeny nebudú aplikované.

Poznámky





Identifikátor UC_SS05

Názov Spojenie dvoch uzlov

Opis Pouţívateľ spojí 2 uzly v editori topológie

Priorita 1 = vysoká Frekvencia vo fáze vytvárania topológie - často

Vstup. podm. Existencia aspoň dvoch uzlov v topológii, ktoré ešte nie sú spojené

Výstup. podm. Nie sú

Základná Krok Činnosť

postupnosť 1 Pouţívateľ klikne na obrázok „linky“ na paneli.

2 Pri kurzore sa zjaví obrázok linky.

3 Pouţívateľ klikne na prvý uzol.

4 Zafixuje sa jeden koniec linky na vybraný uzol.

5 Pouţívateľ klikne na druhý uzol.

6 Zafixuje sa druhý koniec linky a vybrané dva uzly sú spojené

linkou.

Alternatívna Krok Činnosť

postupnosť

3a Pouţívateľ podrţí ľavé tlačítko myšky na prvom uzli.

5a Pouţívateľ potiahne kurzor na druhý uzol a spustí tlačítko

myšky.

Poznámky





Identifikátor UC_SS06

Názov Odstránenie uzla z topológie

Opis Pouţívateľ odstráni nepotrebný uzol alebo linku z topológie

Priorita 1 = vysoká Frekvencia vo fáze vytvárania topológie - často

Vstup. podm. Existencia uzla (linky) na hárku

Výstup. podm. Odstránením uzla odstránia sa aj linky, ktoré boli s ním spojené

Základná Krok Činnosť

postupnosť 1 Pouţívateľ klikne na uzol v editori topológie a stlačí „Del“

2 Vybraný uzol sa odstráni z hárku aj so všetkými linkami, ktoré

boli s ním spojené.

Alternatívna Krok Činnosť

postupnosť

1a Pouţívateľ klikne prvým tlačítkom na vybraný uzol a z menu si

vyberie poloţku „remove“.





45

Poznámky





Identifikátor UC_SS07

Názov Uloţenie nakreslenej topológie

Opis Pouţívateľ uloţí nakreslenú nakonfigurovanú topológiu

Priorita 1 = vysoká Frekvencia zriedkavo

Vstup. podm. Nie sú

Výstup. podm. Vznikne súbor s topológiou siete

Základná Krok Činnosť

postupnosť 1 Pouţívateľ vyberie z menu „File“/ „Save“.

2 Ak sa majú uloţiť len zmeny (súbor uţ existuje) , uloţí sa

topológia siete do existujúceho súboru.

Alternatívna Krok Činnosť

postupnosť

2a Ak súbor ešte neexistuje, zobrazí sa dialógové okno ponúkajúce

miesto (cestu) a názov súboru.

3a Pouţívateľ si vyberie miesto a názov súboru a uloţí topológiu.

Alternatívna Krok Činnosť

postupnosť 2

1b Pouţívateľ stlačí „Ctrl+S“.

Poznámky





Identifikátor UC_SS08

Názov Načítanie uloţenej topológie

Opis Pouţívateľ načíta z disku uloţenú topológiu

Priorita 1 = vysoká Frekvencia zriedkavo

Vstup. podm. Existuje uloţená topológia na disku

Výstup. podm. Na hárku sa zobrazí topológia siete presne taká, aká bola pri uloţení

Základná Krok Činnosť

postupnosť 1 Pouţívateľ vyberie z menu „File“/ „Load“

2 Zobrazí sa dialógové okno zobrazujúce obsah počítača.

3 Pouţívateľ si vyberie svoj súbor obsahujúci poţadovanú

topológiu.

4 Na hárku sa zobrazí topológia siete v tom výzore, ako bola

uloţená.

Alternatívna Krok Činnosť

postupnosť

1a Pouţívateľ stlačí „Ctrl+L“.

Poznámky





Identifikátor UC_SS09

Názov Ping uzla z koncového bodu – hostu

Opis Pouţívateľ simuluje funkčnosť topológie príkazom ping

Priorita 1 = vysoká Frekvencia stredná

Vstup. podm. Je nakreslená uţ funkčná topológia (aspoň 2 prepojené uzly)

Výstup. podm. Nie sú





46

Základná Krok Činnosť

postupnosť 1 Pouţívateľ klikne na uzol – koncový bod (host) pravým

tlačítkom a z menu si vyberie poloţku „console“.

2 V spodnej časti okna sa zobrazí konzola.

3 Pouţívateľ zadá príkaz ping a ip cieľového uzla a potvrdí

„enter“-om.

4 Systém odpovie „ping successfull“ v prípade, ţe je cieľový uzol

dosiahnuteľný z daného koncového bodu alebo „ping failed“,

ak je cieľový uzol nedosiahnuteľný alebo neexistujúci.

Alternatívna Krok Činnosť

postupnosť

2a Zjaví sa nové okno – konzola.

Poznámky





Identifikátor UC_SS10

Názov TraceRoute uzla z koncového bodu – hostu

Opis Pouţívateľ simuluje funkčnosť topológie príkazom traceroute

Priorita 1 = vysoká Frekvencia stredná

Vstup. podm. Je nakreslená uţ funkčná topológia (aspoň 2 prepojené uzly)

Výstup. podm. Nie sú

Základná Krok Činnosť

postupnosť 1 Pouţívateľ klikne na uzol – koncový bod (host) pravým

tlačítkom a z menu si vyberie poloţku „console“.

2 V spodnej časti okna sa zobrazí konzola.

3 Pouţívateľ zadá príkaz traceroute a ip cieľového uzla a potvrdí

„enter“-om.

4 Systém vylistuje zoznam ip čísiel uzlov, ktoré padnú do cesty a

„destination reached“ v prípade, ţe je cieľový uzol

dosiahnuteľný z daného koncového bodu alebo zoznam IP

adries k default gateway ukončený s textom „destination not

found“, ak je cieľový uzol nedosiahnuteľný alebo neexistujúci.

Alternatívna Krok Činnosť

postupnosť

2a Zjaví sa nové okno – konzola.

Poznámky





Identifikátor UC_SS11

Názov Spustenie aplikácie na zvolenom porte na vybranom uzli

Opis Pouţívateľ simuluje funkčnosť topológie spúšťaním aplikácie pracujúcej

na konkrétnom porte

Priorita 1 = vysoká Frekvencia stredná

Vstup. podm. Je nakreslená uţ funkčná topológia (aspoň 2 prepojené uzly)

Výstup. podm. Nie sú

Základná Krok Činnosť

postupnosť 1 Pouţívateľ klikne na uzol – koncový bod (host) pravým

tlačítkom a z menu si vyberie poloţku „start application“.

2 Zobrazí sa dialógové okno, ktoré ponúkne výber spomedzi





47

portov (aplikácií), ktoré je moţné z vybraného uzla spustiť a

kolónku na zadanie cieľového uzla.

3 Pouţívateľ zadá IP adresu (alebo meno) cieľového uzla

a vyberie si port (aplikáciu). Potvrdí tlačítkom „OK“.

4 Ak je moţné naviazať komunikáciu na vybranom porte medzi

zdrojovým a cieľovým uzlom, Simulator nám oznámi úspech:

„Success“ v opačnom prípade neúspech: „Connection failed“.

Poznámky





2.3.2. Scenáre



Scenár č.1: Nakreslenie topológie

Situácia: Pouţívateľ chce vytvoriť cvičnú topológiu siete pre neskoršie simulovanie.

Opis: Pouţívateľ spustí aplikáciu, ktorá má na začiatku prázdny hárok. Aplikácia poskytne

panel nástrojov pouţívateľovi, z kade si on vyberie tie typy uzlov, ktoré chce mať vo svojej

sieťovej topológii. Tieto uzly – routre, switche, hostov, atď. rozmiestni na hárku a pospája

linkami. Po dokončení návrhu ponastavuje vlastnosti jednotlivých uzlov. Podobným

spôsobom si nastaví vlastnosti liniek. Keď dokončil svoju prácu, vyberie si z menu „Save“

(Uloţenie topológie) a svoju prácu uloţí na disk pre neskoršie pouţitie.



Scenár č.2: Simulácia uloţenej topológie 1. (ping)

Situácia: Pouţívateľ chce si vyskúšať funkčnosť sieťovej topológie uloţenej na disku. Má

spustenú aplikáciu s prázdnym hárkom.

Opis: Pouţívateľ si vyberie z menu „Load“ (Načítanie topológie) a takto si načíta z disku uţ

vytvorenú a ponastavovanú topológiu siete. Otvorí konzolu na vybranom koncovom uzli

pravým kliknutím a výberom „console“ z ponuky. V spodnej časti okna aplikácie (v novom

okne) sa zjaví konzola vybraného uzla, kam pouţívateľ môţe zadávať svoje príkazy.

Pouţívateľ zadá príkaz ping s ip cieľového uzla a potvrdí „enter“-om. V konzole sa zjaví

„ping successfull“, lebo cieľový uzol bol dosiahnuteľný z daného bodu. Pouţívateľ zadá ping

s ip, ktoré v danej topológii sa nenachádza alebo nie je z daného bodu dosiahnuteľný. Po

potvrdení príkazu sa v konzole zjaví odpoveď „ping failed“.



Scenár č.3: Simulácia uloţenej topológie 2. (traceroute)

Situácia: Pouţívateľ chce si vyskúšať funkčnosť sieťovej topológie sledovaním cesty

paketov. Má spustenú aplikáciu s funkčnou topológiou.

Opis: Pouţívateľ otvorí konzolu na vybranom koncovom uzli. Do konzoly zadá príkaz

traceroute a ip cieľového počítača. Po potvrdení sa v konzole zjavia ip čísla uzlov po ktorých

sa paket dostane do cieľa a na konci výpis „destination reached“. Keď cieľový uzol neexistuje

alebo nie je dosiahnuteľný, zjavia sa ip čísla uzlov po uzol gateway a ak cieľový uzol sa

nenašiel, zjaví sa výpis „destination not found“.



2.4. Vstupy, výstupy

Jediným vstupom, resp. výstupom aplikácie je uloţená topológia v súbore.



2.5. Pouţívateľské rozhranie

Aplikácia by mala zaručiť jednoduché, prehľadné pouţívateľské rozhranie. Jednoduchosť by

mala byť zabezpečená jednoznačnosťou ovládacích prvkov a prehľadnosť by malo zaručovať





48

rozloţenie ovládacích prvkov. Má poskytovať jednoduchú manipuláciu s prvkami topológie

spoločne s rýchlou odozvou na príkazy od pouţívateľa.



2.6. Technické poţiadavky

Aplikácia by mala byť spustiteľná na 400MHz počítači s nainštalovaným operačným

systémom Windows. Pamäťové nároky sú závislé od počtu prvkov vytvorenej topológie.

Predpokladáme vyuţitie vytvoreného projektu ako pomocný nástroj pre výučbu predmetov

Počítačové siete 1, 2, kde sa nepracuje s rozsiahlymi topológiami.









49

3. Hrubý návrh

Táto kapitola sa zaoberá hrubým návrhom simulátora sieťovej komunikácie. V prvej časti

kapitoly sú opísané dátové typy a objekty, ktoré sme doposiaľ identifikovali ako potrebné pri

implementácii. V druhej časti kapitoly je systém dekomponovaný na mnoţinu čiastočne

nezávislých častí.



3.1. Dátové typy a objekty



3.1.1. Objekt prepojovací kábel, linka (link)



Objekt linka bude slúţiť na prepojenie medzi ostatnými prvkami siete. Bude mať svoje

jedinečné identifikačné číslo ID. Ďalšími vlastnosťami objektu sú ukazatele na prvky, ktoré sú

spojené týmto objektom. Taktieţ bude objekt definovať prenosovú rýchlosť, ktorá bude

definovaná ako minimum z prednastavenej rýchlosti pre daný typ linky (10, 100 Mbps,

1Gbps) a rýchlosti podporovanej portami na oboch koncoch linky.



Vlastnosti objektu:

 ID – jednoznačný identifikátor linky reprezentovaný číslom

 rýchlosť – definuje prenosovú rýchlosť linky

 pointer na prvok siete na jednom konci linky

 pointer na prvok siete na druhom konci linky

 typ – definuje typ linky, ktorá môţe byť: sériová, ethernet (straight, cross, rollover),

optika





3.1.2. Objekt koncové zariadenie (host)



Objekt koncové zariadenie bude obsahovať vlastnosť MAC adresa. Táto adresa sa vygeneruje

pri vytvorení objektu. Pre sprehľadnenie vygenerovaných MAC adries bude adresa

generovaná podľa typu uzla v topológii (host, router, switch).



Vlastnosti:

 ID – jednoznačný identifikátor objektu

 IP adresa – nastaviteľná vlastnosť objektu, ktorá uchováva IP adresu daného

koncového zariadenia

 MAC adresa – obsahuje MAC adresu pre dané koncové zariadenie, táto vlastnosť sa

nedá modifikovať

 Meno hosta – jedinečné meno, reprezentujúce koncové zariadenie,

 Subnet maska – maska siete

 Default gateway – adresa

 ID linky – ukazateľ na pripojenú linku

 ARP tabuľka (cache)









50

3.1.3. Objekt prepínač (switch)



Objekt prepínač bude mať prednastavené počty portov, ktoré sa pouţívajú v praxi (5, 8, 12,

24). Taktieţ bude mať vytvorenú prepínaciu tabuľku, ktorá sa bude napĺňať počas

komunikácie na sieti. Pre implementáciu VLAN bude prepínač obsahovať tabuľku pre

definovanie príslušnosti do VLAN na základe portov prípadne MAC adries.

Vlastnosti:



 ID – jednoznačný identifikátor objektu

 Počet portov – definuje počet dostupných portov v danom prepínači

 Trunk – definuje či daný prepínač podporuje trunkovanie

 Prepínacia tabuľka – (dvojice MAC – port - príslušnosť do VLAN)

 Bridge priority – atribút potrebný pri spanning tree algoritme

 Pole ID liniek – ukazatele na pripojené linky k danému prepínaču





3.1.4. Objekt smerovač (router)



Objekt smerovač bude obsahovať zoznam štruktúr jednotlivých interfejsov pre daný

smerovač. Objekt bude obsahovať tabuľky potrebné pre implementovanie Access Control

List. Štruktúra a počet týchto tabuliek sa upresní v celkovom návrhu aplikácie.



Vlastnosti:

 ID – jednoznačný identifikátor objektu

 MAC adresa – jednotlivých rozhraní

 IP adresa

 rozhrania (sériové, ethernet)

o ID – identifikátor rozhrania

o IP adresa – adresa pridelená rozhraniu

o MAC adresa – adresa pridelená rozhraniu

o zapnutý/vypnutý – určuje či je dané rozhranie zapnuté respektíve vypnuté



 Smerovacia tabuľka

 ACL (Access Control List) na porty, IP, ...

 Pole ID liniek ukazatele na pripojené linky k danému smerovaču





3.1.5. Objekt paket (packet)



Objekt paket bude niesť okrem IP adries aj VLAN Tag, ktorý bude identifikátorom

príslušnosti do VLAN, Taktieţ bude mať vlastnosť TTL ( time to live ) na zabránenie

nekonečnému obiehaniu paketu v sieti. V prípade poţiadavky na spustenie aplikácie na

vzdialenom servery aj identifikátor aplikácie.



Vlastnosti:

 ID – jednoznačný identifikátor objektu

 Zdrojová IP adresa

 Cieľová IP adresa

 VLAN Tag



51

 TTL (time to live)

 ID aplikácie (ftp,http)



Smerovacie a prepínacie tabuľky budú mať svoje stanovené veľkosti a v prípade ich

zaplnenia sa niektorým zo známych algoritmov (LRU, FIFO, ...) vyberie obeť a aţ potom sa

pridá nový záznam.





3.2. Diagram tried

Nasledujúci diagram zachytáva štruktúru tried, rozhraní a spoluprác spolu s ich vzájomnými

vzťahmi.









topologia





linka





pracuje s

paket uzol









host switch internet

router

(oblak)









firewall





Obrázok 3-1: Zjednodušený diagram tried





Diagram na Obrázok 3-2 znázorňuje vlastnosti niektorých tried. Tieto vlastnosti boli

popísané v predošlej časti dokumentu.









52

linka

topologia ID

rychlost

koniec 1

paket koniec 2

ID typ

IP adresa zdroja

IP adresa ciela uzol

MAC adresa zdroja ID

MAC adresa ciela meno

VLAN tag

TTL

ID aplikacie









host switch router

ID ID

ID

IP adresa porty

meno

MAC adresa meno

rozhrania

meno trunk

smerovacia tabulka

subnet maska prepinacia tabulka

ACL

"Default gateway" "Bridge priority"

pole ID liniek

ARP tabulka pole ID liniek

ID linky







Obrázok 3-2: Diagram tried s niektorými vlastnoťami objektov









3.3. Stavový diagram

Stavový diagram je prostriedok na vyjadrenie kauzálnych a časových súvislostí akcií a stavov

v systéme.



3.3.1. Stavový diagram objektu paket



Zobrazuje stavy, ktorými prechádza paket od vytvorenia aţ po úspešné doručenie, alebo

zahodenie.









53

zaciatocny stav



vytvorenie

paketu









vyslanie z

uzla



koniec 1



prijem v

uzle

je v cieli





spracovanie

v uzle

koniec 2





nema sa

kde poslat







Obrázok 3-3: Stavový diagram paketu







3.3.2. Stavový diagram objektu uzol



Zobrazuje stavy, ktorými prechádza uzol od vytvorenia aţ po zrušenie, prípadne uloţenie do

topológie.









54

zaciatocny stav



nakonfigurovanie

uzla









pridanie

uzla

cakanie

ulozenie

topologie









pridanie

linky koniec



nacitanie

topologie





Obrázok 3-4: Stavový diagram uzlu





3.4. Sekvenčný diagram

Znázorňuje interakcie medzi objektmi v časovej postupnosti.









55

Obrázok 3-5: Sekvenčný diagram









3.5. Graf ţivotného cyklu

Opisuje časovú následnosť jednotlivých funkcií zvolenej dátovej entity. Kaţdá z entít má

rovnaký graf, ale správajú sa nezávisle.









56

Obrázok 3-6: graf ţivotného cyklu







3.6. Diagram činností

Je to špeciálny typ stavového diagramu modelujúci tok práce









57

zaciatocny stav







pracuj









nacitaj zo pridaj

suboru uzol



[existuje uzol] [neexistuje uzol]

[existuju 2 neprepojene uzly]



spoj 2 uzly nastav vlatnosti

linkou (konfiguruj)









[chcem ulozit]



uloz

[nechcem ulozit] topologiu



[ chcem skoncit ]





[nechcem koncit]



[chcem modifikovat topologiu] [chcem simulovat] simuluj









Obrázok 3-7: Diagram činností





3.7. Dekompozícia systému

Riešenie problému simulácie sa dá zjednodušiť, ak daný problém dôkladne preskúmame a

pokúsime sa identifikovať relatívne nezávislé časti, moduly navrhovaného systému.

Simulátor sieťovej komunikácie moţno rozdeliť na tieto, nezávislé časti:

 Verifikácia vstupnej topológie

 Tvorba topológie

 Simulačný proces

 Používateľské rozhranie





3.7.1. Verifikácia vstupnej topológie

Proces overenia správnosti vstupných súborov s uloţenou topológiou siete. Tento proces sa

vykoná vţdy pri nahraní uloţenej topológie do aplikácie. Keďţe vstupný súbor bude vo forme

XML tento proces bude moţné implementovať pomocou funkcií XML parsera a XSD schém.





3.7.2. Tvorba topológie

Aplikácia bude obsahovať návrhársku plochu, na ktorú sa budú umiestňovať prvky topológie.

Po uloţení prvku na túto plochu sa daný prvok inicializuje na prednastavené hodnoty,

v prípade potreby sa vygeneruje MAC adresa a systém poskytne pouţívateľovi moţnosti na

ďalšie nastavenie jeho vlastností. Pre vytvorenie spojníc medzi prvkami bude systém





58

poskytovať grafické znázornenie prepoja, kde pouţívateľ pomocou kurzora označí začiatok

a koniec prepoja v topológii.





3.7.3. Simulačný proces

Tento proces sa vykoná pri pouţití overovacích nástrojov. Nebude sa jednať o spojitú

simuláciu posielania paketov, tak ako to je v reálnych sieťach. V tomto simulačnom procese

bude systém zohľadňovať všetky potrebné algoritmy, ktoré sa podieľajú na sieťovej

komunikácii.





3.7.4. Používateľské rozhranie

Grafické rozhranie, ktoré zabezpečuje komunikáciu s pouţívateľom. Umoţňuje pouţívateľovi

nastavovať vlastnosti prvkov siete ako aj zmenu štruktúry topológie.

Znázorňuje povolené prechody medzi stavmi, v ktorých sa môţe nachádzať skúmaný objekt.









59


Related docs
Other docs by HC11112322953
Digital Data Transmission Techniques
Views: 3  |  Downloads: 0
PowerPoint Presentation
Views: 0  |  Downloads: 0
Instructions
Views: 0  |  Downloads: 0
EDICERF COMPLET
Views: 18  |  Downloads: 0
What I Did On My Summer Vacation 2005
Views: 0  |  Downloads: 0
LE MENINGIOME
Views: 11  |  Downloads: 0
May 2004 Briefing to CNO
Views: 0  |  Downloads: 0
10TH ANNUAL NAMRC CONFERENCE
Views: 0  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!